Masscan — самый быстрый сетевой сканер портов. Он может просканировать весь Интернет со скоростью передачи данных 25 миллионов запросов в секунду, менее чем за 6 минут. В этой статье покажу, как установить Masscan на Linux и правильно использовать на Kali.
Еще по теме: Как написать сканер портов на Python
Что такое Masscan
Этот самый быстрый сканер портов дает результат, аналогичный Nmap, но Masscan работает как Unicornscan, внутри Zenmap (асинхронное сканирование). Это быстрее из-за гибкости, допускающей произвольные диапазоны и диапазоны портов.
Masscan использует собственный стек TCP/IP. Все, кроме простого сканирования портов, может вызвать конфликт с локальным стеком TCP/IP.
Позже мы обсудим различия между Masscan и Nmap, а теперь давайте приступим к установке Masscan.
Установка Masscan на Linux
Masscan установлен в полной версии Kali Linux. Мы можем проверить основные варианты использования, выполнив команду:
1 |
masscan |
Если в системе не установлен Masscan, тогда установите зависимости:
1 |
sudo apt-get install clang git gcc make libpcap-dev |
И применив следующую команду, установите Masscan с помощью:
1 |
sudo apt-get install masscan |
Или клонировать репозиторий GitHub.
1 |
git clone https://github.com/robertdavidgraham/masscan |
1 |
cd masscan |
1 |
sudo make |
Как пользоваться Masscan
Masscan используется для сканирования сети, если необходимо просканировать только один порт:
1 |
sudo masscan 172.217.167.46 -p443 |
Команда выше начнет сканировать один порт 443.
Также можно использовать инструмент для сканирования нескольких портов, разделенных запятой (,):
1 |
sudo masscan 172.217.167.46 -p443,80,4444 |
Для сканирования диапазона портов:
1 |
sudo masscan 172.217.167.46 -p12-443 |
Приведенная выше команда будет сканировать порт с 12 по 443.
Для сканирования всех портов:
1 |
sudo masscan 172.217.167.46 -p0-65535 |
Использование Masscan на полную катушку
Я говорил, что Masscan — самый быстрый сканер, но после выполнения предыдущих команд я не почувствовал, что он работает быстрее.
Причина в том, что Масскан, по умолчанию, сканирует со скоростью 100 пакетов в секунду (медленно). Чтобы увеличить скорость, нужно использовать параметр --rate:
1 |
sudo masscan 172.217.167.46 -p0-65535 --rate 25000000 |
Выполнив эту команду, мы сможем достичь максимальной скорости (25 миллионов пакетов в секунду).
Но имейте в виду. Скорость сканирования зависит от ОС. Вы не сможете разогнать сканер до максимальной скорости на системах Mac, Windows или на виртуальной машине Linux. Максимальная скорость при использовании ОС отличных от Linux — 300 000 пакетов в секунду.
Также скорость сканирования зависит подключение к Интернету.
В небольших сетях или при скандировании одного IP вы не заметите большую разницу. Чтобы увидеть весь потенциал инструмента, необходимо сканировать большую сеть.
По словам автора Роберта Грэма, Masscan может просканировать весь Интернет за 6 минут. Если мы хотим сканировать весь Интернет на наличие определенного порта (например, 443):
1 |
sudo masscan 0.0.0.0/0 -p443 --rate 250000000 --exclude 255.255.255.255 |
Вот как можно найти конкретный уязвимый порт во всей сети Интернет.
Другое использование Masscan на Kali Linux
Чтобы сохранить результат вывода в файл, используйте команду:
1 |
sudo masscan 172.217.167.46 -p0-65535 > example.txt |
Можно сохранять результат не только в формате txt, но и в форматах XML ( -oX), Grepable ( -oG) и JSON ( -oJ). Из-за совместимости с другими инструментами, я предпочитаю формат Grepable.
Если добавить параметр ‐top-ports 100, он будет сканировать 100 самых распространенных портов, обнаруженных в соответствии с Nmap:
1 |
sudo masscan 172.217.167.46 --top-ports 100 --rate 100000 |
В Mасскане есть функция паузы, да, мы можем приостановить процесс сканирования и возобновить его позже. В процессе сканирования можно нажать CTRL+C, после чего через несколько секунд сканирование будет приостановлено, а промежуточный результат будет сохранен в файл paused.conf. Чтобы возобновить процесс сканирования, выполните команду:
1 |
sudo masscan --resume paused.conf |
Что лучше Nmap или Masscan?
В этой статье мы узнали, что у Masscan есть очень хорошие возможности, но между ними много различий:
- Nmap использует сканирование в синхронном режиме (очень медленное, но точное), а Masscan использует сканирование в асинхронном режиме (очень быстрое, но не очень точное).
- В отличии от Nmap, Masscan не проверяет, работает хост или нет, он всегда считает хост подключенным к сети.
- В отличии от Nmap, Masscan не переводит доменные имена в IP-адреса. Нам нужно вручную найти IP-адрес и подсунуть сканеру.
- В Masscan всегда нужно указывать порты сканирования.
У Masscan есть некоторые настройки / параметры, совместимые с Nmap. Для их проверки выпоните команду:
1 |
masscan -nmap |
Веб-интерфейс Masscan
Команда Offensive Security создала веб-интерфейс для Masscan, что облегчает работу с инструментом. Вот полное руководство от Offensive Security.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Создание сканера Wi-Fi сетей на Python и Scapy
- Лучшие инструменты для поиска уязвимостей сайтов
- Использование сканера портов RustScan на Kali Linux
После запуска masscan комп теряет интернет.
Уменьшите скорость сканирования. Для этого измените количество пакетов в секунду ( --rate):
sudo masscan -p0-65535 192.168.0.0/24 --rate 1000