第二届 Parloo杯 应急响应学习——畸形的爱
前期准备
准备好题目环境,解压密码为:Parloo&zgsfsys&onefox&solar**juyt
登录密码为:
WebServer
网络拓扑图为:
题目阶段
1.提交攻击者使用的攻击IP地址1
分析webserver 的日志情况:进入/var/log
查到中间件为Nginx,可以通过分析Nginx的日志来推出攻击者的IP地址
看到可疑日志信息,查看文件内容
发现是一句话木马,确认攻击者IP为:192.168.31.240
2. 提交攻击者使用的攻击IP地址2
查看其他PC机的被攻击情况,在分析到PC1时,发现有一个进程:简历.exe
此时打开该进程的文件位置,将该进程交给沙箱进行分析
发现简历.exe 确实是恶意程序,攻击者IP2为:192.168.31.11
3.攻击者进行暴力破解开始时间
查看web机docker开启的服务
查看phpmyadmin的日志
docker logs 6801
可以看到这里的集中时间爆破记录,最早时间为:2025:03:05:58
4.提交攻击者留下的flag1
通过攻击IP2的简历推测,先是win10PC2被攻击者上传简历,再传到了win7PC1
攻击者入侵系统后,常通过任务计划设置“持久化”访问,确保系统重启后恶意行为仍能持续。通过扫描任务计划可发现:·异常定时任务 ·隐蔽执行路径
在PC2的任务计划程序中找到flag1
5.提交攻击者留下的flag2
进行文件层面排查:查看近期修改的可执行文件、隐藏属性文件等
发现a.bat,用记事本打开
找到flag2
6. 提交攻击者留下的flag3
在PC1中没有找到flag3,猜测剩下的应该与Web和mysql有关
首先进到Web server中,查看Web的信息:/var/www/html/index.php
经过代码审计发现应该是一个处理订单的Web网页,同时发现了数据库连接信息
得到 root : TOOR@123
进入mysqlserver中进行连接
与订单有关的数据库是ecommerce_order_system
看到order_content列,猜测是base64加密,通过解密可得flag3
7. 提交钓鱼文件的哈希32位大写
钓鱼文件应该就是简历.exe
继续用沙箱进行分析
得到 2977cdab8f3ee5efddae61ad9f6cf203
8.提交攻击者留下的webshell-1 密码
首先试了a.php中的密码,并不是这个,然后又发现了shell.php
应该在docker下下载的
得到密码为:hack
9. 提交攻击者开放端口
根据之前得到的攻击者IP 192.168.31.240 和 192.168.31.11
首先可以通过简历.exe(192.168.31.11)得到一个端口:8084
然后又在web server机中看到:1144 这个应该是a.php处导致的
最后是docker 中的shell.php
发现端口:1133
对应的进程为:clean.sh
10. 提交攻击者留下的webshell密码2
a.php对应的密码:00232
11.提交攻击者留下的隐藏账户的密码
基本把隐藏账户锁定到windows下,在PC2中发现:
看最后面的RID大小:
500:内置administrator账户
501:Guest账户
502-504:特殊系统账户
用户创建账户:从1000开始递增分配
基本可以猜测SYSTEM是伪装的隐藏账户了,但我直接用mimikatz抓不到,采用msf的方式。启动一个192.168.87.x 网段的kali,利用msfvenom生成一个windows木马上传到windows中,令其上线
再直接读取其NTLM值,进行解密:
dbae99beb48fd9132e1cf77f4c746979 得到wmx_love
12.溯源攻击者的邮箱
PDB是微软编译器生成的调试信息文件。EXE文件中可能直接存储PDB文件的完整路径
通过逆向可以得到这段路径,并通过路径推出用户名:n0k4u
再通过github进行查找
得到信息
通过添加QQ号可以看到第13题的答案。但还得反查一下邮箱:
有两种方法:https://api.github.com/users/<name>/events/public
或者点击commits选择其中一个提交记录,在跳转的URL后加上.patch
得到邮箱信息
13.提交溯源后得到的flag
加好友的问题中可以暴露flag