Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #32, ИЮЛЬ 2003 г.

НАКОРМИ СЕРВАК ЯДОВИТЫМ ПУДИНГОМ!

Ушаков Андрей aka A-nd-Y

Спецвыпуск Xakep, номер #032, стр. 032-056-1


(Andy_@timus.ru)

СТРОИМ СВОИ СОБСТВЕННЫЕ ПАКЕТЫ В ЛИНЕ

Для использования спуфинга в простейшем случае достаточно взять какую-нибудь несложную программу, которая будет генерить пакеты, например, с поддельным айпишником, и слать их, куда попало.

Но, как понимаешь, этот незамысловатый метод - не для нас. Настоящий хакер всегда попытается досконально разобраться в каждом случае, который будет ему хоть сколько-нибудь интересен. Надеюсь, ты относишь себя к таковым? Если да, то очень за тебя рад - у тебя многое получится. Думаю, никто не будет спорить, что спуфинг заслуживает подробного изучения, так как позволяет лучше понять принципы работы сети.

SING - НАШ ЧЕЛОВЕК!

Итак, я хочу рассмотреть на практике построение сетевых пакетов, чем, в общем-то, и является спуфинг. Для этого мы воспользуемся программой sing, которая позволяет задать достаточное количество параметров и таким образом создавать пакеты с нужными характеристиками.

Почему именно sing? Sing работает с протоколом icmp (также может создавать пакеты других типов, таких как UDP и TCP), который больше всего подходит для начального изучения сетевых протоколов на практике. На нем проще показать основные принципы построения пакета, так как он содержит меньше параметров, чем, например, TCP пакет. Также не стоит забывать, что на протоколе icmp основана маршрутизация, понятие принципов которой также не будет лишним.

ВРУБИМ И ВРУБИМСЯ

Устанавливаем sing. Качаем архив SING-1.1.tgz с сайта http://sourceforge.net/projects/sing/. Архив весит чуть больше 400 КБ, так что скачать его не составит труда. Распаковываем архив:

gzip -d SING-1.1.tgz

tar -xvf SING-1.1.tar

После чего переходим в распакованную директорию. Установка программы стандартная: ./configure (./configure --help, если интересны дополнительные опции), make, make install. Все команды делаются из корня распакованной диры.

После того как sing установлен, можно заняться непосредственным его изучением, а заодно затронуть некоторые аспекты из теории протоколов TCP/IP стека.

Для начала рассмотрим общие параметры работы программы. Простые команды sing сходны с ping (sing вообще призван заменить ping как гораздо более функциональное и гибкое средство по работе с icmp, к тому же надо учесть, что sing включает в себя все функции ping).

В простейшем случае запускается аналогично ping с теми же функциями:

sing 10.26.22.65.

Простейший спуфинг осуществляется с применением опции -S:

sing 10.26.22.65 -S 10.26.22.99

Делаем пинг, подставляя ложный адрес в отправляемые пакеты.

Это самое простейшее применение программы sing, которое сгодится лишь для примитивных задач, но для более серьезных задач требуется использование более сложных параметров, которые мы почекаем далее.

"-i" - позволяет указать интерфейс, который следует использовать при работе с пакетами;

"-s" - задает размер отправляемого пакета в байтах, указание этого параметра в значение max, позволяет отправлять максимально большие пакеты;

"-prot" - задает протокол для отправляемого пакета, например, TCP, UDP, ICMP;

"-seq" - позволяет задать номер пакета в последовательности;

Содержание  Вперед на стр. 032-056-2