Solved TryHackMe Reset CTF | Step-by-Step Walkthrough #1 for Beginners #tryhackme #cybersecurity
三句話摘要
Active Directory 滲透測試的初期偵察與初始存取——從匿名 SMB 枚舉到獲取有效憑證的無認證攻擊流程。 Active Directory 滲透的核心秘訣是持續的信息循環——每次獲得新憑證都必須重新進行完整枚舉,而不是盲目地集中火力破解密碼,因為新身份常常能訪問之前隱藏的資源和信息。 匿名 SMB 枚舉是無認證攻擊的基礎:通過空用戶名和密碼(null session)連接 SMB 的 445 端口可列舉用戶、共享和系統信息。幾乎所有 Active Directory 環境都預設允許此操作,是最容易的第一步。
重點整理
重點- 1
匿名 SMB 枚舉是無認證攻擊的基礎:通過空用戶名和密碼(null session)連接 SMB 的 445 端口可列舉用戶、共享和系統信息。幾乎所有 Active Directory 環境都預設允許此操作,是最容易的第一步。
- 2
Kerberos pre-auth 攻擊無需認證即可獲取可破解的密碼哈希:使用 Impacket 的 GetNPUsers 模塊針對用戶列表執行 pre-auth 攻擊,可獲得配置了不需要預身份驗證的用戶的 AS-REP 哈希。相比其他無憑證攻擊方式,這是最高效且最直接的哈希獲取方法。
- 3
每次獲得新憑證都必須重新進行完整枚舉:不應盲目破解所有哈希,而是立即用新憑證訪問 SMB 共享、更新用戶列表、檢查文件內容。新憑證可能開啟之前無法訪問的資源,其中常隱藏有泄露的密碼或敏感信息。
- 4
多層數據收集是 AD 滲透的循環流程:無憑證攻擊 → 獲得初始憑證 → 認證後重新列舉 → 發現新憑證或特權信息 → 進行特權提升或橫向移動,每個循環都依賴上一步的發現。
實用技巧與重點
乾貨- 目標域名:thm.corp、stack.htm.corp(子域名)
- 開放端口:445(SMB)、139(NetBIOS)、88(Kerberos)
- SMB 枚舉工具:nxc(NetExec)、Impacket(Python 工具集)、SMB client
- 掃描工具:nmap(全掃描)、Enum4linux
- 攻擊方法名稱:Kerberos pre-auth 攻擊(GetNPUsers)、密碼噴灑(password spray)、密碼破解
- 哈希破解工具:Hashcat(模塊 ID 需用 hashid 查詢,此案例為 Kerberos 類型)、rockyou.txt(密碼字典)
- 用戶枚舉結果:42 個有效域用戶
- Pre-auth 攻擊結果:至少 3 個用戶無需預身份驗證,獲得其 Kerberos 哈希
- 破解耗時:約 29 秒破解第一個哈希(32GB RAM CPU 並行處理,GPU 未啟用)
- 恢復的憑證:1 個直接破解用戶、1 個從 SMB 共享文件(lily/password)
- SMB 共享:data(包含 PDF 和文本文件)、IPC$(默認)
- 系統配置:編輯 /etc/hosts 添加「IP thm.corp」映射
- 參考資源:GitHub "Orange Cyber Defense" Active Directory Pentesting Mindmap、hashid 工具、hash.com(在線哈希識別)、VPN 連接到 TryHackMe 環境
結論
結論“Active Directory 滲透的核心秘訣是持續的信息循環——每次獲得新憑證都必須重新進行完整枚舉,而不是盲目地集中火力破解密碼,因為新身份常常能訪問之前隱藏的資源和信息。”
完整解析
詳細這場直播實踐了 Active Directory 滲透測試中最關鍵的初期階段——如何在完全無認證的狀態下系統地獲取目標信息並打開缺口。講者選擇了 TryHackMe 上的高難度 AD 實驗室作為演示場景。
流程的第一步是環境準備。講者連接到 TryHackMe 提供的 VPN,然後對目標 IP 進行標準 nmap 掃描。掃描結果揭示了 SMB 服務開放在 139 和 445 端口,以及 Kerberos 服務在 88 端口。更重要的是,nmap 自動從 SMB banner 中提取了域名信息——thm.corp 和 stack.htm.corp,確認了這是一個 Active Directory 環境。為了正確解析域名,講者在 /etc/hosts 文件中手動添加了目標 IP 和域名的映射關係。
第二步是利用 SMB null session 進行匿名枚舉。講者使用 nxc 工具,以空用戶名和空密碼嘗試連接 445 端口。連接成功——這是 Active Directory 環境中的常見設置。通過匿名登錄,講者發現了兩個可訪問的共享:data(包含業務相關數據)和 IPC$(系統默認的 IPC 通信共享)。
在完全無憑證的狀態下,講者執行了 Kerberos pre-auth 攻擊。使用 Impacket 工具集中的 GetNPUsers.py 腳本,針對之前枚舉出的 42 個用戶列表進行批量攻擊。該攻擊利用 Kerberos 協議的一個設計特性:某些配置不需要預身份驗證的用戶賬戶會向任何人返回包含密碼哈希的 AS-REP 響應,即使攻擊者沒有任何認證信息。結果中,至少 3 個用戶的哈希被成功提取並保存到文件。
講者隨後使用 Hashcat 對獲得的哈希進行並行破解。通過 hashid 工具識別出這些是 Kerberos 類型的哈希,講者指定相應的 Hashcat 模塊並使用 rockyou.txt 作為密碼字典進行暴力破解。由於系統配置有 32GB RAM,Hashcat 能夠並行處理多個哈希。約 29 秒後,第一個用戶的密碼被成功恢復。
獲得第一個有效憑證後,講者沒有繼續盲目破解其他哈希,而是立即更新攻擊策略。使用新恢復的用戶名和密碼,講者重新連接到 SMB 的 data 共享。使用這個認證身份,講者能夠訪問之前無法讀取的文件。在共享文件夾中,講者找到了多個 PDF 文件,其中至少一個文件包含了另一個用戶的認證信息(用戶名 lily 和對應的密碼)。這展示了真實環境中的一個常見風險——敏感認證信息被不安全地存儲在共享文件系統中。
講者隨後嘗試使用發現的新憑證(lily 用戶)進行遠程桌面登錄(RDP)以獲得初始系統存取。然而,連接過程中遇到了問題——可能是因為該用戶不具備遠程登錄權限、網絡配置問題或其他訪問控制限制。這反映了 Active Directory 滲透中的一個現實:獲得憑證不等於自動獲得特權,還需要進一步測試該用戶的實際權限和可訪問的資源。
講者還強調了參考資源的重要性,特別是推薦了 GitHub 上 "Orange Cyber Defense" 團隊維護的 Active Directory Pentesting Mindmap。這份資源詳細列舉了 Active Directory 環境中所有已知的攻擊向量、枚舉技術和特權提升方法。講者指出,按照這份 mindmap 中的流程進行滲透測試可以確保不遺漏任何關鍵步驟。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

