挖矿 - 学校挖矿排查
挖矿 - 学校挖矿排查
[!Note]
参考文章链接(州弟学安全):https://mp.weixin.qq.com/s/xIh4NukshMVEIuQzuu4rbw
完全仿真了某学校长期未运营维护的程序,被黑客发现了漏洞,但好在学校有全流量设备,抓取到了过程中的流量包,需要你进行上机以及结合流量分析,排查攻击者利用的漏洞以及上传利用成功的木马,以及清除掉攻击者上传的挖矿程序以及后门程序,挖矿环境完全还原了真实环境,但不会出网,比较有意义,清除做了 check 操作,你只需要按照相关题目引导进行清除,在指定目录下查看 flag 提交即可,流量包在远程登录成功后的 /hacker 2025.pcap。
流量包下载地址:https://pan.baidu.com/s/1csa2_5L0w1zj8HmwNplSrg?pwd=74hq
已知信息如下:
- 被攻击机 IP 地址:192.168.37.11
- SSH 远程端口:2222
- 账号密码:root/edusec123
- Web 端口:19999
需要访问和流量进行还原攻击者路径,在注册账号登录成功后,下载首页的应急响应报告模板进行复现描述攻击过程以及加固流程。
需要获取到如下内容:
- 使用工具分析共有多少 IP 存在扫描 Web 特征,提交其数量。
- 将在 2025.6.22 17:03:27 时 192.168.37.10:55689 端口进行访问的 URL 地址记录,以 flag 方式进行提交。
- 提交存在使用 NMAP 扫描特征的 IP 地址。
- 审计流量并结合 Web 站点,攻击者通过什么漏洞进行控制主机,提交漏洞文件名接口。
- 审计流量并结合 Web 站点,攻击者通过哪个用户名利用的漏洞,提交其注册用户名。
- 审计流量并结合漏洞,提交攻击者控制成功木马文件名。
- 审计流量并清除掉攻击者上传的木马,清除成功后在
/var/flag/1/flag中查看 flag 并提交。 - 黑客拿到主机权限后,上传了挖矿木马,需要你提交矿池地址。
- 清除掉主机上的挖矿木马,完成后在
/var/flag/2/flag文件中查看 flag 并提交。 - 黑客做了后门,即使你清除以后,仍然会定时更新挖矿程序并运行,你找到这个程序,提交其路径。
- 清除掉后门挖矿程序,在
/var/flag/3/flag下查看提交 flag。
1 Flag-1
[!Note]
使用工具分析共有多少 IP 存在扫描 Web 特征,提交其数量。
下载 hacker 2025.pcap 流量包进行分析,可以看到流量包还是蛮大的:

使用 WireShare 打开统计 IP 地址情况:


IP 地址蛮多的,根据题意,存在扫描 Web 站点的操作,那既然是扫描,那肯定会出现大量的访问链接和不同的 HTTP 状态码(200、403、404、500 等)。使用如下命令筛选:
1 | http.response.code == 404 |

这里就能看到相关的 IP 地址了,除去零散 Count 共计 29 个 IP。
这里作者还用到了 Zui 这个工具,这里试试看。
使用 brimcap.exe 将 pacp 包导出为 ZNG 文件:
1 | brimcap.exe analyze hacker2025.pcap > hacker2025.zng |

将 ZNG 文件导入到 Zui 中:



使用如下命令筛选:
1 | where status_code == 404 |

2 Flag-2
[!Note]
将在 2025.6.22 17:03:27 时 192.168.37.10:55689 端口进行访问的 URL 地址记录,以 flag 方式进行提交。
根据题意还是有点麻烦的,不太会写,直接丢给豆包(Zui 要将时区改为 Asia / Shanghai):
1 | # WireShare |


看文件路径,比较像 flag 的就是:/uploads/06853c4f-8b05-4949-90ae-9adc49f27a94.jsp
3 Flag-3
[!Note]
提交存在使用 NMAP 扫描特征的 IP 地址。
根据题意需要找出 Nmap 扫描攻击者地址,那其实有两种思路:
- 攻击者批量扫描端口。
- 攻击者没有修改 User-Agent 特征,根据 UA 特征判断(HTTP 协议才有 UA)。
直接丢给豆包:
1 | # WireShare Scan-Port,这里默认是 SYN 扫描 |



根据上述结果,Zui 还是比较直观的,所以 Nmap 扫描的 IP 地址是:192.68.37.4。
4 Flag-4
[!Note]
审计流量并结合 Web 站点,攻击者通过什么漏洞进行控制主机,提交漏洞文件名接口。
刚刚在招 Flag-2 的时候,可以发现有个 06853c4f-8b05-4949-90ae-9adc49f27a94.jsp 文件,使用 Zui 的排查一下对方的访问 IP 地址:
1 | where _path == "http" |

这个次数明显不对,改名了?接着找:
1 | where _path == "http" |

还真改了,那对方怎么传的呢?图中可以看到有个 /servlet/user/profile?uploadSuccess=true 地址,但 Zui 看不了包的具体内容,使用 WireShare 筛选一下:
1 | ip.src == 192.168.37.10 && http.request.uri == "/servlet/user/profile?uploadSuccess=true" |

