Я хотел бы знать, как выполнить простую ядовитую ARP-атаку только с помощью команд UNIX (без ettercap, arpspoof или чего-либо подобного). Меня не волнует пересылка пакетов на реальный маршрутизатор, я просто хочу их отбросить. Я слышал, что он работает, отправляя поддельные пакеты arp на машины, которые хотят знать, каков MAC-адрес маршрутизатора. Как это можно сделать как можно проще?
1 ответ
Поскольку Linux и BSD (включая OS X) расходятся, инструкции о том, как сделать это на данной Unix-подобной ОС, также расходятся. Вот несколько инструкций для OS X.
- Найдите IP-адрес вашего маршрутизатора, возможно, запустив
netstat -rnaf inet
и посмотрев на маршрут по умолчанию в верхней части списка. - Найдите MAC-адрес вашего маршрутизатора, возможно, запустив
arp -an
и отыскивая IP-адрес вашего маршрутизатора. - Сообщите вашему сетевому интерфейсу использовать MAC-адрес вашего маршрутизатора:
sudo ifconfig en0 ether 00:11:22:33:44:55
- Надеюсь, что это работает. Без специализированных инструментов для подмены ARP вы зависите от ARP-кода вашего сетевого стека. Если ваш сетевой стек имеет современный код ARP, он может не пытаться получить этот MAC-адрес, если его уже использует кто-то другой (который, конечно, будет: ваш маршрутизатор).
Мне не известны какие-либо широко распространенные, «встроенные» инструменты командной строки Unix, которые позволяют вам подделывать пользовательские пакеты ARP. Вот почему люди устанавливают другие команды, такие как arpspoof
и ettercap
.
В OS X вы можете передавать любую произвольную последовательность байтов, которая вам нравится, с помощью средства ядра Berkeley Packet Filter. Просто open(2)
устройство /dev/bpfX
, используйте ioctl(2)
чтобы подключить его к интерфейсу, например en0
, и записать в него байты. Каждая отдельная запись (то есть каждый буфер байтов, переданный в индивидуальном вызове write(2)
) передается как пакет. Но это немного больше того, что вы можете легко сделать с помощью сценария оболочки. Я думаю, что большинство серых бород Unix взяли бы маленький инструмент C, чтобы сделать это. Но это в основном перевоплощает ключевую функциональность какого-либо другого хорошо известного инструмента ARP-спуфинга, и в современных средах Unix проще сказать менеджеру пакетов установить arpspoof
или ettercap
или что-то еще.