Amap (Application MAPper) — инструмент для определения запущенных сервисов на удаленном хосте путем сканирования открытых портов. В статье покажу, как использовать Amap на Kali Linux.
Еще по теме: Сканер портов на PowerShell
Что такое Amap
Amap используется для сканирования портов и получения баннеров (информации о запущенных приложениях на удаленном хосте).
Возможности Amap:
- Сканирование TCP и UDP портов. Amap может проверять состояние как TCP, так и UDP портов.
- Определение сервисов по портам. По открытым портам способен установить запущенные за ними сервисы, опираясь на встроенную базу данных из более чем 3000 сервисов.
- Сканирование диапазона портов. Можно задать диапазон портов для проверки, а не только отдельные порты.
- Обнаружение сервисов за брандмауэром. Amap способен обойти брандмауер и NAT, чтобы найти скрытые сервисы.
- Обнаружение фильтрации пакетов. Может определить фильтрацию входящих пакетов на портах.
- Вывод в JSON. Помимо читаемого текста можно получить JSON с результатами сканирования.
- Малый размер. Утилита весит около 350 Кб.
- Высокая скорость. Сканирует порты очень быстро.
Стенд для тестирования Amap
Для использования Amap, нам потребуется удаленная система, на которой будут запущены сетевые сервисы, раскрывающие информацию при подключении к ним клиентского устройства. Для этого отлично подойдет намеренно уязвимая машина Metasploitable2 (см. Установка Metasploitable в VirtualBox).
Определение запущенных сервисов с помощью Amap
Amap уже установлен в Kali Linux по умолчанию. Можно сразу приступать к использованию.
Для начала откройте терминал, запустите и изучите справку:
1 |
amap --h |
Параметр -B может быть использован для запуска Amap в режиме получения баннеров. В этом случае Amap будет собирать баннеры указанного IP-адреса и порта (портов).
Для примера выполним в терминале следующую команду:
1 |
amap -B 172.20.10.10 21 |
На приведенном выше скрине видно, что Amap захватил получил баннер с порта 21 Metasploitable2.
Чтобы просканировать все TCP-порты, нужно задать диапазон от 1 до 65535:
1 |
amap -B 172.20.10.10 1-65535 |
Мы получили список открытых портов и информацию о работающих сервисах.
Иногда обычный вывод команды может показывать много ненужной и лишней информации. Чтобы отфильтровать полученную информацию, можно использовать команду:
1 |
amap -B 172.20.10.10 1-65535 | grep "on" | cut -d ":" -f 2-5 |
Теперь полученная информация выглядит лучше:
Amap циклически просматривает список адресов портов назначения, пытается установить соединение с каждым из них, а затем получает все баннеры, которые отправляются при соединении с сервисом, работающим на данном порту.
В целом Amap отлично подойдет для сканирования портов и определения запущенных сервисов. Для подробной информации посетите официальную страницу.
Аналоги Amap
Ниже представлены несколько инструментов для сбора баннеров сетевых служб:
- Nmap — инструмент для сканирования сети, который также может использоваться для сбора баннеров сетевых служб. Он позволяет определять версии служб и операционных систем, работающих на удаленных хостах. Имеет обширные опции и настраиваемые скрипты для сбора более подробной информации
- Masscan — это инструмент для сканирования больших сетей с высокой скоростью и может использоваться для сбора информации о портах и службах. Хорошо подходит для сканирования больших сегментов сети и поиска открытых портов.
- Zmap — также специализируется на сканировании сети с высокой скоростью и может использоваться для сбора информации о портах и службах. Эффективен для сканирования больших адресных пространств.
- Unicornscan — это инструмент для сканирования сети, который предоставляет детализированные отчеты о службах и портах. Позволяет выполнять сканирование больших сетей и собирать информацию о службах.
Выбор инструмента зависит от ваших конкретных потребностей, целей и предпочтений.
Как сканировать несколько IP?
Можно указать несколько IP-адресов через запятую или использовать файл со списком IP-адресов.
Так:
amap -i IP1,IP2,IP3
Или с использованием файла:
amap -i — -m файл_с_ip_адресами.txt