T1059.001: PowerShell
Злоумышленники могут использовать для выполнения вредоносного кода команды и сценарии PowerShell. PowerShell — мощный интерактивный интерфейс командной строки и среда выполнения сценариев в составе операционной системы Windows. Злоумышленники могут использовать PowerShell для осуществления различных действий, включая сбор информации и выполнение кода. Например, командлет Start-Process
может быть использован для запуска исполняемого файла, а командлет Invoke-Command
выполняет команду локально или на удаленном компьютере (хотя использование PowerShell для подключения к удаленным системам требует разрешений администратора).
PowerShell также может использоваться для загрузки и запуска исполняемых файлов из интернета, которые затем могут запускаться с диска или непосредственно из памяти, минуя диск.
Доступно немалое количество инструментов тестирования на проникновение на базе PowerShell, включая Empire, PowerSploit, PoshC2 и PSAttack.
Команды и сценарии PowerShell также могут выполняться без прямого обращения к бинарному файлу powershell.exe
через интерфейсы входящей в PowerShell DLL сборки System.Management.Automation
с помощью платформы .NET и инфраструктуры общего языка (CLI) Windows.
Какие продукты Positive Technologies покрывают технику
Экспертиза MaxPatrol SIEM
it_bastion: PT-CR-2184: SKDPUNT_Blacklisted_Command: Выполнена команда из черного списка
mitre_attck_execution: PT-CR-339: Script_Files_Execution: Пользователь попытался запустить скрипт
mitre_attck_execution: PT-CR-342: Schtasks_Commandline: Управление запланированной задачей через командную строку или PowerShell
mitre_attck_execution: PT-CR-581: Execute_Encoded_Powershell: Обнаружен запуск процесса PowerShell или команды, закодированной в формате Base64
mitre_attck_execution: PT-CR-644: Powershell_Library_Loaded_into_Process: Процесс инициировал загрузку окружения PowerShell в свое адресное пространство
mitre_attck_execution: PT-CR-646: Run_Malicious_Msbuild_Project: Обнаружена попытка загрузить .NET-сборку по пути с маской microsoft.build
hacking_tools: PT-CR-373: SharpWMI_Usage: Обнаружено возможное использование программного обеспечения SharpWMI
hacking_tools: PT-CR-374: Sliver_Shell_Usage: Обнаружено возможное использование программного обеспечения Sliver Shell
mitre_attck_collection: PT-CR-491: Clipboard_Access: Обнаружение попыток сделать теневую копию информации, скопированной в буфер обмена
mitre_attck_collection: PT-CR-492: Clipboard_Access_Powershell: Обнаружение попыток сделать теневую копию информации, скопированной в буфер обмена, через PowerShell
mitre_attck_collection: PT-CR-499: Shadow_Screen_saves_PowerShell: Обнаружение попыток сделать множество скрытых снимков экрана через PowerShell
mitre_attck_collection: PT-CR-500: Documents_Access_via_Console: Взаимодействие с документами Office через cmd.exe или PowerShell
hacking_tools: PT-CR-584: Empire_Stager: Запущен PS-скрипт с подстрокой, характерной для Empire Stager
hacking_tools: PT-CR-586: Metasploit_Payload: Обнаружено возможное исполнение полезной нагрузки Metasploit
hacking_tools: PT-CR-588: Windows_Hacktool_Usage: Обнаружено возможное использование утилит для анализа защищенности систем Windows
mitre_attck_execution: PT-CR-1091: Payload_Injection_into_EventLog: Обнаружена попытка записать полезную нагрузку в журнал событий с помощью powershell-команды Write-EventLog
mitre_attck_execution: PT-CR-1359: NimPlant_Powershell_Activity: Обнаружен запуск потенциально вредоносного командлета PowerShell с помощью импланта NimPlant
mitre_attck_execution: PT-CR-1756: PowerShdll_Usage: Запуск утилиты PowerShdll
mitre_attck_execution: PT-CR-1087: Dangerous_Command_Usage: Обнаружена попытка выполнить потенциально опасную команду
mitre_attck_impact: PT-CR-497: Shadow_Copies_Deletion_with_Builtin_Tools: Обнаружение попыток удалить теневые копии данных, необходимых для восстановления Windows
mitre_attck_impact: PT-CR-501: Stop_Important_Service: Попытка остановить важную службу
mitre_attck_lateral_movement: PT-CR-957: Input_Remote_PowerShell_via_WinRM: Удаленное использование командлетов PowerShell через протокол WinRM на атакованном узле
mitre_attck_lateral_movement: PT-CR-959: Lateral_Movement_via_WinRM: Удаленное использование командлетов PowerShell через протокол WinRM
mitre_attck_lateral_movement: PT-CR-961: Output_Remote_PowerShell_via_WinRM: Удаленное использование командлетов PowerShell на атакующем узле через протокол WinRM
mitre_attck_lateral_movement: PT-CR-220: Client_Side_Execution_via_DCOM: Использование DCOM для удаленного выполнения кода
mitre_attck_execution: PT-CR-2300: Windows_Path_Traversal: Попытка атаки "Обход каталога" (Path Traversal). Злоумышленники используют эту атаку в командной строке Windows для получения несанкционированного доступа к файлам в системе
mitre_attck_execution: PT-CR-2391: Fuegoshell_Remote_Shell: Возможное создание удаленной оболочки с помощью функций PowerShell System.IO.Pipes.NamedPipeServerStream и System.IO.Pipes.NamedPipeClientStream, предназначенных для создания сервера на узле пользователя (bind shell) и подключения к серверу на узле злоумышленника (reverse shell). Это может быть признаком использования однострочных скриптов Fuegoshell
mitre_attck_execution: PT-CR-2392: Fuegoshell_Oneliners_Execution: Использованы функции PowerShell System.IO.Pipes.NamedPipeServerStream и System.IO.Pipes.NamedPipeClientStream, предназначенные для создания сервера, ожидающего прямого или обратного подключения (bind или reverse shell). Это может быть признаком использования однострочных сценариев Fuegoshell и создания удаленной оболочки для исполнения вредоносных команд через PowerShell
mitre_attck_execution: PT-CR-316: LOLBin_Copying: Обнаружена попытка скопировать системное приложение
mitre_attck_execution: PT-CR-340: Execute_Malicious_Command: Обнаружена попытка выполнить потенциально опасную команду
mitre_attck_execution: PT-CR-58: Execute_Malicious_Powershell_Cmdlet: Обнаружен запуск потенциально вредоносного командлета PowerShell
mitre_attck_execution: PT-CR-944: Subrule_PowerShell_CLM_Bypass_4103: На основе событий журнала модуля PowerShell обнаружены команды обхода языкового режима PowerShell ConstrainedLanguage
mitre_attck_execution: PT-CR-945: Subrule_PowerShell_CLM_Bypass_4104: На основе событий журнала блоков сценариев PowerShell обнаружены команды обхода языкового режима PowerShell ConstrainedLanguage
mitre_attck_collection: PT-CR-1932: Copying_Files: Копирование файлов и папок с помощью утилит xcopy, robocopy, команды copy, командлета Copy-Item
mitre_attck_defense_evasion: PT-CR-1859: Disable_UAC_Remote_Restrictions: Злоумышленники могут отключить UAC в рамках контроля удаленных подключений. Это позволяет высокопривилегированным пользователям подключиться к удаленному узлу с использованием учетной записи из локальной группы администраторов на этом узле
microsoft_mecm: PT-CR-1860: MECM_SharpSCCM: Использование утилиты SharpSCCM, предназначенной для поиска конфиденциальной информации о клиентах MECM
mitre_attck_defense_evasion: PT-CR-1861: Firewall_Modify: Попытка изменить конфигурацию брандмауэра Windows
mitre_attck_execution: PT-CR-1962: Remote_Registry_Enable: Возможный запуск службы "Удаленный реестр", позволяющей удаленно изменить значения ключей реестра Windows, что может быть использовано для перемещения внутри периметра
mitre_attck_execution: PT-CR-207: Suspicious_Wmic_Command: Обнаружена попытка использовать утилиту "wmic", чтобы совершить подозрительные действия
mitre_attck_execution: PT-CR-2116: Reverse_Shell_via_Powershell: Создано обратное подключение (reverse shell) с помощью PowerShell
it_bastion: PT-CR-2171: SKDPUNT_Suspicious_Command: Пользователь выполнил потенциально опасную команду
it_bastion: PT-CR-2177: SKDPUNT_Potentially_Dangerous_Command: Использованы потенциально опасные команды
hacking_tools: PT-CR-839: SharPersist_Usage: Обнаружено возможное использование утилиты SharPersist
hacking_tools: PT-CR-840: SharpKatz_Usage: Обнаружены признаки использования программного обеспечения SharpKatz
hacking_tools: PT-CR-1726: Havoc_Powerpick: В процесс werfault.exe внедрился подозрительный процесс, что может быть признаком использования Havoc для скрытого исполнения команд PowerShell
hacking_tools: PT-CR-1727: Havoc_Powershell_Command_Execution: По артефактам из командной строки обнаружено выполнение команды PowerShell подозрительным процессом
hacking_tools: PT-CR-1947: Powermad_Usage: Использование утилиты Powermad для эксплуатации атрибутов учетных записей AD
mitre_attck_execution: PT-CR-782: WinAPI_Access_from_Powershell: Обнаружен вызов функций Windows API из PowerShell
mitre_attck_defense_evasion: PT-CR-930: AMSI_Bypass_via_Powershell: Использование методов обхода AMSI
mitre_attck_defense_evasion: PT-CR-936: Obfuscated_Powershell: Использование известных методов обфускации в сценариях PowerShell
mitre_attck_defense_evasion: PT-CR-938: PowerShell_CLM_Bypass: Попытка обхода языкового режима PowerShell ConstrainedLanguage
mitre_attck_defense_evasion: PT-CR-942: Subrule_CSC_Start_and_File_Create: Запуск процесса csc.exe, родителем которого является процесс powershell.exe, и создание процессом библиотеки
hacking_tools: PT-CR-2134: SharpToken_Usage: Использован инструмент SharpToken, который ищет утечки токенов во всех процессах системы и эксплуатирует их. Если злоумышленники получили доступ к учетной записи с низким уровнем привилегий, этот инструмент позволит им повысить привилегии до "NT AUTHORITY\SYSTEM". Также с помощью SharpToken можно захватить интерактивный сеанс пользователя
hacking_tools: PT-CR-2339: PsMapExec_First_Usage: Впервые использован инструмент PsMapExec, написанный на PowerShell. Этот инструмент применяется для постэксплуатации, разведки, получения доступа, удаленного выполнения команд на узлах и компрометации учетных записей в рамках домена Active Directory
mitre_attck_persistence: PT-CR-264: Add_new_user_in_commandline: Обнаружена попытка создать учетную запись при помощи командной строки или PowerShell
mitre_attck_persistence: PT-CR-271: Service_Created_or_Modified: Обнаружена попытка выполнить операции со службами Microsoft Windows через командную строку или PowerShell
hacking_tools: PT-CR-369: Mimikatz_Command: Обнаружено возможное использование программного обеспечения Mimikatz
hacking_tools: PT-CR-370: NetCat_Usage: Обнаружено возможное использование программного обеспечения NetCat, Socat или Powercat
hacking_tools: PT-CR-371: Rubeus_Usage: Обнаружено возможное использование программного обеспечения Rubeus
hacking_tools: PT-CR-372: SharpSploit_Usage: Обнаружено возможное использование программного обеспечения SharpSploit
hacking_tools: PT-CR-750: Cobalt_Strike_Powershell_Payload_Delivery: Обнаружено скачивание полезной нагрузки с помощью зашифрованной команды PowerShell
mitre_attck_defense_evasion: PT-CR-203: BitsJob_Download_and_Run: Обнаружена попытка загрузить или запустить приложение при помощи средства командной строки Microsoft Windows "bitsadmin"
mitre_attck_defense_evasion: PT-CR-2060: Powershell_Execution_from_Image: Применение утилиты Invoke-PSImage для запуска скрипта PowerShell, внедренного в изображение
mitre_attck_defense_evasion: PT-CR-208: XSL_Script_WMIC_Execution: Обнаружена попытка запустить сценарии XSL с помощью утилиты "wmic"
mitre_attck_cred_access: PT-CR-298: Access_System_Credential_files_via_cmdline: Обнаружена попытка получить учетные данные пользователей операционной системы
mitre_attck_cred_access: PT-CR-299: LAPS_Enumeration: Поиск пользователей, групп и компьютеров, имеющих доступ к Microsoft LAPS (Local Administrator Password Solution). LAPS автоматически управляет паролем учетной записи локального администратора и создает резервную копию пароля на устройствах, подключенных к службам Active Directory
pt_application_firewall: PT-CR-1915: PTAF_Hacktool_Detected: Приложение PT AF обнаружило признаки использования вредоносной утилиты
Способы обнаружения
ID | DS0012 | Источник и компонент данных | Сценарий: Выполнение сценария | Описание | Отслеживайте попытки включить поддержку сценариев в системе и рассматривайте их как подозрительные. Если использование сценариев в системе допустимо, но не является типичным, их выполнение вне цикла обновлений или других административных задач должно рассматриваться как подозрительное. По возможности сохраняйте сценарии, записанные в файловой системе, для последующего анализа действий и целей злоумышленников. Аналитика 1. События журнала, связанные с блоками сценариев
|
---|
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Если в системе включена политика выполнения сценариев, злоумышленники, получившие доступ от имени администратора или системы, могут изменить ее через реестр или командную строку. Отслеживая изменения этой политики, можно обнаружить несанкционированное использование PowerShell. Если в вашей среде не используется PowerShell, рекомендуется тем не менее отслеживать выполнение PowerShell, чтобы выявить вредоносную активность. Также рекомендуется включить журналирование PowerShell для улучшения мониторинга действий при выполнении сценариев, связанных с вызовом .NET . В PowerShell 5.0 появились расширенные возможности журналирования; некоторые из них были также добавлены в PowerShell 4.0. В более ранних версиях PowerShell количество функций журналирования ограничено. Организация может собирать подробные данные о выполнении PowerShell через платформу аналитики данных, а затем дополнять их другой информацией. PowerShell может использоваться для удаленного выполнения команд на узле через WinRM. При запуске удаленного сеанса PowerShell процесс svchost.exe выполняет wsmprovhost.exe. Для этого необходимо задать определенные ключи реестра и включить службу WinRM. Для создания удаленного сеанса PowerShell используется команда PowerShell Enter-PSSession -ComputerName \ |
---|
ID | DS0009 | Источник и компонент данных | Процесс: Создание процесса | Описание | Отслеживайте запуск новых процессов, в которых могут использоваться команды и сценарии PowerShell для выполнения вредоносного кода. PowerShell — среда выполнения сценариев в составе операционной системы Windows, которая может использоваться не только администраторами, но и злоумышленниками. В большинстве версий Windows выполнение сценариев PowerShell непрозрачно и, как правило, не отслеживается антивирусом, что делает PowerShell удобным инструментом для обхода систем безопасности. Эта аналитика отслеживает использование сценариев PowerShell. PowerShell позволяет скрывать выполнение отслеживаемых команд, таких как: net use sc start Примечание. Логика аналитики 1 основана на обнаружении неинтерактивных сеансов PowerShell (то есть тех, которые не были запущены пользователем через explorer.exe). При использовании в производственной среде это может привести к ложным срабатываниям, поэтому рекомендуется включать в аналитику дополнительные алгоритмы (например, алгоритм поиска подозрительных родительских процессов), которые будут отфильтровывать такие события. Логика аналитики 2 основана на обнаружении удаленных сеансов PowerShell. PowerShell может использоваться через WinRM для удаленного выполнения команд на узле. При запуске удаленного сеанса PowerShell svchost.exe выполняет wsmprovhost.exe. Аналитика 1. Неинтерактивные сеансы PowerShell
Аналитика 2. Удаленные сеансы PowerShell
Аналитика 3. Выполнение PowerShell
|
---|
ID | DS0009 | Источник и компонент данных | Процесс: Метаданные процесса | Описание | По возможности отслеживайте события Windows с идентификатором 400: в поле |
---|
ID | DS0011 | Источник и компонент данных | Модуль: Загрузка модуля | Описание | Отслеживайте загрузку и (или) выполнение артефактов, сгенерированных отдельными сборками PowerShell, например System.Management.Automation.dll (особенно с нестандартными именами процессов или путями их запуска). Аналитика 1. Загрузка сборок PowerShell процессами
|
---|
Меры противодействия
ID | M1049 | Название | Антивирус или ПО для защиты от вредоносных программ | Описание | Антивирус может использоваться для автоматического помещения подозрительных файлов в карантин. |
---|
ID | M1042 | Название | Отключение или удаление компонента или программы | Описание | Можно удалить PowerShell из систем, если он не нужен, но перед этим следует провести анализ, чтобы оценить влияние на среду, поскольку PowerShell может использоваться в различных легитимных целях и для административных функций. Отключите или ограничьте использование службы WinRM, чтобы предотвратить использование PowerShell для удаленного выполнения. |
---|
ID | M1045 | Название | Подпись исполняемого кода | Описание | Установите политику выполнения PowerShell так, чтобы выполнялись только подписанные сценарии. |
---|
ID | M1026 | Название | Управление привилегированными учетными записями | Описание | При необходимости использования PowerShell следует ограничить политику выполнения PowerShell администраторами. Помните, что существуют методы обхода политики выполнения PowerShell, зависящие от конфигурации среды. PowerShell JEA (Just Enough Administration) также может использоваться для создания песочницы администрирования и ограничения команд, которые администраторы и обычные пользователи могут выполнять через удаленные сеансы PowerShell. |
---|
ID | M1038 | Название | Защита от выполнения | Описание | По мере необходимости используйте контроль приложений. Режим PowerShell Constrained Language можно использовать для ограничения доступа к чувствительным или иным опасным элементам языка, например тем, которые используются для выполнения произвольных API Windows или файлов (например, |
---|