滲透測試流程與方法

滲透測試簡介:

滲透測試(penetration test)是通過模擬惡意黑客的攻擊方法,來評估計算機網路系統安全的一種評估方法。這個過程包括對系統的任何弱點、技術缺陷或漏洞的主動分析,這個分析師從一個攻擊者可能存在的位置來進行的,並且從這個位置有條件主動利用安全漏洞。滲透測試還具有的兩個顯著特點是:滲透測試是一個漸進的並且逐步深入的過程。滲透測試是選擇不影響業務系統正常運行的攻擊方法進行的測試。

滲透測試目的:

入侵者可能利用的途徑:

滲透測試流程:

PTES標準中定義的滲透測試過程環節基本上反映了安全業界的普遍認同,具體包括以下7個階段。

前期交互階段

在前期交互(Pre-Engagement Interaction)階段,滲透測試團隊與客戶組織進行交互討論,最重要的是確定滲透測試的範圍、目標、限制條件以及服務合同細節。

該階段通常涉及收集客戶需求、準備測試計劃、定義測試範圍與邊界、定義業務目標、項目管理與規劃等活動。

2.情報搜集階段

在目標範圍確定之後,將進入情報搜集(Information Gathering)階段,滲透測試團隊可以利用各種信息來源與搜集技術方法,嘗試獲取更多關於目標組織網路拓撲、系統配置與安全防禦措施的信息。

滲透測試者可以使用的情報搜集方法包括公開來源信息查詢、Google Hacking、社會工程學、網路踩點、掃描探測、被動監聽、服務查點等。而對目標系統的情報探查能力是滲透測試者一項非常重要的技能,情報搜集是否充分在很大程度上決定了滲透測試的成敗,因為如果你遺漏關鍵的情報信息,你將可能在後面的階段里一無所獲。

3.威脅建模階段

在搜集到充分的情報信息之後,滲透測試團隊的成員們停下敲擊鍵盤,大家聚到一起針對獲取的信息進行威脅建模(Threat Modeling)與攻擊規劃。這是滲透測試過程中非常重要,但很容易被忽視的一個關鍵點。

通過團隊共同的縝密情報分析與攻擊思路頭腦風暴,可以從大量的信息情報中理清頭緒,確定出最可行的攻擊通道。

4.漏洞分析階段

在確定出最可行的攻擊通道之後,接下來需要考慮該如何取得目標系統的訪問控制權,即漏洞分析(Vulnerability Analysis)階段。

在該階段,滲透測試者需要綜合分析前幾個階段獲取並匯總的情報信息,特別是安全漏洞掃描結果、服務查點信息等,通過搜索可獲取的滲透代碼資源,找出可以實施滲透攻擊的攻擊點,並在實驗環境中進行驗證。在該階段,高水平的滲透測試團隊還會針對攻擊通道上的一些關鍵系統與服務進行安全漏洞探測與挖掘,期望找出可被利用的未知安全漏洞,並開發出滲透代碼,從而打開攻擊通道上的關鍵路徑。

5.滲透攻擊階段

滲透攻擊(Exploitation)是滲透測試過程中最具有魅力的環節。在此環節中,滲透測試團隊需要利用他們所找出的目標系統安全漏洞,來真正入侵系統當中,獲得訪問控制權。

滲透攻擊可以利用公開渠道可獲取的滲透代碼,但一般在實際應用場景中,滲透測試者還需要充分地考慮目標系統特性來定製滲透攻擊,並需要挫敗目標網路與系統中實施的安全防禦措施,才能成功達成滲透目的。在黑盒測試中,滲透測試者還需要考慮對目標系統檢測機制的逃逸,從而避免造成目標組織安全響應團隊的警覺和發現。

6.後滲透攻擊階段

後滲透攻擊(PostExploitation)是整個滲透測試過程中最能夠體現滲透測試團隊創造力與技術能力的環節。前面的環節可以說都是在按部就班地完成非常普遍的目標,而在這個環節中,需要滲透測試團隊根據目標組織的業務經營模式、保護資產形式與安全防禦計劃的不同特點,自主設計出攻擊目標,識別關鍵基礎設施,並尋找客戶組織最具價值和嘗試安全保護的信息和資產,最終達成能夠對客戶組織造成最重要業務影響的攻擊途徑。

在不同的滲透測試場景中,這些攻擊目標與途徑可能是千變萬化的,而設置是否準確並且可行,也取決於團隊自身的創新意識、知識範疇、實際經驗和技術能力。

7.撰寫報告階段

滲透測試過程最終向客戶組織提交,取得認可並成功獲得合同付款的就是一份滲透測試報告(Reporting)。這份報告凝聚了之前所有階段之中滲透測試團隊所獲取的關鍵情報信息、探測和發掘出的系統安全漏洞、成功滲透攻擊的過程,以及造成業務影響後果的攻擊途徑,同時還要站在防禦者的角度上,幫助他們分析安全防禦體系中的薄弱環節、存在的問題,以及修補與升級技術方案。

