Как узнать IP ламера в чате. Отвечаем на самый-самый Ча.Во.

Шутов

Xakep, номер #050, стр. 052-053

shutov@xakep.ru

Тебе не кажется, что этот вопрос стал риторическим? Его всегда задавали и будут задавать. А сколько появляется все новых и новых решений... в ТОР FAQ нашего горячо любимого журнала это один из лидирующих вопросов. Задают же его чаще всего те, кто только встает на "хакерский", как говорится, путь, и пытается "взломать" различные чаты. Но знаний, как правило, не хватает. А тем, у кого хватает, это уже неинтересно: высокий уровень - высокие интересы, хотя это уже философия. Так что вернемся к нашей теме.

HTML обделка

Сейчас я хочу продемонстрировать один из способов решения вышеозначенной задачи. Итак, как обычно, понадобятся мозги, прямые руки, а также кое-какие знания HTML'а и Delphi. Сразу отмечу, что не придется лезть на сервак и изучать внутренности чата, а просто будет применена хитрость, немного социальной инженерии и, естественно, знания. Итак, начнем. Прежде всего необходимо завести себе сайт (страницу в интернете) на любом хостинге. Здесь самое важное - наличие "правильного" адреса. Под этим я подразумеваю лишь одно: он должен нести небольшую смысловую нагрузку, но не более того (что-нибудь вроде in-zone.net.ru). В принципе, придумать его не составит особого труда.

Теперь необходимо подготовить страницу для закачки на сервер. Главное, чтобы страница содержала фреймы, причем один из них должен быть скрытым! В принципе неважно, каким способом это осуществить, просто через фрейм, на мой взгляд, удобнее. Итак, надо сделать фреймы таким образом: простой фрейм должен грузиться со страницы, которая находится на том же сервере, а скрытый должен грузиться "с домашнего компа" :). Сейчас объясню в чем тут фишка: пользователь, загрузив такую пагу с сервера, на самом деле незаметно для себя запросит страницу к нашей IP-шке, то есть соединится с нами! А если он это сделает, то просто засветит свой IP. Вот в чем весь смысл этого способа определения IP чела из чата! Я тут накатал необходимую хтмлку (т.е. index.htm):

<html><head><title>Site_Name</title></head><frameset cols=100%,*"><frame src="next_page.htm" noresize><frame src="http://your_ip/" noresize></frameset></html>

На месте your_ip необходимо ввести свой IP-адрес, чтобы браузер пользователя запросил страницу. Если же выход в интернет происходит через dialup, то в таком случае придется туговато: каждый раз придется менять IP-адрес в форме и опять заливать это на сервер. А все из-за того, что большинство провайдеров при каждом новом соединении выдают новый IP. Потом следует закачать next_page.htm, иначе у пользователя возникнут ненужные подозрения. В этот файл можно повесить все что угодно, допустим, надпись "сайт на реконструкции", или вообще сделать редирект на нормально работающий сервер.

Написание спецсофта

Теперь, как можно догадаться, нужен сам софт. Написан он на родных дельфях. Берется Delphi (не ниже 6.0). Суть данной программы будет сводиться к тому, чтобы отловить запрос на 80-ый порт, куда и будет коннектиться браузер жертвы. Создается новый проект: File->New->Application. Кидается на Form'у: ListBox, MainMenu, PopupMenu, StatusBar (с закладки Win32), IdHTTPServer (c закладки IndyServers). Сразу же оговорюсь, что не обязательно юзать IdHTTPServer, данный пример можно легко переделать под ServerSocket, просто показательнее и проще будет продемонстрировать программу именно с этим компонентом. Но вернемся к программе и поменяем имена компонентов следующим образом:

ListBox = lbAddConnectMainMenu = MMenuPopupMenu = ClickMenuStatusBar = StatusIdHTTPServer = Server

