在這款名叫DNS-Shell的交互工具的幫助下,研究人員可通過DNS信道來實現交互式Shell。
DNS-Shell
DNS-Shell是一款通過DNS信道實現交互式Shell的強大工具,該工具的服務器端基於Python開發,可在任何一種安裝了Python環境的操作系統平臺上運行,工具所使用的Payload均已PowerShell命令進行編碼,保證了在不同平臺間運行的穩定性和兼容性。
DNS-Shell運行機制
該工具所使用的Payload會在服務器端腳本被調用時自動生成,Payload會使用nslookpu來向服務器端查詢和請求新的操作命令,接下來服務器端會監聽端口53並等待傳入的連接。當Payload在目標設備上成功執行後,服務器端將會生成一個交互式Shell並提供給用戶進行操作。
通信信道建立成功後,Payload會繼續向服務器查詢和請求新的操作指令,當攻擊者在服務器端輸入新的操作命令後,Payload將會收到命令並執行該命令,然後在命令執行成功後將執行結果返回給服務器端。
使用DNS-Shell
DNS-Shell的運行相對來說比較簡單,DNS-Shell支持兩種操作模式,即直接操作模式和遞歸模式:
-使用git命令將工具從GitHub代碼庫克隆到本地:
git clone https://github.com/sensepost/DNS-Shell.git
-DNS-Shell直接模式:
sudo python DNS-Shell.py -l -d [Server IP]
-DNS-Shell遞歸模式:
sudo python DNS-Shell.py -l -r [Domain]
項目地址
DNS-Shell:【GitHub傳送門】
轉自FreeBuf.COM
閱讀更多 白帽黑客 的文章