Tomcat
Apache Tomcat是一個開源 Web 伺服器,用於託管用 Java 編寫的應用程式。 Tomcat 最初設計用於執行 Java Servlets 和 Java Server Pages (JSP) 腳本。然而,它在基於 Java 的框架中的流行度不斷提高,現在被 Spring 等框架和 Gradle 等工具廣泛使用。根據BuiltWith收集的數據,目前有超過 22 萬個活躍的 Tomca
1. 發現點
1️⃣ 確認 Tomcat 存在:
curl -s http://app-dev.inlanefreight.local:8080/docs/ | grep Tomcat結果會顯示:
Apache Tomcat 9 (9.0.30) - Documentation Index確認係 Tomcat 9.0.30。
2. 測試Payload
使用 gobuster 嘗試發現管理界面、隱藏路徑
gobuster dir -u http://web01.inlanefreight.local:8180/ -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt 常見路徑有:
/manager/html、/host-manager/html
3. Tomcat Manager 爆破登入
[+] Username : b'tomcat'
[+] Password : b'admin'成功後會回傳:
方法 B:Python 自製暴力爆破腳本
成功後會回傳:
4. Tomcat Manager WAR 檔案上傳取得 RCE
1️⃣ 製作 WAR 後門
2️⃣ 登入 Tomcat 管理界面 (http://web01.inlanefreight.local:8180/manager/html),上傳 backup.war
backup.war3️⃣ 存取 shell:
出現
uid=1001(tomcat)即成功!
⭐ 自動化反彈 shell(msfvenom 生成 war)
然後上傳,之後用:
執行
/shell/cmd.jsp後會收到反彈 shell。
5.Ghostcat (CVE-2020-1938) — AJP 協定 LFI 漏洞
1️⃣ 檢查 8009 埠
確認
8009/tcp open ajp13
2️⃣ 使用 Exploit (Python PoC):
如果成功會回傳
web.xml檔案內容。
6. 攻擊 Tomcat CGI CVE-2019-0232
CVE-2019-0232是一個嚴重的安全問題,可能導致遠端執行程式碼。此漏洞影響啟用了enableCmdLineArguments功能的 Windows 系統。攻擊者可以透過利用 Tomcat CGI Servlet 輸入驗證錯誤導致的命令注入缺陷來利用此漏洞,從而允許他們在受影響的系統上執行任意命令。 Tomcat 的9.0.0.M1至9.0.17至8.5.0和7.0.0至7.0.938.5.39均受到影響。
目錄與擴展名模糊測試 (Fuzzing)
.cmd
.bat
➡️ 你成功發現有 welcome.bat 可以利用
7. 連鎖漏洞
取得 Tomcat shell 後
嘗試使用 sudo -l 檢查提權,或利用 crontab 任務提權;或檢查 Tomcat 設定檔案是否洩露更多憑證。
Ghostcat LFI
可用來讀取 Tomcat webapp 裏面的敏感配置檔案,可能有 hardcoded 密碼 / 數據庫憑證。
Shell 提權
在 shell 裏面 find / -perm -4000 -type f、sudo -l 或試試 pspy 分析定時任務。
密碼回收
cat /opt/*、cat /var/lib/tomcat*/conf/* 常見存有憑證或配置檔案。
內網掃描
netstat -anp、nmap -sP、arp -a 尋找其他內網服務或橫向滲透機會。
最后更新于
这有帮助吗?