網絡空間測繪溯源技術剖析

語言: CN / TW / HK

點擊藍字

關注我們

聲明

本文作者:風起

本文字數:5435

閲讀時長:14min

附件/鏈接 :點擊查看原文下載

本文屬於【狼組安全社區】原創獎勵計劃,未經許可禁止轉載

由於傳播、利用此文所提供的信息而造成的任何直接或者間接的後果及損失,均由使用者本人負責,狼組安全團隊以及文章作者不為此承擔任何責任。

狼組安全團隊有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。未經狼組安全團隊允許,不得任意修改或者增減此文章內容,不得以任何方式將其用於商業目的。

間測繪技術思想

網絡空間測繪是2016年出現的一個概念,主要指用一些技術方法,來探測全球互聯網空間上的節點分佈情況和網絡關係索引,構建全球互聯網圖譜的一種方法。【百度百科】

測繪實際上是一個地理信息相關的專業學科,針對海里的、陸地的、天上的地理信息進行盤點。同樣應用於網絡空間 ,發現未知、脆弱的資產也是如此,更像是一張網絡空間地圖,用來全面描述和展示網絡空間資產、網絡空間各要素及要素之間關係,以及網絡空間和現實空間的映射關係。

應用場景:

  • 企業內遺忘的,孤立的資產進行識別並加入安全管理。

  • 企業外部暴露資產進行快速排查,統計。

  • 紅藍對抗相關需求使用,對捕獲IP進行批量檢查。

  • 批量收集脆弱資產(0day/1day) 影響內的設備、終端。

  • 新型網絡犯罪涉案站點信息進行快速收集,合併,進行更高效的研判、分析。

  • 對互聯網上受相關漏洞影響的脆弱資產,進行統計、復現。

3W問題(“What?Where?Who?”)是網絡空間測繪要解決的基本問題。從字面意思來看也就是 是什麼,在那裏,誰的?

而應用於紅隊,目前各級護網對於資產歸屬的劃分其實比較嚴格,例如資產屬於總集團還是二級單位或者子公司,是否與集團內網互通?都是需要思考以及確認的點。那麼我們首先從who去思考再從what誰和where在哪裏去收集,資產的所屬單位以及相關的網絡信息,例如使用的框架、部署的業務系統、服務、開放的端口、使用的開發語言、域名等等。

當然,無論是紅隊攻防還是線索追溯亦或者是安全運營,首先確定的都應該是目標的歸屬問題,如果不是相關目標或者自己的資產時,那麼後續的工作開展都是沒有意義的,所以在進行空間測繪的使用時首先需要做的就是確定目標的歸屬問題,繼而考慮資產所處的位置以及什麼的問題。

在瞭解了3W的問題後,我們繼續引出網絡空間測繪的三大概念: 行為測繪、動態測繪、交叉測繪

一、

行為測繪

不同的羣體,可能表現出基本的獨有的特徵,當我們能掌握到這個特徵,那麼我們就能儘可能識別出這個羣體裏的所有個體,而這些所謂的行為特徵在網絡空間測繪里表現出的是這個設備各個端口協議裏的banner特徵。目前在網絡空間測繪里常用的通用組件指紋識別形成的指紋庫就是利用了通用組件通用的默認配置特徵這個“行為”來進行識別的,很顯然這個充分利用了人類“懶惰“的這個性格引起的通用默認配置的”行為“進行測繪的,但是也就忽視那些進行自定義的配置的目標,而這些目標是本文要闡述的主要對象。

在這些自定義過程中不同的羣體又可能表現出不一樣的獨有特徵,我們利用這些行為特徵進行網絡空間測繪,這就是所謂的“ 行為測繪 ”了。通過實踐經驗“行為測繪”在威脅情報領域、國家基礎設施測繪、APT/botnet/黑產等組織測繪上有巨大應用空間及震撼的效果。

【SuperHei語錄】 P.S.或許他更喜歡叫黑格爾一點23333

這裏我們也可以把行為理解為特徵,而如何提取這些特徵,進行更加精準的匹配無疑也成為了最重要的環節之一。

在針對某一目標的關聯中,如果目標站點使用了HTTPS協議,那麼我們就可以通過提取證書 Serial Number、Subject 等字段值進行關聯資產,值得注意的是在SSL證書信息中,往往有着一些驚喜,例如可以查找CDN後的真實IP,或者在拿到了某個IP後證明其歸屬,識別其DNS服務器、相關域名等等。 舉個場景案例,例如我們在挖掘SRC找到了一個邊緣資產並且僅有一個IP,這時如何證明其資產的歸屬,就不妨可以在證書信息中找找看,往往Subject字段中就有域名的相關線索。 或像常見的SSL證書匹配方式將證書序列號進行HEX編碼,通過搜索引擎的相關語法( cert/ssl )進行匹配的方式均可以。