如何信息收集?

信息收集的方式可以分為兩種:主動和被動。

主動的信息收集方式:通過直接訪問、掃描網站,這種將流量流經網站的行為。

被動的信息收集方式:利用第三方的服務對目標進行訪問了解,比如:Google搜索。

通過搜索引擎,有時會給我們帶來意想不到的效果。

下面是一些基本的搜索語法:

查找後台

site:xx.com intext:管理 site:xx.com inurl:login site:xx.com intitle:後台

查看伺服器使用的程序

site:xx.com filetype:asp site:xx.com filetype:php site:xx.com filetype:jsp site:xx.com filetype:aspx

查看上傳漏洞

site:xx.com inurl:file site:xx.com inurl:load

查找注射點

site:xx.com filetype:asp

這只是一些很基本的語法,更多更全的請參考這裡。

Google Hacking Database, GHDB, Google Dorks

也可以通過google,採集與目標相關的郵箱信息,這裡推薦一個工具。

TheHarvester: TheHarvester -d 163.com -l 1000 -b google -d 後跟伺服器域名 163.com hotmail.com gmail.com 126.com qq.com -l 限制顯示數目 -b 調用搜索引擎(google,bing,bingapi,pgp,linkedin,google-profiles,people123,jigsaw,all)

使用方法很簡單。通過採集到的郵箱,可以為後續的滲透提供重要的輔助條件,也可以查詢郵箱是否有密碼泄漏,對目標進行暴力破解,甚至是釣魚攻擊等等。

Whois信息收集:

Whois資料庫是提供域名的註冊人信息,包括聯繫方式,管理員名字,管理員郵箱等等,其中也包括DNS伺服器的信息。

以北京大學為例:

whois信息查詢,國外我常使用的一個是whois.sc的網站,國內的話通過站長之家就可以了。也可以通過whois信息中的郵箱,電話,聯繫人的信息進行反查,看看是否有其他的網站,查詢密碼是否有泄漏等。

子域名信息收集:

如圖是一個子域名收集信息的結果報告,其中包括目標子域名,ip以及ip段分布,dns,mx和SOA信息。

推薦工具:

ring04h/wydomain

此類工具非常多,大家搜索一下就會找到很多。

埠信息收集:

Nmap是一款網路掃描和主機檢測的非常有用的工具。 Nmap是不局限於僅僅收集信息和枚舉,同時可以用來作為一個漏洞探測器或安全掃描器。它可以適用於winodws,linux,mac等操作系統。Nmap是一款非常強大的實用工具,可用於:

檢測活在網路上的主機(主機發現)

檢測主機上開放的埠(埠發現或枚舉)

檢測到相應的埠(服務發現)的軟體和版本

檢測操作系統,硬體地址,以及軟體版本

檢測脆弱性的漏洞(Nmap的腳本)

Nmap是一個非常普遍的工具,它有命令行界面和圖形用戶界面。

http://www.2cto.com/article/201406/307958.html NMAP基礎教程 Nmap速查手冊 - 軟體工具 - 紅黑聯盟 NMAP速查手冊 http://www.2cto.com/article/201406/307959.html NMAP腳本使用教程

除了對目標子域名,whois和埠信息的收集以外,還可以通過瀏覽目標網站,新聞信息以獲取目標最新動態,有時候可以通過這種方式,獲取到管理員的帳號信息,或者是目標的後台地址。

通過以上的操作,我們已經獲取到了目標的很多信息,對這些信息進行整理。

使用BBscan(下載地址:lijiejie/BBScan)這個工具,可以對我們收集到的子域名信息和IP信息進行一邊快速的信息泄漏掃描,從中挑選目標中的短板,對弱點發起漏洞掃描,通過掃描中的漏洞,獲取目標許可權。

至於後續滲透攻擊,則是要根據當前的具體情況,滲透測試人員的技術水平,制定不同的方案。之後會放一些不同場景下的後續滲透測試的文章給大家分享。

喜歡我們就請長按下面的圖片關注我們吧。不定期放乾貨,也希望大家幫忙推廣,我們會的姿勢都會慢慢分享出來的,也歡迎各路英雄老漢來推(投)車(稿)。

微信公眾號:雜術館

aHR0cDovL3dlaXhpbi5xcS5jb20vci9tRG5YenhuRUdFUm5yVjJzOTJ5Sw== (二維碼自動識別)

推薦閱讀:

迷茫的我,怎麼才能學好!?
那些黑帽子黑客的收入很好嗎?為什麼很多人寧可犯法還要做呢?
中華人民共和國內比較好的黑客網站有哪些?
運維工程師轉型白帽子(信息安全)是不是很容易?
網站入侵三字經該如何解讀?

TAG:滲透測試 | 白帽黑客WhiteHat | 黑客攻擊 |