网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

前端开发技术团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 开发技术 > 前端开发技术 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

从网络流量的角度理解开源网站管理工具蚁剑:集文件管理、虚拟终端、数据管理功能。从网络侧、http流量层面对蚁剑功能和逃逸

文章来源:重庆软件开发 发布时间:2020-03-16 19:09:38 围观次数:
分享到:

摘要:从网络流量的角度理解开源网站管理工具蚁剑:集文件管理、虚拟终端、数据管理功能。从网络侧、http流量层面对蚁剑功能和逃逸方式等进行分析。可在windows、linux和Mac上正常运行。

  从网络流量的角度理解开源网站管理工具蚁剑:集文件管理、虚拟终端、数据管理功能。从网络侧、http流量层面对蚁剑功能和逃逸方式等进行分析。可在windows、linux和Mac上正常运行。

blob.png

AntSword基本操作


  蚁剑的操作界面比较简单,易于操作。右键单击以将数据添加到Ant Sword工作区,执行基本配置,填写she

ll地址,连接密码等,然后就可以连接了。此外,它还可以选择请求数据包的编码方法,并执行自定义配置,例如分块和自定义拆分字符。

blob.png


 Ant Sword支持php,asp,aspx,custom和php4的站点管理。连接后,您可以执行各种操作,例如虚拟终端和文件管理。在几种语言环境中,Antword对PHP的支持是最好的。本文还将PHP环境用作主要分析对象。

blob.png

AntSword网络连接


  为了使Ant Sword能够正常连接工作,您需要首先在Linux服务器上设置一个PHP站点环境,然后在网络端使用经典的pony作为shell脚本。

blob.png

  AntSword HTTP请求

  在配置测试连接或使用蚁剑的管理功能时,蚁剑将发送http数据包以获取服务器端的相关信息。该数据包通常是蚁剑发起的第一个http数据包,由wireshark抓包分析。您可以看到命令已成功执行,并从服务器获得了正确的响应。

blob.png

 http请求数据包的body部分承载大量数据,但是由于编码原因,结构不是很清楚。为了使请求代码更清晰,请首先对URL进行 decode并组织代码结构:

blob.png

 从承载请求流量代码功能的角度来看,客户端请求服务器的当前目录,根目录,系统和当前用户名等信息,将其输入缓冲区,并通过$output接收变量。为了在响应数据包中准确定位$output输出位置,该代码使用一些随机字符作为开始和结束分隔符。与使用固定分隔符相比,此方法在某种程度上可以抵抗对网络侧安全设备的检测。

blob.png

  当然,Ant Sword还支持自定义数据分隔符:

blob.png

  在Ant Sword的文件管理功能中,有很多受支持的功能,包括上载,下载,编辑,创建和修改文件权限。

blob.png

  查看在文件管理操作期间捕获的数据包,返回包的结构保持不变:它仍然是开始定位器、返回内容和结束定位器的三阶段结构。

blob.png

  继续解码和分析请求数据包,其中已执行代码的整体结构保持不变,但是由于功能更改,try代码块中的代码已更改。可以从多个http数据流中判断出try函数代码块中存在主要功能新代码,而其余代码基本上保持不变:

blob.png

  虚拟终端执行命令时,继续分析流量。执行whoami命令并启用数据包捕获后,您可以看到虚拟终端已正确执行了此系统命令并获得了当前用户为apache。

blob.png

  请求数据包的结构仍然仅更改了try块中的代码。在另一个变量中,存储了由base64编码并需要执行的系统命令。解码后,可以发现执行的系统命令不仅是whoami。该命令之前有一条cd指令,然后是pwd指令。因为它是虚拟终端,所以很难像真实终端那样进行实时交互。在命令末尾,有一个由[S]和[E]字符包装的当前执行目录。  S和E应该是start和end的缩写。它们为执行下一条命令(即下一条指令)时要输入的目录提供指导,您需要进入的目录:

