Что могут сделать вредоносные PowerShell-скрипты и чем они опасны

PowerShell — штатный инструмент автоматизации Windows, и именно поэтому злоумышленники его так любят. Скрипт запускается легитимной утилитой системы, не требует загрузки отдельного файла-«дроппера» и часто выглядит для антивируса как обычная административная задача. Вредоносный PowerShell-скрипт способен скачать и запустить любую программу, украсть пароли из браузеров, зашифровать файлы под выкуп или превратить компьютер в часть ботнета — причём всё это без единого исполняемого файла на диске.

Главный ориентир для понимания угрозы: PowerShell даёт атакующему почти полный программный доступ к системе Windows через командную строку. Ограничивает его только права учётной записи, с которой скрипт запущен. Поэтому вопрос «что может сделать такой скрипт» на практике сводится к вопросу «какие права он получил и успела ли система защиты отреагировать».

Почему PowerShell стал любимым инструментом атакующих

У PowerShell есть три свойства, которые делают его удобным для вредоносного использования:

  • Легитимность. Он предустановлен во всех современных версиях Windows и используется администраторами ежедневно. Блокировать его полностью нельзя — сломается обслуживание систем.
  • Работа в памяти. Скрипт можно выполнить, вообще не сохраняя файл на диск (техника fileless-атак). Антивирусы, которые ищут подозрительные файлы, такую нагрузку могут пропустить.
  • Доступ к API Windows. Через .NET-объекты скрипт обращается к тем же функциям, что и обычные программы: сеть, реестр, процессы, файлы, криптография.

Отдельный фактор — обфускация. Код легко замаскировать: разбить на фрагменты, закодировать в Base64, собрать строку по частям, использовать псевдонимы командлетов. Такой текст не читается человеком «с листа», а статические сигнатуры антивируса плохо цепляются за постоянно меняющийся код.

Что конкретно умеет вредоносный скрипт

Скачивание и запуск полезной нагрузки

Самый частый сценарий — скрипт выступает «загрузчиком». Однострочник вроде обращения к удалённому серверу через Invoke-Expression скачивает с контролируемого атакующим адреса исполняемый файл или другой скрипт и сразу выполняет его. Так на машину попадают трояны, шифровальщики, стилеры и бэкдоры. Сам PowerShell при этом остаётся лишь курьером.

Кража данных и учётных записей

Скрипты-стилеры собирают:

  • сохранённые пароли и cookie из браузеров (Chrome, Edge, Firefox хранят их в локальных базах, которые читаются при наличии прав пользователя);
  • файлы сессий мессенджеров и почтовых клиентов;
  • содержимое буфера обмена, включая скопированные криптовалютные адреса;
  • данные из конфигурационных файлов FTP-клиентов, VPN, игровых платформ;
  • скриншоты экрана и список установленных программ для оценки «ценности» жертвы.

Собранное обычно архивируется и отправляется на удалённый сервер. Для пользователя это часто незаметно: процесс занимает секунды и не создаёт видимых окон.

Шифровальщики

Часть вымогательских атак начинается именно с PowerShell: скрипт удаляет теневые копии томов, останавливает службы резервного копирования и антивируса, отключает восстановление системы, а затем запускает основной модуль шифрования. Даже если сам шифровальщик написан не на PowerShell, подготовительная «зачистка» нередко выполняется его средствами.

Майнинг криптовалют

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

Закрепление в системе

Чтобы пережить перезагрузку, скрипт прописывает себя в механизмы автозапуска: задачи планировщика, ветки реестра Run, ярлыки в папке автозагрузки, WMI-подписки на события. Продвинутые варианты используют легитимные утилиты (например, планировщик или WMI) так, что след в привычных местах автозапуска отсутствует.

Боковое перемещение по сети

На корпоративной машине скрипт может опросить сетевое окружение, попытаться подключиться к другим компьютерам с украденными учётными данными и повторить там тот же сценарий. Именно так начинаются крупные инциденты: одна заражённая рабочая станция превращается в шифрование всего файлового сервера.

Обход защитных механизмов

Типичные действия вредоносных скриптов против защиты:

  • отключение Defender через реестр или командлеты (при наличии прав администратора);
  • добавление исключений сканирования для своих папок;
  • удаление журналов событий, чтобы скрыть следы;
  • изменение политики выполнения скриптов;
  • остановка служб безопасности и резервного копирования.

Как скрипты попадают на компьютер

Понимание каналов доставки помогает оценить собственные риски. Основные пути:

  • Фишинговые письма. Вложение-ярлык (.lnk), документ Office с макросом или HTML-приложение запускает скрытый PowerShell-процесс.
  • Поддельные страницы и «крякнутый» софт. Инсталлятор пиратской программы или генератора ключей содержит загрузчик.
  • Реклама и SEO-отравление. Пользователь ищет популярную программу, попадает на поддельный сайт и скачивает модифицированный установщик.
  • Эксплуатация уязвимостей. Эксплойт в браузере или сетевой службе выполняет код в памяти, в том числе через PowerShell.
  • Заражённые съёмные носители и общие папки. Актуально в офисах с настроенной сетью.

Общий знаменатель — запуск происходит от имени обычного пользователя, который что-то открыл, скачал или подтвердил. Поэтому права учётной записи напрямую определяют масштаб возможного ущерба.

Признаки того, что скрипт уже отработал

Полезно знать наблюдаемые симптомы, хотя отсутствие симптомов не означает безопасность:

  • окно PowerShell мелькает на долю секунды при старте системы или открытии документа;
  • в планировщике задач появились записи с непонятными именами и командами в поле действия;
  • антивирус отключился сам или перестал обновляться;
  • браузерные пароли «утекли»: входы в аккаунты с чужих устройств, письма о новых входах;
  • резко выросла нагрузка на CPU/GPU в простое;
  • исчезли точки восстановления и теневые копии;
  • неизвестные исходящие соединения в мониторе ресурсов или файрволе.

Проверить журнал можно самостоятельно: в средстве просмотра событий Windows смотреть журналы «Windows PowerShell» и «Безопасность» на предмет неожиданных запусков powershell.exe с параметрами -enc, -w hidden, -nop — это типичные маркеры скрытого выполнения.

Как снизить риск: практические меры

Защита строится слоями, а не одним переключателем.

Ограничить сам PowerShell

  1. Перевести политику выполнения в режим AllSigned или RemoteSigned — это не панацея, но отсекает простейшие сценарии.
  2. Использовать AppLocker или WDAC, чтобы разрешить выполнение скриптов только из доверенных каталогов и только подписанным кодом.
  3. Включить журналирование скриптов (Script Block Logging) и защиту AMSI — это даст детектору и администратору видимую картину того, что реально исполнялось.
  4. Рассмотреть режим ограниченного языка (Constrained Language Mode) для пользователей, которым PowerShell для работы не нужен.

Урезать привилегии

Работать под обычным пользователем, а не администратором. Большинство стилеров и майнеров полноценно работают и без прав администратора, но отключение защиты, запись в системные службы и шифрование всей машины требуют повышения. Разделение прав заметно сокращает потолок ущерба.

Закрыть каналы доставки

  • Не открывать вложения и ссылки из неожиданных писем, даже от знакомых отправителей — их ящик могли взломать.
  • Отключить макросы в Office по умолчанию; включать только точечно для проверенных документов.
  • Скачивать программы только с официальных сайтов разработчиков, а не по первым ссылкам из рекламы.
  • Держать систему и браузер обновлёнными: значительная часть атак использует давно закрытые уязвимости.

Подстраховка на случай прорыва

Резервные копии критичных данных должны храниться офлайн или в облаке с версионированием — это единственная надёжная страховка от шифровальщика. Полезно периодически проверять, что восстановление действительно работает, а не существует только на бумаге.

Если заражение уже произошло

  1. Отключить компьютер от сети, чтобы остановить передачу данных и распространение.
  2. Не платить вымогателям и не вводить пароли на заражённой машине.
  3. Сменить пароли важных аккаунтов с другого, заведомо чистого устройства, начиная с почты — через неё восстанавливается доступ ко всему остальному.
  4. Для домашнего ПК надёжнее всего переустановка системы с нуля, а не «лечение» антивирусом: гарантий полной очистки после fileless-атак нет.
  5. В организации — привлечь специалистов по информационной безопасности: нужно понять, как атакующий попал внутрь и куда успел дойти, иначе инцидент повторится.

Типичные заблуждения

  • «У меня стоит антивирус, значит, я защищён». Обфусцированный код, меняющийся при каждой атаке, регулярно проходит статическую проверку. Антивирус нужен, но не достаточен.
  • «Я ничего не скачивал, мне нечего бояться». Достаточно открыть одно вложение или перейти на поддельную страницу по рекламной ссылке.
  • «PowerShell можно просто удалить». Нельзя: на нём держатся компоненты Windows и множество административных задач. Правильный путь — ограничение, а не удаление.
  • «Скрипт безопасен, если я его прочитал». Обфусцированный код человек без опыта корректно «прочитать» не сможет; внешне безобидная строка может декодироваться во что угодно.

Что делать прямо сейчас

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

Конкретные шаги на сегодня: проверить, под какой учётной записью вы работаете; убедиться, что резервные копии существуют и лежат отдельно от компьютера; заглянуть в планировщик задач и журнал PowerShell на предмет подозрительных записей; включить журналирование скриптов, если вы администрируете машины других людей. Эти четыре действия занимают меньше часа и закрывают наиболее вероятные сценарии.

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

PEFile.ru