Microsoft PowerShell и новые возможности вредоносного ПО

(Ди Давиде Майорка)
16/06/21

Большинство пользователей Microsoft Windows (в частности, системные администраторы) хотя бы раз слышали о Windows PowerShell, интерпретатор команд (более точно определенная «оболочка», очень похожая на интерпретаторы, такие как Bash в Linux), с помощью которой можно «управлять» различными функциями операционной системы. Эти функции включают, например, возможность копировать и перемещать файлы, удаленно загружать приложения, а также проверять список запущенных в данный момент служб. Команды PowerShell их еще называют командлеты, и представляют собой комбинацию функций, которые обычно заключаются в одной команде. Например, командлет Преобразовать в XML создает XML-представление объекта.

Инсайдерам наверняка меньше известно о том, что PowerShell он часто используется для выполнения вредоносных функций. Идея проста: функции, предоставляемые оболочкой, позволяют выполнять расширенные системные команды, которые также могут нанести вред самой системе при неправильном использовании (например, загрузка дополнительных файлов в память, загрузка вредоносных файлов из сети и т. Д. ). Это огромное преимущество при атаке систем Windows по сравнению с традиционными методами эксплуатации уязвимостей, которые включают выполнение вредоносного кода путем использования уязвимостей в программах, уже имеющихся на целевой машине (обычно устаревших). Через PowerShellследовательно, нет необходимости использовать уязвимости, специфичные для приложений или операционных систем, но атаки могут осуществляться напрямую.

PowerShell он часто используется косвенно через использование векторов заражения, часто представленных файлами Word и Excel. Фактически, эти файлы содержат макросы или автоматические процедуры, которые обычно должны облегчить написание документов или электронных таблиц (например, автоматическое заполнение определенных ячеек или выполнение определенных вычислений для нескольких ячеек). Также в этом случае эти макросы часто используются в абсолютно «мягких» контекстах, но они могут реализовывать функции для генерации кодов. PowerShell, Кроме того, PowerShell его также можно использовать напрямую, создав обратную оболочку, которая может позволить злоумышленнику использовать все его функции.

Еще одна особенность кода PowerShell это способность «прятаться» от глаз аналитика таким образом, чтобы не делать свои действия очевидными. Эта функция получила название обфускации. Таким образом, можно взять очень простой код и сильно усложнить его, не изменяя его семантику (то есть программа работает точно так же, как и не обфусцированная версия).

Для противодействия и анализа вредоносных программ PowerShell в тумане, научные исследования в последние годы достигли больших успехов. В частности, в двух исследованиях Университета Кальяри [1,2] были разработаны эффективные методы, позволяющие деобфускировать эти атаки. В частности, инструмент с открытым исходным кодом под названием PowerDecode, способный получить код PowerShell оригинал из его размытого варианта. PowerDecode можно бесплатно загрузить [3].

Вредоносное ПО PowerShell поэтому они представляют серьезную опасность для систем Windows, особенно при загрузке из документов Office. Тем не менее, исследования проводятся с целью предложить все более эффективные решения, позволяющие анализировать и обнаруживать эту категорию атак.

Ссылки

[1] Отец Угарте, Д. Майорка, Ф. Кара и Дж. Джачинто. PowerDrive: точная деобфускация и анализ вредоносного ПО PowerShell, 16-я конференция по обнаружению вторжений, вредоносному ПО и оценке уязвимости (DIMVA). Springer, Гетеборг, Швеция, стр. 240-259, 2019.

[2] Г. М. Маландроне, Г. Вирдис, Г. Джачинто и Д. Майорка. PowerDecode: декодер сценариев PowerShell, предназначенный для анализа вредоносных программ. На 5-й Итальянской конференции по кибербезопасности (ITASEC), 2021 г.

[3] PowerDecode. https://github.com/Malandrone/PowerDecode