
Это базовый эксплойт на основе ROP для CVE 2020-14871. CVE 2020-14871 — это уязвимость в библиотеке libpam систем Sun Solaris, эксплуатируемая через ssh.
Это базовый эксплойт на основе ROP для CVE 2020-14871. CVE 2020-14871 — уязвимость в системах Sun Solaris. Сама уязвимость представляет собой классическое переполнение буфера на основе стека в функции parse_user_name модуля PAM. Доступ к ней можно получить, изменив настройки SSH-клиента так, чтобы принудительно использовать аутентификацию Keyboard-Interactive с запросом имени пользователя; затем атакующий может передавать неограниченный ввод в функцию parse_user_name модуля PAM. При 512 байтах буфер имени пользователя переполняется. Она была обнаружена в реальных атаках в ходе оценки компрометации, проведённой Mandiant, где использовалась как начальный эксплойт для получения доступа к системе.
Подробнее здесь: https://www.mandiant.com/resources/critical-buffer-overflow-vulnerability-in-solaris-can-allow-remote-takeover
Эта версия была разработана с использованием sun-solaris 10 на VMWare и протестирована на физической производственной машине (bare-metal). Расположение в стеке может варьироваться в зависимости от версий libpam. Эта версия сработала у меня. Вы можете добиться успеха, распыляя базовый адрес, поскольку крах эксплуатируемого SSH-процесса не имеет последствий.
Эксплойт выполняет shell-команды в системе. В предоставленной версии он создаёт обратный shell на основе Python и запускает его с помощью 'disown'.