AWD流量混淆之道

AWD 流量混淆之道

题目取得有点标题党,其实只是自己当时的一个想法,去实现了一遍,只有简单的一个混淆的脚本,水平比较有限,所以很多地方实现的并不是比较合理,望各位师傅们,勿喷,写这篇文章的目的主要是提供思路的参考

0x01 混淆原理

原理非常简单,利用了和算法

将正常的payload编码成类似的模样

然后在在一句话木马处设置解码函数

进行解码

循环遍历Web目录下所有的php文件,匹配所有的请求的函数名,然后随机发送经过编码后的混淆数据,以达到流量混淆的目的

效果图

标红的位置是利用webshell的流量,其余的全是混淆流量

利用webshell的流量包内容如下

0x02 编码与解码

核心为攻击流量的编码和webshell端的解码部分

encode.py

使用encode对payload进行编码

在webshell端进行解码

解码效果

0x03 流量混淆

流量混淆的思路,首先遍历Web目录下的所有php文件,将其添加到列表php_path中

然后对php_path中的文件进行正则匹配,匹配出所有的GET、POST、REQUEST 的变量名,将其去重后添加到request_list列表中

随机生成混淆的字符串

发送混淆流量

调用发送混淆流量

0x04 混淆马

对木马也进行混淆,这里参考ph牛的变形WebShell的方法

但是只适用于php5.5版本以上,5.5以下会报错

这里当然可以采用内存马来不断的写入,来达到不死混淆马的目的

其中的注释部分用于检测,完整性是否被破坏

0x05 完整代码

之前的代码是拆分成一个一个功能模块来实现的,在最后的时候,我把它改成了面向对象的形式来实现

贴上最终版代码

confusion.py

encode.py

attack.py

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180927B0UQ7I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券