Курс Ultimate Kali Linux — #44 Проверка открытых служебных портов, служб и операционных систем.
Здравствуйте, дорогие друзья.
После обнаружения узлов в сети, следующим этапом является определение всех открытых служебных портов в целевой системе и определение того, какие службы сопоставлены с этими открытыми портами. Существуют различные методы, которые тестировщик проникновения может использовать для определения открытых портов в целевой системе. Некоторые методы выполняются вручную, в то время как другие можно просто автоматизировать с помощью инструмента Nmap. Давайте рассмотрим:
- Поскольку мы уже обнаружили работающую систему в нашей сети, давайте воспользуемся следующей командой для выполнения базового Nmap-сканирования хоста (Metasploitable 2).:
kali@kali:~$ nmap 172.30.1.26
Как показано на следующем скриншоте, используя команду nmap без какого-либо дополнительного синтаксиса, удалось выполнить сканирование 1000 наиболее часто используемых служебных портов:
Как показано на предыдущем скриншоте, Nmap смог идентифицировать список открытых cлужебных портов TCP/IP, их статусы и тип службы, связанной с тем или иным портом. Используя информацию, полученную в результате этого сканирования, Вы можете начать снимать отпечатки пальцев с целевых систем. Как тестировщик проникновения, Вы можете определить, какие порты открыты и могут быть использованы в качестве входов в целевую машину, а также службы, запущенные на целевой машине.
Совет
Как начинающий этичный хакер и тестировщик на проникновение, если Вы не знакомы с некоторыми сервисами, обнаруженными в результате сканирования, Вы должны провести исследование, чтобы лучше понять роль сервиса и его функциональность в системе и сети.
- Далее, давайте выполним расширенное сканирование, чтобы определить операционную систему объекта, версию службы и скрипт сканирования, а также выполнить трассировку маршрута, используя следующую команду:
kali@kali:~$ nmap -A -T4 -p- 172.30.1.26
Давайте взглянем на синтаксис, который использовался в предыдущем коде:
–A: Это позволяет Nmap профилировать целевой объект, чтобы идентифицировать его операционную систему, версии служб и скрипт сканирования, а также выполнять трассировку маршрута.
-T: Этот синтаксис определяет параметры синхронизации сканирования, которые варьируются от 0 до 5, где 0 означает очень медленное сканирование, а 5 – самое быстрое. Эта команда полезна для предотвращения слишком быстрой отправки слишком большого количества зондов в целевой объект.
-p: Использование синтаксиса –p позволяет указать, какой порт (порты) следует идентифицировать как открытый или закрытый на целевом сервере. Вы можете указать –p80 для поиска порта 80 только на целевом сервере и –p- для поиска всех 65 535 открытых портов на целевом сервере.
Важное замечание
По умолчанию Nmap выполняет сканирование только портов протокола управления передачей (TCP). Поэтому, если целевой сервер запускает службу на порту протокола пользовательских дейтаграмм (UDP), есть вероятность, что Вы ее пропустите. Чтобы выполнить сканирование порта или диапазона UDP–портов, например, для поиска UDP-порта 53, используйте команду -p U:53command.
На следующем снимке экрана показаны результаты нашего расширенного сканирования:
Как показано на предыдущем скриншоте, Nmap смог получить гораздо более подробную информацию о нашей цели, например, версии каждой службы, связанной с открытым портом. Он также смог выполнить захват баннеров и определить, существует ли система аутентификации/механизм входа в систему для каждой службы.
Эта информация может быть использована для поиска уязвимостей и эксплойтов целевой системы. Проще говоря, мы видим, что версия сервиса для протокола передачи файлов (FTP) использует vsftpd2.3.4. Немного погуглив, Вы найдете эту ссылку, которая содержит подробную информацию об уязвимостях безопасности для этой конкретной версии сервиса: https://www.rapid7.com/db/modules/exploit/unix/ftp / vsftpd_234_backdoor/.
На следующем снимке экрана показан другой раздел результатов расширенного сканирования:
Как показано на предыдущем скриншоте, Nmap смог определить, что операционная система целевой системы основана на Linux, имя хоста и версию блока сообщений сервера (SMB) целевой машины.
Важное примечание
SMB — это сетевой протокол TCP/IP, который используется для обеспечения общего доступа к файлам и принтерам между хост-устройствами в сети. Обнаружение SMB в хост-системе указывает на то, что в целевой системе имеется много общих файловых ресурсов, и это стоит проверить.
Ниже приведен некоторый дополнительный синтаксис, который можно использовать с Nmap для сбора конкретной информации:
- -Pn: Эта команда выполняет сканирование целевого объекта без отправки эхо-запроса ICMP (ping). Эта команда полезна для систем сканирования, в которых отключены ответы ICMP.
- -sU: Эта команда позволяет Nmap выполнять сканирование UDP-порта на целевом сервере. Эта команда полезна для идентификации любых служб, которые используют UDP по сравнению с TCP.
- -p <диапазоны портов>: Эта команда позволяет тестеру на проникновение сканировать один порт или диапазон, например –p80, -p 80,443,8080 или –p 100-200.
- -sV: Эта команда позволяет Nmap отправлять специальные запросы для определения версий служб любых открытых портов в целевой системе.
- -O: Эта команда позволяет Nmap идентифицировать и профилировать операционную систему в целевой системе.
- -6: Эта команда позволяет Nmap выполнять сканирование в системе или сети с IPv6-адресом.
Определив операционные системы объектов, тестировщики на проникновение могут создать эксплойт и полезную нагрузку, которые предназначены для эффективной работы в этих конкретных операционных системах. Проще говоря, эксплойт или полезная нагрузка для операционной системы Windows, скорее всего, не будут работать в системе на базе Linux, и наоборот. На данный момент Вы узнали, как обнаруживать открытые порты, версии служб, операционную систему и SMB-версии. Далее Вы узнаете, как избежать обнаружения при выполнении активного сканирования в сети и системах с помощью Nmap.
На этом все. Всем хорошего дня!