Установка masscan-ng в CentOS

Masscan-ng является форком masscan с поддержкой инкапсулированных соединений SSL/TLS (в частности, HTTPS) и многопоточная обработка пакетов.

Linux tyx

Подготовка к установке

Устанавливаем инструменты разработчика

и дополнительные, необходимые, библиотеки

Так же, дополнительно создаем симлинк для библиотеки libpcap, без него сканер не будет работать

Установка masscan-ng

Далее ни чего сложного...

Клонируем masscan-ng с репозитория bi-zone

собираем и устанавливаем

Использование masscan-ng

Использование аналогично nmap. Для сканирования сегмента сети для некоторых портов:

Это позволит:

  • сканирует подсеть 10.x.x.x и подсети 2603:3001:2d00:da00::x
  • сканирует порт 80 и диапазон от 8000 до 8100, или всего 102 порта, в обеих подсетях

Чтобы увидеть полный список опций, используйте функцию --echo. При этом происходит сброс текущей конфигурации и выход из программы. Этот вывод может быть использован в качестве входных данных для программы:

Проверка баннеров

Masscan-ng может делать больше, чем просто определять, открыты ли порты. Он также может завершить TCP-соединение и взаимодействие с приложением на этом порту, чтобы получить простую "баннерную" информацию.

Masscan-ng поддерживает проверку баннеров для следующих протоколов:

  • FTP
  • HTTP/HTTPS
  • IMAP4
  • memcached
  • POP3
  • SMTP
  • SSH
  • SSL
  • SMBv1
  • SMBv2
  • Telnet
  • RDP
  • VNC

Проблема заключается в том, что masscan-ng содержит свой собственный TCP/IP стек, отдельный от системы, на которой он запущен. Когда локальная система получает SYN-ACK от проверяемой цели, она отвечает пакетом RST, который разрывает соединение до того, как masscan-ng сможет перехватить баннер.

Самый простой способ предотвратить это - назначить masscan-ng отдельный IP-адрес. Это будет выглядеть как в одном из следующих примеров:

Выбранный адрес должен находиться в локальной подсети и не использоваться другой системой. Masscan-ng предупредит вас о том, что вы допустили ошибку, но вы можете испортить связь с другой машиной на несколько минут, поэтому будьте осторожны.

В некоторых случаях, например, при использовании WiFi, это невозможно. В этих случаях вы можете заблокировать порт, который использует masscan-ng. Это не позволит локальному TCP/IP стеку увидеть пакет, но masscan-ng все равно увидит его, поскольку он обходит локальный стек. Для Linux это выглядит следующим образом:

Как сканировать весь Интернет

Хотя программа полезна для небольших внутренних сетей, на самом деле она разработана с учетом всего Интернета. Это может выглядеть примерно так:

Сканирование всего Интернета - это плохо. Во-первых, некоторые части Интернета плохо реагируют на сканирование. С другой стороны, некоторые сайты отслеживают сканирование и добавляют вас в бан-лист, что приведет к тому, что вы лишитесь доступа к полезным частям Интернета. Поэтому вы хотите исключить много диапазонов. Чтобы внести в черный список или исключить диапазоны, используйте следующий синтаксис:

Это просто выведет результаты в командную строку. Вероятно, вы хотите сохранить их в файл. Поэтому вам нужно что-то вроде:

Это сохранит результаты в XML-файл, что позволит вам легко сбросить результаты в базу данных или что-то еще.

Но это происходит только при скорости по умолчанию 100 пакетов/секунду, что займет целую вечность для сканирования Интернета. Вам нужно ускорить его следующим образом:

Это увеличит скорость до 100 000 пакетов в секунду, что позволит просканировать весь Интернет (за вычетом исключений) примерно за 10 часов на порт (или 655 360 часов при сканировании всех портов).

Главное, что следует отметить в этой командной строке, это то, что все эти опции совместимы с nmap. Кроме того, "невидимые" опции, совместимые с nmap, также установлены для вас: -sS -Pn -n --randomize-hosts --send-eth. Аналогично, формат XML-файла вдохновлен nmap. Конечно, есть много различий, потому что асинхронная природа программы приводит к принципиально иному подходу к проблеме.

Приведенная выше командная строка немного громоздка. Вместо того чтобы выводить все в командную строку, можно хранить это в файле. Приведенные выше настройки будут выглядеть следующим образом:

Чтобы использовать этот конфигурационный файл, воспользуйтесь параметром -c:

Это также упрощает работу при повторном сканировании.

По умолчанию masscan-ng сначала загружает конфигурационный файл /etc/masscan-ng/masscan-ng.conf. Любые последующие параметры конфигурации переопределяют то, что находится в этом файле по умолчанию. Именно туда я поместил свой параметр "excludefile", чтобы никогда не забыть его. Он просто работает автоматически.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий