黑客基礎之Metasploit滲透測試平臺模塊簡介
Metasploit是一款開源滲透測試平臺軟件,現在安全社區中的漏洞利用程序以Metasploit·模塊的方式發布。Metasploit能夠通過選擇攻擊滲透模塊、載荷模塊、編碼器進行一次滲透測試。要學習Metasploit,必須了解一些術語以及Metasploit的模塊,下文對這些基礎的概念進行講解。
1. 滲透攻擊模塊(Exploit)
利用發現的安全漏洞或配置弱點對遠程目標進行攻擊,以植入和運行攻擊載荷,從而獲得對遠程目標系統訪問的代碼組件。流行的滲透攻擊技術包括緩存區溢出、Web應用程序漏洞攻擊、用戶配置錯誤等。
- 主動滲透攻擊:發送網絡數據,觸發安全漏洞。比如web應用程序滲透攻擊、SCADA工業控制系統服務滲透攻擊等。
- 被動滲透攻擊:瀏覽器軟件漏洞攻擊和文件格式漏洞攻擊,引誘目標用戶打開觸發。
msfconsle中輸入命令:show exploits;可以查看當前Metasploit支持的滲透攻擊模塊
2. 攻擊載荷模塊(Payload)
目標系統被滲透攻擊之后需要執行的代碼。比如反彈式shell、bind shell等。
在msfconsole界面輸入:show payloads;可以查看當前系統支持的payloads
3. 空指令模塊(Nops)
空指令是對一些程序運行狀態不會造成任何實質影響的空操作或者無關操作指令,對于x86 CPU就是0x90。
在msfconsole中輸入show nops;可以查看當前系統支持的空指令,如下圖所示
4. 編碼器模塊(Encoders)
- 功能1:確保攻擊載荷中不會出現滲透攻擊過程中應加以避免出現的“壞字符”
- 功能2:對攻擊載荷進行“免殺”處理
在msfconsole界面輸入:show encoders;可以查看當前系統支持的編碼器,如下圖所示:
5. 后滲透攻擊模塊(posts)
后滲透攻擊模塊,在受控系統中進行各種各樣的后滲透攻擊動作,比如獲取敏感信息、進一步拓展、實施跳板攻擊等。
在msfconsole界面輸入show post;可以顯示當前系統支持的后滲透攻擊模塊,如下圖所示
6. 其它一些重要術語:
- shellcode:是滲透攻擊時作為攻擊載荷運行的一組機器命令。
- 監聽器(Listener):在攻擊主機上等待被滲透攻擊的系統來連接,并負責處理這些網絡連接。
7. Metasploit的三種用戶接口
(1) 圖形接口armitage
在終端輸入命令以下命令啟動數據庫服務和Metasploit后臺服務,否則容易出錯:
- /etc/init.d/postgresql start
- service metasploit start
在終端輸入命令:armitage,打開Metasploit的圖形界面,如下圖所示:
(2) 控制臺終端
在終端輸入命令:msfconsole,打開控制臺命令。
MSF終端是Metasploit功能最強大、最豐富的用戶接口。
后續文章將會詳細講解常見命令的使用比如:search、use、show等
(3) 命令行程序
能夠在shell命令行中完成一次完整的滲透攻擊過程。
例如:
- msfcli mult/samba/usermap_script PAYLOAD=cmd/unix/ bind_netcat RHOST=192.168.128.128 E