
Ausnutzung von CVE-2023-44604. Verwendung einer Kali Linux VM (Angreifer) und einer Debian 11 Server VM (Opfer)
[WARNUNG]
Dieses Projekt ist nur für Bildungs- und Laborzwecke bestimmt. Verwenden Sie diese Techniken nur in Umgebungen, die Ihnen gehören oder für die Sie autorisiert sind.
Dieses Labor simuliert die Ausnutzung von CVE-2023-46604 unter Verwendung einer Kali Linux VM (Angreifer) und einer Debian 11 Server VM (Opfer).
Dieses Labor funktioniert nur, wenn Ihr Host-Betriebssystem Windows ist!
--> Falls Sie Linux verwenden, funktioniert dieses Labor nicht!
WARNUNG
Die Apache- und Java-Software wird (mittels Skripten) automatisch auf den VMs installiert. Installieren Sie diese nicht manuell auf Ihrem Host-PC!
Wir verwenden die folgende Software in dieser Übung:
Installieren Sie VBoxManage und machen Sie den Befehl zu einer Umgebungsvariable:
Klonen oder laden Sie das Repository an einen Ort Ihrer Wahl herunter. (Die vboxmanage-Befehle müssen in diesem Ordner funktionieren)
C:\Users\<user_name>\CVE-2023-46604\Nachdem Sie das Repository auf Ihrem lokalen System geklont haben, fügen Sie in diesem Ordner (\CVE-2023-46604\) einen neuen Ordner VDI\ hinzu.
Ihre Ordnerstruktur sollte nun wie folgt aussehen:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
Die Skripte in diesem Labor verwenden VDI-Dateien, um VMs zu erstellen und zu löschen. Wir werden nun die folgenden VDI-Dateien herunterladen:
CVE-2023-46604\VDI\.Debian-original.vdi.CVE-2023-46604\VDI\.Kali-original.vdi.Ihre Ordnerstruktur sollte nun wie folgt aussehen:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
├── Debian-original.vdi
└── Kali-original.vdi
Username: osboxes
Password: osboxes.org
cd scripts
.\DebCreate.ps1
.\sshDebian.ps1
[HINWEIS]
Bei der ersten SSH-Verbindung erscheint möglicherweise eine Meldung wie:The authenticity of host '[127.0.0.1]:2220' can't be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?Dies ist normal. SSH warnt Sie, dass der Hostschlüssel der VM noch nicht in Ihrer
.ssh/known_hosts-Datei gespeichert ist.
Wenn Sie Ihre Debian-VM überprüfen möchten, können Sie per SSH in die VM einsteigen:
ssh -p2220 [email protected]
Username: osboxes
Password: osboxes.org
cd scripts
.\KalCreate.ps1
vboxmanage startvm "Kali Linux"
# Wenn SSH aktiviert wird, startet der Server von da an beim Booten.
sudo systemctl enable ssh
# Schalten Sie die VM aus.
sudo poweroff
Von diesem Zeitpunkt an wird SSH automatisch starten, wenn die VM bootet.
Wenn Sie Ihre Kali-VM überprüfen möchten, können Sie per SSH in die VM einsteigen:
ssh -p2225 [email protected]
.\sshKali.ps1
[HINWEIS]
Bei der ersten SSH-Verbindung erscheint möglicherweise eine Meldung wie:The authenticity of host '[127.0.0.1]:2225' can't be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?Dies ist normal. SSH warnt Sie, dass der Hostschlüssel der VM noch nicht in Ihrer
.ssh/known_hosts-Datei gespeichert ist.
Sie haben jetzt Remote Command Execution (RCE)-Zugriff auf die Debian-Opfer-VM.
Sie können einige Linux-Befehle ausführen, um zu überprüfen, dass Sie jetzt Remote-Zugriff auf die Debian11-VM haben:
# Zeigt das aktuelle Verzeichnis an
pwd
# Überprüfen Sie das Betriebssystem
cat /etc/os-release
# Überprüfen Sie den aktuellen Benutzer
whoami
# Überprüfen Sie die Kernel-Informationen
uname -a
Nach erfolgreicher Ausnutzung:
┌─────────────────────┐
│ Host System │
│ (VirtualBox Host) │
└─────────┬───────────┘
│
┌────────────────┴────────────────┐
│ │
NAT + Port Forwarding NAT + Port Forwarding
SSH: localhost:2225 SSH: localhost:2220
│ │
┌───────────┴───────────┐ ┌───────────┴───────────┐
│ Kali Linux VM │ │ Debian 11 Server │
│ (Attacker) │ │ (Victim) │
│ │ │ │
│ NIC1: NAT │ │ NIC1: NAT │
│ NIC2: Internal Net │<───────>│ NIC2: Internal Net │
│ "inet" │ │ "inet" │
└───────────────────────┘ └───────────────────────┘
Wenn Sie eine VM erstellen möchten, führen Sie einfach den folgenden Befehl im Ordner scripts/ aus:
.\DebCreate.ps1.\KaliCreate.ps1Wenn eine neue VM erstellt wird, erstellen die Skripte DebCreate.ps1 und KalCreate.ps1 zunächst eine Kopie der ursprünglichen VDI-Datei (z.B. Debian-original.vdi). VBoxManage verwendet dann diese Kopie, um die VM zu erstellen.
Dies stellt sicher, dass Softwareinstallationen oder Konfigurationsänderungen in einer VM nicht in zukünftige VM-Erstellungen übernommen werden, sodass jede neue VM von einer sauberen VDI ausgeht.
Nach dem Verlassen einer VM können Sie einen von 2 Befehlen eingeben, um die VM (und eine Kopie der VDI) zu löschen. Führen Sie den folgenden Befehl im Ordner scripts/ aus:
.\DebDelete.ps1.\KaliDelete.ps1Wenn die VMs erstellt werden, verwenden sie eine Kopie der ursprünglichen VDI. Auf diese Weise ist bei der Löschung einer VM die zuvor installierte Software nicht mehr auf einer neuen VM vorhanden.