Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   E-Mail (https://forum.antichat.xyz/forumdisplay.php?f=14)
-   -   Брутфорс e-mail через SMTP (https://forum.antichat.xyz/showthread.php?t=95961)

X-TAZY 11.12.2008 22:42

Брутфорс e-mail через SMTP
 
Привет всем форумчанам! У меня такой вопрос: "Почему почту брутят в основном только через pop3 протокол?". Я решил поэкспериментировать и написал так называемый smtp брутфорс на Delphi. Если что сильно не пинайте, а лучше подскажите как добавить многопоточность и чего бы можно было добавить еще. Скачать его можно здесь. Жду ваших отзывов и предложений.

sa~ 11.12.2008 22:49

Цитата:

http://www.virustotal.com/ru/analisis/8d4487897d1311d4014aa1a07891319d
...

X-TAZY 11.12.2008 23:03

Ты хочешь сказать, что я тут вирусы распространяю? Это напрасно, программа действительно работает, я думаю кто разбирается в delphi без труда разберет код.

De-visible 11.12.2008 23:19

Просмотрел код, молодец.
А то думал очередная хрень через компоненты(, а так лови+:)
Если есть время будь активней лучше в разделе кодинг)))

12usver12 12.12.2008 10:47

я не смотрел код , но при реализации многоп-ти тебе надо сразу будет подумать, как распределить работу между потоками... да и еще таймаут, прокси, соксы и т.д.

X-TAZY 12.12.2008 11:30

При всем уважении к google, хотелось бы получить более конкретные советы, рекомендации, примеры, т.к. тема интересна и нигде мне не встречалась. Еще хочу отметить, что не реализовал resolve в программе, но это не так важно и при желании я смогу это сделать, поэтому в поле smtp сервер вводится IP-адрес smtp сервера, а не доменное имя.

MongBa† 14.12.2008 14:23

Элемантарная реализация многопоточности..
Код:

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    BtChoose: TButton;
  //.........................
    procedure BtChooseClick(Sender: TObject);
    procedure BtBeginClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  Brute = class(TThread)
    WSAData:TWSAData;
    sock:TSocket;
    addr:TSockAddrIn;
    procedure Execute; override;
  end;

var
  Form1: TForm1;
  thr: array [1..999] of Brute;

implementation

{$R *.dfm}

procedure Brute.Execute;
begin
 // Здесь код одного потока брута
end;

procedure TForm1.BtBeginClick(Sender: TObject);
var i:integer;
begin
 for i:=1 to 99 do
 begin
  thr[i]:=Brute.Create(false); // Стартуем
  sleep(500);
 end;
end;

В дальнейшем столкнешся с проблемами таймаута для каждой нити, с глюками TStringList-а , который при совместных обращениях может вытащить либо пустой пароль либо вовсе заглючить и выкинуть..
СМТП брут уже давно реализован в Гидре , так что не знаю есть ли смысл изобретать велосипед, разве что в целях собственного развития :)

X-TAZY 15.12.2008 00:24

Отлично! Большое спасибо! Попробую реализовать...


Время: 16:16