Валим Сервер! Как круто звучит не правда ли? Я
уверен, что любой, кто хоть раз заставил reboot'нуться сервер, да
ещё и какой-нибудь известный, считает себя мега-3d-хакером... Чесно
говоря, когда я не имел и представления, о том чем вообще занимается
"сервер", я тоже считал таких перцев богами. На самом деле всё не
так то сложно, но вынужден согласиться, что для того, чтоб так
думать надо ещё кое-что и знать. Вот об этом "кое-что" мы с тобой и
поговорим. Сегодня дорогой мой друг, мы займёмся атакой на
лоха с помощью Domain Name System (DNS).
Работа DNS-серванта представляет из
себя простое сопоставление каждому IP, своего уникального DNS-имени.
Итак, юзер вводит в поле адреса www.prodex.net. Его машина
отправляет на ближайший DNS-сервер запрос, содержащий вводимый
адрес, ID этой тачки, UDP-порт, с которого производился запрос, и на
который должен ответить сервер и много другой хрени... Получив
запрос, сервер начинает поиск по своей базе данных. Если он нашёл
IP, соответствующий данному имени, то он отправляет ответ юзеру в
соответствии с запросом. Если нет, то он отправляет запрос на другой
DNS-сервер, и т.д. и т.п.
А теперь, собственно, об
атаке. Прикинь, что жертва отправила запрос на такой-то
сервер. Прикинул? Так вот, теперь прикинь, что мы взяли и
перехватили этот самый запрос. Сразу возникает 2 вопроса: КАК? и
ЗАЧЕМ?
1. Атакующий должен находиться на пути
основного траффика или в одном сегменте с DNS-сервером. С сегментом
врядли получится, а вот с ноутбуком прийти под дверь жертвы и
"врезаться" в телефонную линию - запросто!. 2. С помощью
всей этой байды ты сможешь читать всю проходящую инфу! Прикинь, что
жертва заказывает, что-либо в инете. Для этого ему прийдётся ввести
номер кредитки, а дальше я думаю рассказывать не
надо...
У многих сразу
возникает вопрос: И как ловить этот самый запрос-то? Какие
для этого нужны инструменты? Что значит пакет? Вот ща я тебе и
объясню подробную схему. Порт DNS-сервера по умолчанию 53-й (никогда
ещё не встречал других портов для него). Поскольку мы будем из себя
представлять DNS-сервер (хоть и ложный), то и мы должны открыть у
себя 53-й порт, на который жертва будет посылать запрос.
Естесственно, что всё это реализовывается из под *nix - системы. Я
ещё ни разу не видел, чтобы DNS-сервак стоял под WIN32. Так что все
кто в *nix'ах 0 - можете забыть про всё это дело.
Поскольку
хост посылает запрос на ближайший сервер (а это именно ты. Ты ж прям
у него под дверью...), то именно ты получаешь возможность сниффить
весь траффик. Итак, жертва отправила тебе запрос на 53-й порт.
При этом, если это первый запрос, то отправляет она его с 1023
порта. Почему так, объяснять долго и это не настолько важно. При
следующем запросе, это значение увеличьтся на 1 (т.е. 1024) и т.д.
Итак, ДНС-сервак ты из себя допустим сделал, но надо же ещё и пакеты
хватать? А вот для этого устанавливай на свою тачку какой-нибудь
сниффер, и слушай те порты которые тебе интересны (Например 80,
5190, 110).. Ну, допустим, что пакет с запросом ты схватил.
Теперь надо извлечь из него UDP-порт отправителя, его IP, его
ID-номер, и адрес, который он запрашивает.
Теперь самое важное. После изменения IP'шника
отправителя на свой ты пропускаешь на сервер этот пакет с теми же
значениями UDP-порта, что и жертва присылала тебе! После посылки
запроса на реальный сервант, ты получаешь ответ от него. В нём
содержится IP для www.popka.ru, извлекаешь из него UDP-порт, на
который ты пошлёшь фальшивый ответ лоху, изменяешь IP-адрес попки на
IP-адрес того сайта, на который ты хочешь. 1-е нужно, чтоб юзак
ПОЛУЧИЛ твой фальшивый ответ (а ждать он его будет только по одному
порту, который пришлёт тебе настоящий сервак), 2-е, чтоб он думал,
что у www.popka.ru адрес, в реальности соответствующий
www.prodex.net. Таким образом получается, что ВАСЯ думает, что ты
- DNS-сервер, а последний думает, что ты - это ты, только в виде
обыкновенного юзера, который просто хочет посмотреть чей-то
сайт.
Итак, ты отправил Васе ложный ответ, и
теперь его система знает, какой IP'шник у сайта www.popka.ru.
(Заметь, его система теперь думает, что у www.popka.ru IP-адрес,
реально соответствующий www.prodex.net) И вот теперь, его тачка
посылает запрос уже зная IP, на соединение с "сайтом".
Некоторым хватит того, что юзер просто
попадёт на ту страничку, которую они захотели, но реальный шоколад
ещё в переди. А то, что юзак при заходе на ЛЮБУЮ страничку будет
постоянно попадать на www.prodex.net - не интересно. Это разве, что
счётщик себе немного накрутить, да поржать с его реакции. На
следующий день моя жертва, на первом же уроке растрезвонила, что
видите ли ИНТЕРНЕТ У НЕГО ПОЛОМАЛСЯ! Постоянно попадает только на
один сайт.
А вот дальше - больше. Теперь попробуем
"читать" его траффик. Конечно, это не имеет смысла если ты заставил
его посещать один и тот же сайт. Чтобы замутить всё это дело, в
ответе DNS-сервера, надо не поменять IP-адрес www.popka.ru не на IP
твоего сайта, а на IP твоего компьютера. А ты при его запросах
будешь посылать свои запросы на тот сервант, на который хочет он. И
в итоге жертва попадёт туда куда и хотела, только через
промежуточный компьютер (тебя). Теперь получается, что жертва будет
думать, что ты - СЕРВЕР, на котором стоит тот сайт, который он и
хотел. А настоящий popka.ru будет думать, что ты - это ВАСЯ, простой
маленький мальчик, который хочет купить в СЕКС-шопе резиновую
тётьку.
Ладно, меньше текста. Итак, жертвяк
посылает ТЕБЕ на комп запрос на форму заказа. В этом запросе просто
меняй IP отправителя (то бишь жертвы) на свой, и пропускай пакет
далее. Попка.Ру посылает ТЕБЕ ответ. Точно так же меняй ИП попки на
СВОЙ и отправляй Василию. И так далее, до тех пор пока не пойдёт
интенсивная передача большого числа пакетов. Это будет значить, что
юз начал отправлять свои данные. Номер кредитки, пароль, ID-заказа,
имя своей пробабушки, резус-фактор крови его сдохшего попугая и т.д.
ВСЁ! Самое главное сделано. Ты знаешь все его секреты (я про пароли,
а не про попугая). Но ещё надо, чтобы всё прошло гладко и тихо. Для
того чтобы на креде осталось побольше денюжек, то не отправляй
запрос ВАСИ на резиновую тетку (кстати стоит не хило) на сервер
POPKA.RU Вася подумает: "Чё за шняга? Почему ничего не
заказалось?" и начнёт всё заново. Тебе оно надо?
Итак, можешь свободно отключаться от
ПОПКИ.РУ и оставайся наедине в связи с компом Василия. Можно конечно
всё решить куда вандальнее, но это не по-хацкерски. Для вандалов:
бери нож, иди к двери Василия, отрезай телефонный провод. Далее иди
с проводом к щитку и отрезай его теперь и там. И убегай в ближайший
банкомат с проводом. Пока Василий разберётся, что провод вырезали,
пока найдёт новый, чтобы восстановить связь, пока будет возмущаться,
пока пошлёт новый запрос на резиновую тёлку, на его креде уже нихера
не будет денег. И Вася идёт в милицию, а оттуда в пивбар "заливать"
своё горе, т.к. никто ему уже не поможет.
Если ты не настолько вандал, и тебе
жалко Васю, который раскошелится на новый провод, то делай всё
по-хацкерски. А именно - надо сначала сыммитировать интенсивную
передачу данных на ПОПКУ (просто попингуй его немного), а потом,
послать ему ответ в виде сообщения: "Ваш заказ выполнен успешно.
Через 2 часа вам на почту прийдёт письмо, с просьбой подтвердить
заказ. И если вы подтвердите своё решение, то через 2-3 дня вы
сможете довольствоваться своей резиновой тёлкой. С уважением
директор Секс-Шопа №8 - Ваня Игнатьевич Гонобобель."
Естессно, что Вася ничерта не поймёт и
спокойно будет ждать письма. Если ты никак не доберёшься до
банкомата за 2 часа, то в письме напиши: "...через 4 часа вам на
почту прийдёт письмо..." А ещё лучше через этот срок, напиши ему
это самое письмо с просьбой подтвердить. Пускай подтвердит и дальше
уже ждёт 3 дня. Ну за такой срок можно смотаться куда угодно, и
найти банкомат.
Я надеюсь, что прежде чем идти на такое
преступление, ты всё тщательно обмозговал, и понял, что делать ты
этого не будешь. И вобще, я эту статью написал для таких, как герой
этого рассказа - ВАСЯ. Василий, я просто хочу, чтоб ты знал куда
деваются деньги с кредитки, и как это наглые хакеры делают. Возможно
ты парень умный, и тут же максимально предохранишься от всего этого.
А если ты почти умный, и никуда не побежишь, ради защиты, то
парниша, я тебя всё равно люблю. Иначе не было бы халявы на планете
сей...
|