Назад | Перейти на главную страницу

Что произойдет, если две машины ответят на ARP-запрос «кто есть»?

Я только недавно узнал о нюансах работы в сети, но если злонамеренный пользователь ответил на ARP «кто есть», хотя он не должен этого делать, что произойдет?

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

Обычно это заканчивается плохо, но только потому, что такое состояние, как TCP-соединения, не переносимо. Если на обеих машинах реализована одна и та же служба UDP, вы можете даже не заметить.

Один из моих опытов с проблемами arp обычно был связан с некоторыми клиентами наших серверных служб, которые устанавливали статические IP-адреса на серверах в диапазонах DHCP. Конечным результатом для пользователя было то, что службы будут периодически переключаться между конфликтующими целями для каждого нового запроса (примерно 50% соединений установлено с каждым сервером, а «неправильный» обслуживает 404 ошибки).

Я предполагаю, что это связано с тем, что текущее TCP-соединение не полагалось на arp во время УСТАНОВЛЕННЫХ подключений, а только при инициации. (но я не являюсь сетевым специалистом, поэтому не цитируйте меня ;-)

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

Таким образом, чтобы добиться того, чтобы злонамеренный хост отправлял непрерывный поток пакетов arp, это предназначено для того, чтобы в любой момент времени целевое устройство получило ответ arp более недавно от злоумышленника, а не от подлинного хоста.

Когда это происходит, большая часть пакетов arp исходит от злоумышленника, поэтому большая часть TCP-соединений от клиентов подключается к вредоносному узлу. (что-то вроде 95% для атакующего и 5% для настоящего хоста)

Очевидно, это легко обнаружить с помощью IDS, потому что весь трафик arp не соответствует нормальным параметрам и уровням.

В ситуации с ошибочными проблемами двойного IP-адреса шлюз видит такие пакеты;

host1 (arp) -> ip установлен на host1
host2 (arp) -> ip установлен на host2
host1 (arp) -> ip установлен на host1
host2 (arp) -> ip установлен на host2
host1 (arp) -> ip установлен на host1

однако со злонамеренными атаками дело обстоит скорее так;

host1 (arp) -> ip установлен на host1
атакующий (arp) -> ip установлен на атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен на атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен на атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен на атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
host1 (arp) -> ip установлен на host1 ** <- ** не здесь хотя
атакующий (arp) -> ip установлен на атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен на атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен на атакующий <- атакующий здесь человек посередине
атакующий (arp) -> ip установлен как атакующий <- атакующий здесь человек посередине
...