В рассекреченной платформе АНБ для поиска уязвимостей нашли собственную «дыру»
Стоило только АНБ опубликовать в открытом доступе исходники своей платформы Ghidra, как в ней начали находить ошибки. Ради этого, видимо, код и публиковался.
Удаленная эксплуатация...
Эксперт по информбезопасности обнаружил критическую уязвимость в платформе Агентства национальной безопасности США (АНБ) Ghidra. Уязвимость позволяет запускать в ней произвольный код удаленно.
Ghidra представляет собой написанный на Java кросс-платформенный фреймворк, предназначенный для обратного инжиниринга (исследования) готового программного обеспечения и поиска уязвимостей. О существовании этой системы впервые стало известно в 2017 г., когда ресурс WikiLeaks в рамках кампании Vault 7 слил большой объем непубличных данных о хакерском инструментарии ЦРУ и методах его использования. Среди этих документов упоминается и Ghidra.
В марте 2019 г. АНБ опубликовало исходный код Ghidra, сделав таким образом некогда секретную платформу публичным достоянием.

«Вероятнее всего, АНБ надеется максимально усовершенствовать код Ghidra с помощью сообщества open source, — считает Анастасия Мельникова, эксперт по информационной безопасности компании Sec Consult Services. — Очистить от "багов", усовершенствовать код, насколько возможно, и сделать весь фреймворк инструментом, способным конкурировать с другими аналогичными решениями. Судя по популярности пакета, эти надежды не напрасны».
...сторонних специалистов
Естественно, этот код привлек самое пристальное внимание со стороны всевозможных экспертов по информационной безопасности, и вполне ожидаемым образом в ней начали находиться уязвимости.
В частности, эксперт под ником sghctoma выявил XXE-уязвимость (XML External Entity), которая позволяет запускать удаленный код в системе с установленной на ней Ghidra. Речь, впрочем, идет только о Windows.
Уязвимость непосредственно содержится в процедуре открытия или восстановления проекта внутри Ghidra. Злоумышленнику потребуется создать специальный проект, загрузить в него XXE-эксплойт в любой XML-файл, располагающийся в директории проекта, а затем каким-либо образом заставить потенциальную жертву открыть этот проект.
Со своей стороны, эксперты Tencent Security подтвердили, что таким образом можно обеспечить запуск произвольного кода в целевой системе. Учитывая, что Ghidra написана на Java, потенциальный злоумышленник может воспользоваться особенностями этого языка, а также - слабыми местами в протоколе NTLM в Windows. Например, злоумышленник может создать HTTP-сервер с NTLM-авторизацией, а затем использовать уязвимость XXE/SSRF для того, чтобы получить от машины жертвы NTLM-хеш и таким образом запускать произвольный код.
Проблему можно частично решить блокировкой SMB-запросов файерволлом Windows или активацией цифровой подписи SMB. Также рекомендовано обновиться до последней версии JDK.
В ближайшее время разработчики обещают выпустить версию 9.0.1, в которой данная проблема будет устранена.