Часть 1. Что происходит? Протокол IP не совершенен, т.к. не позволяет установить легитимность отправителя (IP и MAC адреса) а значит им можно играть как дешевой шлюхой. Нужно лишь знать как устроены протоколы TCP\IP и UDP\IP. Это знание позволяет осуществить множество сетевых атак на разных уровнях OSI. Я собрал достаточно информации для написания данного материала. Используемые далее утилиты: 1. nMap - популярный сетевой мапер, входит в дистрибудив Кали. 2. netwox - сетевой генератор и крафтер пакетов, входит в дистрибудив Кали. 3. sing - простой ICMP-крафтер, онли на i386-архитектуре (не смог его запустить) 4. hping3 - TCP\UDP\ICMP крафтер-генератор, входит в дистрибудив Кали. 5. scapy - настоящий швейчарский нож для профи, входит в дистрибудив Кали. 6. Mausezahn - TCP\UDP\ICMP крафтер-генератор, входит в дистрибудив Кали. 7. Packet Sender - генератор пакетов, 6. yersinia - скорее фреймворк, входит в дистрибутив Кали.
Часть 2. Я не Я! IP-Spoofing Для начала изучим азы IP спуфинга, поможет нам SING или nMap, т.к. SING я не смог установить буду показывать на nMap'e. Для SING'a приведу просто аналогичные комманды. Code: nmap -e [interface] -S [spoffed-ip] [target-ip] -e: интерфейс с которого будут отправлены пакеты Для начала будем проверять "на кошках" т.е. на обратной петле. Открываем акулу и выбираем интерфейс "lo" что значит "loopback" и параллельно вбиваем в терминале: Code: nmap -e "lo" -S 127.0.0.2 127.0.0.1 Смотрим что к нам вернулись пакеты от IP: 127.0.0.2 на адрес 127.0.0.1, отлично! Проверяем на вафле, отправляем на шлюз пакет ICMP от адреса 192.168.1.100 Code: nmap -e "wlan0" -S 192.168.1.100 192.168.1.1 Пакет успешно был доставлен, хотя мы имеем совершенно другой адрес! Окей теперь попробуем модифицировать iptables таким образом что бы запретить входящие пакеты от 127.0.0.2. Code: iptables -I INPUT -s 127.0.0.2 -j DROP проверяем.... Code: iptables -L Пробуем пробить фаер... Code: nmap -e "lo" -S 127.0.0.2 127.0.0.1 и видим что пакеты дропятся.... Пробуем обойти... Code: nmap -e "lo" -S 127.0.0.3 127.0.0.1 Получилось! Очищаем iptables Code: iptables --flush Далее это нам пригодится.
Скорее всего на железе у прова включена функция RPC (Reverse Path Check) и он фильтрует еще на стадии поступления на порт устройства.