蚁剑流量分析及改造

访客3年前关于黑客接单572

蚁剑流量分析

环境搭建

  • 搭建php环境使用经典的一句话作为web端的shell文件。

  • 设置蚁剑 *** ,使用burp抓包分析流量。

图片.png
图片.png

流量分析

default测试流量分析

分析测试连接数据包
图片.png
因为这里使用的一句话是,所以这里post数据中有一个x参数,后面跟上了命令。从数据包中还可以看到蚁剑的UA头是antSword/v2.1,这是一个很明显的特征更改方式会在下文中提出,现在先分析测试连接数据包中的内容,将数据包进行url编码并格式化后得到如下代码:

通过输出测试连接数据包中携带的代码可以看出测试连接数据包主要获取了服务端当前目录、根目录、系统和当前用户名等信息,输入到缓冲区再由$output变量接收,通过随机字符作为开始结束符定位变量输出位置。
蚁剑中也支持自定义的数据分割符:

图片.png

base64测试流量分析

下面设置蚁剑的编码器为base64,解码器是default
图片.png
通过burp抓取测试连接的数据包,可以发现蚁剑会随机生成一个参数传入base64编码后的代码,密码参数的值是通过POST获取随机参数的值然后进行base64解码后使用eval执行
图片.png
将代码base64解码后还原发现代码与default代码相同,只是在传参的时候将要执行的代码进行了base64编码
图片.png
如果将解码器设置为base64,可以看到响应包内容会进行base64编码返回:
图片.png
首先将数据包进行url解码再进行base64解码格式化得到执行代码,通过与default代码对比分析发现只有如下不同:
图片.png
也就是说选择的解码器会在asenc函数中将输出的内容进行编码后由蚁剑进行解密。

chr测试流量分析

如下图所示,chr编码模式下的数据包:
图片.png
通过数据包可发现,chr编码下的数据会先将代码的每一个字符进行Ascii的编码通过chr函数返回字符然后eval执行

rot13测试流量分析

通过数据包可发现,蚁剑会随机生成一个参数传入rot13编码后的代码,密码参数的值是通过POST获取随机参数的值然后进行rot13解码后使用eval执行,可以发现rot13和base64编码方式都是获取随机参数的值解码后eval执行。此次解码器设置的是rot13,可以发现响应包的数据进行了rot13编码。
图片.png
通过上面描述的base64解码器代码中的内容可推测设置解码器为rot13,那么就会在asenc函数中将返回值进行rot13编码后由蚁剑解码。
图片.png

编码流量分析总结

通过以上不同编码方式产生的数据可以看到虽然代码进行了编码操作,但是数据包中仍有明显的特征,测试流量中的数据包都是采用@ini_set函数开头,在base64数据包中它是QGluaV9zZXQ,在chr编码数据包中是cHr(64).ChR(105).ChR(110).ChR(105).ChR(95).ChR(115).ChR(101).ChR(116),在rot13编码数据包中是@vav_frg并且编码后的数据包中都存在eval这个敏感函数。其实只要原始数据不变无论执行怎样的编码操作发送的请求都是相同的,那么就可以找寻编码后的特征进行流量检测。

流量改造

更改UA头

将antSword/modules/request.js文件中的常量USER_AGENT的值更改为自定义ua头。
图片.png
重启蚁剑后成功更改UA头。
图片.png

自带RSA编码器

从AntSword v2.1.0版本开始,新增了PHP RSA编码器,AntSword下拉菜单中找到编码设置,点击RSA配置输入公钥和私钥后点击生成会生成一段PHP shell代码。
图片.png
复制代码并上传到服务器,然后点击新建编码器创建一个PHP RSA编码器,之后连接生成shell文件,选择编码器为刚刚创建的PHP RSA编码器测试连接。需要注意的是蚁剑自动生成的shell代码需要进行免杀操作。
图片.png
再来看看流量已经完全加密,如下
图片.png

