威胁检测与网络流量分析_zeroshell

背景信息

1
2
3
4
5
6
7
8
小路是一名实习生,接替公司前任网管的工作,一天发现公司网络出口出现了异常的通信,现需要通过回溯出口流量对异常点位(防火墙)进行定位,并确定异常的设备。然后进行深度取证检查(需要获取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. 使用VMware(推荐VMware17)加载zeroshell虚拟机
  2. 打开虚拟网络编辑器
    image-20241217165610596
  3. 选择VMnet8 Net模式网卡,选择更改配置
    image-20241217170338381
  4. 选择VMnet8 网络,修改子网IP为61.139.2.0,再点击应用和确定
    image-20241217170415113
  5. 启动虚拟机,等虚拟机启动完成后,浏览器打开http://61.139.2.100 即可访问zeroshell防火墙环境
    image-20241217170823445

如启动虚拟机 遇以下报错

image-20241217165827583
image-20241217170634861

说明虚拟机版本与VMware版本不兼容 可以直接编辑配置文件(zeroshell.vmx)

image-20241217170138853

1
修改低于20的数值 我在这里修改为了16 继续启动虚拟机即可正常启动

题目

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

ip.addr == 61.139.2.100 && http

防火墙 IP 为 61.139.2.100 猜测攻击者入口为web HTTP

image-20241217193326115
image-20241217193427479
flag存在于tcp流243 base64解码即可得出
flag{6C2E38DA-D8E4-8D84-4A4F-E2ABD07A1F3A}

2.通过漏洞利用获取设备控制权限,然后查找设备上的flag文件,提取flag文件内容,结果提交形式:flag{xxxxxxxxxx}

由上题很明显看出攻击者执行了 ps -ef 防火墙存在RCE

image-20241217194652788

1
2
3
4
5
6
find / -name 'flag'
存在
/DB/_DB.001/flag
/Database/flag
cat /DB/_DB.001/flag
flag{c6045425-6e6e-41d0-be09-95682a4f65c4}

image-20241217194849703

3.找出受控机防火墙设备中驻留木马的外联域名或IP地址,结果提交形式:flag{xxxx},如flag{www.abc.com} 或 flag{16.122.33.44}

netstat -ano 查看网络信息

image-20241217195633640

1
flag{202.115.89.103}

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

ps查看进程

image-20241217195913680

1
2
发现进程运行隐藏文件 .nginx 
flag{.nginx}

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

使用wget获取cat /tmp/.nginx页面

image-20241217201258624
是一个elf执行文件
image-20241217201512209

1
2
存在外联IP后面 可能就为加密密钥
flag{11223344qweasdzxc}

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

grep -nr '.nginx' /var 在/var目录下检索所有文件内容 内容中是否包含.nginx

image-20241217202004448

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