玄机靶场-2024ccb初赛sc05 WP
困难级别的应急响应题,共5步,围绕一个"大马"(WebShell)的入侵事件展开,从流量包里还原攻击者的完整操作路径——IP 定位、恶意程序识别、进程追踪、回连域名分析,最后找到被窃取的数据文件中隐藏的 flag。
1. IP地址首次被请求时间
第一步要找的是某个 IP 地址首次被请求的时间,提交格式是flag{32位大写MD5值},计算内容形如2020/05/18_19:35:10。
打开流量包,过滤 HTTP 请求,找到目标 IP 地址最早出现的那条请求记录。在 Wireshark 中按时间排序,找到第一条命中该 IP 的 HTTP GET 请求,读取其帧时间戳。
时间确认后,将年/月/日_时:分:秒格式的字符串做 MD5(32位大写),即为 flag。
Flag 1:flag{01DF5BC2388E287D4CC8F11EA4D31929}
2. IP地址对应的小马程序MD5
第二步要找的是该 IP 地址对应的"小马"(初始植入的 WebShell)的 MD5 值。
在流量包中追踪该 IP 的 HTTP 响应,找到服务端返回的 PHP 文件内容,将其导出为文件后计算 MD5(32位大写)。这里的"小马"通常是一个功能简单的 PHP 一句话木马,攻击者先用它上传更大的"大马"。
导出文件内容,用md5sum或 Python 的hashlib计算:
importhashlibwithopen('webshell.php','rb')asf:data=f.read()print(hashlib.md5(data).hexdigest().upper())Flag 2:flag{AE68F576C8671A9A32CDD33FBE483778}
3. 大马程序运行在哪个进程中
第三步要找的是"大马"(功能完整的 WebShell,如菜刀、冰蝎等)运行时对应的进程名,提交格式是flag{MD5(PID-进程名)},计算内容如123-cmd.exe。
在流量包中找到攻击者通过大马执行系统命令的请求,通常是 POST 请求到某个 PHP 文件,请求体中包含加密或编码的命令。解密后,找到执行tasklist或ps的命令输出,从中确认大马进程的 PID 和进程名。
将PID-进程名字符串做 MD5(32位大写)得到 flag。
Flag 3:flag{B3DCB206180679E29468726C27FC1A68}
4. 大马程序备用回连的域名
第四步要找的是大马程序内置的备用 C2 回连域名,提交格式是flag{MD5(域名)},计算内容如www.baidu.com。
通过流量包中大马的通信流量,或者直接对大马文件进行静态分析,提取其中硬编码的回连地址。大马通常会内置多个 C2 地址作为备用,在主 C2 失联时自动切换。
找到备用域名后,将域名字符串做 MD5(32位大写)得到 flag。
Flag 4:flag{46A5F85E24C4EB95DC9F9FAED5E7AF6A}
5. 攻击者最终窃取数据的文件中包含的flag值
第五步是整道题的终点,要找的是攻击者最终成功窃取的数据文件中隐藏的 flag 值。提交格式是flag{xxx},注意大小写——如果原始内容是大写FLAG{xx},需要转换为小写flag{xx}。
在流量包中追踪攻击者的文件操作记录,找到最后一次大文件传输(通常是 POST 响应体中包含文件内容,或者是 FTP/HTTP 下载流量)。提取文件内容后,搜索flag{或FLAG{关键字。
这个 flag 是一个自定义格式的字符串,不是标准的 MD5 哈希,直接提交原始内容(转小写)即可。
Flag 5:flag{8474hj[fhh_87fp4520+_7rq4563}
总结
这道题还原了一条完整的 WebShell 入侵链路:攻击者先植入小马 → 上传大马 → 通过大马执行命令获取系统信息 → 利用内置的备用 C2 域名保持持久控制 → 最终窃取目标数据文件。整个过程都留在了流量包里,核心分析工具是 Wireshark 的 HTTP 流追踪和文件导出功能。
Flag 汇总:
- IP首次请求时间MD5:
flag{01DF5BC2388E287D4CC8F11EA4D31929} - 小马程序MD5:
flag{AE68F576C8671A9A32CDD33FBE483778} - 大马进程PID-进程名MD5:
flag{B3DCB206180679E29468726C27FC1A68} - 大马备用回连域名MD5:
flag{46A5F85E24C4EB95DC9F9FAED5E7AF6A} - 窃取数据文件中的flag:
flag{8474hj[fhh_87fp4520+_7rq4563}