blob.png

  命令执行结果直接返回到返回包中。同时,在返回结果后跟着被[S]和[E]字串包裹的pwd命令执行结果。

  在数据管理方面,Ant Sword支持MYSQL,MSSQL,ORACLE等主流数据库的连接管道,但是http流量与其他管理功能的流量基本相同,因此不再进行分析。

  从请求的方向来看,蚁剑HTTP请求带有一个包含antSword/x.x的UA,但是可以在配置中对该UA进行修改以伪装成普通的浏览器UA。但是,body中携带的PHP代码具有固定的结构和明显的特性。如果它正在执行渗透务,则很容易被安全设备检测到,这可能导致流量阻塞或IP被禁止。从响应方向看,某些代码将执行更多次,例如获取文件和指定目录中的文件;另外,在执行命令时,还有目录标记[S][E]等。如果执行了相关分析,则很容易得出结论,当前站点已被获取。为了抵抗对安全设备的检测,蚁剑还提供了一些逃逸手段。

  编码逃逸

  在antsword php选项下,默认情况下,请求包支持base64,chr,chr16和rot13。响应包支持几种编码模式下的base64,rot13和随机选择。以请求数据包rot13编码和响应数据包base64编码为例,继续捕获http通信。从ht

tp有效负载中,请求数据包的主体内容已由rot13编码,并具有rot13解码功能:

blob.png

 执行urldecode,rot13并组织编码的内容。PHP代码与未编码时相同,并且$output变量由base64_encode函数编码,对应于需要解码的base64解码器。

blob.png

 返回的数据包中的输出确实是base64编码的,并且Ant Sword解码器将提取输出并使用指定的解码器对其进行解码:

blob.png

 从实际效果来看,编码后的数据似乎有些混乱,但是实际上,只要原始数据不变,数据编码就是一个完全固定的映射。对于流开始处的前几个字符@ini_s,只要此输入不变,编码结果就不会改变。对于人读而言,编码结果增加了日志审核和其他任务的难度,但是对于机器而言,编码功能是检测恶意流量的更有力支持证据。

blob.png

  为了进一步对抗检测,蚁剑附带了RSA加密编码器并支持自定义编解码器,并开源了一些出色的自定义加密编解码器项目。

  加密编码器和解码器

  从AntSword v2.1.0开始,添加了新的PHP RSA编码器。它只需要一些简单的手动配置就可以使用。在主界面的AntSword下拉菜单中找到编码设置,创建一个新的PHP RSA编码器,并在配置中添加RSA Generate公钥和钥。AntSword还将提供可以使用的RSA shell文件,并将该shell上传到目标站点以进行连接。但是,发现此shell的可能性很高,如果是在进行渗透任务时可以做一些免杀处理:

blob.png

 从提供的RSA shell功能的角度来看,所携带的数据将整体使用RSA进行加密并进行base64编码。在服务器端,RSA解密要求该站点打开openssl扩展。该脚本解密接收到的数据,然后运行它。从捕获的http请求中,ant携带的数据已被完全加密,并且找不到明显的功能。

blob.png

  但是,Ant Sword不提供默认的解密解码器。您可以在Ant Sword项目中引入出色的自定义开源加密,解密编码器和解码器,例如AES,DES和Deflat。我们在Ant Sword项目中添加了AES解码器:

blob.png

  在配置了新的解码器之后,在捕获的输出由base64解码之后,您只会看到一些难以读取的二进制流,并且很难找到流量中的任何功能。

blob.png

  这些加密和解密编解码器和解码器给网络侧设备的检测带来了巨大的挑战,并且检测的难度和成本也大大增加。但是,许多编解码器依赖于openssl扩展,并且对其使用有很多限制。


总结一下


  蚂蚁剑的更新和发展可以追溯到攻击方和防御方之间对抗的痕迹。攻击者不断改进逃避检测的手段并增加检测成本。防御者还对诸如冰蝎之类的持续挑战进行了更深入的分析和研究,都需要继续进行分析和研究。


本文由 重庆软件开发 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:网络流量 开源网站管理工具 中国蚁剑 文件管理 虚拟终端 数据管理 网络侧 http流量层面 软件开发

上一篇:影响小程序开发价格的因素有哪些?
下一篇:网页制作与设计过程中需要注意哪些问题

热门资讯

鼠标向下滚动