KeyFrame內部研究專用

HackTheBox - DevArea

IppSec·7月4日週六·57 min英文

三句話摘要

Hack The Box靶機Dev Area的完整滲透測試演練,涵蓋JAR反編譯、XXE漏洞利用、多層服務提權至root。 深度漏洞組合與symlink檢查繞過技巧是此靶機的核心,強調「不要急著開發目標,先全面偵察系統架構」的滲透測試哲學。 多層服務偵察的重要性:盒子提供FTP、HTTP、Jetty(8080)、Hoverfly(8888)等多個入口,演講者強調需要系統性地枚舉所有開放端口,避免只盯著表面漏洞而忽視其他提權路徑。

重點整理

重點
  • 1

    多層服務偵察的重要性:盒子提供FTP、HTTP、Jetty(8080)、Hoverfly(8888)等多個入口,演講者強調需要系統性地枚舉所有開放端口,避免只盯著表面漏洞而忽視其他提權路徑。

  • 2

    反編譯與庫漏洞分析:雖然JAR檔案本身沒有自訂漏洞,但依賴的Apache CXF 3.2.14存在XXE漏洞,使用Maven檢查pom.xml可快速列舉所有依賴版本,再透過CVE Details查詢相應漏洞。

  • 3

    XXE文件讀取的實際應用:透過修改SOAP請求的Content-Type和Payload格式,可自動化讀取任意檔案(如/etc/hosts、/proc/*/cmdline),演講者用Claude生成Python自動化腳本而非盲目執行第三方POC。

  • 4

    認證繞過與提權鏈:Hoverfly凭證來自/opt/hoverfly服務啟動配置、Flask應用透過Syswatch用戶執行,而最終RCE來自symlink指向/etc/shadow,演講者強調需要跨越多個服務層進行組合攻擊。

實用技巧與重點

乾貨
  • 開放端口與服務
  • FTP (21):anonymous登入,/pub目錄可讀
  • HTTP (80):dev area.htp,Apache預設頁面
  • SSH (22):Ubuntu伺服器
  • Jetty (8080):版本資訊洩露,6年過期(2020年)
  • Hoverfly (8888):版本資訊洩露
  • CVE與漏洞
  • Apache CXF 3.2.14:XXE漏洞(利用multipart/form-data和XML解析繞過)
  • Hoverfly:CVE-1113(Command Injection於middleware端點)
  • 自動化工具與技巧
  • SOAP UI:生成WSDL初始請求範本
  • Burp Repeater:測試XML Payload
  • Flask-Unsign:偽造Flask Session Cookie(格式:user_id=1, username=admin)
  • Symlink雙層轉向:ln -s /etc/shadow porn.log → ln -s porn.log please_sub.log,繞過路徑檢查
  • 命令執行限制繞過
  • 禁止字元:大寫字母、`/`、`..`、`>`、`<`、`&`、`;`
  • 允許字元:`|`、`$`、`()`、hex編碼
  • Payload示例:echo [hex命令] | xxd -R -P | bash
  • 讀取檔案路徑
  • /proc/[PID]/cmdline:列舉進程命令列
  • /opt/hoverfly:管理員凭證(username、password)
  • /opt/syswatch:Python Flask應用源碼與.env檔案
  • /etc/shadow:目標檔案,透過symlink繞過檢查

結論

結論

深度漏洞組合與symlink檢查繞過技巧是此靶機的核心,強調「不要急著開發目標,先全面偵察系統架構」的滲透測試哲學。

完整解析

詳細

Dev Area靶機設計用來考驗深度偵察與多層漏洞組合的能力。演講者首先透過nmap掃描發現六個開放端口,其中Jetty(8080)和Hoverfly(8888)成為主要突破口。

起點是反編譯從FTP匿名下載的employee-service.jar檔案。使用JetXR工具解包後,演講者在Visual Studio Code中透過Sneak code scanner尋找漏洞。雖然應用本身代碼無明顯自訂漏洞,但Sneak掃描檢出Apache CXF 3.2.14—— 一個已知存在XXE漏洞的舊版本庫。演講者轉向CVE Details網站搜尋相應公開漏洞,找到利用multipart/form-data格式繞過XML解析保護的POC。

透過SOAP UI生成初始SOAP請求後,演講者在Burp Repeater中反覆調整Payload格式。關鍵發現是multipart Content-Type會觸發特殊解析邏輯,加入精心構造的XXE載荷後,伺服器回傳Base64編碼的檔案內容。為提高效率,演講者請Claude生成Python腳本自動化此流程,避免手工逐次測試。

有了XXE原始檔案讀取能力後,演講者利用/proc虛擬檔案系統列舉所有執行中的進程。其中發現hoverfly服務在後台運行,並從/opt/hoverfly/啟動配置中提取admin凭證。登入Hoverfly Web UI後,版本資訊洩露顯示存在CVE-1113,此漏洞允許在特定middleware端點執行系統命令。演講者將認證標頭從瀏覽器開發者工具複製到Burp,發送PUT請求觸發RCE,成功執行id命令驗證漏洞有效。

获得初步shell後,演講者關注到sudo -l輸出允許dev_ryan用戶以root身份執行/opt/syswatch/syswatch腳本。但此腳本本身無shell,需從另一個用戶syswatch的Flask應用入手。通過讀取/opt/syswatch/.env檔案獲得admin密碼後發現認證失敗,改而利用Flask-Unsign工具偽造session cookie(user_id=1, username=admin),成功登入Syswatch GUI。

在Syswatch應用中,「Check System Service」功能執行systemctl status [service]命令。程式雖試圖透過正規表達式過濾危險字元(禁止`/`、`.`、`;`等),卻允許管道符`|`。演講者利用此漏洞執行shell命令,獲得syswatch用戶身份的反向shell。

最後且最巧妙的步驟涉及syswatch的「View Logs」功能。此功能讀取日誌檔案時試圖透過awk檢查symlink(防止目錄遍歷),但檢查邏輯存在缺陷——僅檢查單層symlink的目標。演講者創建雙層symlink鏈(porn.log → /etc/shadow → please_sub.log),成功繞過檢查,最終以root身份讀取/etc/shadow檔案和root用戶的ED25519私鑰。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。