Теперь небольшие изменения для создания удобного интерфейса:

  1. В Align у lbAddConnect стоит установить alClient;
  2. В MMenu создается менюшка, можно обозвать ее 'Мониторинг'. В нее надо добавить три ниспадающие Item с Caption'ами:
    • 'Старт' (имя mStart);
    • 'Стоп' (имя mStop и отрубить в Disabled);
    • 'Выход' (mExit, также прописать код - строчку: Close;).
  3. В ClickMenu создается две Item: одна с названием cmCopy и Caption'ом 'Копировать', а вторая с cmClearAll и 'Очистить все';
  4. В lbAddConnect в настройке PopupMenu необходимо выбрать ClickMenu (таким образом произошла привязка ClickMenu к lbAddConnect);
  5. У Status в Panels добавить новую (Add New);
  6. В Uses добавить ClipBrd - это понадобится в дальнейшем для копирования в буфер обмена строк.

С формами все, можно приступать к написанию самого кода. Далее щелчок мыши по Старту в главном Меню (MMenu) и дальнейшее прописывание кода:

procedure TForm1.mStartClick(Sender: TObject);beginServer.Active:=True; //запускаем "сервер"lbAddConnect.Items.Add('Сервер активирован: '+FormatDateTime('hh.nn.ss',now));Status.Panels[0].Text:='Монитор работает'; //вывод инфы пользователю, что сервер работаетmStart.Enabled:=False;mStop.Enabled:=True;end;

Теперь в MMenu надо выбирать 'Стоп' и прописать:

procedure TForm1.mStopClick(Sender: TObject);beginServer.Active:=False; //вырубаем "сервер"lbAddConnect.Items.Add('Сервер остановлен: '+FormatDateTime('hh.nn.ss',now));Status.Panels[0].Text:='Монитор не работает';mStart.Enabled:=True;mStop.Enabled:=False;end;

А сейчас самое интересное. В Events server'a выбирается событие OnConnect и пишется к нему такой код:

procedure TForm1.ServerConnect(AThread: TIdPeerThread);beginlbAddConnect.Items.Add('Внимание, обнаружен коннект:');lbAddConnect.Items.Add(AThread.Connection.Binding.PeerIP); // определение IP подсоединившегосяend;

Теперь написание обработчика события для Items в ClickMenu:

1) Для cmCopy ('Копировать'):

procedure TForm1.cmCopyClick(Sender: TObject);var Bo: TClipboard;begin{Копируем в буфер обмена}Bo:=TClipboard.Create; //создается объект клипбордаBo.SetTextBuf(pchar(lbAddConnect.Items.Strings[lbAddConnect.ItemIndex])); //копируетсяBo.Free; //уничтожается созданный ранее объектend;

2) Для cmClearAll ('Очистить все'):

procedure TForm1.cmClearAllClick(Sender: TObject);beginlbAddConnect.Items.Clear;end;

Вот и все с написанием. Осталось только это скомпилировать. Ну, а для особых лентяев могу предложить зайти на www.xakep.ru и взять готовый вариант там.

Приглашение на сеанс

Теперь осталась последняя задача - заставить пользователя зайти на такую страничку. Что, в принципе, не очень трудно, но встречаются личности, которых очень проблематично пробить на клик по ссылке. Например, если чат, в котором находится человек, не поддерживает открытие ссылок, то такому пользователю просто будет влом копировать линк и заходить на него. Правда, для таких есть набор готовых мессаг, дабы привлечь их на твой сайт. И запомни вот что: разговаривать с жертвой необходимо только в привате! Так как, если говорить в общем чате, то любой желающий может загрузить страницу-ловушку, и в итоге будут получены левые IP-шки.

1. Прямая просьба:

Осуществляется без предварительного разговора, то есть это простая прямая фраза, обращенная к кому-либо в привате. Например:

  • Cмотри, http://your_site
  • Это вот не про тебя написано? http://your_site его_ник - это же твой настоящий ник?
  • Тут на http://your_site как раз на эту же тему, что ты с _чей-то_ник_ говоришь.

