Карта сайта Хакер в RSS Энциклопедия Хакера PDA версия сайта Почтовые рассылки Хакера    Хакер в Twitter
Журналы Новости Форум Видео Life Xakep Live (блоги)
Bugtrack Статьи Блог Поиск English
$1000 на Android: зарабатываем на приложениях для мобильной платформы от Google $1000 НА ANDROID: ЗАРАБАТЫВАЕМ НА ПРИЛОЖЕНИЯХ ДЛЯ МОБИЛЬНОЙ ПЛАТФОРМЫ ОТ GOOGLE
27.07.2010

Пара вечеров экспериментов и неожиданно удачная идея позволили за 2 месяца заработать более $1000. Это гораздо больше, чем я мог ожидать...
Фабрика сплоитов ФАБРИКА СПЛОИТОВ
26.07.2010

Откуда берутся сплоиты? Задумывался ли ты, каким образом тусклая новость из багтрака превращается в реально работающую отмычку...

ИЗУЧАЕМ СЕТЬ НА УРОВНЕ ПАКЕТОВ

n0ah (noah@real.xakep.ru)

Спецвыпуск Xakep, номер #021


lcrzoex - это универсальная сетевая тулза, имхо, необходимая любому перцу, который что-либо мутит в net`е (например, изучает ;) DoS-атаки). Сам разработчик пишет о своей проге так: "lcrzoex is a toolbox for network administrators and network hackers", что означает: "lcrzoex - это набор инструментов для сетевых администраторов и сетевых хакеров" (ну как мы могли обделить вниманием программу, в описании которой сказано, что она для хакеров? :)). И действительно: lcrzoex - это не одна тулза, а целый комплект примочек (около трех сотен), объединенных в одну большую махину. Тут тебе и сканнер, и сниффер, и спуфер, и пинг - одному Туксу известно, чего там нет. Так что, приятель, если тебе нужен мощный и универсальный инструмент для своих темных делишек, качай - не пожалеешь. Для меня эта прога стала одной из основных после первого же знакомства :).

СТАВИМ

Качнуть lcrzoex можно тут: http://www.laurentconstantin.com (текущая версия - 4.1). Но чтоб все заработало, придется скачать еще и библиотеку lcrzo (найдешь на этом же сайте). Есть исходники под nix и бинарники под win.

С мастдаями я связываться не стал, а скачал родные никсовые .tgz`шки. Как оказалось, для работы под линухом lcrzoex`у нужна библиотека libpcap. Не вопрос: нашел в Инете версию этой библиотеки 0.4, поставил и... и убил себе три часа времени :(. Во время компиляции lcrzoex (который ставится уже после lcrzo) возникли эрорчики, и я полез править исходники. Потратив кучу времени, пофиксил первый эрор, а когда добрался до места в коде со вторым, жестоко обломался, увидев вот такой вот комментарий к коду:

Оказывается, нужно было ставить libpcap не меньше версии 0.6. Черт, как я зол был! Наковырялся в чужом коде по самые помидоры :). Ок, сношу libpcap-0.4, ставлю libpcap-0.6 (он у меня в дистрибутиве оказался) - на этот раз все компилируется нормально. Ставится lcrzoex следующим образом: сначала распаковываешь архив с lcrzo, залезаешь в получившуюся директорию, в ней лезешь в ./src и вводишь последовательно: "./genemake", "make", "make install". То же самое проделываешь с самим lcrzoex. Все, теперь прога установлена - можно вводить в командной строке "lcrzoex" и начинать более тесное знакомство. Кстати, о тесном знакомстве: на сайте имеется архивчик с документацией, в котором есть довольно подробные туториал, мануал и экземплы :). Качни, если не ломает.

ЩУПАЕМ

Для того чтобы запустить одну из 300 тулз, надо вбить:

lcrzoex nnn

Где "nnn" - это номер тулзы. Чтобы узнать, какие вообще тулзы бывают и какие у них номера, надо просто запустить lcrzoex без параметров.

Перед нами главное меню проги. Каждому пункту подменю соответствует своя буква или цифра. Давай для начала посмотрим, что имеется в easy tools (типа, простые тулзы, буковка "a").

Хм, мне почему-то интересно посмотреть, что скрывается под заманчивым "sniff packets and prin them" под буковкой "d" (кстати, видишь, рядом стоит номер - 274, это означает, что эту тулзу (в данном случае - сниффер) можно вызвать, просто набрав lcrzoex 274). Топаем батон "d", видим кратенькое описание тулзы, а потом, выпав в командную строку, набираем это самое "lcrzoex 274".

Сниффер предлагает выбрать интерфейс, по которому надо сниффать - выбираем loopback (lo - 1).

Теперь прога предлагает выбрать способ отображения перехваченных пакетов - выбираем второй, он самый простой. Все, прога перешла в режим перехвата. Все, что будет отловлено, будет выводиться на экран (для ознакомления это удобно, но в реальной ситуации лучше сохранять все в файл - для этого в главном меню надо выбрать пункт "c", а в нем "b" - дальше выберешь то, что надо). Для проверки откроем другое окно терминалки и пропингуем себя же:

ping 127.0.0.1

Сниффак показывает, что от 127.0.0.1 на 127.0.0.1 пришел ICMP_ECHO_REQUEST (ICMP8), а потом от 127.0.0.1 на 127.0.0.1 ушел ответный ICMP_ECHO_REPLY (ICMP8). И так три раза :). Ок, давай усложним пример: выберем более подробный способ отображения перехваченных пакетов. Жмем Ctrl+C, чтоб выйти из сниффака в консоль, потом набираем "lcrzoex 274", выбираем интерфейс lo и способ отображения под циферкой "4". Пингуем еще раз:

ping 127.0.0.1

Ну как? Нравится :)? То, что в виде таблички - это заголовок пришедшего эхо-запроса, ниже - данные в шестнадцатеричном формате, потом заголовок ушедшего пинг-ответа со своими данными (такие же, как пришедшие, так как пинг всегда возвращает то, что получил). Приятель, таким образом (засылая себе всякие запросы, сниффая их и изучая пакеты) можно научиться формировать любой пакет ручками! А это как раз самое оно для проведения DoS-атак!!! А для того, чтобы формировать пакеты, мы воспользуемся другой тулзой из lcrzoex (я же говорил - там есть все ;)). Но давай сначала попробуем еще одну фишку: залезем к себе на web-сервер, запросим index.html, посниффаем пакеты и посмотрим, как они выглядят (для того, чтобы научиться самим формировать запросы к web-сервакам на уровне пакетов). Для этого делаем телнет себе на 80 порт:

telent 127.0.0.1 80

Все гуд, коннект есть. Посмотрим, что показывает сниффак.

А он показывает, что прошли какие-то заголовки - данных пока нет. Ок, сейчас сделаем и данные: пишем в окне телнета:

GET /index.html

Видим, что web-сервак прислал нам содержание index.html (я его специально сделал таким простым, чтоб не загромождать) и закрыл соединение. А что нам скажет сниффер? Смотрим:

На скрине все, естественно, не поместилось, поэтому я тебе показываю только пакеты с шестнадцатеричными данными нашего запроса (GET /index.html) - там ниже есть еще ответ сервака с содержанием index.html, а также пакеты закрытия соединения. Короче, все это не так важно - важно то, что таким образом можно своими глазами увидеть каждый пакет (любой), чтоб в дальнейшем суметь самому собрать такой же. Если интересно, можешь точно так же приконнектиться к своему telnet-серваку (или к любому другому) и посмотреть, каким образом там происходит взаимодействие на уровне пакетов. А я сейчас расскажу, как при помощи lcrzoex генерировать пакеты.

Так как мы тут по полной калбасимся DoS-атаками, вникая и разгребая, давай я сразу покажу, как генерить споупанные пакеты - это актуальнее ;). Заходим в главное меню lcrzoex и нажимаем клавишу "e" (Ethernet and IP spoof) - под ней лежат тулзы для снифа по езернету и по IP. Езернет может пригодиться, если есть локалка, но у меня ее сейчас нет, так что буду рассказывать про IP spoof. Меню спуфных тулз выглядит так.

Как видишь, все разбито на протоколы. Давай посмотрим на примере ICMP-спуфинга, на его основе можно сделать кучу DoS-атак. Жмем "e" и попадаем в еще одно меню.

Все тулзы, в описании которых имеется ETH, относятся к езернетовскому спуфингу, поэтому нас будут интересовать только первые две тулзы (буква "a" и буква "b"). А отличаются они тем, что первая тулза работает как мастер, постепенно задавая тебе вопросы и собирая параметры, а вторая - просто ждет от тебя командную строку с уже проставленными параметрами. Когда ты уже хорошенько ознакомишься с lcrzoex, будешь пользоваться только вторым вариантом (так удобнее), а пока давай посмотрим, что с первым. Жмем "a", видим номер тулзы и выпадаем в командную строку. Номер тулзы - 65, поэтому, для того чтобы ее вызвать, надо набрать:

lcrzoex 65

Тулза сразу спрашивает, мол, что будем подставлять под source IP? Вводим, что надо, например: 192.168.0.3. Сразу следующий вопрос: куда слать? Пускай - самим себе: 127.0.0.1. IP options - просто жмем Enter. Type - какой тип ICMP пакета слать будем? Эта прога позволяет создать любой ICMP-пакет, но мы давай воспользуемся типом ICMP_ECHO_REQUEST, как обычный пинг (только спуфанный ;)) - вбиваем цифру "8". Code - жмем Enter. Packet`s data - данные, которые будут отправляться внутри пакета. Для ICMP_ECHO_REQUEST не важно, что будет внутри, так как ICMP_ECHO_REPLY вернет то же самое, поэтому вводим что-нибудь типа 'fuck you!'. Все, пакет готов - осталось только нажать Enter ;).

Таким же образом можно собрать абсолютно любой пакет любого протокола! А чтобы окончательно убедить тебя в том, что lcrzoex - рулез суперский, просто перечислю какие еще тулзы там есть (мы посмотрели только сниффер и спуфер): кастамайзимируемые клиенты и сервера для любых протоколов, трейсроуты и пинги, сканнеры, флудеры, встроенные эксплоиты (в том числе и для DoS), отправка спуфанного мыла, брутфорсеры (для огромного количества сервисов), различные конверторы (даже dos2unix) и еще целая куча других тулз.

ЗЫ

Если все таки поставишь себе эту штуку, загляни в main menu->malicious utilities->network attacks->ICMP attacks.

Содержание  





Предыдущие номера


    Rambler's Top100