Как узнать IP ламера в чате. Отвечаем на самый-самый Ча.Во.ШутовXakep, номер #050, стр. 052-053 Тебе не кажется, что этот вопрос стал риторическим? Его всегда задавали и будут задавать. А сколько появляется все новых и новых решений... в ТОР 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 Теперь небольшие изменения для создания удобного интерфейса:
С формами все, можно приступать к написанию самого кода. Далее щелчок мыши по Старту в главном Меню (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. Прямая просьба: Осуществляется без предварительного разговора, то есть это простая прямая фраза, обращенная к кому-либо в привате. Например:
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-адреса чела. Успехов :). Содержание |


















































































































