Firewalk – это инструмент активной разведыватки защищенной сети, который пытается определить, какие протоколы уровня 4 передаются данным передающим устройством по IP.
Он работает, отправляя пакеты TCP или UDP с TTL, который больше целевого шлюза. Если шлюз разрешает трафик, он пересылает пакеты следующему ходу, где они истекают, и выдает сообщение ICMP_TIME_EXCEEDED.
Если хост-сервер шлюза не разрешает трафик, он, скорее всего, потеряет пакеты , и мы не увидим ответа.
Чтобы получить правильный IP TTL, который приведет к выходу пакетов с истекшим сроком действия, выходящим за пределы шлюза, нам необходимо увеличить количество переходов.
Мы делаем это так же, как работает traceroute.
После того, как мы получим хот-пакет шлюза (в этот момент сканирование называется `bound`), мы можем начать наше сканирование.
Важно отметить тот факт, что конечный хост назначения не должен быть достигнут.
Он просто должен быть где-то ниже по течению, с другой стороны шлюза, от хоста сканирования.
Как работает FIREWALK
Firewalk пытается определить, какие протоколы будут блокировать маршрутизатор или брандмауэр, и какие они передадут на хосты.
Он работает по методу прыжков IP-адреса, как и обычно используемая программа Traceroute.
Метод IP-истечения включает в себя манипулирование временем жизни (TTL) поля IP-заголовка для отображения всех промежуточных маршрутизаторов или переходов между хостом сканирования и целевым хостом.
В Firewalk сканирование отправляется со значением TTL на один прыжок выше, чем у целевого хоста.
Если пакеты сканирования блокируются ACL или брандмауэром, они отбрасываются или отклоняются.
Если им разрешено пройти, они истекают и вызывают сообщение о превышении времени ICMP.
Основываясь на результатах сканирования, Firewalk может определить, какие порты открыты.
КАК ИСПОЛЬЗОВАТЬ:
Скачайте Firewalk из репозитория Kali Linux
~# firewalk -h Firewalk 5.0 [gateway ACL scanner] Usage : firewalk [options] target_gateway metric [-d 0 – 65535] destination port to use (ramping phase) [-h] program help [-i device] interface [-n] do not resolve IP addresses into hostnames [-p TCP | UDP] firewalk protocol [-r] strict RFC adherence [-S x – y, z] port range to scan [-s 0 – 65535] source port [-T 1 – 1000] packet read timeout in ms [-t 1 – 25] IP time to live [-v] program version [-x 1 – 8] expire vector
Пример
# sudo firewalk -S6045-6050 -i eth0 -n -pTCP 192.168.1.1 192.168.0.1 Firewalk 5.0 [gateway ACL scanner] Firewalk state initialization completed successfully. TCP-based scan. Ramping phase source port: 53, destination port: 33434 Hotfoot through 192.168.1.1 using 192.168.0.1 as a metric. Ramping Phase: 1 (TTL 1): expired [192.168.1.1] Binding host reached. Scan bound at 2 hops. Scanning Phase: port 6045: open (expired) [122.168.96.1] port 6046: open (expired) [122.168.96.1] port 6047: open (expired) [122.168.96.1] port 6048: open (expired) [122.168.96.1] port 6049: open (expired) [122.168.96.1] port 6050: open (expired) [122.168.96.1]
Вывод
Scan completed successfully. Total packets sent: 7 Total packet errors: 0 Total packets caught 7 Total packets caught of interest 7 Total ports scanned 6 Total ports open: 6 Total ports unknown: 0
¯\_(ツ)_/¯
Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.