
Um proxy reverso de firewall para prevenir ataques Log4J (Log4Shell, também conhecido como CVE-2021-44228).
log4jail 🛡️Um firewall reverso proxy rápido com suporte a TLS (HTTPS) e swarm para prevenir ataques Log4J (Log4Shell aka CVE-2021-44228).
log4jail é uma solução rápida e improvisada para bloquear tentativas de exploração do Log4Shell atuando como um reverse proxy que examina o corpo completo da requisição, incluindo todos os cabeçalhos e parâmetros da requisição, em busca de payloads do log4shell.
💡 Você pode executar várias instâncias ao mesmo tempo mapeando-as por porta e destino no arquivo de configuração.
O firewall segue as estratégias de mitigação do Google Cloud.
Baixe o binário para o seu SO em Releases OU instale com cargo:
$ cargo install --git https://github.com/mufeedvh/log4jail.git
Pré-requisitos:
$ git clone https://github.com/mufeedvh/log4jail.git
$ cd log4jail/
$ cargo build --release
O primeiro comando clona este repositório na sua máquina local e os dois últimos comandos entram no diretório e compilam o código fonte em modo release.
Basta executar o comando e haverá um arquivo de configuração boilerplate no mesmo diretório de trabalho chamado log4jail.json.
$ log4jail
O arquivo de configuração é assim:
{
"host": "127.0.0.1",
"enable_https": false,
"tls_cert_path": "cert.pem",
"tls_key_path": "key.rsa",
"reject_response_status": 403,
"reject_response_body": "This request has been blocked.",
"proxy_mapping": {
"1337": "http://127.0.0.1:8080/",
"6969": "http://127.0.0.1:9000/"
}
}
Configure os valores para o seu ambiente e execute o comando novamente para iniciar o proxy!
log4jail bloqueia todos os vetores de ataque do log4j-scan com o modo WAF Bypass habilitado:
$ python3 log4j-scan.py -u http://127.0.0.1:1337/ --run-all-tests --waf-bypass

Se você encontrou algum payload Log4Shell funcional que consiga contornar este firewall, por favor abra uma issue.
Basta executar log4jail em qualquer porta e incluir o payload na requisição HTTP para teste de fuzzing.