1. 概述#
攻防演練中的溯源一般是:還原攻擊鏈條,溯源到黑客的虛擬身份、真實身份,溯源到攻擊隊員,反控攻擊方主機
一般來說,藍隊隊員獲取到的數據大多來源於以下幾種:
- 蜜罐平台
- 流量檢測平台
- WAF、IDS、IPS
- 魚叉郵件
在我們拿到數據信息後需要對數據進行分析
重點關注的信息:
- IP 地址
- DNSLOG、C2 地址
- 魚叉郵件中的信息
- 蜜罐抓到的 Hacker ID
不同的設備有不同的分析思路
2. 溯源一般流程#
攻擊源捕獲
- 安全設備報警 (掃描出的 IP,入侵事件)
- 日誌流量分析
- 伺服器資源異常 (異常的檔案,進程,端口,計劃任務等)
- 郵件魚叉 (獲取惡意檔案樣本)
- 蜜罐系統 (獲取攻擊者行為)
溯源反制手段
- IP 定位技術
- ID 追蹤術 (搜索引擎,社交平台等)
- 網站 url (whois 查詢等)
- 惡意樣本 (提取樣本特徵,用戶名 ID 等信息)
攻擊者畫像
- 還原攻擊路徑
- 攻擊目的
- 用什麼網絡代理
- 攻擊手法 (web 滲透,近源滲透,社會工程等)
- 得出攻擊者的:虛擬身份,真實身份,聯繫方式,組織情況等信息
3. WAF、流量檢測設備#
- 請求數據包 -> 可能包含反彈的 C2 地址或 DNSLOG 地址
- 某些可註冊的網站 -> 獲取攻擊者註冊手機號、身份證等信息
- IP 地址 -> 分析攻擊行為路徑 -> 過濾國外肉雞 IP
- 重點關注來自於阿里、騰訊等雲伺服器的攻擊流量
4. 威脅情報分析#
拿到攻擊 IP 後我們可以在威脅情報分析平台上進行搜索,獲取到如:主機信息、近期活動情況、域名解析
可利用網站:
4.1 主機信息#
重點關注端口信息
- 存在 web 應用端口 -> 反制(查看端口服務,masscan、nmap 掃描端口,端口對應漏洞)
- CS TeamServer 50050 -> 腳本爆破、DDOS 攪屎(批量上線釣魚馬,啟幾百個進程,DDOS 紅方的 cs 端)
4.2 域名解析記錄#
最近解析到該 IP 上的域名
- 存在 -> 繼續分析
- 不存在,並且 ping 該域名的結果非攻擊 IP,則停止分析
.cn 的域名
- 直接獲取域名註冊信息
5. IP & 域名溯源#
在某些情況下,攻擊者可能會留下自己使用的 IP 或者域名,通常用於下載惡意代碼、反向代理等,在獲取到攻擊者所使用的 IP 或域名後我通常會採用以下辦法溯源:
5.1 IP#
- 通過威脅情報查詢,可能會獲取到 IP 的定位、運營商、解析的域名
- Nmap 全端口掃描該 IP 所開放的端口,對提供服務的端口進行漏洞掃描,嘗試拿下攻擊伺服器
- 使用網絡資產測繪引擎搜索攻擊溯源 IP,獲取該 IP 提供的服務
- 查詢該 IP 的精確定位數據
- 對該 IP 上提供的服務進行 Dos 攻擊,防止繼續進行攻擊
- 大部分的攻擊者會使用 VPS 進行代理轉發,或者直接使用 VPS 進行攻擊,可以向該 VPS 提供商提交工單,說明該 IP 的攻擊行為,服務提供商可能會禁止該 IP 的攻擊行為,或者封禁該攻擊者帳戶
5.2 域名#
- 通過 Whois 查詢,獲得郵箱、姓名
- 在工信部 ICP 查詢域名備案信息
- 查詢該域名的歷史 Whois 信息
- 在搜索引擎中搜索該域名,可能會發現攻擊者的其他帳號信息
地理位置查詢:
紅隊攻擊者會借助手機熱點發起攻擊,我們可以通過地理位置查詢到他們所處的位置
6. 蜜罐溯源#
在現代瀏覽器中,同源策略是保證用戶訪問安全的核心,為了允許跨域請求,誕生了 JOSNP。
在 HTML 中,script
標籤的 src
屬性不受同源策略的影響,通過 script
引用一個不同域名的 JavaScript 文件來實現跨域請求,這就是 JSONP。
蜜罐獲取社交信息也基於此原理。
蜜罐通過 JSONP 實現獲取社交信息相對來說比較困難,一般需要滿足以下兩個條件:
- 需要獲取的第三方網站允許跨域,且跨域信息中包含敏感信息
- 攻擊者登錄過第三方網站,且未退出登錄
通過蜜罐獲取到社交信息後,一般會通過以下幾個方面入手:
6.1 QQ 號#
- 獲取的信息為 QQ 號,通過 QQ 號大額轉賬實現獲取 QQ 號綁定銀行卡的個人信息,基本可以實現獲取姓和名中的一個字
- 在百度貼吧等論壇中搜索該 QQ 號或者 QQ 號所屬郵箱,可能會獲取百度貼吧帳號
- 使用 Whois 反查 QQ 郵箱,可能會獲取姓名或域名
- 在微信中搜索該 QQ 號,可能會獲得該攻擊者微信帳號
- 使用小號添加該 QQ,嘗試通過社工手段套取更多信息(建立在獲取大量個人信息的情況)
6.2 手機號#
- 在支付寶中向該帳號轉賬,嘗試獲取手機號對應的真實用戶姓名
- 在微信中搜索該手機號,嘗試獲取微信帳號
- 在釘釘上搜索該手機號,可能會獲得部分真實姓名和工作單位
- 通過搜索引擎搜索該手機號,可能會獲得其他帳號信息
- 查詢該手機號註冊過的網站信息
6.3 貼吧帳號#
- 使用貼吧工具箱獲得該帳號主頁和發帖內容
- 查看發帖內容,或許能夠找到 QQ 號、手機號、郵箱、大致的年齡、姓名等
6.4 社工庫#
在我看來,社工庫更多用於交叉驗證,並非直接獲取數據的一種途徑,所以應該在獲取到足夠多的信息後再與社工庫比較,以證實真實信息
6.5 其他帳號信息#
- 搜索 QQ 昵稱、微信昵稱、支付寶昵稱、貼吧昵稱等信息,可能會獲得其他平台的信息,如:微博、知乎、GitHub 以及其他論壇和 SNS 社區
- 詳細查看帳號中的信息,以提取更多有用信息,如:姓名、性別、年齡、住址、工作單位、就讀學校等
6.6 學校#
- 如果獲取到學校信息和姓名,可以在搜索引擎中獲取該攻擊者的專業信息、班級、入學時間、畢業時間、學號等
- 可以通過該學校貼吧、QQ 群詢問等,獲取更多個人信息
- 碩士及以上學位,可以通過知網搜索論文,確認研究方向
6.7 郵箱#
- 查詢該郵箱註冊過的網站信息
6.8 HackerID 溯源#
- 搜索引擎
- 各大 SRC
- 社群咨詢
7. 總結#
溯源的結果一般如下:
-
姓名 / ID:
-
攻擊 IP:
-
地理位置:
-
QQ:
-
IP 地址所屬公司:
-
IP 地址關聯域名:
-
郵箱:
-
手機號:
-
微信 / 微博 / SRC/ID 證明:
-
人物照片:
-
跳板機:
-
關聯攻擊事件:
在溯源過程中最重要的是社工庫,其次才是上述的溯源分析思路
如果有蜜罐設備,盡量設置成高交互的