Авторские статьи Email спуфинг.

Discussion in 'Статьи' started by DooD, 15 Jan 2012.

  1. DooD

    DooD Moderator

    Joined:
    30 Sep 2010
    Messages:
    1,181
    Likes Received:
    419
    Reputations:
    288
    Всем здрасте!Сегодня хочу написать о подмене 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-сам интерфейс

    [​IMG]
    интерфейс:
    [​IMG]


    Обработчик авторизации
    Code:
    {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.(указываем юзерагент и проч)
    Авторизуемся пост запросом.и проверяем, если в коде страницы присутствует наш логин- выдаем сообщение о успешной авторизации,иначе о провале.
    при этом если авторизация успешна,то форма скрывается и появляется наш интерфейс.

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

    Code:
    procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
    application.Terminate;
    end;
    т.к. 1-я форма скрыта.

    на радиобаттонах,чтобы юзвер не накосячил

    Code:
    procedure TForm2.RadioButton1Click(Sender: TObject);
    begin
    if radiobutton1.Checked=true
    then speedbutton1.Enabled:=false;
    edit1.Enabled:=true;
    end;
    Code:
    procedure TForm2.RadioButton2Click(Sender: TObject);
    begin
    if radiobutton2.Checked=true
    then edit1.Enabled:=false;
    speedbutton1.Enabled:=true;
    end;
    Code:
    procedure TForm2.FormCreate(Sender: TObject);
    begin
    radiobutton1.Checked:=true;
    end;
    Ну и сама отсылка.Я подумал сделать из акков и отдельно от мыла.
    но т.к. там всего 5 отсылов то с акками не стал заморачиваться.а принцип с акками легок и прост.Т.к. мы работаем со стринглистом то делаем банальный цикл:
    Code:
    txt:=tstringlist.Create;
    txt.LoadFromFile(filename);// указывается через opendialog для удобства.
    for i:=0 to txt.Count-1 do // список с 0 индекса,не забываем.
    
    ну и заполняем стринглист.
    обратно отправляем мыло и смотрим в сниффер:

    Code:
    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('НЕ отослано!);
    
    Вот собсно и все.Не оч сложный код,но работает на ура.как будет средство,возьму там доступ,поспамлю.
    Вот че получаем:[​IMG]

    Еще один минус что я заметил,это не разрешается отправка с правительственными доменами (gov,mil),но я думаю спамер+грамотная речь=профит!.
    Всем спасибо за внимание.Прошу не кидаться гнилыми помидорами:):).
     
    _________________________
    #1 DooD, 15 Jan 2012
    Last edited: 15 Jan 2012
    5 people like this.
  2. Ali_baba_

    Ali_baba_ Member

    Joined:
    10 Mar 2011
    Messages:
    109
    Likes Received:
    10
    Reputations:
    -5
    Там если пробный акк (на пять сообщений), то внизу прибавляется подпись сервиса. Ты чуть на скрине это обрезал самом нижнем ;) А так всё супер, плюс тебе!
     
  3. DooD

    DooD Moderator

    Joined:
    30 Sep 2010
    Messages:
    1,181
    Likes Received:
    419
    Reputations:
    288
    спс.но я не наблюдаю что то.
    вот полный скрин
    [​IMG]
     
    _________________________
  4. Ali_baba_

    Ali_baba_ Member

    Joined:
    10 Mar 2011
    Messages:
    109
    Likes Received:
    10
    Reputations:
    -5
    На твоем скрине под словом lol есть такая маленькая кнопочка с обозначением "..." . Если на нее нажмешь, увидешь подпись. Благо для спуферов, gmail сворачивает подписи таким вот образом, насчет остальных почтовиков не помню если честно. Раньше не сворачивали.
    Внизу скрин, куда щелкать левой кнопкой мыши, чтоб увидеть подпись:
    [​IMG]

    p.s Сорри за кривое обведение, обводил 2 секунды, суть думаю ясна. Нажми туда и увидешь, о чем я говорю.
     
  5. DooD

    DooD Moderator

    Joined:
    30 Sep 2010
    Messages:
    1,181
    Likes Received:
    419
    Reputations:
    288
    я,понял,я не нажимал на ту пимпу просто.но там вроде за оплату енту хрень отключить можно.надо будет изучить досконально тот серв.
     
    _________________________
  6. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    1,012
    Likes Received:
    162
    Reputations:
    27
    Открою всем еще один мега-приватный способ отправки таких писем: с помощью любого хостинга с поддержкой php и функции mail().
     
    3 people like this.
  7. [none]

    [none] Banned

    Joined:
    22 Nov 2009
    Messages:
    87
    Likes Received:
    26
    Reputations:
    -6
    Chrome~ нет такого ! не ври нам !
     
  8. tght

    tght Member

    Joined:
    24 Jun 2010
    Messages:
    178
    Likes Received:
    10
    Reputations:
    0
    +1. В сотни раз удобнее.
     
  9. Империал

    Joined:
    11 Mar 2010
    Messages:
    1,242
    Likes Received:
    57
    Reputations:
    1
    Только где бы еще open relay найти для реализации всего этого
     
  10. ivkanzar

    ivkanzar New Member

    Joined:
    6 Sep 2018
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Сейчас реально с поддельного адреса отправить?