通過DNS隧道來控制Meterpreter
阿新 • • 發佈:2018-12-08
通過DNS來控制目標和滲透好處不用多說吧?大家都知道,不開埠,能繞過大部分防火牆,隱蔽性好等等。Cobalt Strike有個beacons的功能,它可以通過DNS,HTTP,SMB來傳輸資料,下面我以DNS為例演示下。
1.域名設定
首先我們的有個域名,並且建立一條A記錄指向我們的metasploit伺服器,記住不要用CDN什麼的
然後再建立2個或3個ns記錄指向剛才建立的A記錄
這樣我們就可以通過dns找到我們的metasploit伺服器了
2.Cobalt Strike設定
在Cobalt Strike中我們新增一個listener
HOST填寫的是metasplit服務的IP,在點選Save的時候會要求填寫你的NS記錄,這裡寫入我們剛才建立的3個
監聽我們設定好了,接下來建立一個木馬測試下。
3. 木馬生成
在attack->packages中找到windows木馬生成
Listener選擇我們剛才建立的(有兩個,選擇有DNS的那個),輸出的有exe,帶服務的EXE,dll等。(我測試過連線方式以DNS生成的DLL木馬能過掉很大一部分防毒軟體)
我們把生成的DNS.EXE放到虛擬機器中執行。
執行前的埠情況
執行後的埠情況
沒有開新的埠,在來抓包看看
走的是DNS
回到Cobalt Strike開啟beacons管理器發現有一個服務端響應了我們
右鍵是管理選單,選擇sleep設定相應的時間,然後選擇interact來到操作介面
首先來設定的是傳輸的模式,有dns、dns-txt,http,smb四種,我們這裡用的是DNS就在dns、dns-txt中選擇把,前者傳送的資料小後者傳送的資料多
這裡我設定為 mode dns-txt(這裡可以用TAB補齊命令的)
鍵入help可以看到支援的命令
Command Description ——- ———– bypassuac Spawn a session in a high integrity process cd Change directory checkin Call home and post data clear Clear beacon queue download Download a file execute Execute a program on target exit Terminate the beacon session getsystem Attempt to get SYSTEM getuid Get User ID help Help menu inject Spawn a session in a specific process keylogger start Start the keystroke logger keylogger stop Stop the keystroke logger message Display a message to user on desktop meterpreter Spawn a Meterpreter session link Connect to a Beacon peer over SMB mode dns Use DNS A as data channel (DNS beacon only) mode dns-txt Use DNS TXT as data channel (DNS beacon only) mode http Use HTTP as data channel mode smb Use SMB peer-to-peer communication rev2self Revert to original token shell Execute a command via cmd.exe sleep Set beacon sleep time socks Start SOCKS4a server to relay traffic socks stop Stop SOCKS4a server spawn Spawn a session spawnto Set executable to spawn processes into steal_token Steal access token from a process task Download and execute a file from a URL timestomp Apply timestamps from one file to another unlink Disconnect from parent Beacon upload Upload a file
這裡就演示幾個常用的命令把 Getuid 獲取當前使用者 Execute 執行可執行程式(不能執行shell命令)
Shell 執行shell命令 Meterpreter 返回一個meterpreter回話
剩下的命令就等大家自己去看吧 這東西好處在於比較對控制目標主機比較隱蔽,缺點在每次的命令我返回結果比較慢,在過防火牆方面還是不錯的。