webshell免杀如何做 蚁剑加密流量绕过WAF

UA头修改、修改蚁剑工作目录的/locales/request.js,当中数值数据为antSword/v2.2.,可以挂出代理来直接抓包。普通的爬虫通常须要修改一下,否则极易被发现,可以利用普通爬虫的一些技巧,随机构造UA头,编码管理绕过检测。蚂蚁之剑内部可以自行构造通信流的编码效果,存在于设定编码管理中,可以设定发送通信流的数据加密效果,或者设定回到数据流的解密效果,但我们同样须要我们上传木马的协调,这里又涉及到了免杀的过程。


蚁剑编码器非常友好,注释什么的都写得很清楚,官方给avata的办法是二维随机变量名,我们的内容base64又被插入到这一变量中,base64再解出执行一次eval,这一编码器最后发送的是data数组的内容,数组内有多少内容将被发送,数组的key值将被传递给过去的参数值。这就是我们可以改变的地方,这就是定制改变了这篇文章引用的例子:本文是将数据资料随机字符串改为最后一次传送的+传送的base64+随机字符串的效果,我们可以模拟一下,构造一个随机字符串+传送数据base64的效果,只要不能直接正常分析被抓到的流量就行了。


编码器选择我们设定的,留意通信量,前十三位的内容是我们随机生成的字符串,后十三位是我们真正传递的内容。把蚁剑端数据加密好,还须要设定自个的木马文件格式,协调蚁剑,此时上传的木马应该是这一文件格式,这只是一个avata,正常状况下也须要免杀(如今通常都须要协调类的析构函数来实现)

$a=base64_decode(substr($_POST[b']],18);

($b);

$a=base64_decode(substr($_POST[b']],18);

($b);


还可以实现动态随机字符串的通信流构造,只需传递多几个参数实现就可以,应用form表单进行发包,或者应用multifamily进行发包,本时报的内容将是如此。蚁剑自带的编码器有base64、chr、chr16、rot13四种,另外,还有一些替代编码器https://github.com/AntSwordProject/AwesomeEncoder,这也是官方提供的。


但自带编码器中,由于应用eval和某些编码函数的关键字来同时处理请求流量,WAF不工作.有一些编码方法可以将这些函数变量只编码一次或数据加密一次,但不能多次这样做,例如应用b64bypass这样的编码方法,与上面简单的base64相比,这些关键字已经少了很多。能够让其他人骑我们的马,但不能阻止其他人重新骑我们的马.因此可以在这个基础上增加一些token,ip限制,等等,蚁剑的作者提出了一种利用时间校验的办法,超过5秒不能再骑我的马,只需加上这句话.基于时间的蚁剑动态秘密密钥编码器.

整体流程如下:


蚂蚁之剑获得时间->产生随机密钥->数据加密的密码->发送到shell。Shell得到时间->生成随机密钥->解密walletload->把data编码的回显->回到给蚁剑。蚂蚁之剑得到时间->产生随机密钥->解密回到数据资料->获取信息。这种来回操作,时间仍然相同,因为时间只有一分钟,密钥在短时间内不会改变,加解密办法应用的是异或运算,这一流量已经很难解密了.这种方式通过将数据资料zlib压缩后进行base64编码传送给shell,要求shell首先对所传送的数据资料进行base64解密,然后通过gzunflate对压缩后的数据资料进行解压缩,从而实现流量混淆.这种编码器的数据加密效果也很好。

分享: