Слабая политика именования пакетов в хранилище кода PowerShell Gallery компании Microsoft позволяет угрожающим лицам осуществлять атаки типа typosquatting, подменять популярные пакеты и, возможно, создавать почву для масштабных атак по цепочке поставок.
PowerShell Gallery - это онлайновый репозиторий пакетов, загружаемых сообществом разработчиков PowerShell и содержащий большое количество скриптов и командных модулей различного назначения.
Это очень популярная платформа для размещения кода, а количество загрузок некоторых пакетов на ней исчисляется десятками миллионов в месяц.
Компания Aqua Nautilus обнаружила проблемы в политиках рынка в сентябре 2022 года, и хотя Microsoft подтвердила получение соответствующих сообщений об ошибках и PoC-эксплойтов, она не предприняла никаких действий по устранению недостатков.
Легкая подмена
Команда AquaSec's Nautilus обнаружила, что пользователи могут отправлять в галерею PS пакеты с именами, очень похожими на названия существующих репозиториев, - так называемый "typosquatting", когда злоумышленники используют его во вредоносных целях.
В качестве примера в отчете приводится популярный модуль "AzTable", число загрузок которого достигает 10 млн. и который может быть легко выдан за новый под именем 'Az.Table', что затрудняет его различение пользователями.
Другая проблема, обнаруженная исследователями, - возможность подмены данных модуля, включая авторские права и авторство, путем копирования их из легальных проектов.
Это не только делает первую проблему опечаток в пакетах еще более опасной, но и может быть использовано для того, чтобы произвольные пакеты выглядели как работа надежных издателей.
Кроме того, PS Gallery по умолчанию скрывает более надежное поле "Владелец" в разделе "Сведения о пакете", в котором отображается учетная запись издателя, загрузившего пакет.
Раскрытие скрытых пакетов
Третий недостаток, обнаруженный AquaSec, связан с возможностью раскрытия не включенных в список пакетов/модулей платформы, которые обычно не индексируются поисковой системой Gallery.
К удивлению исследователей, они обнаружили на платформе XML-файл, содержащий исчерпывающую информацию как о включенных, так и о не включенных в список пакетах.
"Используя ссылку API, расположенную в нижней части XML-ответа [...], злоумышленник может получить неограниченный доступ к полной базе данных пакетов PowerShell, включая связанные с ними версии", - поясняет команда AquaSec's Nautilus.
"Такой неконтролируемый доступ предоставляет злоумышленникам возможность поиска потенциально важной информации в не включенных в список пакетах".
Раскрытие и устранение
Компания AquaSec сообщила обо всех недостатках в Microsoft 27 сентября 2022 г. и смогла воспроизвести их 26 декабря 2022 г., несмотря на то что в начале ноября Microsoft заявила об их устранении.
15 января 2023 года Microsoft заявила, что было реализовано краткосрочное решение, пока ее инженеры не разработают исправление опечаток в именах и подмены деталей пакета.
По данным AquaSec, 16 августа дефекты все еще сохранялись, что свидетельствует о том, что исправление не было реализовано.
Пользователям репозитория PS Gallery рекомендуется внедрить политики, разрешающие выполнение только подписанных скриптов, использовать доверенные частные репозитории, регулярно проверять исходный код модулей на наличие конфиденциальных данных, а также внедрить в облачных средах системы мониторинга в реальном времени для выявления подозрительной активности.
По новым правилам Дзена свежие материалы показываются в первую очередь подписчикам, которые реагируют на публикации. Поэтому не забывайте подписаться, поставить лайк и оставить комментарий, так вы будете первым узнавать о всех новых статьях на нашем канале!