而這裏的行為,更多時候體現在banner信息,例如前端代碼,服務連接交互信息、SSL證書信息等等。

這裏以Log4j2 RCE影響的 Apache CAS 主機舉例。

通過比對不同 Apache CAS站點,尋找共同的特徵,提取'' 這段代碼。

發現共匹配到了16155條結果,除去CAS關鍵詞的特徵,通過嘗試攻擊Log4j2也可以進行驗證,但是僅通過一段代碼,仍然可能存在誤報的概率,於是我們繼續尋找共同特徵,也就是框架的特徵。

在上面提取的代碼段的基礎上繼續提取特徵,做且運算邏輯,最終構造的Apache CAS指紋為:

'<body id="cas">'+'<section class="row">' +'<meta charset="UTF-8"/>'

也就是説其前端代碼中應符合同時存在上述三段代碼才能進行匹配,發現這次共匹配到了6248條,數量的減少,隨着我們指紋關聯的條件增多,精準度也會提高,使我們得到的結果更加趨近於真實。關於指紋概念會在下面進行詳細的講解,利用截取代碼段或者其註釋的方式,在關聯目標使用的相同框架的站點時有着很好的效果。

除了一些基本特徵,我們還可以通過一些 “有趣” 的指紋來進行檢索

如上圖,相信大家懂得都懂,在我們查找CDN後的真實IP時,可以通過nmap掃描目標的ssh-hostkey並提取進行匹配,因為無論套多少層CDN,他連接ssh時的ssh-hostkey都不會改變,所以我們可以通過這個指紋檢索就有可能找到其真實的IP地址,當然這樣的思路僅做拋磚引玉。

網站上的favicon圖標也可以作為目標組織的行為之一,在HW或者關聯菠菜站點時往往有着意想不到的效果,但是需要注意的是,針對利用favicon計算hash關聯團伙的方式,可能存在着一定的不準確性,如果説證書、前端提取代碼這些方式可以讓我們很準確的定位到目標,那麼在全網中有人拿別人的favicon圖標作為自己網站的圖標,公網掃描時就有可能出現誤報,掃出的ico圖標hash是相同的。不過,無聊用別人圖標的總歸是少數,也並不常見,僅僅是有這種可能罷了,所以大家需要注意,追溯線索有時並沒有定式,並不是通過什麼方法就一定準確無誤,依舊是需要證實舉證的。

二、

動態測繪

對於動態測繪的概念,簡單理解就是數據訂閲,這裏可以通過指紋語句訂閲或者IP訂閲,週期性對某個資產面進行掃描,從而使我們能夠動態掌握週期內新增資產的情況,而動態測繪往往應用於企業安全管理或者反詐工作中。在企業安全中,通過動態測繪發現新上線的業務系統,並及時加入安全管理中。因為對於一些較為成熟的業務系統來講,不會頻繁對站點對外服務進行更改,一般只會修改發佈內容等,所以當其站點上線新的服務時都是值得注意的。

往往攻防雙方對弈比拼的就是信息收集,誰收集的資產面多就有着決定性的作用,一些 孤立、邊緣化 的資產企業上線後沒有及時加入安全防護而被攻擊者發現,就面臨着淪陷的可能,同樣紅隊在攻擊時,在技術水平相差不大的時候,往往收集的資產就是決定是否攻破目標的關鍵。

應用於反詐工作中,可以通過動態測繪持續對目標團伙的相關資產進行關注,做線索。往往面對使用相同框架,僅改變網站內容進行快速轉移服務器的目標可以進行緊緊追蹤。通過動態測繪觀測到的每日新增資產,進行判斷該團伙下一步準備實施犯罪的主要站點及其意圖。

值得一提的是,ZoomEye上線了一個很具有意義的功能,就是在公網測繪中,支持了數據更新功能,使我們可以隨時更新需要掃描的目標。需要注意所有空間測繪平台本質都是通過探測節點全天候對全網資產進行掃描行為,而掃描是有一定的時間週期,數據更新功能則不需要像以往被動等待探測節點掃描到我們的目標。

當掃描結束後,會發送一封郵件到我們的郵箱,並且更新的數據在kunyu中可以快速同步。

三、

交叉測繪

那就是 IPv4 與 IPv6的 “交叉” 。隨着國家對IPv6的改造規定必然加快IPv6的普及,就當前局勢,IPV6在逐漸普及,但是之所以在交叉測繪這裏提及IPV6,就是因為,與我們密切相關的安全層面,往往出現在IPV4及IPV6的 配置錯誤 上,例如企業在部署安全措施時,對其IPV4打滿了防護,但是IPV6卻是白板,那麼這時如果攻擊者通過IPV6進行攻擊,那麼無疑是一馬平川的,這也是很多企業在進行安全管理中沒有想到的問題。往往就會導致出現大問題,所以站在攻擊者的角度來看待,我認為不妨可以交叉看待問題。域名與IPV4、IPV4及IPV6的、暗網與IPv4。。。。無論是溯源還是攻擊本着交叉思想看待數據,挖掘隱蔽線索都是十分重要的。

