KeyFrame內部研究專用

HackTheBox - Cobblestone

IppSec·8月15日週六·63 min英文

三句話摘要

Hack the Box Cobblestone 機器完整攻略:從 XSS/CSRF 竊取管理員 Session,通過 SSTI 命令注入繞過 App Armor 限制,最後利用 Cobbler XML-RPC 漏洞取得 root 權限。 好的枚舉(尤其是發現 App Armor 限制)和已知漏洞組合,能把看似「難」的機器轉化成邏輯清晰的多階段攻擊鏈。 XSS/CSRF 組合竊取 HTTP-Only Cookie:雖然 PHP Session Cookie 標記為 HTTP-Only 無法直接用 JavaScript 竊取,但可用 CSRF 強制受害者訪問 /admin/server_info.php(包含 phpinfo 輸出),再用 fetch 和 no-cors mode 取回頁面內容,從中提取 admin 的 Session ID。

重點整理

重點
  • 1

    XSS/CSRF 組合竊取 HTTP-Only Cookie:雖然 PHP Session Cookie 標記為 HTTP-Only 無法直接用 JavaScript 竊取,但可用 CSRF 強制受害者訪問 /admin/server_info.php(包含 phpinfo 輸出),再用 fetch 和 no-cors mode 取回頁面內容,從中提取 admin 的 Session ID。

  • 2

    App Armor 限制下的命令執行:SSTI 雖可執行命令,但 App Armor profile 禁用了 bash、perl、python、pipe 符號等,只開放 sh、cat、grep、ls、id 等基礎指令;無法直接得到 reverse shell,改用 MySQL dump 功能洩露資料庫。

  • 3

    Cobbler 認證繞過 + 命令注入組合:Cobbler 的 XML-RPC 介面有已知的認證繞過(用 password=-1 登入),以及 rsync flags 的命令注入漏點;可通過 Python xmlrpc.client 連線本地 25151 port,執行任意 shell 命令成 root。

  • 4

    重要的資訊收集細節:網頁標籤欄隱藏 admin 連結,需調整瀏覽器視窗大小才看得到;App Armor 設定檔存放在 /etc/apparmor.d/,內容揭示允許/禁止的命令與路徑。

實用技巧與重點

乾貨
  • 開放埠:22 (SSH, Debian)、80 (Apache)
  • 虛擬主機:cobblestone.htb、vote.cobblestone.htb、deploy.cobblestone.htb、mc.cobblestone.htb
  • 漏洞類型:SQL injection (suggest.php)、XSS (username/skin 欄位)、SSTI (first_name 欄位,Twig template)
  • 命令執行測試:`{{ 7*7 }}`、`{{ self._load_file('/etc/passwd') }}`
  • 密碼雜湊:SHA256-sum 格式,可用 crack-station 破解
  • 資料庫認證:username=db_user、密碼在 /var/www/html/db/connection.php
  • SSH 帳號:cobble (受限 bash)、john (regular bash)
  • Cobbler XML-RPC 端口:25151
  • 認證繞過密碼:-1(需轉為整數型態)
  • 命令執行:system.execute_sync() or system.register(),支援 rsync flags 命令注入
  • 受限環境可執行命令:/bin/sh、/bin/cat、/bin/grep、/bin/ls、/bin/ps、/usr/bin/mysql、/usr/bin/mysqldump
  • 禁用命令:bash、python、perl、php、ruby、nc、管道符 (|)、/dev/tcp 重定向

結論

結論

好的枚舉(尤其是發現 App Armor 限制)和已知漏洞組合,能把看似「難」的機器轉化成邏輯清晰的多階段攻擊鏈。

完整解析

詳細

攻擊流程始於 nmap 掃描,發現 SSH 和 HTTP 服務,並解析到多個虛擬主機。講者首先測試登入功能並發現登入頁面的 SQL injection 漏洞,於是用 sqlmap 自動化分析資料庫。與此同時,通過在 suggest.php 提交惡意 URL,測試 SSRF 和 XSS,發現網頁會用 headless Chrome 訪問提交的連結。

利用這個 XSS 漏洞,講者構造了一個 fetch payload,通過 CSRF 讓 admin 訪問 /admin/server_info.php(包含 phpinfo 輸出,其中顯示所有 HTTP 請求的 Cookie),並將頁面內容回傳。如此成功竊取 admin 的 PHP Session ID。登入 admin 帳號後,講者發現 user management 頁面的 first_name 欄位存在 SSTI,測試 `{{ 7*7 }}` 得到 `49` 確認漏洞。

嘗試執行反向 shell 時碰上 App Armor 限制。講者檢視 /etc/apparmor.d/apache2.d/cobblestone,發現設定檔限制了大量命令執行。改用 mysqldump 功能洩露資料庫,取得 admin 帳號的 SHA256-sum 密碼雜湊,用線上服務破解得到明文 `Cobblestone123`。利用此密碼透過 SSH 進入 cobble 帳號,進入受限 bash 環境。

在受限環境內,講者發現本地運行 Cobbler(網路安裝服務)於 25151 port。通過 Python xmlrpc.client 連線該 port,利用已知的認證繞過漏洞(password=-1)登入,再透過 rsync flags 參數的命令注入執行 bash reverse shell,最終以 root 權限取得完整控制權。

關鍵時刻

Pipeline v2

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

事實查核

Pipeline v2

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

更多「Web2 安全」的內容

Risky Bulletin: Russia starts blocking DoH and DoT
編輯精選
8 min
Web2 安全英文PODCAST8月26日

Risky Bulletin: Russia starts blocking DoH and DoT

Risky Business

  • 國家級網路管制層級提升:俄羅斯主動封鎖加密 DNS 協定對抗審查工具,中國加速淘汰 Windows 系統並遷移自主 Linux 發行版,各國正透過技術與法律手段強化網路主權與信息控制能力。
  • 詐騙犯罪走向精密化與自動化:從冒充警察的聲音詐騙(竊取 7.2 百萬美元)、AI 語音代理自動化破解 iPhone 啟用鎖、到跨越數百網站的投資詐騙(詐騙 7400 萬美元),犯罪組織正利用自動化工具與 AI 技術大幅降低成本並擴大規模。
  • AI 惡意軟體威脅實際上被嚴重誇大:405 個整合 AI 的惡意軟體樣本中僅 12 個於真實感染被偵測,其餘來自測試環境,證明當前 AI 惡意軟體仍停留於實驗階段,尚未構成主流威脅。
SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;
5 min
Web2 安全英文PODCAST8月26日

SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;

SANS Stormcast

  • SSRF 攻擊者已進化出高級繞過手段,不直接使用元數據服務 IP(169.254.169.254),而改用專門域名服務將請求轉址,支援點或破折號分隔 IP,甚至可自部署 DNS 伺服器進行 DNS 重綁定攻擊,使傳統簡易過濾機制失效。
  • 本地 AI 模型並非完全隱私:微軟 Paint 雖在本地執行生成邏輯,但安全檢查需上傳提示文字至遠程伺服器,返回時圖像內嵌不易移除的伺服器 GUID 隱形浮水印,可見浮水印(Copilot 圖標)則易被移除。
  • 傳統 FTP 協議被新型惡意軟體重新利用為命令控制通道,透過 FTP banner 傳遞指令於連接埠 21,防守者應視任何出站 FTP 流量為異常信號。
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 錯誤報告,進而收集目標系統配置情報。