1. 程式人生 > 實用技巧 >Metasploit簡單使用——payload(攻擊載荷)

Metasploit簡單使用——payload(攻擊載荷)

一、模組路徑

payload模組路徑:/usr/share/metasploit-framework/modules/payload

Payload中包含攻擊進入目標主機後需要在遠端系統中執行的惡意程式碼,而在Metasploit中Payload是一種特殊模組,它們能夠以漏洞利用模組執行,並能夠利用目標系統中的安全漏洞實施攻擊。簡而言之,這種漏洞利用模組可以訪問目標系統,而其中的程式碼定義了Payload在目標系統中的行為。

二、payload模組的三種類型

payload 模組主要有以下三種類型:Single、Stager、Stage。

  • Single是一種完全獨立的Payload,而且使用起來就像執行 calc.exe 一樣簡單,例如新增一個系統使用者或刪除一份檔案。由於Single Payload是完全獨立的,因此它們有可能會被類似 netcat 這樣的非metasploit處理工具所捕捉到。

  • Stager這種Payload負責建立目標使用者與攻擊者之間的網路連線,並下載額外的元件或應用程式。一種常見的Stager Payload就是reverse_tcp,它可以讓目標系統與攻擊者建立一條tcp連線,讓目標系統主動連線我們的埠(反向連線)。另一種常見的是bind_tcp,它可以讓目標系統開啟一個tcp監聽器,而攻擊者隨時可以與目標系統進行通訊(正向連線)。

  • Stage是Stager Payload下的一種Payload元件,這種Payload可以提供更加高階的功能,而且沒有大小限制。

在 Metasploit 中,我們可以通過Payload的名稱和使用格式來推斷它的型別:

Single Payload的格式為:<target>/ <single>  如:windows/powershell_bind_tcp
Stager/Stage Payload的格式為:<target>/ <stage> / <stager>  如:windows/meterpreter/reverse_tcp

三、Stager中幾種常見的payload

windows/meterpreter/bind_tcp       #正向連線
windows/meterpreter/reverse_tcp    #反向連線,常用
windows/meterpreter/reverse_http   #通過監聽80埠反向連線
windows
/meterpreter/reverse_https #通過監聽443埠反向連線 正向連線使用場景:我們的攻擊機在內網環境,被攻擊機是外網環境,由於被攻擊機無法主動連線到我們的主機,所以就必須我們主動連線被攻擊機了。但是這裡經常遇到的問題是,被攻擊機上開了防火牆,只允許訪問指定的埠,比如被攻擊機只對外開放了80埠。那麼,我們就只能設定正向連線80埠了,這裡很有可能失敗,因為80埠上的流量太多了 反向連線使用場景:我們的主機和被攻擊機都是在外網或者都是在內網,這樣被攻擊機就能主動連線到我們的主機了。如果是這樣的情況,建議使用反向連線,因為反向連線的話,即使被攻擊機開了防火牆也沒事,防火牆只是阻止進入被攻擊機的流量,而不會阻止被攻擊機主動向外連線的流量。 反向連線80和443埠使用場景:被攻擊機能主動連線到我們的主機,還有就是被攻擊機的防火牆設定的特別嚴格,就連被攻擊機訪問外部網路的流量也進行了嚴格的限制,只允許被攻擊機的80埠或443埠與外部通訊