Общее·количество·просмотров·страницы

воскресенье, 15 января 2012 г.

email spoofing

Всем здрасте!Сегодня хочу написать о подмене email отправителя.
И так с места в карьер, и я сразу начну.

Инструменты:
1)ЯП (у меня Delphi)
2)Сниффер( у меня httpanalyzer)
3)Музончик по желанию.

И так что же такое email spoofing- это и есть подмена адреса отправителя.
Как можно подменить адрес отправителя?
Я знаю не так уж много вариантов.Я не имею ввиду написать в поле «от» поддельный эмэил, т.к.при нажатии на сообщение мы увидим настоящее мыло.нет

1)open relay

Суть заключается в том чтобы найти в сети open relay.
Open relay это почтовый сервер в сети, который позволяет любому желающему переправлять через себя почту То есть, это почтовый сервер, используя который кто угодно может отправить электронную почту от произвольного отправителя произвольному получателю.Обычно юзаются спамерами.
Возникают релеи как правило из-за криворукости сис-админов,которые раз-два клацнули и якобы почтовый сервак готов.Получается за таким серваком будет охотиться не только спамер,но и те кто борется с релеями,что равносильно тому что все известные и не известные почтовики перестанут принимать от вас почту.
Значит все сводится к поиску open relay.пару тройку лет назад такие баги были даже у yahoo,но теперь найти открытый релеи практически невозможно.Суть будет заключаться в том что вам придется искать\граббить сотни тысяч smtp серверов,а потом еще дольше чекать их на релеи.В итоге найдя релеи,начать спамить,и серв просто занесут в блэк.
2)Не проверял работает ли сейчас,но раньше было.Суть в том что надо регнутся на почте и через telnet зная ESMTP протокол залогиниться , используя при этом base64 encoder и отправить, от левакового адреса.Однако, это не дает полной конфиденциальности и если есть пимпа типа «информация о письме» то там выдастся ваше мыло.

3)Сервисы в нете.Вот это нам и надо.Я нашел несколько таких
сервисов.Естесно как и все минуса-это плата.на одних она больше,на других меньше , среди всех я выбрал hoaxmail.(это ни в коем случае не есть реклама)
Рега на сервисе быстрая и бесплатная.В день дается 5 бесплатных отсылок.В месяц, чтобы избавиться от ограничения,надо уплатить ~200 рублей, согласитесь сумма довольно скромная.Когда я писал клиент,я не заметил ни капч,ни прочего при отсылке.Разослалось на все 5 аккаунтов на сервисы: mail.ru, gmail.com, yandex.ru,qip.ru,yahoo.com.
Для тех кто знает что можно делать,я думаю стоит зарегаться и купить доступ.
А теперь собсно к кодингу.
И так мы зарегались.Берем сниффер и гоу.
И так я сделал две формы:
1-авотриз
2-сам интерфейс


интерфейс:



Обработчик авторизации
Код:
{http=tidhttp,data=tstringlist,cm=cookiemanager} procedure TForm1.Button1Click(Sender: TObject); begin try Http := TIdHTTP.Create(Self); Data := TStringList.Create; CM := TidCookieManager.Create(Http); Http.AllowCookies := true; Http.CookieManager := CM; Http.HandleRedirects := true; Http.Request.UserAgent:='Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10'; Http.Request.Accept:='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'; Http.Request.AcceptLanguage:='ru,en-us;q=0.7,en;q=0.3'; Http.Request.AcceptCharSet:='windows-1251,utf-8;q=0.7,*;q=0.7'; data.Add('username='+form1.Edit1.Text); data.add ('password='+form1.Edit2.Text); data.Add('remember=on'); data.Add('submitbutton=Log In'); StrPage := Http.Post('http://www.hoaxmail.co.uk/usersystem/login_check.php', data); finally data.Free; end; if Pos(edit1.Text,StrPage) <> 0 then begin form1.hide; ShowMessage('Авторизация успешна!); form2.Show; end else ShowMessage('Авторизация не удалась!); end;


Тут я думаю код понятен.Создаем tidhttp, cookie manager, и стринглист.Настраиваем http.(указываем юзерагент и проч)
Авторизуемся пост запросом.и проверяем, если в коде страницы присутствует наш логин- выдаем сообщение о успешной авторизации,иначе о провале.
при этом если авторизация успешна,то форма скрывается и появляется наш интерфейс.

Я тут не все доработал,но расскажу все сейчас детально.
При закрытии формы

Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction); begin application.Terminate; end;


т.к. 1-я форма скрыта.

на радиобаттонах,чтобы юзвер не накосячил
Код:
procedure TForm2.RadioButton1Click(Sender: TObject); begin if radiobutton1.Checked=true then speedbutton1.Enabled:=false; edit1.Enabled:=true; end;


Код:
procedure TForm2.RadioButton2Click(Sender: TObject); begin if radiobutton2.Checked=true then edit1.Enabled:=false; speedbutton1.Enabled:=true; end;


Код:
procedure TForm2.FormCreate(Sender: TObject); begin radiobutton1.Checked:=true; end;


Ну и сама отсылка.Я подумал сделать из акков и отдельно от мыла.
но т.к. там всего 5 отсылов то с акками не стал заморачиваться.а принцип с акками легок и прост.Т.к. мы работаем со стринглистом то делаем банальный цикл:
Код:
txt:=tstringlist.Create; txt.LoadFromFile(filename);// указывается через opendialog для удобства. for i:=0 to txt.Count-1 do // список с 0 индекса,не забываем.

ну и заполняем стринглист.
обратно отправляем мыло и смотрим в сниффер:

Код:
try dat:=tstringlist.create; begin dat.Add('to_email_1='+edit1.Text); dat.add('used_extra=false'); dat.Add('from_name='+edit3.Text); dat.Add('from_email='+edit4.text); dat.Add('subject='+edit5.Text); dat.Add('body='+memo1.Text); dat.Add('footer=EF1'); dat.Add('used_timedelay=false'); dat.Add('receive_reply=on'); dat.Add('submitbutton=Send'); Str:=http.Post('http://www.hoaxmail.co.uk/email/process.php?type=&action=&ref=&editor=basic',dat); end; finally Dat.Free; CM.Free; Http.Free; end; if Pos('Successful',Str) <> 0 then ShowMessage('ОТОСЛАНО! ') else ShowMessage('НЕ отослано!);


Вот собсно и все.Не оч сложный код,но работает на ура.как будет средство,возьму там доступ,поспамлю.
Вот че получаем:


Еще один минус что я заметил,это не разрешается отправка с правительственными доменами (gov,mil),но я думаю спамер+грамотная речь=профит!.
Всем спасибо за внимание.Прошу не кидаться гнилыми помидорами.

Комментариев нет:

Отправить комментарий