追踪一下 HTTP 流,一眼丁真,看到了 rebeyond,那就是冰蝎 JSP 木马:

在上述报文中可以发现,上传文件名为 shell.jsp,上传成功后 302 跳转到 /servlet/user/profile?uploadSuccess=true。这里上传的接口是 /servlet/user/uploadAvatar,那大概率是存在任意文件上传漏洞了,因为也没做啥绕过操作,直勾勾上传。
5 Flag-5
[!Note]
审计流量并结合 Web 站点,攻击者通过哪个用户名利用的漏洞,提交其注册用户名。
通过之前的分析(Zui),对方登录的 URI 是 /servlet/user/login 使用 WireShare 筛选一下:
1 | ip.src == 192.168.37.10 && http.request.uri == "/servlet/user/login" |

两个打开看看:


第一个包使用 username=wangyunqing&password=wangyunqing 但没登录成功,第二包使用 username=wangyunqing&password=wangyunqing 123 出现了 302 跳转。
那么可以知道这里的攻击者注册用户名为:wangyunqing
6 Flag-6
[!Note]
审计流量并结合漏洞,提交攻击者控制成功木马文件名。
这个其实已经找到了:
1 | where _path == "http" |

上传的文件为:70 b 86 b 64-ce 15-46 bf-8095-4764809 e 2 ee 5.jsp
可以在 WireShare 看看:
1 | ip.src == 192.168.37.10 && http.request.uri == "/uploads/70b86b64-ce15-46bf-8095-4764809e2ee5.jsp" |

可以随便挑一个报文出来用 ABC_123 大佬的工具看看内容:

7 Flag-7
[!Note]
审计流量并清除掉攻击者上传的木马,清除成功后在
/var/flag/1/flag中查看 flag 并提交。这里开始就必须要开启靶机了。
刚刚不是找到了两个对方上传的两个文件名,直接 find 找一下:
1 | root@1818c9e077a4:~# find / -name 06853c4f-8b05-4949-90ae-9adc49f27a94.jsp 2>/dev/null |
发现这俩都找不到,要么是攻击者又改了,要么是访问的文件名被后端处理过,这里直接模糊查询:
1 | root@1818c9e077a4:~# find / -name *4764809e2ee5.jsp 2>/dev/null |

找到了就直接删除:
1 | root@1818c9e077a4:~# rm -rf /var/lib/tomcat9/webapps/ROOT/uploads/70b86b64-002dce15-002d46bf-002d8095-002d4764809e2ee5.jsp |
然后查看 /var/flag/1/flag 文件:
1 | root@1818c9e077a4:~# cat /var/flag/1/flag |
8 Flag-8
[!Note]
黑客拿到主机权限后,上传了挖矿木马,需要你提交矿池地址。
既然被挖矿了,大概率 CPU 是被跑满了,直接 top -c 看一眼:

这个个 Java 程序大概率就是了,可以看到其执行的命令:
1 | java -jar /tmp/miner.jar |
文件在 /tmp 目录下,直接下载下来使用 jd-gui 工具进行反编译 jar 包:

在 Miner 类中定义了矿池地址和钱包地址:
矿池地址:
pool.minexmr.com:4444钱包地址:
47 k 4 bAn 5 yK 2 t 4 n 2 e 4 B 2 u 2 t 4 n 2 e 4 B 2 u 2 t 4 n 2 e 4 B 2 u 2 t 4 n 2 e 4 B 2 u 2 t 4 n 2 e 4 B 2 u 2 t 4 n 2 e 4 B 2 u 2 t 4 n 2 e 4 B 2 u 2 t 4 n 2 e 4 B 2 u
当然也可以直接丢到微步云沙箱里:


9 Flag-9
[!Note]
清除掉主机上的挖矿木马,完成后在
/var/flag/2/flag文件中查看 flag 并提交。
既然已经找到了矿池程序了,删除挖矿木马文件,直接 kill 掉这个进程:
1 | root@1818c9e077a4:~# rm -rf /tmp/miner.jar |

删除文件且杀掉进程成功,查看 /var/flag/2/flag:
1 | root@1818c9e077a4:~# cat /var/flag/2/flag |
10 Flag-10
[!Note]
黑客做了后门,即使你清除以后,仍然会定时更新挖矿程序并运行,你找到这个程序,提交其路径。
再次使用 top -c 看看:

发现程序又起来了,大概率是做了定时执行,看看定时计划:
1 | root@1818c9e077a4:~# crontab -l |

1 | !/bin/bash |
可以看到两个文件路径:
SOURCE_FILE="/usr/share/.miner/miner.jar"DEST_FILE="/tmp/miner.jar"
使用 crontab 删除改计划:
1 | root@1818c9e077a4:~# crontab -e |
11 Flag-11
[!Note]
清除掉后门挖矿程序,在
/var/flag/3/flag下查看提交 flag。
现在只清除了计划任务,其他的也要删除:
1 | root@1818c9e077a4:~# rm -rf /usr/share/.per/persistence.sh |


全删完了查看 flag 内容:
1 | root@1818c9e077a4:~# cat /var/flag/3/flag |
最后看看 Web 界面,用之前拿到的账号密码登录一下:


头像位置的任意文件上传:











