今天是報告 Day!!!我們的第四份報告~~~
比起 Day 23 的 Cronos,這次 Jerry 的 Findings 比較少~但不代表 Jerry 這台目標機器比較沒有問題呦 xddd
這次我們只提出兩個設定問題,但光是弱密碼加上沒有落實最小權限原則,就讓我們取得初始存取權,便直接拿到最高權限,完全不需要再經過額外的提權步驟><
Jerry 的攻擊鏈:
Tomcat /manager/html 使用弱帳密
→ 取得管理介面存取權
→ 上傳並部署惡意 WAR
→ 取得 Reverse Shell
→ whoami
→ NT AUTHORITY\SYSTEM(無需額外提權)
看似只有兩個 Finding,卻足以讓我們一路取得主機的最高權限xddd
所以,我們更要搞懂這兩個 Finding 在整條攻擊鏈裡分別扮演什麼角色,才能釐清問題真正出在哪裡,以及 Root Cause 跟 Remediation 到底該怎麼寫!
未來不管是練習其他靶機,還是面對真實的滲透測試,都不能只停留在「成功打進去了」,還要能說清楚問題為什麼會發生,以及該怎麼修補!
那我們就開始吧!
Meta 欄位決定報告封面和頁首顯示什麼,而且會自動帶入報告多個地方,一定要填正確!
| 欄位 | 意思 | Jerry 練習填什麼 |
|---|---|---|
| HTB Candidate | HTB 考試者資訊 | Kitty |
| Full Name | 執行測試人的姓名 | Kitty |
| Title | 執行測試者職稱 | Security Candidate |
| 執行測試者的 Email | Kitty@gmail.com | |
| Report Title | 這份報告的標題 | Jerry |
| Customer | 委託測試的客戶名稱 | Jerry Lab Company(練習自行假設) |
| Customer (abbreviated) | 客戶名稱縮寫,用在頁首 | Jerry Lab Company |
| Pentest Approach | 測試方式 | Black Box |
| Pentest Start | 測試開始日期 | 2026-10-08(Day 24) |
| Pentest End | 測試結束日期 | 2026-10-09(Day 25) |
| Report Date | 報告撰寫日期 | 2026-10-10(Day 26) |
| Version | 報告版本 | 1.0 |
這段在說什麼: 列出客戶窗口跟這次測試的相關聯絡人,讓報告有明確的負責對象。
Customer Contacts(客戶聯絡人):

這塊的核心問題:
「我們現在發現了什麼問題?」
「這個問題可能造成什麼影響?」
「哪一個問題需要優先處理?」
要把技術語言轉成比較容易理解的實際影響。
而且記住——先肯定 target 做得好的地方,讓客戶看報告時更願意認真看,而不是一開始就覺得被找碴!
說明這次測試的方式:我們是怎麼測的、什麼時候測、原本知道多少,以及這次測試的目的。

「這次到底測哪裡?」

整體發現了幾個問題、各自多嚴重、最優先做什麼。
讓讀報告的人先知道:
「這次是怎麼攻進去的,以及最後取得了什麼權限。」
因為沒有限制弱密碼與最小權限原則,兩個設定層面的問題同時存在,讓攻擊者從外部網路一步到位——不需要任何提權步驟,直接取得目標機器的最高系統權限(NT AUTHORITY\SYSTEM)。

Finding 填完之後,這個 Summary 大部分會自動生成。需要確認自動產生的嚴重程度分佈、Finding 數量有沒有跟我們實際填的一致。

把從「什麼都不知道」到「拿到 SYSTEM」的完整路徑,用說故事的方式串起來。

這裡是把這次測試發現的問題,以及可以進一步改善整體安全性的建議,整理成一份比較容易執行的行動清單。

CWE: CWE-1391
Severity: Critical
CVSS 3.1 — Base Metrics
| CVSS 指標 | 值 | 說明 |
|---|---|---|
| Attack Vector (AV) | Network (N) | 直接透過 HTTP 請求觸發,不需要靠近目標 |
| Attack Complexity (AC) | Low (L) | 不需要特殊條件或複雜操作即可利用已知的弱密碼 |
| Privileges Required (PR) | None (N) | 攻擊者在利用弱密碼登入前,不需要先具備目標系統的任何權限 |
| User Interaction (UI) | None (N) | 攻擊者可以自行登入並部署 WAR,不需要其他使用者操作 |
| Scope (S) | Unchanged (U) | 影響範圍在 Tomcat 應用程式內 |
| Confidentiality ( C ) | High (H) | 看到所有已部署應用、設定、server status |
| Integrity (I) | High (H) | 任意部署/移除/替換 WAR,完全控制 Tomcat 內容 |
| Availability (A) | High (H) | 停掉所有應用,Tomcat 服務等於癱瘓 |
CVSS 3.1 — Temporal Metrics
| CVSS 指標 | 值 | 說明 |
|---|---|---|
| Exploit Code Maturity (E) | Functional (F) | Metasploit 模組(tomcat_mgr_login)公開可用 |
| Remediation Level (RL) | Official Fix (O) | 有明確修補方式(設定帳密複雜度) |
| Report Confidence (RC) | Confirmed ( C ) | 實際以 tomcat:s3cret 登入並部署 reverse shell WAR,完整確認 |
Root Cause
The tomcat-users.xml configuration may not enforce sufficient password complexity requirements, as the configured credentials (tomcat:s3cret) are weak and easily guessable.
Impact
An attacker can compromise the credentials via brute-force attacks, access the Tomcat Manager interface, deploy a malicious WAR file, and obtain remote code execution on the server. If the Tomcat service runs as System, this directly results in SYSTEM-level compromise of the host.
Remediation
- (Priority) Enforce a strong minimum password complexity policy.
- Implement an account lockout policy after consecutive failed login attempts.
Finding Evidence

