Soft Как использовать сканер безопасности NMAP на Linux

P

Pirnazar

Well-known member
18.07.2018
162
225
— это бесплатная, с открытым исходным кодом утилита исследования сети и проведения аудита безопасности. Она широко используется в сообществе пользователей Linux, поскольку является простой в применении, но в то же время очень мощной. Принцип работы Nmap, говоря простым языком, заключается в отправке пакетов данных на заданную цель (по IP) и в интерпретировании возвращаемых пакетов для определения, какие порты открыты/закрыты, какие службы запущены на сканируемой системе, установлены и включены ли файерволы или фильтры и, наконец, какая операционная система запущена. Эти возможности позволяют собрать много ценной информации. Давайте рассмотрим некоторые из этих возможностей. Кроме типичных для подобных статей примеров команд, будут даны рекомендации о том, как использовать собранные во время сканирования данные.


Установка Nmap
Для начала, нам нужно заполучить пакет “nmap” на нашу систему.

Установка Nmap в Kali Linux
Nmap уже установлен.

Установка Nmap в CentOS
Bash:
yum install nmap

Установка Nmap в Debian
Bash:
 apt-get install nmap

Установка Nmap в Ubuntu
Bash:
 sudo apt-get install nmap


Использование сканера безопасности Nmap

Теперь программу можно запускать набрав в терминале “nmap”. Список опций можно посмотреть по команде
Bash:
 nmap --help

Но я рекомендую посмотреть эти же опции по этой ссылке, поскольку там они на русском языке.

Чтобы показать некоторые возможности nmap, подготовлены несколько примеров. Главная цель — чтобы вы уловили суть и возможности программы. После этого вы сможете модифицировать команды под свои собственные нужды.

Обратите внимание, что программе nmap требуются привилегии суперпользователя для некоторых её функций. В Kali Linux этого не нужно, но на всех других системах запускайте команду с sudo. В примерах я буду использовать sudo, в Kali команды выглядят также, но отбрасывайте sudo.


Собираем информацию об открытых на сервере портах, запущенных службах и версиях программного обеспечения

Это простая команда может использоваться для проверки доступен ли сайт (в данном случае я использовал сайт codeby.net). Обращаем внимание на открытые порты.
Bash:
 sudo nmap -sS [IP адрес] или [адрес веб-сайта]

1574603288391.png


Эта опция даст команду nmap попробовать предположить, какая операционная система запущена на целевой системе. Если все порты фильтруются, эта команда будет лучшим вариантом, но результаты нельзя расценивать как гарантировано надёжные. Обратите внимание на проценты — они говорят о вероятности угадывания.
Bash:
 sudo nmap -O --osscan-guess [IP адрес] или [адрес веб-сайта]
1574603333577.png


1574603355063.png


1574603426042.png


Эта команда позволяет пользователю проверить службы, запущенные на цели. Обратите внимание, что появился столбик VERSION — в нём указана версия программного обеспечения.
Bash:
 sudo nmap -sV [IP адрес] или [адрес веб-сайта]
1574603474244.png


Ищем веб-сервера, роутеры, веб-камеры, SSH, FTP и прочее

О том, как задавать цели для Nmap, сказано в книге на которую в конце дана ссылка. В следующих примерах я использую строку 193.106.148-153.1-255. Она означает просканировать подсети с 193.106.148.* по 193.106.153.*, причём в каждой из этих подсетей будут просканированы адреса с *.*.*1 по *.*.*255, т.е. это 193.106.148.1-255, 193.106.149.1-255, 193.106.150.1-255 и т.д.


Поиск роутеров, веб-серверов, веб-камер

У роутеров, веб-серверов, веб-камер обычно открыты порты 80, 8080 и 1080. Просканировать эти порты и вывести только те адреса, на которых что-то открыто, можно этой командой.
Bash:
 nmap -sS -sV -vv -n -Pn -T5 193.106.148-153.1-255 -p80,8080,1080 -oG - | grep 'open'
В моём случае вывод получился сумбурным, но это хорошо, что данных много — есть с чем поработать.

1574603544867.png



Поиск FTP

Обычно FTP «висит» на 21 порту, поэтому используем предыдущую команду, только меняем сканируемый порт.
Bash:
 nmap -sS -sV -vv -n -Pn -T5 193.106.148-153.1-255 -p21 -oG - | grep 'open'
