bakamu
文章3
标签5
分类5

文章归档

webshell流量分析——玄机 bakamu

webshell流量分析——玄机 bakamu

前言

趁着面试vn的契机,仔细巩固了一下基础,把之前一直头疼的webshell流量分析好好搞了一下,顺便集中记录下来,方便理清思路。

蚁剑

蚁剑的攻击原理就没什么好讲了,直接就从分析流量和解题上手
蚁剑的流量中应当是有很多post请求的,可以直接过滤http.request.method == ‘POST’,对post请求追踪后会得到类似这个典型界面

注意到content类型是application/x-www-form-urlencoded ,接受的(即accept)是gzip(这个可以辨别webshell)和deflete,很明显的特征是中间请求包内容的一堆,其中开头的ini_set 就是典型的蚁剑标识,对它进行url解码后可以得到请求包内容

仔细分析,这段就是绕过的恶意代码,最后的payload就是后面的Base64加密内容

就是向/var/www/html/flag.txt写入flag{write_flag},再看返回包,6960cb20511e0a91914可以分解为6960+cb205+1+1e0a91914 其中中间的1或0代表是否写入成功,这里是成功了,两端就是前缀和后缀标记,所以这里的1.php就是后门文件。再来看另外的请求包

这个就是下载文件,url解码后可以知道是下载了/var/www/html/config.php ,其中下面没有展示的define(‘DB_NAME’, ‘|127.0.0.1:3306|root|123456|taocms’); 暴露了数据库地址:127.0.0.1:3306,数据库用户名:root,数据库密码:123456(弱密码!),数据库名:taocms

这个返回包时看到攻击者在尝试提权,为下一步攻击做准备,请求包解码后是cd “/var/www/html”; id; echo e124bc; pwd; echo 43523,其他数据包也是一样的分析

题目

1.木马的连接密码是多少
按照时间顺序排列,打开第一个请求包追踪,密码就是1=%40ini_set 中的1

1
flag{1}

2.黑客执行的第一个命令是什么
根据解码后的cd “/var/www/html”;id;echo e124bc;pwd;echo 43523 ,d “/var/www/html”是切换目录,不是命令,而id则是第一个真正意义上的命令,它输出了下面的uid=33(www-data) gid=33(www-data)…

1
flag{id}

3.黑客读取了哪个文件的内容,提交文件绝对路径
由前面的分析就可以知道读取了/var/www/html/config.php,但是要提交的是绝对路径,所以要逐个解码,找到cat这个命令,最终发现cd “/var/www/html”;cat /etc/passwd;echo e124bc;pwd;echo 43523,所以绝对路径就是/etc/passwd

1
flag{/etc/passwd}

4.黑客上传了什么文件到服务器,提交文件名
根据第一个分析可以知道上传了flag.txt

1
flag{flag.txt}

5.黑客上传的文件内容是什么
得到flag{write_flag}

1
flag{write_flag}

6.黑客下载了哪个文件,提交文件绝对路径
就是之前的config.php

1
flag{config.php}

补充

这里区分一下下载和读取,命令就不同,读取一般有cat,more,less等,而下载不会,直接就会展示内容,且这里攻击者读取了数据库,下载了配置文件
这里还有一个区分方法

其中的参数就是指最后的&分隔的数量

就是标蓝的地方,这个就是下载的请求,只有一个参数,这个方法还是挺好用的

冰蝎

冰蝎的特征有一个特征是请求头在冰蝎3.0之前是Content-Type: application/octet-stream
冰蝎流量由于熟练度不高,就从题目开始入手好了

题目

1.黑客IP是什么?
直接http.request.method==”POST”过滤,寻找jsp文件,即上传木马,发现大量index.jsp,可能是,于是http contains “indeX.jsp”过滤,会发现这条PUT /indeX.jsp/ HTTP/1.1 追踪后发现

这个就是冰蝎默认的jsp木马,HTTP/1.1 201显示上传成功,所以结合一下是192.168.31.61,还可以知道秘钥是String k=”3f0af7bb4dbcfbd7” 使用了ECB加密方式

1
flag{192.168.31.61}

2.黑客上传的Webshell名是什么?
就是indeX.jsp,这里也可以回顾一下jsp,java文件用的就是AES加密,php就是XOR

1
flag{indeX.jsp}

3.黑客上传WebShell的时间是多少?
直接继续分析PUT包,看frame的UTC Arrival Time 2025-02-22 07:47:38

1
flag{2025-02-22 07:47:38}

4.木马的解密key是什么?
之前的上传木马文件已经分析过了,秘钥就是3f0af7bb4dbcfbd7

1
flag{3f0af7bb4dbcfbd7}

5.黑客执行的第一个命令是什么?
之前已经找到木马文件了,那就一个一个分析好了,因为要得到命令,直接分析日志文件请求包,最终在长度为510的日志中找到命令

1
flag{ifconfig}

6.黑客上传的文件内容是什么?
继续分析,会看到一个请求包里有关于上传文件的create命令

追踪一下TCP流,可以得到一个flag

1
flag{485375b7b06ad856a788c0d95229f35c}

7.黑客下载的文件内容是什么?
这里继续找到一个下载命令请求包,追踪一下TCP流,可以得到一个flag

1
flag{3aacab9ca36a6894c75048e4faf47052}

8.服务器内的flag是什么?
这里就是进入服务器直接就能找到根目录root文件夹下的flag.txt

1
flag{ae1d04dd3d15c6a18f904fe50fdf7eca}
本文作者:bakamu
本文链接:http://example.com/2026/03/09/webshell%E6%B5%81%E9%87%8F%E5%88%86%E6%9E%90-%E7%8E%84%E6%9C%BA/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可
糖糖的AI分身(BETA)
如果加载时间过长,可尝试打开系统代理