Содержание
Еще по теме: Сканер уязвимостей из Nmap и Vulscan
Сканер Zmap
Zmap был разработан в 2013 году группой исследователей из Мичиганского университета (Дэвид Адриан, Закир Дурумерик, Гульшан Сингх и Дж. Алекс Халдерман). Он был создан с одной целью — сканировать весь Интернет. При 1-гигабитном соединении можно просканировать весь Интернет на предмет поиска одного порта примерно за 45 минут! Такое же сканирование с использованием Nmap займет несколько месяцев.
Такая скорость открывает новые возможности, о которых мы раньше даже не догадывались. Например, один из разработчиков Zmap смог оценить отключение электроэнергии во время урагана «Сэнди», просканировав все IP-адреса в зоне урагана, а затем экстраполируя эту информацию, в какой области было электричество, а в какой нет.
На основе Zmap работают многие сервисы, один из них поисковая система хакеров — CenSys.
Zmap достигает своей скорости за счет использования циклических мультипликативных групп. Это позволяет ZMap сканировать одно и то же пространство примерно в 1300 раз быстрее, чем Nmap.
Установка Zmap на Kali Linux
Первым делом запускаем Kali и открываем терминал.
Теперь устанавливаем Zmap из репозитория Kali:
1 |
kali > sudo apt install zmap |
Справка Zmap
Перед началом использования сканера, откроем справку:
1 |
kali > sudo zmap -h |
Обратите внимание на основные параметры. Вы можете указать порт с помощью директивы -p и выходной файл с помощью -o. Кроме того, можно установить скорость с помощью -r и -B.
В параметрах сети можно указать исходный порт ( -s), исходный IP-адрес ( -S), шлюз ( -G), интерфейс ( -i) и vpn ( -X).
Стоит отметить, что Zmap по умолчанию использует сканирование TCP SYN и выводит результаты в формате ASCII в окне терминала или в файл в формате .csv. За это отвечает директива -o .
Использование Zmap
Базовый синтаксис запуска Zmap прост;
zmap -p <port> <IP address> -o <outfile>
Чтобы просканировать 255 IP-адресов в сети класса B, вводим:
1 |
kali > sudo zmap -p 80 172.217.0.0/24 -o IPresults.csv |
Где:
- -p 80 — поиск открытого порта 80
- 172.217.0.0/24 — сканирование 255 IP-адресов
- -o IPresults.csv — сохранение результата в CSV-файл с именем IPresults.csv
После нажатия Enter, Zmap начинает сканировать пространство IP-адресов и отображать результаты на экране.
Как видите, Zmap завершил работу за считанные секунды, тогда как Nmap, делал бы это несколько часов. Посмотрим результат сканирования открыв файл IPresults.csv:
1 |
kali > less IPresults.csv |
Чтобы увидеть общее количество IP-адресов с открытым портом 80 в этом диапазоне IP-адресов, введите:
1 |
kali > wc -l IPresults.csv |
Как видите, Zmap обнаружил, что у 162 IP-адресов из 255 открыт порт 80.
Сканирование локальной сети
Давайте попробуем использовать Zmap для сканирования нашей локальной сети. Можно использовать ту же команду и директивы:
1 |
kali > sudo zmap -p 80 10.0.2.15 -o LANresults.csv |
Как видите, Zmap отказывается сканировать нашу локальную сеть, потому, что по умолчанию, Zmap заносит в блэклист все частные IP-адреса.
Мы можем исправить это, открыв файл blacklist.conf в любом текстовом редакторе и закомментировав IP-адреса, которые нужно сканировать. Блэклист Zmap находится здесь:
1 |
/etc/zmap/blacklist.conf |
1 |
kali > sudo mousepad /etc/zmap/blacklist.conf |
Закомментируйте (#) частный IP-адрес вашей сети (в моем случае я закомментировал строку 6). Теперь давайте попробуем снова просканировать нашу локальную сеть.
1 |
kali > sudo zmap -p 10.0.0.0/16 -o LANresults.csv |
Будьте осторожны при использовании Zmap в вашей локальной сети. Это может легко привести к перегрузке вашей сети и вызвать состояние отказа в обслуживании (DoS). Рекомендуется ограничить полосу пропускания, которую использует Zmap, до 10 тысяч пакетов в секунду, чтобы избежать перегрузки пропускной способности сети. Для этого добавьте аргумент -B, а затем 10M, например;
1 |
kali > sudo zmap -B 10M -p 80 10.0.0.0/16 -o LANresults.csv |
Задключение
Zmap — мощный инструмент для сканирования больших сетей. Но его достоинство заключается еще и в том, что он может сканировать весть Интернет. С помощью этого инструмента хакеры и специалисты ИБ получают очень интересные и важные данные.
Еще по теме: Python скрипт для сканирования портов
Ну и чо, он один порт только сканит?