1574603689701.png



Поиск SSH

Порт по умолчанию для SSH — 22, там и ищем.
Bash:
 nmap -sS -sV -vv -n -Pn -T5 193.106.148-153.1-255 -p22 -oG - | grep 'open'
Есть контакт:

1574603782293.png


Помните, что на дефолтных портах оставляют либо от недостатка опыта (начинающие системные администраторы), либо от безысходности (например, хостеры – если они поменяют порт FTP со стандартного на другой, то служба технической поддержки будет завалена жалобами клиентов о том, что «FTP совсем не работает»). Все остальные системные администраторы «подвешивают» SSH и прочие сервисы на высокие порты. Если сделать так, то в логах ошибок наступает тишь и благодать, разница очень заметна по сравнению со стандартными портами, на которые вечно шлют разную фигню и пытаются брутфорсить. А вменяемые люди вообще не используют FTP, а используют сервисы с шифрованием, хотя бы тот же SFTP (вариантов FTP с шифрованием масса). Но хостеры не могут себе этого позволить по уже озвученной причине — есть опасность потерять клиентов от того, что им слишком сложно разобраться.

Т.е. если вы тестируете на проникновение конкретный компьютер/сервер, то проверяйте все порты — с первого до последнего (65535). Если диапазон тестируемой сети небольшой, то можно задать тестирование всех портов с фильтрацией по словам ftp ( | grep 'ftp'), ssh ( | grep 'ssh') и т. д. Например так:
Bash:
 nmap -sS -sV -vv -n -Pn -T5 193.106.148.1-255 -p1-65535 -oG - | grep 'ftp'
Нужно быть готовым к большим затратам времени.


Zenmap — Графический интерфейс (GUI) для Nmap

У команды nmap огромное количество опций. Если вы запутались в этих опциях и хотите чего-то более дружеского и привычного, то обратите своё внимание на Zenmap. Это графический интерфейс для Nmap.

1574603865567.png


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

1574603957580.png


1574603987970.png


Что делать с полученной в Nmap информацией

Собственно, а что нам дают все эти открытые порты, все эти службы, все эти компьютеры с FTP и прочим?

Если вы умеете пользоваться только Nmap, то полученная в ней информация вряд ли пригодится. Это только начало пути. Варианты использования полученной информации:
  • если нашли веб-сервер, то для начала можно просто открыть и посмотреть что там. Варианты бывают разные — бывают обычные сайты, которые видны в Интернете по доменному имени, бывают сайты в разной степени готовности начинающих системных администраторов и веб-мастеров. Бывает, можно просто пройтись по каталогам, посмотреть приготовленные файлы, попробовать стандартные пароли для phpMyAdmin и т. д.
  • FTP, SSH и многое прочее можно брутфорсить. Если удастся подобрать пароль, то можно получить доступ к частному FTP или вообще завладеть всем компьютером, если удастся подобрать учётную запись SSH. Ссылки на инструкции по брутфорсу даны в конце статьи.
  • особенно легко, практически голыми руками, можно брать веб-камеры — очень часто там стандартные пароли, которые можно нагуглить по модели камеры.
  • также интересны роутреры. Довольно часто в них стандартные (заводские) пароли. Получив доступ в роутер можно: выполнить атаку человек-по-середине, сниффинг трафика, перенаправить на подложные сайты, на сайты-вымогатели и т. д.
  • зная версии запущенных программ можно попробовать поискать эксплойты для них. Ссылки на материал по эксплойтам также дан в конце статьи.
  • если вы совсем новичок, то рекомендую программу Armitage. Она может: автоматически искать и применять эксплойты, брутфорсить различные службы. У программы графический интерфейс — вообще она довольно простая. Материал по Armitage: «Инструкция по Armitage: автоматический поиск и проверка эксплойтов в Kali Linux».

Где брать адреса для сканирования?

Типичными лёгкими целями являются VPS, которые настроили начинающие системные администраторы. Если вас интересует сканирование адресов в конкретном городе или по конкретному провайдеру, то можно воспользоваться .


Дополнительный материал по Nmap и о том, делать с полученными результатами сканирования

Для продолжения чтения рекомендуются:

Подборка материала для системных администраторов:
 
Мы в соцсетях: