在网络安全领域,了解常见的攻击工具流量特征对于及时发现和应对威胁至关重要。本文将重点研究菜刀、蚁剑和冰蝎这三种常见的网络攻击工具,分析它们在流量中留下的痕迹和特征,以便网络管理员和安全专家能够更好地识别和对抗这些工具所带来的潜在威胁。
第一部分:蚁剑
蚁剑(AntSword)是一款功能强大的跨平台渗透测试工具,被广泛用于攻击和渗透测试活动。以下是蚁剑的一些流量特征:
- 流量特征主要表现在数据包的加密方式和数据类型。蚁剑使用了AES加密算法对数据进行加密,同时还使用了自定义的二进制协议,在通信中传输各种类型的数据
- 默认的USER-agent请求头 是 antsword xxx,但是 可以通过修改:/modules/request.js 文件中 请求UA绕过。
- 其中流量最中明显的特征为@ini_set("display_errors","0")、@set time limit (0) 这段代码基本是所有webshe11客户端链接PHP类Webshe11都有的一种代码 。
- 蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“0x加密后”“这种形式(下划可换》,所以以-0x开头的参数也很可能就是恶意流量。
ctrl+shift+u
url解码
第二部分:菜刀
菜刀(Chopper)是中国黑客圈内使用非常广泛的一款Webshell管理工具。中国菜刀用途十分广泛,支持多种语言,小巧实用。它的流量特征主要包括以下几个方面:
- 主要表现在HTTP协议上,使用HTTP协议通信,控制命令和数据都通过POST请求传输。因此,可以通过HTTP请求头中的User-Agent、Referer等信息进行识别,eval函数必不可少,有可能会被assert代替。
- 使用了base64的方式加密了发送给“菜刀马”的指令,其中的两个关键payload z1和z2,这个名字是可变的 。
- 有$_POST/$_GET/$_REQUEST
第三部分:冰蝎
冰蝎 (Behinder)是一款基于Java开发的动态加密通信流量的新型Webshell客户端,由于通信流量被加密,传统的WAF、IDS 设备难以检测,给威胁狩猎带来较大挑战。冰蝎其最大特点就是对交互流量进行对称加密,且加密密钥是由随机数函数动态生成,因此该客户端的流量几乎无法检测。以下是冰蝎的一些流量特征:
- 流量特征主要表现在数据包中的特殊标记和传输的数据类型。冰蝎的数据包中包含了特定的标记,如"flag=0x52415631",用于标识该数据包是冰蝎的控制命令。此外,冰蝎还使用了一种自定义的二进制协议,在通信中传输各种类型的数据
- 看包没有发现什么特征,但是可以发现它是POST请求的appication/xhtm1+xmlapplication/xmlapplication/signe1、Accept头有d-exchange属于弱特征 (UA头的浏览器版本很老)2、特征分析Content-Type: application/octet-stream 这是-个强特征查阅资料可知octet-stream的意思是,只能提交二进制,而日只能提交一个三进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组) ; 很少使用14。
- 默认内置16个user-agent头。
- content-length请求长度,对于文件上传、命令执行来说加密参数不定长;但是对获取基本信息的payload都定长。
冰蝎2.0
默认Accept字段的值很特殊,而且每个阶段都一样冰蝎内置了十余种15userAgent ,每次连接 shel1 会随机选择一个进行使用。但都是比较老的,r容易被检测到,但是可以在burp中修改ua头Content-Length:16,16就是冰蝎2连接的特征
冰蝎3.0
- 冰蝎3取消动态密钥获取,目前很多waf等设备都做了冰蝎2的流量特征分析,所以3取消了动态密钥获取;php抓包看包没有发现什么特征,但是可以发现它是POST请求的Accept。
- application/xhtm1+xmlapplication/xmlapplication/signed- exchange属于弱特征。
- ua头该特征属于弱特征。通过burp可以修改,冰蝎3.0内置的默认16个userAgent都比较老。现实生活中很少有人使用,所以这个也可以作为waf规则特征。
- jsp抓包特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可知 octet-stream的意思是,只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交 一个文件后台接收参数只能有一个,而且只能是流(或者字节数组)。
- content-length长度为5720或5740(随Java版本改变)
冰蝎4.0
- 10个内置ua头随机选用
- 端口为49700左右,每次连接会递增
- PHPwebshell存在固定代码
content字段中,将eval($post)作为流量特征纳入$post=Decrypt(file_get_contents("php://input")); eval($post);
- 请求头和响应头字节固定
请求头和响应头里会带有 Connection
Connection: Keep-Alive
- webshell存在默认字符串,为默认连接密码的MD5的前16位
- Content-Type不再是二进制,改成urlencoded,但是是弱特征
第四部分:哥斯拉
哥斯拉(Godzilla)由Java语言开发,内置了3种Payload以及6种加密器,6种支持脚本后缀,20个内置插件。
- 流量特征主要表现在数据包的特殊标记和数据类型。哥斯拉的数据包中包含了特定的标记,如"XORHEAD"和"XORBODY",用于标识该数据包是哥斯拉的控制命令。此外,哥斯拉还使用了一种自定义的二进制协议,在通信中传输各种类型的数据。
- Cookie字段中存在一个关键的特征,即最后一个Cookie值的末尾有一个不必要的分号,在标准的HTTP请求中,最后一个Cookie的值后面不应该出现分号。
- 响应包结构特征:MD5前16位+base64+MD5后16位
- 注入内存马时有大量的URL请求,路径相同但参数不同,或者页面不存在但是返回200
结论:
通过对这三种常见的网络攻击工具流量特征的分析,我们可以更好地了解它们在网络流量中的表现。网络管理员和安全专家可以根据这些特征来识别和监测潜在的攻击活动,并及时采取相应的防护措施。同时,持续的学习和了解新兴攻击工具的流量特征也是保持网络安全的重要一环。