在匯出的報告~Finding 1 的模樣><
CWE: CWE-250(Execution with Unnecessary Privileges)
Severity: High
CVSS 3.1 — Base Metrics
| CVSS 指標 | 值 | 說明 |
|---|---|---|
| Attack Vector (AV) | Network (N) | 攻擊者可透過網路存取 Tomcat Manager,利用部署功能執行程式 |
| Attack Complexity (AC) | Low (L) | 具備足夠高的 Tomcat manager 權限,不需要特殊條件即可部署 WAR |
| Privileges Required (PR) | High(H) | 需要先取得 Tomcat Manager 的管理員帳號,才能上傳並部署 WAR 檔 |
| User Interaction (UI) | None (N) | 攻擊者可以自行部署 WAR,不需要其他使用者操作 |
| Scope (S) | Changed ( C ) | 攻擊者可利用 Tomcat 服務以 NT AUTHORITY\SYSTEM 身分執行的設定,透過部署並執行惡意 WAR,取得 Windows 主機的 SYSTEM 權限,影響超出 Tomcat 應用程式本身的安全範圍 |
| Confidentiality ( C ) | High (H) | SYSTEM 可讀取系統上任何檔案,包含敏感資料(如 root.txt) |
| Integrity (I) | High (H) | 透過 WAR 部署取得System RCE,理論上可修改任何檔案 |
| Availability (A) | High (H) | 透過 WAR 部署取得System RCE,理論上就可以停掉服務、讓系統無法使用 |
CVSS 3.1 — Temporal Metrics
| CVSS 指標 | 值 | 說明 |
|---|---|---|
| Exploit Code Maturity (E) | Functional (F) | 可使用公開可用的 reverse shell payload,透過 Tomcat Manager 部署 WAR 並取得遠端 shell,實際測試已成功取得 NT AUTHORITY\SYSTEM 權限 |
| Remediation Level (RL) | Official Fix (O) | 有明確修補方式(切換至低權限服務帳號) |
| Report Confidence (RC) | Confirmed ( C ) | 透過 WAR 部署取得的 shell 直接以 NT AUTHORITY\SYSTEM 執行,完整確認 |
Root Cause
The Tomcat Windows Service is configured to run as System instead of establishing the least privilege account.
Impact
An attacker can deploy a malicious WAR file through the Tomcat Manager interface and obtain a reverse shell as System, leading to full compromise of the system.
Remediation
- (Priority) Reconfigure the Tomcat service to run under a necessary privileges account.
- Conduct periodic reviews of service account permissions across the environment.
Finding Evidence
在匯出的報告~Finding 2 的模樣><
我發現了哪些主機?這些主機又開了哪些 Port 和服務?

成功在哪台主機完成 Exploitation?
我成功取得或控制了哪些使用者帳號?
這裡要記錄的是實際被取得控制權的帳號,而不是 Enumeration 找到的所有使用者名稱。

Changes / Cleanup = 測試過程中,我們對目標環境做了哪些改變,以及測試結束後是否需要清理


開心!!!雖然這次已經是我們第四次一起寫報告了~
但這次 Jerry 可是 Windows 機器,前三份報告寫的都是 Linux 機器,原本還是蠻緊張的 xddd
但真正實作才發現,把問題釐清、找出根因,再思考該怎麼修補的這套思路,並不會因為換了一個作業系統就改變!
不過,因為對 Windows 環境還沒有那麼熟悉,目前想到的修補方案可能還比較表面。這也會是 Day 30 規劃後續補強計畫時,想納入的方向之一!
不可思議!!!我們又完成了!
經過不斷密集的練習,報告越寫越快,也越來越少仰賴 AI。我們真的有在進步耶!!!
讚讚讚!那我們明天見啦~~~