228-蓝队技能-流量分析篇&Web后门&工具特征&分析项目等
228-蓝队技能-流量分析篇&Web后门&工具特征&分析项目等
蓝队技能-流量分析-WebShell 工具
分析流量的原因?
1、明白项目平台系统警告信息原理
2、自行学习到流量分析的技术和思路
3、通过特征尝试性开发规则进行检测
特征出现面
1、请求头!
2、请求包
3、回显数据
请求包:尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具
回显数据:尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具
Webshell 工具类:菜刀,蚁剑,冰蝎,天蝎,哥斯拉
工具:burpsuite
环境:本地靶场
菜刀:
https://mp.weixin.qq.com/s/SjUMoY6EafQzAb3RNWNkpg
特征多 没有做二次开发 没有开源 已被淘汰
- 特征一:POST方法,一句话路径
- 特征二:UA头均为baidu爬虫标识
- 特征三:特征为链接密码,base64前缀相同
- 特征四:返回结果在响应包中使用X@Y作为定界符包裹,命令存在[S] [E]作为定界符
蚁剑:(defult,rot13)
特征一:Post提交
特征二:User-Agent:antSoword/v2.1
在不修改请求头的情况下默认是这个样子的特征三:@ini set(“display errors”,”0”);@set time limit(0);
特征四:Base64 编码提交的数据(去掉前两位)
- 使用yakit进行抓包 在蚁剑代理设置为yakit代理ip
冰蝎
- POST传参
- User-Agent: Mozilla/5.0(windows NT 6.1;Trident/7.0; rv:11.0)like Gecko
- Accept :text/html,application/xhtml+xml,application/xml;q=0.9,image/webp, image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9
- Accept-Language:h-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
- 部分 3.0 以后的子版本至 4.0 以后增加了 referer 参数,末尾文件名随机大小写
- 尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具
天蝎
- POST传参
- X-Forwarded-For:(有的可能没有)
- User-Agent:Mozilla/5.0(Windows NT10.0;Win64;x64)AppleWebKit/537.36(KHTM,like Gecko)Chrome/89.0.4389.90Safari/537.36 Edg/89.0.774.57
- Content-Type:application/octet-stream
- 尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具
哥斯拉(PHP EVAL XOR BASE64)
流量中可见
eval、base64_decode、strrev等函数强特征:链接失败情况下2个流量包,成功为 3个流量包
第一个请求总会发送大量数据,这是配置信息,且请求包内无 cookie,服务器响应包无内容,生成一个 session,后续请求会带上此session 到请求包中的 cookie中3、强特征:生成的 cookie 后面有个分号
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*
/*;q=0.8Accept-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尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具
工具解密定性:(天蝎,冰蝎,哥斯拉)
知道密钥(工具内置的默认密钥,魔改二改发生的算法变化或密钥修改,则失效)
https://github.com/abc123info/BlueTeamTools

wireshark使用
IP 地址
ip.addr==IP 针对某个 IP 过滤
ip.src==IP 源IP 过滤
ip.dst==IP 目的 IP 过滤过滤目的 ip端口:
tcp.port=-端口号 显示主机端口的数据包tcp.srcport=-端口号 显示源主机端口的数据包tcp.dstport=端口号 显示目的主机端口的数据包协议:
tcp、udp、http、arp、icmp、smtp、pop、telnet、ssh、rdp等等小写直接输入,回车GET,POST 过滤,大写
http.request.method==”GET”http.request.method==”POST”逻辑运算符:and、or、|1、&等等ip.src==IP and http 过滤源地址并且是 http 协议的
特定字符过滤
http contains “Content-Type:http.request.uri==”/pikachu/vul/unsafeupload/uploads/1.php”
面试题型
冰蝎数据包
根据题目提示 webshell 使用工具是冰蝎 冰蝎流量特征
使用http协议 post提交打开wireshark进行筛选http.request.method=="POST"对流量进行过滤
选择那个长度为100的流量包 ,右键选择-追踪流-http流 然后看到数据包的详情信息
拉到下面 在post前面 请求包复制 这里使用蓝队工具箱解密不出来 要使用AES-AES64 进行解密http://tools.bugscaner.com/cryptoaes/ 复制蓝队工具箱里面冰蝎解密的默认密钥
e45e329feb5d925b填入解密工具里面 成功解密提示这段流量包使用了base64加密 在yakit里面再进行解密 将解密出来的结果再进行base解密即可拿到原文
将解密出来的原文粘贴放在一个新文件里面 修改为html结尾的格式 用浏览器打开 得到phpinfo界面
在这个界面查找IP关键字即可查到ip地址和用户名
冰蝎在初始化链接的时候 会载入phpinfo界面 在这个界面里面会再入详细信息 这个详细信息基本等同phpinfo界面
蚁剑数据包
根据题目提示 webshell 使用工具是蚁剑 跟上面一样 根据他们的流量特征
使用http协议 post提交打开wireshark进行筛选http.request.method=="POST"对流量进行过滤 在第一个流量包里面发现了服务器 JAVA版本号
我们在对
TCP.stream eq 39进行搜索 http追踪 提取我复制的参数 拿到burp里面进行解码- 先进行url解码 然后在进行base64解码 最后去掉开头两位
Av即可解码 - 从解码后的代码看到这里是进行的操作命令是 env 从中可以拿到java版本
- 先进行url解码 然后在进行base64解码 最后去掉开头两位
我们现在对他的回显包里面进行解码 先进行url解码 然后在进行base64解码 拿到原文 从中看到版本
我们在对
TCP.stream eq 43进行搜索 追踪 提取我复制的参数 拿到burp里面进行解码- 先进行url解码 然后在进行base64解码 最后去掉开头两位
BZ即可解码
- 先进行url解码 然后在进行base64解码 最后去掉开头两位
找到对此对应的响应包拿到 ./sercret 文件内容为 拼接起来即可拿到flag
cd "/usr/local/tomcat";cat /.secret;echo f5cd9;pwd;echo @a25fbclc5



























