我们在Web的后渗透阶段,通常已经能够通过各种奇技淫巧拿到服务器的命令执行权限,但拿到命令执行权限不代表我们手工直接操作服务器很方便,一旦操作失误还可能被WAF识别,蚁剑可以帮我们解决这个问题。
AntSword(蚁剑)是一款WebShell管理工具,它能够连接ASP、PHP、JSP等常见WebShell类型,通过和WebShell交互实现文件管理器和模拟终端(不支持交互式命令),此外它支持多种编码方式,避免流量特征被WAF识别。
官方文档:https://www.yuque.com/antswordproject/antsword
Github地址:https://github.com/AntSwordProject/antSword
蚁剑是Electron开发的桌面应用,不过比较有趣的是下载下来的只是个叫做“加载器”的外壳,而主程序的代码还需要我们自己下载。根据官方文档,我们下载蚁剑加载器的压缩包,我这里使用的Linux操作系统因此下载AntSword-Loader-v4.0.3-linux-x64.zip
。下载完成后,我们将其解压即可。
第一次使用时,会要求我们选择一个目录作为workdir
。
这里我们需要先把蚁剑的代码从Github上克隆下来,然后在界面中指定workdir
为蚁剑源码的路径,此时蚁剑就可以正常运行了。理论上蚁剑应该可以自动下载源码,但可能作者疏于维护,这个功能并不好使。
蚁剑作者提供了一些WebShell代码供我们参考:https://github.com/AntSwordProject/AwesomeScript
这里我们在靶机中使用root
权限运行Tomcat服务,并将JSP木马上传至Tomcat的webapps/ROOT/shell.jsp
路径。
蚁剑中,我们点击右键选择添加数据
,填入WebShell的URL地址和请求参数名,然后选择和WebShell对应的编解码器,最后点击添加
。
添加成功后如下图所示:
如果一切正常,此时我们就可以使用文件管理器和虚拟终端对服务器继续进行渗透操作了。
注意:该虚拟终端不支持交互式命令,这是蚁剑和WebShell之间的连接方式决定的,交互式Shell可以考虑使用反弹式Shell实现。