Исследователи из Aqua Security заявляют, что обнаружили ряд проблем в репозитории Microsoft PowerShell Gallery. По их словам, репозиторий уязвим перед тайпсквоттингом и спуфингом популярных пакетов, что в итоге может привести к компрометации цепочки поставок.
PowerShell Gallery представляет собой управляемый компанией Microsoft популярный репозиторий пакетов, загружаемых PowerShell-сообществом. Он содержит скриптов и командлетов (cmdlet) для самых разных целей, а некоторые пакеты насчитывают миллионы скачиваний в месяц.
Аналитики Aqua Security пишут, что пользователи могут отправлять в PowerShell Gallery пакеты с именами, очень похожими на имена реально существующих репозиториев. Эту уязвимость они демонстрируют на примере модуля AzTable, который насчитывает 10 млн загрузок. Потенциальные злоумышленники легко могут имитировать его, используя имя Az.Table и вводя пользователей в заблуждение.
Другая проблема связана с возможность подделки сведений о модуле, в том числе о его авторе и авторских правах, путем копирования этих данных из настоящих проектов. Это дополнительно усугубляет описанную выше проблему тайпсквоттинга, а также может использоваться для придания случайным пакетам видимой легитимности, создавая у пользователей впечатление, что это работа заслуживающих доверия издателей.
Хуже того, PowerShell Gallery по умолчанию скрывает важное поле «Владелец» (Owner) в разделе сведений о пакете, где можно увидеть учетную запись издателя, загрузившего пакет.
Третий недостаток, обнаруженный специалистами, касается возможности обнаруживать на платформе unlisted-пакеты, которые обычно не индексируются поисковой системой PowerShell Gallery. Так, исследователи с удивлением нашли на платформе XML-файл, в котором содержалась подробная информация обо всех пакетах.
«Используя ссылку API, расположенную в нижней части XML-ответа <…>, злоумышленник может получить неограниченный доступ ко всей базе данных PowerShell-пакетов, включая связанные версии. Этот неконтролируемый доступ дает злоумышленнику возможность искать потенциально конфиденциальную информацию в unlisted-пакетах», — объясняют эксперты.
Aqua Security уведомила Microsoft о своих находках еще в сентябре 2022 года. Исследователи сумели воспроизвести все свои PoC-атаки даже после того, как в начале ноября 2022 года Microsoft заявила, что устранила все проблемы.
После этого, 15 января 2023 года, представители Microsoft заверили, что создали временное исправление, пока инженеры компании работают над полноценными патчами для проблем тайпсквоттинга и спуфинга.
Однако теперь исследователи Aqua Security сообщают, что по состоянию на 16 августа 2023 года уязвимости были на месте, то есть исправление так и не было реализовано. В связи с этим пользователям рекомендуют внедрить политики, разрешающие выполнение только подписанных скриптов, использовать доверенные частные репозитории, регулярно проверять исходный код модулей на наличие конфиденциальных данных, а также внедрить в облачных средах системы мониторинга для выявления подозрительной активности в режиме реального времени.
После публикации отчета исследователей представители Microsoft подтвердили СМИ, что им известно об этих проблемах, и компании борется с ними:
«Нам известно об этом отчете, и хотя мы пришли к выводу, что в основе [описанных проблем] лежит социальная инженерия, мы внесли некоторые изменения, позволяющие выявлять и удалять такие пакеты.
Мы призываем пользователей сообщать обо всех пакетах, которые, по их мнению, являются вредоносными, с помощью ссылки "Report".
Как и всегда, мы будем продолжать отслеживать вредоносную активность и принимать меры по обеспечению всесторонней защиты клиентов».
Источник: xakep