亚洲日本免费-啊轻点灬太粗太长了三男一女-麻豆av电影在线观看-日韩一级片毛片|www.grbbt.com

MSF使用DNS隧道上線

前言

DNS隧道是一種比較古老的技術,從首次發布至今已經有20多年的時間,隱蔽且適應性強一直是DNS隧道的標簽。
具體到國內業界技術分析來看,最流行的DNS隧道應用就是Cobalt Strike 的DNS Beacon.Cobalt Strike官網也將DNS Beacon稱為最受歡迎的功能特性?https://cobaltstrike.com/help-dns-beacon
作為對比,metasploit-framework的meterpreter雖然支持更多的平臺(WINDOWS/LINUX/MACOS),更多種類的傳輸協議(TCP/Http/Https/Ping),但是官方一直沒有發布可用的DNS隧道上線的方式,如今DNS隧道這塊拼圖終于添加到了metasploit-framwork這幅畫卷中.

 

我們為什么要使用DNS隧道

  • 繞過網絡限制

通常企業中的防火墻都不會限制DNS網絡流量的傳輸,而且為了員工上網及服務器軟件更新等業務,內網的DNS服務器也會與互聯網運營商的DNS服務器連接.

  • 隱蔽傳輸

DNS隧道的網絡傳輸隱藏在大量的DNS請求中,安全設備也會處于性能考慮不會對所有的DNS流量進行分析.且DNS協議使用UDP協議傳輸,沒有明顯的網絡連接,且請求經由系統進程(如svchost.exe)發送,具有很好的隱蔽性.

如果要用一句話總結:DNS隧道是在某些限制嚴格的網絡環境中最好的解決方案也是唯一的解決方案.

 

MSF與DNS隧道時間線

  • 2013年6月: Cobalt Strike上線了DNS Beacon功能

https://blog.cobaltstrike.com/2013/06/06/dns-command-and-control-added-to-cobalt-strike/

  • 2017年11月: Alexey Sintsov和 Maxim Andreyanov首次在DEFCON RUSSIA會議上提交”Meterpreter over DNS”議題

https://defcon-russia.ru/posts/streamdns/

  • 2017年12月: metasploit-framework官方倉庫新建關于Dns隧道的PR

https://github.com/rapid7/metasploit-payloads/pull/262

  • 2020年5月: metasploit-framework官方倉庫PR由于一直沒有更新,PR關閉.
  • 2021年6月: Viper的vipermsf修改了PR中的部分代碼,適配最新的msf6,reverse_dns功能正式上線

從2017到2021,5年!

?

代碼實現

MSF的dns隧道正式名稱為reverse_dns,具體來說是一種payload(載荷).MSF中的其他載荷分為metasploit-payload和metasploit-framework兩部分代碼,而reverse_dns除了metasploit-payload和metasploit-framework兩部分代碼外還有個dns_server.py腳本作為數據通訊橋梁,我們這里分別介紹以下這三部分代碼的具體實現

metasploit-payload

metasploit-payload中的代碼都在https://github.com/defcon-russia/metasploit-payloads/tree/master_update/c/meterpreter/source/server這個子工程中.

工程用于生成metsrv.dll文件,meterpreter的所有傳輸協議都由該dll文件實現

?

測試環境搭建及功能驗證

DNS隧道如果需要在互聯網上進行測試,通常需要購買兩個域名,并配置ns記錄,其實可以通過Windows Server搭建本地的DNS服務器,圖形化操作,方便調試.

環境搭建

  • 準備一個Windows Server服務器,一個Windows 7(10)機器,一個Kali服務器

IP地址配置如下:
Windows Server : 192.168.146.20
Windows 7 : 192.168.146.12
Ubuntu: 192.168.146.130

  • 在Windows Server新建一個DNS服務器,配置如下圖所示

上圖中配置表示將域名kali.lab.com指向192.168.146.130

上圖中配置表示將域名test.viper.com的ns服務器設置為kali.lab.com

  • 配置Windows7的IP地址

上圖中配置表示將Windows 7的DNS服務器設置為192.168.146.20(Windows Server)

  • 這里總結一下,如果Windows 7(192.168.146.12)訪問aaaa.test.viper.com這個域名,首先請求會到Windows Server(192.168.146.20),Windows Server查看kali.lab.com的IP地址(192.168.146.130),然后將DNS請求轉發到192.168.146.130的53端口.
  • 在Kali服務器(192.168.146.130)安裝Viper
  • SSH登錄Kali服務器,然后執行如下命令啟動dns_server
    docker exec -it viper-c bash
    /root/viper/Tools/dns_server --nsip 192.168.146.130 --domain test.viper.com
    

    如果提示socket.error: [Errno 98] Address already in use
    請執行service systemd-resolved stop 等命令關閉53端口上運行的服務

參數配置

  • 登錄Viper后新建監聽,配置如下圖所示
  • 在dns_server命令行中應觀察到如下輸出

  • 點擊生成載荷,上傳到Windows 7 中并執行

測試效果

  • session上線及dns_server的輸出樣例

  • 執行ps等meterpreter等內置命令

  • 執行操作系統shell命令

  • load kiwi抓取密碼

 

實戰環境搭建及功能驗證

本地測試畢竟是理想環境,我們需要在互聯網中實際測試reverse_dns的速度及穩定性究竟如何.

環境搭建

  • 準備一臺VPS,兩個域名,一臺測試PC機

VPS使用了阿里云的一臺輕量服務器,兩個域名都在godaddy中購買.
假設VPS的外網IP地址為47.243.123.123
域名A為:aaa.club
域名B為:bbb.website

  • 域名A在godaddy中進行如下設置
  • 域名B在godaddy中進行如下設置

  • 然后在VPS 47.243.123.123中安裝Viper
  • SSH登錄VPS服務器,啟動dns_server
    docker exec -it viper-c bash
    /root/viper/STATICFILES/Tools/dns_server --nsip 47.243.123.123 --domain bbb.website
    

    如果提示socket.error: [Errno 98] Address already in use
    請執行service systemd-resolved stop 等命令關閉53端口上運行的服務

參數配置

  • 登錄Viper后新建監聽,配置如下圖所示

  • dns_server應該有如下輸出

  • 點擊生成載荷,上傳到Windows 7 中并執行

測試效果

  • session上線及dns_server的輸出樣例

  • 執行ps等meterpreter等內置命令

  • load kiwi抓取密碼(大概用時20秒)

 

參考內容

  • Viper安裝

https://www.yuque.com/vipersec/help/olg1ua

  • godaddy 域名管理

https://dcc.godaddy.com/domains/?ref=card?

reverse_dns代碼大部分代碼都來源于如下兩個倉庫
https://github.com/defcon-russia/metasploit-framework
https://github.com/defcon-russia/metasploit-payloads
因為defcon-russia中的代碼是基于MSF5版本開發,而當前MSF6版本相對于MSF5版本在Meterpreter進行了大量重構,需要進行部分適配工作.

  • 修改metasploit-payloads中server_transport_windns.c文件,主要適配新的Transplort協議
  • 修改metasploit-framework中msf_autoload.rb,MSF6中使用了新的自動load模塊功能.

具體適配代碼的細節可以參考如下倉庫:
https://github.com/FunnyWolf/vipermsf

轉載自安全客:https://www.anquanke.com/post/id/255625

上一篇:REvil反復橫跳決定再次隱退

下一篇:構建可持續發展的IPv6產業生態 2021全球IPv6峰會廣州開幕