|
metasploit滲透學習筆記前三季講解 一共五章灰鴿子下載www.dumiaotech.com
PTES標準中的滲透測試階段是用來定義滲透測試過程,并確保客戶組織能夠以一種標準化的方式來擴展一次滲透測試。
1、情報收集
社交媒體網絡
Google Hacking技術
目標系統踩點
最為重要的一項技術是對目標系統的探查能力,包括獲知它的行為模式、運行機理,以及最終可以如何被攻擊。
2、威脅建模階段
威脅建模主要使用你在情報搜集階段所獲取到的信息,來標識出目標系統上可能存在的安全漏洞與弱點。在威脅建模時,你將確定最為高效的攻擊方法、你所需要進一步獲取到的信息,以及從哪里攻破目標系統。
3、漏洞分析階段
一旦確定最為可行的攻擊方法之后,你需要考慮你該如何取得目標系統的訪問權。在漏洞分析階段,你將綜合從前面的幾個環節中獲取到的信息,并從中分析和理解哪些攻擊途徑會是可行的。特別是需要重點分析的端口和漏洞掃描結果。
4、滲透攻擊階段
滲透攻擊的時候,最好是在你基本能確信特定滲透攻擊會成功的時候,才真正對目標系統實施這次滲透攻擊,不能進行大量漫無目的的滲透嘗試,這種方式將會造成大量喧鬧的報警。
5、后滲透攻擊階段
后滲透攻擊階段是一個關鍵環節,后攻擊階段將以特定的業務系統作為目標,識別出關鍵的基礎設施,并尋找客戶組織最具價值和嘗試進行安全保護的信息和資產。分析攻陷的服務器用途,尋找有價值的信息。
滲透測試類型
白帽測試
黑盒測試
漏洞掃描器
漏洞掃描器是用來找出指定系統或應用中安全漏洞的自動化工具。漏洞掃描器根據目標系統的指紋信息來判斷其類型和版本,以及上面運行的所有服務。
Metasploit 基礎
通用安全述語
滲透攻擊(Exploit)
滲透攻擊是指由攻擊者或者滲透測試者利用系統、應該或服務中的安全漏洞,所進行的攻擊行為。
流行的攻擊技術包括:緩沖區溢出、Web應用程序漏洞攻擊(SQL注入),以及利用配置錯誤等。
攻擊載荷(Payload)
攻擊載何是我們期望目標系統在被滲透攻擊后而執行的代碼。在Metasploit框架中可以自由的選擇、傳送和植入。比如,反彈式shell是一種從目標主機到攻擊主機創建網絡連接,并提供命令行shell的攻擊載荷。bind shell攻擊載荷則在目標主機上將命令行shell綁定到一個打開的監聽端口,攻擊者可以連接這些端口來取得shell交互。
溢出代碼(Shellcode)
shellcode是在滲透攻擊時作為攻擊載荷運行的一組機器指令。shellcode通常用匯編語言編寫。在大多數情況下,目標系統執行了shellcode這一組指令后,才會提供一個命令行shell或者Meterpreter shell,這也是shellcode名稱的由來。
模塊(Module)
在Metasploit中,一個模塊是指Metasploit框架中所使用的一段軟件代碼組件。在某些時候,你可能會使用一個滲透攻擊模塊(Exploit module),也就是用于實際發起滲透攻擊的軟件組件。而在其它時候,則可能使用一個輔助模塊(auxiliary module),用來掃描一些諸如掃描或系統查點的攻擊動作。
監聽器(Listener)
監聽器是Metasploit中用來等待連入網絡連接的組件。舉例來說,在目標主機被滲透攻擊之后,它可能會通過互聯網回連到攻擊主機上,而監聽器組件在攻擊主機上等待被滲透攻擊的系統來連接,并負責處理這些網絡連接。
Metasploit用戶接口
Metasploit軟件為它的基礎功能提供了多個用戶接口,包括終端、命令行和圖形化界面。除了這些接口之外,功能程序(utilities)則提供了對Metasploit框架中內部功能的直接訪問,這些功能程序對于滲透代碼開發,以及在一些你不需要的整體框架靈活性的場合中非常有價值。
MSF終端
MSF終端(msfconsole)是目前Metasploit框架最為流行的用戶接口。
啟動MSF終端
# cd /opt/framwork3/msf3
/opt/framwork/msf3# msfconsole
訪問終端的幫助文件,輸入help 并加上你感興趣的metasploit命令
msf> help connect
MSF命令行
msfcli -h 顯示幫助
msfcli -O 顯示選項
msfcli -P 顯示載荷
msfcli -E 執行
Armitage
Metasploit框架中的armitage組件是一個完全交互的圖形化用戶接口。
Metasploit功能程序
MSF攻擊載荷生成器(msfpayload)
MSF攻擊載荷生成器允許你能夠生成shellcode、可執行代碼和其他更多的東西,也可以讓它們在框架軟件之外的滲透代碼中進行使用。
shellcode可以生成包括C、Javascript、甚至web應用程序中visual basic腳本在內的多種格式,每種格式在不同的場景中使用。
POC 概念驗證代碼
MSF編碼器(msfencode)
由MSF攻擊載荷生成器產生的shellcode是完全可以運行的,但是其中包含了一些null空字符,在一些程序進行解析時,這些空字符會被認為是字符串的結束,從而使得代碼在完整執行之前被截斷而終止運行。簡單來說,這些\x00和\xff字符會破壞你的攻擊載荷。
另外,在網絡上明文傳輸的shellcode很可能被入侵檢測系統和殺毒軟件所識別,為了解決這一問題,metasploit的開發者們提供了MSF編碼器,對原始攻擊載荷進行編碼,來避免壞字符以及逃避殺毒軟件和IDS的檢測。
Metasploit滲透學習日記二
情報收集
情報收集是滲透測試流程中的第二個步驟。情報收集的目的是獲取滲透目標的準確信息,以了解目標組織的動作方式,確定最佳的進攻路線。如果情報收集工作不夠細致,那么你可能會與可利用的系統漏洞或可實施攻擊的目標之交臂。
情報收集的工作可能會包含從網頁中收集信息、google hacking、為特定的目標的網絡拓撲進行完整的掃描映射等,這些工作往往需要較長的時間,會比較考驗你的耐性。情報收集工作需要周密的計劃、調研,而最重要的是要具備攻擊者角度去思考問題的能力。
在開始收集情報工作之前,你應該考慮如何將每一步操作和得到的結果記錄下來。
使用被動、間接的信息收集技巧,你可以在不接觸到目標系統的情況下挖掘目標信息。舉例來說,你可以使用這些技巧確定網絡邊界情況和網絡運維人員,甚至了解到目標網絡中使用的操作系統和網站服務器軟件的類型。
1、whois查詢
說明:查看域名的詳細信息
命令格式:
whois 域名/IP
主動信息收集
在主動信息收集工作中,我們與目標系統直接交互,從而對其進行更深入的了解。舉例來說,我們可以執行端口掃描來確定目標系統開放了哪些端口、運行了哪些服務。但是請注意:如果你在主動信息收集過程中不夠小心,那么你很可能會被入侵檢測系統(IDS)或入侵防御系統(IPS)給逮住。
使用Nmap進行端口掃描
通過被動信息收集確定了目標的IP范圍后,我們可以開始使用端口掃描獲取目標開放的端口。端口掃描的過程實際上是逐個對遠程主機的端口發起連接,從而確定哪些端口是開放的。
Nmap是一款強大的掃描工具,其參數及應用技巧非常多,在這里,只用了一些常用的選項
1、-sS 這個選項是執行一次隱秘的TCP掃描,以確定某個特定的TCP端口是否開放
2、-Pn 這個選項是告訴nmap不要使用ping命令預先判斷主機是否存活,而是默認所有主機都是存活狀態。
在這里,我們可以發現,服務器運行是操作系統是window server 2003 SP1 數據庫是mssql,其版本信息也一目了然。
高級Nmap掃描技巧:TCP空閑掃描
一種更加高級的nmap掃描方式是TCP空閑掃描,這種掃描能讓我們冒充網絡上另一臺主機的IP地址,對目標進行更為隱秘的掃描(我可不可以認為是跳板技術的一種呢?)。進行這種掃描之前,我們需要在網絡上定位一臺使用遞增IP幀標識(IP ID:用于跟蹤IP包的次序的一種技術)機制的空閑主機(空閑是指該主機在一段特定的時間內不向網絡發送數據包)。
我們可以使用Metasploit框架的auxiliary/scanner/ip/ipidseq模塊,來尋找能夠滿足TCP空閑掃描要求的空閑主機,如下所示:
需要說明的是:ipidseq模塊中的options設置:必設置的項為:RHOSTS 這個可是單個IP,也可以是一個IP段(如192.168.1.1-192.168.1.254)、CIDR地址(192.168.1.0/24),另外THREAD參數是設定掃描線程數的,默認為1單線程。增加參數值可提高掃描速度,降低參數值可減少網絡上的數據流量。一般來說,在windows平臺上運行metasploit這個參數值最好不要超過16,在類unix平臺上運行不要超過128。
在這里,我們發現:192.168.1.110's IPID sequence class: Incremental!提示為incremental,這說明,這臺主機滿足空閑TCP掃描的要求,接下來,我們在nmap中增加選項 –sI 來進行一次空閑TCP掃描
使用空閑掃描,我們可以不用自身IP地址向目標主機發送任何數據包,就能獲取到目標主機上開放的端口信息。
在MSF終端中運行Nmap
現在我們把nmap和metasploit結合起來使用。我的使用的BT5R3平臺,所以對書里的一些設置命令,在這里根本用不上,所以就省略了,因為BT5R3默認已經做好這一切了。我們直接使用就可以。
終端中輸入msfconsole進入MSF,使用db_namp開始進行掃描:
到這里,我們就已經收集到了很多服務器上面的信息了 |
|