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)

  1. 特征一:Post提交

  2. 特征二:User-Agent:antSoword/v2.1 在不修改请求头的情况下默认是这个样子的

  3. 特征三:@ini set(“display errors”,”0”);@set time limit(0);

  4. 特征四:Base64 编码提交的数据(去掉前两位)

  • 使用yakit进行抓包 在蚁剑代理设置为yakit代理ip
    • image-20250619211411612
    • image-20250619211439091
    • image-20250619213100539
    • image-20250619213141393

冰蝎

  1. POST传参
  2. User-Agent: Mozilla/5.0(windows NT 6.1;Trident/7.0; rv:11.0)like Gecko
  3. 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
  4. Accept-Language:h-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
  5. 部分 3.0 以后的子版本至 4.0 以后增加了 referer 参数,末尾文件名随机大小写
  6. 尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具
    • image-20250621150211200

天蝎

  1. POST传参
  2. X-Forwarded-For:(有的可能没有)
  3. 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
  4. Content-Type:application/octet-stream
  5. 尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具
    • image-20250621150738566

哥斯拉(PHP EVAL XOR BASE64)

  1. 流量中可见evalbase64_decodestrrev等函数

  2. 强特征:链接失败情况下2个流量包,成功为 3个流量包

  3. 第一个请求总会发送大量数据,这是配置信息,且请求包内无 cookie,服务器响应包无内容,生成一个 session,后续请求会带上此session 到请求包中的 cookie中3、强特征:生成的 cookie 后面有个分号

  4. Accept:
    text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*
    /*;q=0.8

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

  6. 尝试利用默认密钥等解密 成功还原算法明文即可认定对应工具

    • image-20250621151402383

    • image-20250621151446953

    • image-20250621151629477

    • image-20250621151830779

    • image-20250621151402383
    • image-20250621151446953
    • image-20250621151629477
    • image-20250621151830779

工具解密定性:(天蝎,冰蝎,哥斯拉)

知道密钥(工具内置的默认密钥,魔改二改发生的算法变化或密钥修改,则失效)
https://github.com/abc123info/BlueTeamTools

image-20250621153357931

wireshark使用

  1. IP 地址
    ip.addr==IP 针对某个 IP 过滤
    ip.src==IP 源IP 过滤
    ip.dst==IP 目的 IP 过滤过滤目的 ip

  2. 端口:
    tcp.port=-端口号 显示主机端口的数据包tcp.srcport=-端口号 显示源主机端口的数据包tcp.dstport=端口号 显示目的主机端口的数据包

  3. 协议:
    tcp、udp、http、arp、icmp、smtp、pop、telnet、ssh、rdp等等小写直接输入,回车

  4. GET,POST 过滤,大写
    http.request.method==”GET”http.request.method==”POST”

  5. 逻辑运算符:and、or、|1、&等等ip.src==IP and http 过滤源地址并且是 http 协议的

  6. 特定字符过滤
    http contains “Content-Type:http.request.uri==”/pikachu/vul/unsafeupload/uploads/1.php”

面试题型

冰蝎数据包

  1. 根据题目提示 webshell 使用工具是冰蝎 冰蝎流量特征 使用http协议 post提交 打开wireshark进行筛选

    • http.request.method=="POST"对流量进行过滤
  2. 选择那个长度为100的流量包 ,右键选择-追踪流-http流 然后看到数据包的详情信息

  3. 拉到下面 在post前面 请求包复制 这里使用蓝队工具箱解密不出来 要使用AES-AES64 进行解密http://tools.bugscaner.com/cryptoaes/ 复制蓝队工具箱里面冰蝎解密的默认密钥e45e329feb5d925b 填入解密工具里面 成功解密

  4. 提示这段流量包使用了base64加密 在yakit里面再进行解密 将解密出来的结果再进行base解密即可拿到原文

  5. 将解密出来的原文粘贴放在一个新文件里面 修改为html结尾的格式 用浏览器打开 得到phpinfo界面

  6. 在这个界面查找IP关键字即可查到ip地址和用户名

    • 冰蝎在初始化链接的时候 会载入phpinfo界面 在这个界面里面会再入详细信息 这个详细信息基本等同phpinfo界面

      • image-20250621163918763
      • image-20250621164511405
      • image-20250621164818775
      • image-20250621171222930
      • image-20250621171313709
      • image-20250621172115600
      • image-20250621172226604
      • image-20250621172439104
      • image-20250621172653280
      • image-20250621172915763
      • image-20250621173259961

蚁剑数据包

  1. 根据题目提示 webshell 使用工具是蚁剑 跟上面一样 根据他们的流量特征 使用http协议 post提交 打开wireshark进行筛选

    • http.request.method=="POST"对流量进行过滤 在第一个流量包里面发现了服务器 JAVA版本号
  2. 我们在对TCP.stream eq 39进行搜索 http追踪 提取我复制的参数 拿到burp里面进行解码

    • 先进行url解码 然后在进行base64解码 最后去掉开头两位Av即可解码
    • 从解码后的代码看到这里是进行的操作命令是 env 从中可以拿到java版本
  3. 我们现在对他的回显包里面进行解码 先进行url解码 然后在进行base64解码 拿到原文 从中看到版本

  4. 我们在对TCP.stream eq 43进行搜索 追踪 提取我复制的参数 拿到burp里面进行解码

    • 先进行url解码 然后在进行base64解码 最后去掉开头两位BZ即可解码
  5. 找到对此对应的响应包拿到 ./sercret 文件内容为 拼接起来即可拿到flag

    • cd "/usr/local/tomcat";cat /.secret;echo f5cd9;pwd;echo @a25fbclc5