
Эксплойт-код Proof of Concept для CVE-2020-7388, неаутентифицированное удаленное выполнение кода (RCE) с правами SYSTEM на сервисе AdxDSrv Sage X3.
Код эксплойта для проверки концепции (PoC) CVE-2020-7388 — неаутентифицированное удаленное выполнение кода с правами SYSTEM в службе AdxDSrv Sage X3
Sage X3 предоставляет административную службу на порту TCP/1818 (по умолчанию, но может быть изменён) в процессе "AdxDSrv.exe", который является частью компонента AdxAdmin. Эта служба используется для удаленного администрирования решения Sage ERP через консоль Sage X3. Уязвимость в этой службе позволяет злоумышленнику сформировать запрос к открытой службе для выполнения команд на сервере от имени пользователя "NT AUTHORITY/SYSTEM".
Подробное описание эксплойта можно найти в нашей оригинальной публикации в блоге Rapid7: https://www.rapid7.com/blog/post/2021/07/07/cve-2020-7387-7390-multiple-sage-x3-vulnerabilities/
AdxDSrv по умолчанию работает на TCP-порту 1818 и в Nmap отображается как неизвестная служба. Этот репозиторий содержит два NSE-скрипта для выявления уязвимых служб и самой AdxdSrv.
python3 adxsrv_bypass.py --cmd <command to run as SYSTEM> --ip <remote target> --port <port of AdxDSrv service>
Примечание: это грубый PoC, отправляющий байтовые потоки в определенном порядке, и может потребовать корректировки. Наше ограниченное время доступа к программному обеспечению не позволило доработать эксплойты. Если вы столкнетесь с уязвимым экземпляром и доработаете PoC, пожалуйста, отправьте PR! Или если вы пытаетесь его доработать и хотите сотрудничать, не стесняйтесь обращаться.
В ходе сетевого пентеста в 2020 году Кале Блэк выявил новые уязвимости в веб-панели администрирования Sage X3 ERP. Это побудило к дальнейшему исследованию приложения между Джонатаном Петерсоном (@deadjakk), Аароном Херндоном (@ac3lives), Кале Блэком, Райаном Вильярреалом (@XjCrazy09) и Уильямом Ву. Мы углубились и выявили пользовательскую службу Sage X3 AdxDSrv, которая использовалась для удаленного администрирования. После некоторого реверс-инжиниринга и фаззинга мы получили четыре CVE, один из которых — CVSS 10 — неаутентифицированное удаленное выполнение кода. Особая благодарность самому тяжелому работнику здесь, @Deadjakk, за большую часть реверс-инжиниринга и начальных заготовок PoC.