2. Разговор:

Здесь необходимо сначала познакомиться с жертвой, а затем дать ссылку на сайт для посещения. В большинстве случаев такое знакомство необходимо делать из-под "левого" ника. (см. пример ниже).

3. Разговор из-под противоположного по полу ника:

Сначала необходимо определить пол человека, который скрывается за ником. Конечно, иногда это достаточно сложно. Вообще, в идеале можно брать нейтральный ник, а затем уже действовать по обстоятельствам. Итак, мужчину можно заинтересовать тем, что ты необычная девушка, ищущая знакомства в инете (хотя в реале такое вряд ли может быть :)). И пошли куда подальше всех, кто против таких способов добычи инфы (IP), так как есть определенная цель! Адрес сайта можно дать как месторасположение своих откровенных фотографий ;).

- женщину же намного легче пробить на посещения паги. Конкретных примеров я привести не могу, так как во всех моих экспериментах девушки практически сразу посещали урл моего сайта ;).

А вот пример привлечения одного собеседника. Коннекчусь по диалапу. Прежде всего смотрю свой IP в настройках сети. Сразу же забиваю его в HTML. Пускаю свеженаписанную прогу, жму Мониторинг->Старт. Набиваю в ослике IE адрес бесплатного хостера, я выбрал narod.ru. Регю у него сайт koplot.narod.ru. Затем по FTP закачиваю index.htm и next_page.htm. Захожу в чат на http://www.xakep.ru, там всегда кто-нибудь зависает "не из мира сего" ;). Ввожу ник Kipling и начинаю разговор:

17:49 Kipling: Привет всем17:50 Red: Есть креды, давай меняться?< Опа, есть разговор, причем жертва сама лезет ;) >17:51 Kipling лично Red: Давай, вот тут на моем сайте расценки koplot.narod.ru17:53 Red лично вам: Давай. Базу на базу. Я на сайт пока не заходил, но сейчас буду.< Терпеливо жду, когда он посмотрит сайт... Есть коннект. Копирую IP-шку ;) >17:53 Kipling лично Red: Ну что, голубчик, попался?17:54 Red лично вам: Вообще сколько у тебя штук есть? (в смысле мастеркард и виза)< Он все еще витает в своих облаках :) >17:54 Kipling лично Red: 62.76.169.62 твое? ;)< В это время сканю IP-шку LANguard NetWork Scanner'ом... >

Результат. Это Unix-система, открыто два порта: 22 и 3128. Ясно, парень сидит через прокси. Развести чела не удастся :(. Конечно, были и более удачные разговоры, не но всегда же везти будет. Поэтому пиши софт, компиль, и в чат - набираться опыта! :)

На этом я с тобой прощаюсь. Надеюсь, теперь у тебя не будет больших запарок при выяснении IP-адреса чела. Успехов :).

