
Explotación de CVE-2023-44604. Usando una VM de Kali Linux (atacante) y una VM de servidor Debian 11 (víctima)
[ADVERTENCIA]
Este proyecto está destinado únicamente a fines educativos y de laboratorio. Solo utiliza estas técnicas en entornos que te pertenezcan o para los que estés autorizado a realizar pruebas.
Este laboratorio simulará la explotación de CVE-2023-46604, utilizando una VM de Kali Linux (atacante) y una VM servidor Debian 11 (víctima).
Este laboratorio solo funciona si tu sistema operativo anfitrión es Windows.
--> Si usas Linux, ¡este laboratorio no funcionará!
ADVERTENCIA
El software Apache y Java se instalará automáticamente (mediante scripts) en las VM. ¡No lo instales manualmente en tu PC anfitrión!
Usamos el siguiente software en este ejercicio:
Instala VBoxManage y convierte el comando en una variable de entorno:
Clona o descarga el repositorio en la ubicación que prefieras. (Los comandos vboxmanage deben poder ejecutarse en esta carpeta)
C:\Users\<nombre_de_usuario>\CVE-2023-46604\Después de clonar el repositorio en tu sistema local, crea dentro de esa carpeta (\CVE-2023-46604\) una nueva carpeta VDI\.
La estructura de tu carpeta ahora debería verse así:
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\
Los scripts de este laboratorio utilizan archivos VDI para crear y eliminar VM. Ahora descargaremos los siguientes VDI:
CVE-2023-46604\VDI\.Debian-original.vdiCVE-2023-46604\VDI\.Kali-original.vdiLa estructura de tu carpeta ahora debería verse así:
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
Usuario: osboxes
Contraseña: osboxes.org
cd scripts
.\DebCreate.ps1
.\sshDebian.ps1
[NOTA]
En la primera conexión SSH, puede que veas un mensaje como este: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])?Esto es normal. SSH te está avisando de que la clave de host de la VM aún no está guardada en tu archivo
.ssh/known_hosts.
Si quieres echar un vistazo a tu VM Debian, puedes conectarte por SSH a la VM:
ssh -p2220 [email protected]
Usuario: osboxes
Contraseña: osboxes.org
cd scripts
.\KalCreate.ps1
vboxmanage startvm "Kali Linux"
# When enabling ssh, the server will from then on start on boot.
sudo systemctl enable ssh
# Power off the VM.
sudo poweroff
A partir de este punto, SSH se iniciará automáticamente cuando arranque la VM.
Si quieres echar un vistazo a tu VM Kali, puedes conectarte por SSH a la VM:
ssh -p2225 [email protected]
.\sshKali.ps1
[NOTA]
En la primera conexión SSH, puede que veas un mensaje como este:The authenticity of host '[127.0.0.1]:2225' cant be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?Esto es normal. SSH te está avisando de que la clave de host de la VM aún no está guardada en tu archivo
.ssh/known_hosts.
Ahora tienes acceso de Ejecución Remota de Comandos (RCE) a la VM víctima Debian.
Puedes ejecutar algunos comandos de Linux para verificar que ahora tienes acceso remoto a la VM Debian11:
# Show the current directory
pwd
# Check the operating system
cat /etc/os-release
# Check the current user
whoami
# Check the kernel information
uname -a
Tras una explotación exitosa:
┌─────────────────────┐
│ 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" │
└───────────────────────┘ └───────────────────────┘
Cuando quieras crear una VM, simplemente ejecuta el siguiente comando en la carpeta scripts/:
.\DebCreate.ps1.\KaliCreate.ps1Cuando se crea una nueva VM, los scripts DebCreate.ps1 y KalCreate.ps1 primero hacen una copia del archivo VDI original (p. ej., Debian-original.vdi). VBoxManage usa después esta copia para crear la VM.
Esto garantiza que las instalaciones de software o los cambios de configuración realizados dentro de una VM no se guarden en futuras creaciones de VM, lo que permite que cada nueva VM comience desde un VDI limpio.
Después de salir de una VM, puedes ejecutar uno de 2 comandos para eliminar la VM (y una copia del VDI). Ejecuta el siguiente comando en la carpeta scripts/:
.\DebDelete.ps1.\KaliDelete.ps1Cuando se crean las VM, estas funcionan a partir de una copia de un VDI original. De esta manera, al eliminar una VM, no tendrás el software instalado previamente en una VM nueva.