欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

从网络侧分析蚁剑交互流量

来源:本站整理 作者:佚名 时间:2020-03-16 TAG: 我要投稿

中国蚁剑是一款跨平台且十分优秀的开源网站管理工具,面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。它集文件管理、虚拟终端、数据管理功能于一身,可在windows、linux和Mac上正常运行。本文从网络侧出发,从http流量层面对蚁剑功能和逃逸方式等进行分析,旨在帮助大家在网络流量层面进一步了解蚁剑。

一、AntSword基本操作
蚁剑操作界面比较简单,易于操作。我们右键向蚁剑工作区域添加数据,进行基础配置,填入shell地址、连接密码等等,就可以进行连接。另外,它还可以对请求包的编码方式进行选择,并且进行分块传输、自定义分割字符等自定义配置。

蚁剑支持php、asp、aspx、custom和php4的站点管理,连接后,可以进行虚拟终端、文件管理等多种操作。在几种语言环境下,蚁剑对PHP的支持是最好的,本文也以PHP环境作为主要分析对象。

二、AntSword的网络连接
为了能让蚁剑顺利连接并工作,需要先在linux服务器上搭建了php站点环境,并上经典小马作为web端的shell脚本。

2.1 AntSword的HTTP请求
在配置测试连接的时候,或是使用蚁剑的管理功能,蚁剑都会发送一个http包获取服务端相关信息,这个包通常来说是蚁剑发起的第一个http包,通过wireshark抓包分析。可以看出命令成功执行并得到了服务器的正确响应。

http请求包的body部分携带了大量的数据,但是由于进行编码的原因,结构不是很清晰。为了让请求代码更加清晰,先对其进行URL decode,并整理代码结构:

从请求流量携带代码的功能来看,客户端请求了服务端当前目录、根目录、系统和当前用户名等信息,输入到缓冲区再由$output变量接收。为了能在响应包中精确的定位$output输出位置,代码通过一些随机字符作为开始和结束分隔符,与使用固定分隔符相比,这种方式在一定程度上能够抵抗网络侧安全设备的检测。

当然,蚁剑中也支持自定义的数据分割符:

在蚁剑的文件管理功能当中,支持的功能相当多,包括上传、下载、编辑、新建、修改文件权限等。

在进行文件管理操作时抓到的的数据包来看,返回包的结构仍然没有变化:仍然是开始定位符+返回内容+结束定位符的三段式结构。

继续解码分析请求包,其中执行的代码整体结构不变,只是try代码块中的代码,因为功能变化而发生了改变。从多条http数据流可以判断,主要功能新代码都存在于try代码块中,其余代码基本不会发生改变:

继续分析虚拟终端执行命令时的流量,在执行whoami命令的同时开启抓包,可以看到虚拟终端正确的执行了这条系统命令并获取当前用户为apache。

请求包结构依然只有try代码块中的代码发生了变化,在另一变量中存储了被base64编码并且需要执行的系统命令,解码后可以发现,执行的系统的命令不只是whoami这一条。在该命令前有一条cd指令,之后又一条pwd指令。因为是虚拟终端,难以像真实的终端一样实时交互。命令的最后存在一个由[S]和[E]字符包裹的当前执行目录,S和E应该是start和end的缩写,为执行下一条命令时所需要进入的目录提供指导,也就是下一条指令需要提前cd进入的目录:

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

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载