Содержание
Выпуски журнала "Xakep"
Журнал Хакер. Содержание номера #001Журнал Хакер. Содержание номера #002Журнал Хакер. Содержание номера #003Журнал Хакер. Содержание номера #004Журнал Хакер. Содержание номера #005Журнал Хакер. Содержание номера #006Журнал Хакер. Содержание номера #007Журнал Хакер. Содержание номера #008Журнал Хакер. Содержание номера #009Журнал Хакер. Содержание номера #010Журнал Хакер. Содержание номера #011Журнал Хакер. Содержание номера #012Журнал Хакер. Содержание номера #013Журнал Хакер. Содержание номера #014Журнал Хакер. Содержание номера #015Журнал Хакер. Содержание номера #016Журнал Хакер. Содержание номера #017Журнал Хакер. Содержание номера #018Журнал Хакер. Содержание номера #019Журнал Хакер. Содержание номера #020Журнал Хакер. Содержание номера #021Журнал Хакер. Содержание номера #022Журнал Хакер. Содержание номера #023Журнал Хакер. Содержание номера #024Журнал Хакер. Содержание номера #025Журнал Хакер. Содержание номера #026Журнал Хакер. Содержание номера #027Журнал Хакер. Содержание номера #028Журнал Хакер. Содержание номера #029Журнал Хакер. Содержание номера #030Журнал Хакер. Содержание номера #031Журнал Хакер. Содержание номера #032Журнал Хакер. Содержание номера #033Журнал Хакер. Содержание номера #034Журнал Хакер. Содержание номера #035Журнал Хакер. Содержание номера #036Журнал Хакер. Содержание номера #037Журнал Хакер. Содержание номера #038Журнал Хакер. Содержание номера #039Журнал Хакер. Содержание номера #040Журнал Хакер. Содержание номера #041Журнал Хакер. Содержание номера #042Журнал Хакер. Содержание номера #043Журнал Хакер. Содержание номера #044Журнал Хакер. Содержание номера #045Журнал Хакер. Содержание номера #046Журнал Хакер. Содержание номера #047Журнал Хакер. Содержание номера #048Журнал Хакер. Содержание номера #049Журнал Хакер. Содержание номера #050Журнал Хакер. Содержание номера #051Журнал Хакер. Содержание номера #052Журнал Хакер. Содержание номера #053Журнал Хакер. Содержание номера #054Журнал Хакер. Содержание номера #055Журнал Хакер. Содержание номера #056Журнал Хакер. Содержание номера #057Журнал Хакер. Содержание номера #058Журнал Хакер. Содержание номера #059Журнал Хакер. Содержание номера #060Журнал Хакер. Содержание номера #061Журнал Хакер. Содержание номера #062Журнал Хакер. Содержание номера #063Журнал Хакер. Содержание номера #064Журнал Хакер. Содержание номера #065Журнал Хакер. Содержание номера #066Журнал Хакер. Содержание номера #067Журнал Хакер. Содержание номера #068Журнал Хакер. Содержание номера #069Журнал Хакер. Содержание номера #070Журнал Хакер. Содержание номера #071Журнал Хакер. Содержание номера #072Журнал Хакер. Содержание номера #073Журнал Хакер. Содержание номера #074Журнал Хакер. Содержание номера #075Журнал Хакер. Содержание номера #076Журнал Хакер. Содержание номера #077Журнал Хакер. Содержание номера #078Журнал Хакер. Содержание номера #079Журнал Хакер. Содержание номера #080Журнал Хакер. Содержание номера #081Журнал Хакер. Содержание номера #082Журнал Хакер. Содержание номера #083Журнал Хакер. Содержание номера #084Журнал Хакер. Содержание номера #085Журнал Хакер. Содержание номера #086Журнал Хакер. Содержание номера #087Журнал Хакер. Содержание номера #088Журнал Хакер. Содержание номера #089Журнал Хакер. Содержание номера #090Журнал Хакер. Содержание номера #091Журнал Хакер. Содержание номера #092Журнал Хакер. Содержание номера #093Журнал Хакер. Содержание номера #094Журнал Хакер. Содержание номера #095Журнал Хакер. Содержание номера #096Журнал Хакер. Содержание номера #097Журнал Хакер. Содержание номера #098Журнал Хакер. Содержание номера #099Журнал Хакер. Содержание номера #100Журнал Хакер. Содержание номера #101Журнал Хакер. Содержание номера #102Журнал Хакер. Содержание номера #103Журнал Хакер. Содержание номера #104Журнал Хакер. Содержание номера #105Журнал Хакер. Содержание номера #106Журнал Хакер. Содержание номера #107Журнал Хакер. Содержание номера #108Журнал Хакер. Содержание номера #109Журнал Хакер. Содержание номера #110Журнал Хакер. Содержание номера #111Журнал Хакер. Содержание номера #112Журнал Хакер. Содержание номера #113Журнал Хакер. Содержание номера #114