【滲透測試LAB】如何使用OSINT - SpiderFoot 執行情蒐

Peter Zhang
13 min readOct 28, 2022

--

pic from biteofgeek.com

資訊科技蓬勃發展下,創造出大量公開形式的數據分散於網路世界中,當這些數據被有效化的梳理,可說是Open-Source Intelligence(OSINT)。

來科普下,什麼是OSINT?

Open-Source Intelligence(OSINT),中文稱公開來源情資,能從眾多網路資訊中蒐集大量公開資訊,故種類也具多元性,其涵蓋從社群媒體、社群網路、真實姓名、網路用戶、IP、Domain、基礎設施資訊、論壇、出版書、博客、政府公開數據、商業開放式資料、專業活動(學術或專業報告、影像資料)、地理數據與深度網路資料等。

美國國家情報總監(Director of National Intelligence,DNI)和美國國防部(DoD)則定義OSINT為「從公開可用的信息所產生,定期進行搜集、萃取和供應,以滿足特定的情報需求。」

Open-Source Intelligence(OSINT)可以用來做什麼?

使用者可透過相關工具進行"適時過濾""分析",進而找出"具有價值性的資料"。

對於滲透測試或情蒐人員而言,透過OSINT取得目標網域資料、相關系統憑證資訊、目標使用者電子信箱、使用者名稱、密碼、API資訊、敏感性業務資料、基礎架構相關資訊等結果,可讓情蒐人員進步規劃或嘗試挖掘更多資訊。

OSINT Framework 介紹

上述提及OSINT可以找到眾多資訊,勢必要介紹鼎鼎大名的 OSINT Framework,若是從事滲透測試人員或是參與過CEH類型授課,都肯定接觸過OSINT Framework,這是彙整眾多OSINT工具的網站,如下圖1所示。

圖1. OSINT Framework

這邊舉例一項"尋找電子郵件需求":

若想要尋找電子郵件相關工具,故會選擇圖1中的"Email Address"項目,點選之後,會延伸出眾多項目,再點選"Email Search"時,即可看到Email Search類型的工具或網站,如"Hunter"、"ThatsThem"等。

當使用者點選"Hunter"後,則會自動彈跳該工具的頁面,如下圖2所示。

圖2.hunter系統畫面

Hunter是個可以查詢專業人士的Email,如Google員工、splunk等企業Email資訊網站,更可能被利用作為尋找社交工程目標對象之一(?)。

有此可知,OSINT Framework彙整眾多好用的工具,是供使用者或初入OSINT知識領域夥伴了解各項OSINT工具或網站的首選。

SpiderFoot介紹

圖3. spiderfoot icon

上述科普了OSINT基礎知識與工具箱,將進入本篇介紹主題"SpiderFoot"

“SpiderFoot”是位於OSINT Framework中的"Tools"類型的”OSINT Automation”,如下圖4所示。

圖4. OSINT Framework — SpiderFoot

由分類可知,“SpiderFoot”是一款自動化的OSINT情蒐工具,提供使用者進行資安情蒐、資產發現、資產安全檢視與攻擊面監控。

官方原文:Automate OSINT for Cyber Threat Intelligence、Asset Discovery、Security Assessments 、Attack Surface Monitoring

然而SpiderFoot現行提供兩種方式使用:

第一是開源專案,供使用者自行下載,資源跟相關應用模組需要自行套用與處理,故會有系統相容性或是套件相容性問題要處理等問題,開源專案連結

第二是使用官方的 SpiderFoot HX,這是一款線上平台整合眾多情蒐模組資源,其中收集與監控相關資料也是儲存於平台中,故使用者不需要維護系統資源與間接其他API服務,即可享有使用眾多服務。當然官方平台版本各項功能,是依使用者需求支付對應價格,下圖5為Open Source 與 SpiderFoot HX的官方差異說明。

圖5. SpiderFoot 差異比較說明

SpiderFoot HX Scan功能介紹

本篇將主要介紹官方的SpiderFoot HX 。

