Linux глазами хакера
Шрифт:
Для управления ARP-таблицами в Windows я рекомендую использовать утилиту CyD NET Utils (www.cydsoft.com).
В ОС Windows проводить атаку по подделке MAC-адреса очень сложно. Если вы разошлете ложные ARP-ответы для IP-адреса 192.168.77.10, указав собственный MAC-адрес, то этот компьютер выдаст ошибку с сообщением, что адрес уже используется другим сетевым устройством, и выйдет из сети. Чтобы этого не произошло, не рассылайте широковещательные ARP-пакеты с поддельным адресом. Необходимо целенаправленно обманывать только определенную машину.
Рассылка ARP-пакетов — непростое занятие. Намного легче изменить аппаратный адрес, если это поддерживается вашей сетевой
С помощью подделки ARP-таблиц легко провести коммутаторы, но не маршрутизаторы, которые работают на 3 уровне, т.е. на уровне IP-адресов. Тут уже нужна фальсификация не аппаратных адресов, а IP-маршрутов. Чтобы сделать это, хакеры взламывают маршрутизаторы и перепрограммируют их на свой лад.
Противостоять подмене ARP-таблиц можно, только если вы используете для организации сети управляемые коммутаторы. В них есть возможность закрепить за каждым портом определенный MAC-адрес компьютера. Это усложнит задачу, но не разрешит ее полностью.
Полное решение проблемы кроется в использовании статичных ARP-записей, которые вы должны вручную прописать на каждом клиентском компьютере. Но в этом варианте кроется неудобство, потому что придется редактировать эти записи после каждого изменения сетевого оборудования на любом из компьютеров. Если где-то поменялась сетевая карта, то и ее MAC-адрес тоже изменится. Для облегчения этой процедуры можно создать сценарий на сервере, который будет заполнять ARP-таблицу нужными значениями. Клиенты должны при старте системы запускать этот сценарий.
Как мы уже говорили в разд. 5.2, концентраторы (Hub) — это устройства, которые все пришедшие с одного компьютера пакеты тиражируют на все порты, подключенные к этому хабу. Коммутаторы — интеллектуальные устройства, которые по MAC-адресу маршрутизируют трафик, проходящий через порты. Это значит, что пакеты будет видеть только получатель.
Если ваша сеть построена на основе коммутаторов, то прослушивание трафика становится невозможным. Но у Switch есть одна интересная особенность. Если он не справляется с анализом пакетов, то переключается в режим работы простого концентратора, когда входящие пакеты просто копируются всем подключенным компьютерам.
Задача хакера — загрузить коммутатор так, чтобы тот не успевал справляться с трафиком. Лучше всего это сделать, если засыпать коммутатор пакетами с неверными MAC-адресами. На анализ таких пакетов уходит слишком много ресурсов, и Switch перестает справляться с нагрузкой.
Проблема решается только установкой более мощного оборудования. В настоящее время коммутаторы таких производителей, как 3Com и Cisco, обладают достаточно мощными вычислительными ресурсами и способны преодолеть даже пиковую нагрузку ложных пакетов. Оборудование других производителей мне тестировать не приходилось.
Маршрутизаторы тоже можно обманывать, точнее сказать, можно провести компьютер. Допустим, что ваша сеть разбита на несколько подсетей и использует несколько маршрутизаторов. На рис. 14.2 показан пример такой сети.
Рис. 14.2. Сеть с двумя маршрутизаторами
Если компьютер из сети 1 отправляет пакет другому компьютеру своей сети, то, как мы знаем, посылка осуществляется по MAC-адресу, и маршрутизатор не используется. Если пакет предназначен другой сети, то он направляется
на шлюз по умолчанию. Допустим, что в качестве шлюза выступает сетевой экран. В этом случае, если компьютер 1 адресует пакет в Интернет, то Firewall просто перенаправляет его в сеть. А что если получателем пакета выступает компьютер из сети 2? Будет ли сетевой экран пересылать его маршрутизатору? Не обязательно. Сетевой экран в таком случае может вернуть ICMP-сообщение с предложением компьютеру самостоятельно работать с маршрутизатором, соединяющим сети 1 и 2.Так как ICMP-протокол не использует авторизацию и шифрование, злоумышленник самостоятельно может направить такой пакет любому клиенту и попросить его работать не с маршрутизатором, а с его компьютером. В результате пакеты пойдут через компьютер хакера, и он сможет их просмотреть.
Я рекомендую отключить перенаправление маршрутизации. Для этого установите 1 в файле /proc/sys/net/ipv4/conf/all/accept_redirects, выполнив команду:
Можно изменить этот параметр и через файл /etc/sysctrl.conf, добавив в нем строку:
Если в вашей сети только один маршрутизатор, то ничего кроме повышения безопасности не произойдет. Даже если у вас два или более таких устройств, на работе сети это сильно не скажется. Разве что трафик будет идти через два маршрутизатора, а не напрямую.
Так как для проведения атаки необходим ICMP-протокол, то его можно запретить с помощью сетевого экрана, и хакер не сможет направить вам сообщение о перенаправлении маршрутизатора.
14.5.4. Перехват соединения
Атака на компьютеры с помощью перехвата соединения была первый раз применена еще несколько десятков лет назад, и до сих пор единственным эффективным методом борьбы с ней является использование шифрования пакетов.
Когда компьютеры по протоколу TCP устанавливают связь друг с другом, на начальном этапе вводятся два счетчика, увеличивающихся с каждым отправленным пакетом. Это позволяет проверять целостность соединения. С помощью сниффера этот счетчик может быть подслушан, что в определенный момент позволит хакеру перехватить соединение и стать его владельцем, общаясь с сервером вместо клиента. Компьютер, который устанавливал соединение, в этот момент теряет связь с сервером.
Опасность атаки заключается в том, что хакер таким образом обходит все механизмы аутентификации. Легальный клиент авторизуется на сервере, а хакер после этого перехватывает соединение на себя и использует его в своих целях.
Проблема незащищенности соединения кроется в устарелости протокола TCP/IP. Его создатели не ожидали, что сеть будут прослушивать, и злоумышленники смогут обойти простую защиту соединений, встроенную в протокол. Вопрос решится с переходом на протокол IPv6.
14.5.5. Защита от прослушивания
Несмотря на то, что можно определить, что вас прослушивают, иногда это может оказаться слишком поздно. Пока вы ищете хакера, он может успеть поймать пакет с паролями и взломать систему. Если прослушиванием занимается программа, которая установлена на взломанный компьютер, то можно вычислить только этот компьютер и его владельца, но не факт, что вы найдете самого хакера.
Получается, что бороться с прослушиванием такими методами нельзя. Необходимо сделать так, чтобы этот способ не дал результатов, и хакер перестал даже думать об этом. Полноценное решение проблемы таится в шифровании любого трафика.