Читаем Спецвыпуск журнала «Хакер» 47, октябрь 2004 г. полностью

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

Переход на витую пару с концентратором ничего не меняет – отправляемые пакеты дублируется на каждый выход хаба и грабятся по той же самой схеме. Коммутатор, самостоятельно анализирующий заголовки пакетов и доставляющий их только тем узлам, для которых они предназначены, предотвращает пассивный перехват, вынуждая атакующего переходить к активным действиям.

Таким образом, для реализации пассивного снифинга мы должны перевести сетевую карту в неразборчивый режим и создать сырой (raw) сокет, дающий доступ ко всему, что валится на данный IP-интерфейс. Обычные сокеты для этой цели не подходят, поскольку принимают только явно адресованные им пакеты, поступающие на заданный порт. Легальные сниферы чаще всего используют кросс-платформенную библиотеку libpcap, однако настоящие хакеры предпочитают разрабатывать ядро снифера самостоятельно.

Операционные системы *nix блокируют прямой доступ к оборудованию с прикладного уровня (так что перепрограммировать сетевую карту просто так не удастся), однако все же предоставляют специальные рычаги для перевода интерфейса в неразборчивый режим, правда, в различных никсах эти рычаги очень разные, что существенно усложняет нашу задачу.

В состав BSD входит специальный пакетный фильтр (BPF – BSD Packet Filter), поддерживающий гибкую схему выборочного перехвата чужих пакетов и соответствующий устройству /dev/bpf. Перевод интерфейса в неразборчивый режим осуществляется посредством IOCTL и выглядит приблизительно так: ioctl(fd, BIOCPROMISC, 0), где fd – дескриптор интерфейса, а BIOCPROMISC – управляющий IOCTL-код. В Solaris'е все осуществляется аналогично, не совпадает только IOCTL-код и устройство называется не bpf, а hme. Похожим образом ведет себя и SunOS, предоставляющая потоковый драйвер псевдоустройства nit, также называемый краником в сетевом интерфейсе (NIT – Network Interface Tap). В отличие от пакетного фильтра BPF, потоковый фильтр NIC перехватывает только входящие пакеты, позволяя исходящим прошмыгнуть мимо него. К тому же он намного медленнее работает. Иную схему грабежа трафика реализует ОС Linux, поддерживающая специальные ioctl-коды для взаимодействия с сетью на уровне драйверов. Просто создай сырой сокет вызовом socket (PF_PACKET, SOCK_RAW, int protocol) и переведи связанный с ним интерфейс в неразборчивый режим: ifr.ifr_flags |= IFF_PROMISC; ioctl (s, SIOCGIFFLAGS, ifr), где s – дескриптор сокета, а ifr – интерфейс.

Полностью готовую к употреблению функцию, подготавливающую сырой сокет к работе с переводом интерфейса в неразборчивый режим и поддерживающую большое количество различных операционных систем, как то: SunOS, Linux, FreeBSD, IRIX и Solaris, можно легко выдрать из снифера, исходный текст которого находится по адресу: http://packetstormsecurity.org/sniffers/gdd13.c.

Обнаружение пассивного перехвата

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

Многие легальные сниферы автоматически резолвят все полученные IP-адреса, выдавая атакующего с головой. Администратор посылает пакет на несуществующий MAC-адрес от/на несуществующего IP. Узел, поинтересовавшийся доменным именем данного IP, и будет узлом атакующего. Естественно, если атакующий использует собственный снифер, вырубит DNS в настройках сетевого соединения или оградит себя локальным брандмауэром, администратор останется наедине со своей задницей.

Как вариант, администратор может послать на несуществующий MAC-адрес пакет, предназначенный для атакующего (с действительным IP-адресом и портом отвечающей службы, например, ICMP ECHO, более известной как ping). Работая в неразборчивом режиме, сетевая карта передаст такой пакет на IP-уровень, и тот будет благополучно обработан системой, автоматически генерирующей эхо-ответ. Чтобы не угодить в ловушку, атакующий должен отключить ICMP и закрыть все TCP-порты, что можно сделать с помощью того же брандмауэра, конечно, при условии, что тот не открывает никаких дополнительных портов (а большинство брандмауэров их открывают).

Перейти на страницу:

Похожие книги

Тайны и секреты компьютера
Тайны и секреты компьютера

Эта книга предназначена для тех, кто самостоятельно осваивает мир информационных технологий. Программирование в среде Microsoft Office, устройство сетей Internet и Fidonet, работа системы электронной почты, структура системного реестра Windows и файловой системы, строение жидкокристаллических дисплеев и проблема наличия различных кодировок русского языка, — про все это рассказывается в ней. Многообразие тем и легкий стиль изложения сделают ее вашим спутником на долгое время, и вы всегда сможете найти в ней нужную именно в данный момент информацию.Если Вы интересуетесь компьютерными технологиями, желали бы расширить свои знания и умения в этой области, то она Вам наверняка понравится.http://comptain.nm.ru

Антон Александрович Орлов , Антон Орлов

Фантастика / Фэнтези / Прочая компьютерная литература / Книги по IT / Зарубежная компьютерная, околокомпьютерная литература
Стив Джобс. Уроки лидерства
Стив Джобс. Уроки лидерства

Эта книга – редкая возможность увидеть Стива Джобса таким, каким его видели лишь его самые близкие сотрудники, и разгадать загадку этого легендарного человека. Это возможность понять и освоить оригинальный стиль лидерства Джобса, благодаря которому Apple стала одной из величайших компаний и смогла выпускать продукты, изменившие нашу жизнь. Автор книги, Джей Эллиот, бывший старший вице-президент компании Apple, долгое время работал бок о бок со Стивом Джобсом и сформулировал главные уроки «iЛидерства», которые помогут совершить прорыв компании любого размера и из любой отрасли. Интуитивный и творческий подход Джобса, о котором рассказывается в этой книге, позволит вам преобразить свой бизнес и свою жизнь.Для широкого круга читателей – для всех, кто хочет воспользоваться уроками выдающегося бизнес-лидера.

Виктория Шилкина , Вильям Л Саймон , Вильям Л. Саймон , Джей Эллиот

Деловая литература / Биографии и Мемуары / Публицистика / Прочая компьютерная литература / Управление, подбор персонала / Документальное / Финансы и бизнес / Книги по IT