1. 程式人生 > >通過DNS隧道來控制Meterpreter

通過DNS隧道來控制Meterpreter

通過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回話

 

剩下的命令就等大家自己去看吧 這東西好處在於比較對控制目標主機比較隱蔽,缺點在每次的命令我返回結果比較慢,在過防火牆方面還是不錯的。