Мегакухонный комбайн ShadOS Хакер, номер #087, стр. 087-092-4 DNS-spoofing Займемся делами посерьезнее и попробуем подсунуть на тачку под управлением Windows XP подмененный ответ DNS-сервера. Пусть на этом компьютере нет никаких брандмауэров, кроме стандартного Microsoft Internet Connection Firewall, который сконфигурирован на логирование всех dropped-пакетов и успешных подключений. Пользователь, пытаясь зайти на некоторый web-сайт, URL которого www.somewebsite.org, вбивает адрес в Internet Explorer. В результате этого DNS-запрос посылается с порта 1026 тачки пользователя (допустим ее IP-адрес будет 192.168.1.1) на 53 порт DNS-сервера с IP-адресом 192.168.1.254. В это время заспуфенный DNS-ответ, в виде NetBIOS-данных, посылается с фейкового IP-адреса 10.10.10.1 злым дядей Пупкиным, сообщая машине атакуемого, что адрес web-сервера - 192.168.1.77. IP-адрес 192.168.1.77 в действительности находится под контролем все того же злого дядьки, причем на главной странице он написал нехорошее слово из трех букв :). Этот NetBIOS-пакет, отловленный Ethereal’ом, можно рассмотреть на скриншоте под номером 6. Естественно, в качестве снифера можно было бы использовать утилиту из состава Netwox, однако это у меня не вышло, так как в процессе написания статьи я обнаружил досадный и очень странный баг: на параметр --filter Netwox ругался, поясняя, что IP-адрес не является булевым полем. Ну да бог с ним, с Васей :). Посмотрим лучше, как можно такой пакет создать. Это очень просто сделать с помощью все того же любимого мной Netwox: netwox 38 --ip4-src 10.10.10.1 --ip4-dst 192.168.1.1 --ip4-protocol 17 --ip4-data 008904020044000000038580000000010000000020464845504643454c45484 643455046464641434143414341434143414341424c0000010001000151800004c0a8014d Непонятным остается только параметр --ip4-data и --ip4-protocol. Назначение первого параметра достаточно легко уяснить из RFC по DNS - в данных находится возвращаемый на DNS-запрос IP-адрес 192.168.1.77. Параметр --ip4-protocol 17 означает, что Пупкин конструирует UDP-пакет. Второй способ конструирования такого пакета кажется мне еще более удобным. Для этого воспользуемся утилитой 39, которая автоматически подсчитает контрольную сумму пакета: netwox 39 --ip4-src 10.10.10.1 --ip4-dst 192.168.1.1 --udp-src 137 --udp-dst 1026 --udp-data 00038580000000010000000020464845504643454c45484 643455046464641434143414341434143414341424c0000010001000151800004c0a8014d Что же мы с этого получим? Если бы несчастный атакуемый посмотрел в данный момент кэш DNS-запросов на период в один день, отравленным злым Пупкиным, он бы увидел там вот что: www.somewebsite.org ---------------------------------------- Record Name . . . . . : FHEPFCELEHFCEPFFFACACACACACACABL |