0 знаков
18. Обнаружение сетевых служб с помощью Nmap
Инструменты- Nmap
Кратко- Статья представляет собой описание использования Nmap для сканирования сети.
- Nmap может использоваться для обнаружения уязвимостей и проверки доступности хостов.
- В статье приведены примеры сканирования и результаты сканирования для разных хостов.
- Флаг
-sC
включает наиболее распространенные NSE скрипты Nmap.- Можно добавить флаг
-sV
для определения версии службы.
В этом уроке продолжим сканирование и перейдем к портам и сетевым службам. Ранее мы нашли активные хосты при помощи Nmap и сохранили их в файле targets.txt
. Его содержимое следующее:
192.168.56.10
192.168.56.11
192.168.56.12
192.168.56.22
192.168.56.23
На этом этапе нам необходимо выявить работающие службы на активных хостах (те, что в файле targets.txt
), которые потенциально могут быть уязвимы или подсказать нам дальнейший вектор атаки.
Сейчас для нас важно собрать информацию, поэтому не будем отвлекаться на то, уязвима служба или нет.
Вернемся к mindmap, о которой было сказано в одном из первых уроков:
Для доступа необходимо авторизоваться на сайте Codebra.
Что такое сетевые службы
Не будем давать умное определение сетевой службе, а определим это понятие как точка входа в систему или поверхность атаки. В контексте курса данная формулировка дает понимание, для чего мы эти службы выявляем. Сетевая служба - это программное обеспечение, прослушивающее запросы на сетевом порту.
Нам данном этапе нужно собрать как можно больше возможных "точек входа в систему". Пока нас не интересует, какие именно службы крутятся на хосте и что с этим можно сделать.
В чем разница между портом и службой? Вы наверняка знакомы с веб-сервером, поэтому рассмотрим на его примере. Служба в этом случае: конкретное программное обеспечение, которое отвечает на запросы браузера (пользователя). Например: Nginx, IIS, Apache и другие. Под портом имеется ввиду любое число от 0 до 65 535, которое прослушивает веб-сервер. Это число может быть любым, но как правило используются предопределенные порты 80
и 443
.
Баннеры сетевых служб
Мало знать, что служба работает на определенном порту. Необходимо выяснить как можно больше: что за служба, ее версия и так далее. К счастью для атакующего большинство служб имеют баннер, который системный администратор поленился или не счел нужным удалить. Важно понимать, что баннер может быть сознательно изменен, чтобы ввести в заблуждение атакующего.
Сканирование портов с помощью Nmap
Пользоваться инструментом Nmap мы научились ранее. Продолжим его освоение. Теперь мы будем пытаться устанавливать TCP-соединения с различными портами сканируемых машин.
Сканирование популярных портов с помощью Nmap
В идеале, нам нужно просканировать все TCP и UDP порты на всех хостах, но это займет очень много времени, даже в небольшом лабораторном стенде GOAD. Начнем с быстрого сканирования популярных TCP портов, чтобы получить хоть какие-то зацепки для дальнейшего развития проникновения.
Запустим Nmap:
nmap -Pn -n --top-ports 50 -iL targets.txt -oA hosts/services
Для доступа необходимо авторизоваться на сайте Codebra.
Как вы уже знаете флаг -n
отключает разрешение DNS-имен для ускорения процесса сканирования. Соответствие DNS-имени и IP-адреса мы определили ранее. Флаг --top-ports <число>
задает количество сканируемых популярных портов.
Классическое сканирование с помощью Nmap
nmap -PN -sC -iL targets.txt -oA hosts/services_classic
Для доступа необходимо авторизоваться на сайте Codebra.
Далее представлена часть вывода Nmap (только для sevenkingdoms.local
):
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-26 13:55 MSK
Stats: 0:00:18 elapsed; 0 hosts completed (5 up), 5 undergoing Script Scan
NSE Timing: About 92.79% done; ETC: 13:55 (0:00:00 remaining)
Stats: 0:00:49 elapsed; 0 hosts completed (5 up), 5 undergoing Script Scan
NSE Timing: About 99.68% done; ETC: 13:56 (0:00:00 remaining)
Nmap scan report for sevenkingdoms.local (192.168.56.10)
Host is up (0.0013s latency).
Not shown: 986 filtered tcp ports (no-response)
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
| http-methods:
|_ Potentially risky methods: TRACE
|_http-title: IIS Windows Server
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
|_ssl-date: 2024-03-26T10:55:43+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::unsupported, DNS:kingslanding.sevenkingdoms.local
| Not valid before: 2023-12-28T08:38:57
|_Not valid after: 2024-12-27T08:38:57
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
|_ssl-date: 2024-03-26T10:55:31+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::unsupported, DNS:kingslanding.sevenkingdoms.local
| Not valid before: 2023-12-28T08:38:57
|_Not valid after: 2024-12-27T08:38:57
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
|_ssl-date: 2024-03-26T10:55:31+00:00; -1s from scanner time.
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::unsupported, DNS:kingslanding.sevenkingdoms.local
| Not valid before: 2023-12-28T08:38:57
|_Not valid after: 2024-12-27T08:38:57
3389/tcp open ms-wbt-server
| ssl-cert: Subject: commonName=kingslanding.sevenkingdoms.local
| Not valid before: 2023-12-27T08:46:01
|_Not valid after: 2024-06-27T08:46:01
| rdp-ntlm-info:
| Target_Name: SEVENKINGDOMS
| NetBIOS_Domain_Name: SEVENKINGDOMS
| NetBIOS_Computer_Name: KINGSLANDING
| DNS_Domain_Name: sevenkingdoms.local
| DNS_Computer_Name: kingslanding.sevenkingdoms.local
| DNS_Tree_Name: sevenkingdoms.local
| Product_Version: 10.0.17763
|_ System_Time: 2024-03-26T10:55:34+00:00
|_ssl-date: 2024-03-26T10:55:33+00:00; 0s from scanner time.
5357/tcp open wsdapi
Host script results:
|_nbstat: NetBIOS name: KINGSLANDING, NetBIOS user: unknown, NetBIOS MAC: 00:0c:29:58:42:59 (VMware)
| smb2-time:
| date: 2024-03-26T10:55:33
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
...
Nmap done: 5 IP addresses (5 hosts up) scanned in 59.04 seconds
Флаг -sC
включает наиболее распространенные NSE скрипты Nmap (познакомимся с ними далее). Можем добавить флаг -sV
, с которым Nmap будет пробовать определить версию службы:
nmap -PN -sC -sV -iL targets.txt -oA hosts/services_classic
Для доступа необходимо авторизоваться на сайте Codebra.
Полное сканирование с помощью Nmap
При полном сканировании осуществляется сканирование всех портов TCP:
nmap -PN -sC -sV -p- -iL targets.txt -oA hosts/services_full
В итоге было потрачено 568 секунд на 5 хостов. Немало!
Для доступа необходимо авторизоваться на сайте Codebra.
Использовали опцию -p-
, которая задает диапазон портов. В данном случае: все порты.
Классическое сканирование UDP портов с помощью Nmap
Достаточно использовать флаг -sU
, чтобы запустить сканирование UDP портов:
sudo nmap -sU -sC -sV -iL targets.txt -oA hosts/services_udp
Заключение
В этом уроке научились сканировать порты обнаруженных хостов и выявлять запущенные службы при помощи Nmap. Подведем итог и далее будем знакомиться с поиском сетевых уязвимостей.
Тест
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