*** 中转加密

利用 *** 工具将蚁剑传输的数据进行自定义加密后发送给webshell,由webshell解密数据进行执行。原理类似下图:
图片.png
在这里使用MitmProxy作为 *** ,编写MitmProxy插件对数据进行加解密,直接pip安装MitmProxy即可(windows用户务必通过PIP安装mitmproxy,不然插件会出现找不到模块的错误)

mitmproxy插件

PHP webshell

使用

  • 将支持 DES 加密的 Webshell 上传到服务器

  • 运行下列代码开启 *** 中转(使用 -p 可以自定以端口

Windows:mitmdump -k -s 插件路径 Linux:mitmproxy -k -s 插件路径

  • 蚁剑添加mitmproxy *** ,默认端口8080


完成上面步骤首先测试测试连接流量数据,数据如下所示已经完全加密并且正常获取到响应(在星号之间的数据是发送的数据,在等号之间的是获取的响应)

图片.png
然后接下来测试文件相关操作,可以正常获取数据,经过测试文件上传下载均正常使用。
图片.png
接下来是命令执行相关的数据包加密情况:
图片.png
可以看到命令执行相关的代码也进行了加密并且响应包正常返回。

总结

蚁剑作为一款开源工具,自带的编码器和解码器的特征是很明显的,由于蚁剑的开源所以可以通过更改配置文件来达到流量加密,也可以使用一些其他方式如 *** 中转方式进行流量加密,同样也可以编写蚁剑插件进行编码解码,流量加密的方式不止一种,选择自己擅长的就行。

参考资料

https://blog.csdn.net/qq_43622442/article/details/105596701
https://www.freebuf.com/articles/network/229193.html
https://www.anquanke.com/post/id/223085
https://cloud.tencent.com/developer/article/1578215

相关文章

应该怎样积极应对网站优化

你只需求记住你现已极力且付出了劳动,收效果实是早晚的作业,许多时分,我们的站长会很困扰,清楚自己付出许多极力,却没有得到收成,这个时分应该幽静下来,多考虑多总结坚持淡定的心态去面对优化的效果,防止对自...

july是几月份(用英语正确中一年中所有的月份?)

july是几月份(用英语正确中一年中所有的月份?) Hey,everybody,Too White here to teach you English 大家好,欢迎来到太白教你学英语 So in...

amd和intel处理器分析,看看专家怎么说?

amd和intel处理器分析,看看专家怎么说?

AMD Ryzen5 1500X这款CPU,主频为3.5GHz,最大睿频3.7GHz,二级缓存为2MB,采用四核心、八线程设计,热设计功耗(TDP)65W,三级缓存为16MB,这缓存容量相对较高,...

十三号病院洗衣粉怎么放 十三号病院洗衣粉使用方法分享

最近玩十三号病这个游戏的玩家都在问,游戏里面医院的洗衣粉怎么放?十三号病院作为解密游戏,还是有一定难度的,很多玩家都卡在了第三章的洗衣粉这里,这里要大家正确放洗衣粉才能洗衣服,小编我特意整理了相关的资...

黑客txt下载全本完结,怎么联系黑客找回记录,找黑客解锁苹果手机软件

4.对单个文件进行通读(特别留意有输入的当地)。 如user.php获取实在IP后修正hosts再拜访网站,测验是否成功。 cdn是介于用户终端和内容提供者之间的一种加快方法,经过挑选最优的网络让用户...

儿童初学轮滑鞋怎么选(儿童轮滑口诀)

儿童初学轮滑鞋怎么选(儿童轮滑口诀)

轮滑可以熬炼孩子的身体协调本领,熬炼孩子的勇气,造就孩子的均衡本领。因此,很多怙恃打算让他们的孩子进修滑轮。 可是在我们布满热情让我们的孩子进修轮滑之前,我们必需先为我们的宝宝挑选一双及格的轮滑。旱...