前言
年初有幸參加了一次hvv,我主要負責內網滲透的部分,包括代理搭建,橫向移動等等。那個時候,也是剛剛接觸內網沒兩個月,趕鴨子上架的學了一下就上了戰場。好在運氣不錯,通過weblogic的反序列化RCE拿到系統權限,后來發現了一個尷尬的問題,目標主機不出網,借助搜索引擎,大佬們都在用reGeorgh和Pystinger,這兩款工具都是使用webshell來進行socks代理,進而穿透內網,后面確實也達到目的,進內網水了波分?;貙W校復盤的時候,發現還有一種更厲害的姿勢。。。搭建DNS隧道。
DNS隧道介紹
DNS隧道,是隧道技術中的一種。當我們的HTTP、HTTPS這樣的上層協議、正反向端口轉發都失敗的時候,可以嘗試使用DNS隧道。DNS隧道很難防范,因為平時的業務也好,使用也罷,難免會用到DNS協議進行解析,所以防火墻大多對DNS的流量是放行狀態。這時候,如果我們在不出網機器構造一個惡意的域名(***.test.cn),本地的DNS服務器無法給出回答時,就會以迭代查詢的方式通過互聯網定位到所查詢域的權威DNS服務器。最后,這條DNS請求會落到我們提前搭建好的惡意DNS服務器上,于是乎,我們的不出網主機就和惡意DNS服務器交流上了。
【——全網最全的網絡安全學習資料包分享給愛學習的你,關注我,私信回復“領取”獲取——】
1.網絡安全多個方向學習路線
2.全網最全的CTF入門學習資料
3.一線大佬實戰經驗分享筆記
4.網安大廠面試題合集
5.紅藍對抗實戰技術秘籍
6.網絡安全基礎入門、linux、web安全、滲透測試方面視頻
DNS隧道搭建工具推薦
DNS隧道搭建的工具有很多,包括iodine,dns2tcp,dnscat等,綜合體驗了一下,還是推薦大家使用iodine,非常的簡單方便。
前置準備
因為我們需要在自己的VPS上使用DNS服務,所以得先配置一下域名,這里以騰訊云為例:
第一條A類記錄,告訴域名系統,"dns.xxx.com"的IP地址是"175.xxx.xxx.xxx"
第二條NS記錄,告訴域名系統,"dns2tcp.xxx.com"的域名由"dns.xxx.com"進行解析。
最后這條"dns2tcp.xxx.com"的DNS就會被"175.xxx.xxx.xxx"的主機(也就是我們的VPS),給解析掉。
配置完之后,可以ping一下dns.xxx.com,觀察是否能ping通。
iodine進行隧道搭建
1.安裝iodine,這里以Linux為例,如果是windows系統,就下載安裝對應版本的iodine即可。
apt-get install iodine
2.在VPS上運行iodine的服務端iodined,運行之后VPS上會多一個虛擬網卡地址:
iodined -f -c -P d1m0n 192.168.0.1 dns2tcp.xxx.com -DD
#-f:在前臺運行
#-c:禁止檢查所有傳入請求的客戶端IP地址。
#-P:客戶端和服務端之間用于驗證身份的密碼。
#-D:指定調試級別,-DD指第二級。“D”的數量隨級別增加。
#這里的192.168.0.1為自定義局域網虛擬IP地址,建議不要與現有網段沖突
#注意!填寫的地址為NS記錄
3.運行客戶端iodine,這里使用kali,kali默認是安裝好iodine的:
iodine -f -P d1m0n dns2tcp.xxx.com -M 200
#-r:iodine有時會自動將DNS隧道切換為UDP隧道,該參數的作用是強制在任何情況下使用DNS隧道
#-M:指定上行主機的大小。
#-m:調節最大下行分片的大小。
#-f:在前臺運行
#-T:指定DNS請求類型TYPE,可選項有NULL、PRIVATE、TXT、SRV、CNAME、MX、A。
#-O:指定數據編碼規范。
#-P:客戶端和服務端之間用于驗證身份的密碼。
#-L:指定是否開啟懶惰模式,默認開啟。
#-I:指定兩個請求之間的時間間隔。
兩條命令,DNS隧道就已經搭好了,可以ping一下我們的VPS(ip:192.168.0.1)看一下,是否能通:
到此,我們的任務只完成一半,對內網滲透來說,我們肯定是要橫向移動的。DNS隧道幫助我們出網,還需要再搭建一個socks代理便于我們橫向移動,socks代理工具很多,這里介紹一個比較簡單輕便的--ssh,ssh通常都用來登錄遠程主機,傳輸的內容全部經過加密處理,同樣它內置了命令可以作為代理服務器使用。這里假設,我們把惡意DNS服務器作為跳板機,kali作為攻擊機器,在kali這邊配置一下:
ssh -N -D 8080 user@192.168.0.1
#-N 指示SSH不要啟動shell,因為我們只是想創建代理
#-D 設置動態端口轉發,SOCKS代理端口為8080
#user 我們服務器上的用戶
#192.168.0.1 tun接口上的iodine服務器
輸入完VPS的ssh密碼之后,就開始進行轉發,這里配置一下proxychains4
vim /etc/proxychains4.conf
最后驗證一下我們的代理有沒有搭好:
proxychains4 curl http://www.baidu.com
大功告成,后面就是內網漫游時間~
實操推薦:DNS服務器配置(通過本課程詳細學習了解DNS)
PC端體驗地址:http://mrw.so/5YvGsF