當使用者登入SpiderFoot HX後,可在"Scan"頁籤中,看到官方所建立的範例Scan專案(包含執行狀態、掃描關聯性等)以及"新增掃描"功能,所有的Scan運行狀態與關連性數量皆可以於該頁面檢視到初步資訊,如下圖6所示。

圖6. SpiderFoot Scan Functions screen

SpiderFoot HX Scan功能介紹 — 新增Scan專案

欲建立一項新Scan專案中,有眾多資訊可以使用與參閱,本篇將分別說明這些功能。

Step1. 建立專案

輸入專案名稱後,再輸入本次目標掃描的資訊,如網域名稱、主機名稱、電子郵件、IP、網段、手機號碼、使用者名稱、帳號資訊等,如下圖1與圖2所示。

圖7. SpiderFoot新建掃描專案

可以作為探測目標的相關資訊與條件,如下圖8所示。

圖8. 專案掃描目標的說明

Step2. 探測目標的條件選擇

圖9. SpiderFoot探測目標類型之模組選擇

Step3. 選擇Spiderfoot HX相關模組

這邊模組有許多類型可選,如掃描型、網頁安全掃描型、IP資訊查詢、暗網資料、Google API等資訊,詳細模組資訊可以點此:SpiderFoot Modules

圖10. SpiderFoot探測類型模組選擇1
圖11. SpiderFoot探測類型模組選擇2

Step4. 建立專案

最後建立專案前,如沒有介接資料至Splunk等第三方資料蒐集軟體,或查閱掃描期間的截圖畫面,這邊建議選擇"Correlations""Email notification on completion"即可。

“Correlations”會於專案完成掃描後,自動歸類風險層級,”Email notification on completion”則會透過電子郵件通知使用者,已完成掃描。

圖12. SpiderFoot專案啟用時,選擇相關性功能與郵件通知進度功能

SpiderFoot 實務應用 - 釣魚郵件

上面介紹Spiderfoot基礎功能後,再來就是實務應用體驗這項工具的好處。

身為企業資安單位,雖在Mail Server有建立相關阻擋惡意郵件或垃圾郵件功能措施,但"措施"並不代表100%能阻擋,所以才會有定期的資訊安全教育訓練!!

今天將針對真實釣魚案例進行調查與分析,釣魚郵件附件的網址。(PS.資訊部分會遮蔽真實資料)

  1. 本篇掃描目標: 釣魚郵件網址如下
圖13. 釣魚郵件案例

2. 建立掃描專案:

step1.這邊我們命名端案名稱為”Phishing Scan”,並輸入相關掃描目標資訊

圖14. 建立掃描專案示意圖

step2.啟用Iteration各項功能,尤其是username iteration、Human iteration、Email address iteration、Host and network iteration,這四項建議一定要啟用,因本次目標是找尋釣魚網址的源頭以及受害者(收件者)的資訊。

而本次是全部啟用全數功能。

圖15.啟用Iteration各項功能示意圖

step3.Modules項目中,這邊就依使用者需求進行勾選,當然有些是付費項目才能使用,而本次是全數模組皆啟用。

圖16. 啟用Modules項目示意圖

step4.最後選擇啟用"Correlation"以及"Email notification on completion",當上述相關目標與模組接設定完成後,就可以放著讓系統自動執行,等收到Mail再回來進行分析即可。(這時候就可以去喝杯咖啡,有夠方便XD)

圖17. 啟用Options示意圖

3. 分析掃描專案結果 — Correlations 功能

Correlations功能是依照使用者所啟用的關聯規則,或是系統所預設啟用的規則進行相關性分析與比對,進而分析產出結果,如下圖為Correlations功能的各項規則敘述。

圖18. Correlations規則項目與敘述說明

本次掃描期間,有啟用如下圖顯示的重大漏洞級別掃結果等功能。

圖19. Correlations重大風險規則項目與敘述說明

基於本次掃描專案皆啟用Correlations功能的全數關聯規則。

再來就來檢視本次Correlations分析的結果!

step1.進入Scan頁面,點選對應專案

圖20. Phishing Scan 專案掃描結果

step2.點選"Correlations"檢視相關性分析結果

