• 0x01 "冰蝎" 获取密钥过程
      冰蝎执行流程 (图片来自红蓝对抗——加密Webshell“冰蝎”攻防)

    • 0x02 "冰蝎" 解析Cookie流程

      正常的请求是不会携带Cookie属性的,这可是识别冰蝎流量最直接的一种办法

    • 0x03 "冰蝎" 动态加载

      冰蝎动态加载的原理就是每次都发送一个class字节码(其它语言也一样) 冰蝎通过asm动态修改class字节码变量内容,实现携带参数动态执行,冰蝎在获取完密钥之后(2个请求),第三个请求就是获取BasicInfo(服务器的一些信息),冰蝎的BasicInfo功能并没有动态修改参数(一个获取服务器信息的能有啥参数),这会导致每次获取BasicInfo的数据包都是固定的大小

    • 0x04 总结
      Waf可以对一个ip连续访问2次的数据包进行截取,比对相同字符,比对之后,截取两次不同的数据,如果剩下的是16位的key,就可以证明这两个数据包就是冰蝎发出的,第三个数据包通过 0x02,0x03 中的一些bug,可以100%的匹配到冰蝎流量,不会误报

相关文章: