Как стать автором
Обновить

Комментарии 10

Мораль: если малварь смогла запуститься под правами локального админа, то уже поздняк метаться и вариантов доломать систему миллион. Т.е. бороться за живучесть системы результативнее в юзерспейсе, чем на высоких привелегиях. А если бой за хост проигран, стараться минимизировать дальнейшую эскалацию атаки по сети и как можно быстрее обнаружить и изолировать погибший в неравной схватке ендпоинт.

По-моему, вы не поняли суть из-за плохого перевода.

Малварь без прав админа меняет profile.ps1, это некий аналог autoexec.bat. А затем PowerShell, запущенный под админом, его исполняет.

Причем, если я правильно понял оригинал, в конфигурации по умолчанию даже не исполняет. А исполняет, если ослабить политику. Но многие это делают, чтобы подключать полезные third-party коммандлеты в каждую сессию PowerShell.

я еще не проверял лично, но в доке микрософта написано, что PROFILE обычно расположен в пользовательской home-диреткории (для каждого пользователя она своя) или указывает на системный каталог, где размещен сам повершелл ( и куда обычный юзер писать не сможет). Т.е что-бы из под юзера подложить свой profile под повершелл админа, надо иметь соответствующие права на создания файла.

Я не то что бы отрицаю, но нужна проверка предусловий для эксплуатации этого вектора атаки.

Насколько я понял, сценарий такой. Юзер и так админ, во всяком случае может повышать права до админских. Малварь (без админских прав) меняет юзерский $PROFILE, не системный. Затем юзер, которому надо что-то поадминить, запускает PowerShell с повышением прав (или по привычке всегда запускает с повышением), и payload исполняется.

В общем, весьма специфические условия для эксплуатации.

Спасибо за пояснение! Как было отмечено в статье:  

"Злоумышленник с удаленным доступом может использовать файл profile.ps1, выполняемый в сессии Администратора PowerShell".

 Сессию запускает пользователь с правами локального администратора, малварь же может получить доступ и что-то поменять в profile.ps1 только, если ослабить Execution Policy, в частности, если будет разрешено выполнение скриптов - что отмечено ниже в тексте:

 "Однако пользователи часто изменяют политики CurrentUser и LocalMachine, чтобы разрешить выполнение скриптов." И далее, по тексту..

 То есть, непременным условием эксплуатации является ослабление Execution Policy, а вот уже последующее изменение profile.ps1, следует предотвращать используя подписанные файлы, ограничение прав доступа и флаг "-NoProfile" как отмечается в разделе "Обнаружение и Устранение"».

Зачем делать плохой перевод, если можно написать на хорошем русском? Это же ваша статья. Или у вас нет сотрудников с хорошим знанием русского?

Что конкретно в нашем переводе вы считаете плохим? Давайте конкретику, иначе ваш комментарий не несёт в себе никакого смысла и пользы.

Имхо, весь разговор о profile.ps1 абсолютно идентичен bashrc в линукс.
Да, туда можно вставить вредоносный код. Но эта штука лежит в пользовательских директориях и требует прав записи туда. Т.е. до начала уже надо либо быть этим пользователем (владельцем), либо иметь адм права.

Т.е. применимо скорее как средство сокрытия своего присутствия, а вовсе не проникновения/повышения прав.

Эта штука может использоваться для обхода UAC, т.е. повышения прав от ограниченной учётной записи админа до полной.

для обхода UAC,

ЕМНИП UAC - не мера безопасности, а мера понуждения программистов писать безопасные программы посредством задалбывания пользователей небезопасных программ.

Поэтому "обход" звучит... слишком сильно. "Обход рекомендации" по сути.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий