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