圖21. Correlations掃描結果

step3.這邊可以檢視上圖紅色高風險的資訊,使用者可以點選查閱詳細資訊

圖22. 高風險分析結果

step4.這邊有眾多相關性分析結果,這邊可以發現紅框中,其網址目前被判定為釣魚網址,而比對的資料庫是來自於"OpenPhish"

圖23.分析結果細項 - OpenPhish

補充資料OpenPhish

pic from OpenPhsih

OpenPhish是個自動化蒐情釣魚網站的平台,其平台資料來源除了原有的釣魚引擎,同時也來自世界各項合作夥伴與使用者檢舉。現行OpenPhish是依據回收回來的資料進行分析,如網域名或品牌稱、地理位置、相關網絡釣魚工具包和問題帳戶,最後產製釣魚網站的名單,如我們常見使用的VirusTotal也有信任OpenPhish的資料庫。

OpenPhish除了會持續發現新型的釣魚網站,同時也會持續追蹤既有存活的釣魚網站,若該網站後續已無效,故會被判定”無風險”,即不會再出現於釣魚網站名單,如下圖為OpenPhish的釣魚名單。

圖24. OpenPhish 資料庫

4. 分析掃描專案結果(Node Graph)

上述我們檢視"Correlations"關聯性規則功能,再來介紹的圖形化方式檢視,以利使用者可以更直覺進行檢視與進一步分析。

step1.進入對應專案後,點選可視性的"Node Graph"

圖25. 欲點選Node Graph畫面

step2. Node Graph模式下,可以看到以掃描基準核心的相關資訊,如相似網域、DNS、SSL憑證資訊、已知被判定的惡意連結、已知被判定的弱點網頁套件、相關惡意資訊等。

圖26. Node Graph頁面畫面

step3. Node Graph模式檢視

使用者可以點選每項球形,即可查閱每項資訊,如下圖27。

圖27.Node Graph之各項資訊細節

同時可發現與本次調查的對象網址,具有眾多相似的網域名稱,如下圖28。

圖28.Node Graph之顯示分析結果的相似網域畫面

視覺化中,可協助使用者較快發現較特別的資訊,如下圖29的WAF資訊

圖29.Node Graph之顯示分析結果WAF資訊

(補充:工具檢測都只是輔助,仍需使用者專業知識結合其他依據來判斷)

step4.Node Graph模式的球型資訊中,點選右鍵"Detail"即可檢視細項分析結果

圖30.Node Graph之細節分析功能畫面

step5.”Detail”分析結果資訊

圖31.Node Graph之細節分析結果畫面

step6.”Detail”分析結果相關路徑資訊

圖32.分析結果細節畫面

總結

綜上所述,介紹了OSINT - SpiderFoot HX 這項平台工具,我們可以瞭解網路情蒐結果的資訊,並從中尋找出欲想了解的內容,如調查釣魚郵件網址,先前透過VirusTotal查詢時,僅有一家防毒引擎顯示有問題,事隔1個月才有多數業者標示為釣魚,而在這期間透過這項工具可以協助我們能快速進行驗證有問題網址、網域或信箱等,同時可從中找出具相關性可疑網域資訊等,供企業後續作為防護的參考依據。

當然可以針對企業自身"有開放對外系統或網站"進行搜查,檢測是否有其他資訊是否須調整更新,以免遭到非法人士利用,例如:常見的網頁套件未升級的高風險漏洞、網路上的使用者資料

最後,還是得再次強調"工具"是提供使用者作為判斷手段之一,還是得仰賴使用者自身的經驗、知識或其他第三方工具進行多方驗證,才是上上之策。

--

--

Peter Zhang

現任資安顧問,熱衷於資安治理、資安技術研究、Azure雲端安全技術、網路架構自動化、容器服務;曾任軟體業系統分析師,專注於資料庫規劃、API建置、使用者訪談、梳理業務流程、容器部屬與管理;跨國大型製造業資安管理師,專注於資安治理、DLP導入等資安技術應用,期望藉由分享自身學習與工作歷程經驗,讓我們在科技風潮下持續成長!