而這些結果我們發現其具有共同特徵為,Nginx服務器、均為302跳轉,時間相近,均為HTTPS協議等,這也是其目標團伙在此所表現的特徵,也能間接印證我們關聯的資產沒錯。準與不準的問題,往往就是體現於此,就好比如果兩張照片裏的人沒有絲毫相像,不具有相同點,那麼大概率他們是沒有關係的。

網絡測繪指紋的概念

在網絡測繪中,指紋的概念是比較有趣的,與傳統刑事偵查技術其廣義思想是重疊的,例如我們做人物畫像,針對某個人的外貌體態進行描述,例如我們已知目標是大眼睛、高鼻樑、身材消瘦、身高180cm.....這些是目標的外在特徵,但是針對這樣的特徵是具有一定的模糊性的,因為站在整個世界的角度來看,同樣符合這些特徵的人依舊比比皆是,但是這些依舊是我們偵察目標的特點,所以繼而我們要引入一些更加 "精準"“特異”"不可更改" 的特徵,可以直接決定性的指向某個人或團伙的資產範圍。那麼什麼是可以決定性指向的特徵呢? 身份證、銀行卡、手機號、DNA信息、瞳孔識別 等等,既要精準的區分目標資產又要具有特異性,不可以被輕易修改的特點。

  • 認知

  • 特徵

  • 指紋

對於指紋概念,提出了以上三點,首先應該從認知出發,這裏所説的認知也就是研判人員在分析時認為哪些特徵是有用的,不同的人看待問題的方式、角度均是不同的,所以從認知出發看待事件本質,找出其符合我們所理解的 "精準"“特異”"不可更改" 要素,進行組合,從而構建指紋。當然這裏的特徵通常並不會只有一個,哪怕是傳統刑偵,面對目標手指紋也需要多個指紋進行比對,同樣放在網絡資產測繪中,我們需要儘可能多的去找某個組織所具有的共同特徵進行組合,只符合單個特徵並不足以説明問題,往往針對我們之前收集的情報符合多個特徵,那麼就具有可疑性了。

往往在溯源的過程中,情報並不是使用什麼產品或者技術能夠直接獲得的,而是通過多個維度獲得的線索相互印證、推導而來的,所以在整個溯源體系中,我認為研判人員對於技術的認知是至關重要的。這也是我開頭講到的從認知出發,尋找目標特徵,構建指紋從而高效研判這樣的一個過程。

舉例在exploit-db找到了一個Telnet未授權RCE的POC。

根據箭頭所指,提取了一處特徵,指紋特徵為:goke login:,進行匹配可以看到結果為423條,通過protocol和Service,Port這些字段所表現出來的特徵都極為相似,準與不準往往體現於此。

繼續增加一個條件,要求目標端口為23,發現匹配出的條數為422條,發現條數減少了,説明在剛才第一次匹配中,有一些結果的端口並不是23端口,應該是被認為修改過的。這也説明隨着條件的增加匹配的精準度也是隨之提高,根據研判人員對於指紋概念的認知不同,構建指紋指向目標的精準度和關聯程度都不盡相同。

當然,在能夠關聯匹配到目標的指紋以外,我們還可以增加其他的符合我們要求的條件,例如我們可以限制輸出結果掃描到的時間、地域國家、城市等等。

指紋是建立在研判人員對於規則概念的理解之上的!

Kunyu Donwload:Kunyu(坤輿)更高效的企業資產收集

我們應賦予數據以靈魂,而不僅僅只是認識數據,能用它做什麼事兒,達到什麼效果,取決於解決方案的認知高低

感謝大家的支持,現在已經2022年了,回想第一次出門闖蕩的場景至今還歷歷在目,今年我也已經20歲了,漸漸的年紀已經不是我的優勢。回想這一路走來還是挺感慨的,對於野路子出身,那時的我能夠堅持下來大概就是有着一股不服輸的勁頭吧。雖然現在也不是什麼大佬,但是每天都比昨天進步一點,每年都比去年更上一層對於我而講算是最大的慰籍了,讓我時刻明白,自己仍是在這條路上向前走着。

新的一年,希望所想之事皆能如願,所做之事皆有所獲。

最後祝大家心想事成,美夢成真,想要交流安全技術的可以掃描以下二維碼添加微信。

參考鏈接

https://github.com/knownsec/Kunyu

https://mp.weixin.qq.com/s/fQatA5iyewqRBMWtpVjsRA

https://mp.weixin.qq.com/s/QTyfHbcnoMYoVUXhcbCYCw

風起

掃描關注公眾號回覆加羣

和師傅們一起討論研究~

WgpSec狼組安全團隊

微信號:wgpsec

Twitter:@wgpsec