🧟 Idle Scan (зомби)
👻 Суть
Единственная техника в Nmap где твой реальный IP вообще не появляется в логах цели. Сканируешь через третью машину — «зомби».
nmap -sI zombie.host.com <target>
🔑 IP ID счётчик
Каждый IP-пакет имеет поле ID в заголовке. Многие ОС увеличивают его на +1 с каждым пакетом. Если машина простаивает — счётчик почти не растёт.
⚙️ Как работает
Допустим IP ID зомби = 1000.
Шаг 1 — узнаём стартовое значение
Ты → зомби: SYN/ACK. Зомби → RST с IP ID = 1000.
Шаг 2 — провоцируем цель
Ты → цель: SYN с Source IP = зомби. Цель думает что пакет от зомби.
Шаг 3 — реакция цели
Порт открыт: цель → зомби: SYN-ACK → зомби → RST → IP ID вырос = 1001
Порт закрыт: цель → зомби: RST → зомби игнорирует → IP ID = 1000
Шаг 4 — читаем результат
Ты → зомби: SYN/ACK, смотришь IP ID:
- 1002 (вырос на 2) → порт открыт ✅
- 1001 (вырос на 1) → порт закрыт ❌
🧟 Кто подходит как зомби
- Предсказуемый IP ID (инкрементальный, +1)
- Минимум своего трафика (простаивает)
- Примеры: старые принтеры, IoT, забытые серверы
Как найти
nmap -O -v <подсеть> # ищи "IP ID Sequence: Incremental"
nmap --script ipidseq <подсеть> # автоматический поиск
⚠️ Минусы
- Медленно
- Сложно найти хорошего зомби
- Только open / closed
- Современные ОС рандомизируют IP ID
💡 Почему это круто
Ты ни разу не обращаешься к цели от своего IP. Цель видит только зомби. Зомби не понимает что происходит. Ты читаешь результат через побочный эффект — изменение счётчика.