Использование PowerShell для исследования определений сигнатур вредоносных программ Защитника Windows

Защитник Windows теперь может быть полностью описан как антивирус после выпуска Windows 10. Как и любой антивирус, Защитник Windows имеет определение базы данных, которое он использует для выявления и блокировки или удаления угроз или вредоносных программ. Определение базы данных – это набор сигнатур вредоносных программ, на идентификацию которых был запрограммирован антивирус. Если определенная подпись идентифицируется с определенной программой, то эта программа помечается как угроза безопасности. Теперь Windows PowerShell позволяет заглянуть под капот и увидеть движок, на котором работает Защитник Windows. Вы можете сделать гораздо больше без особых усилий.

В этом руководстве кратко объясняется, что такое Защитник Windows и Windows PowerShell. Затем вы получите краткое представление о том, как работает Windows PowerShell и как использовать PowerShell для управления Защитником Windows. Наконец, мы увидим, как мы можем использовать PowerShell, чтобы узнать, какие вирусы Защитник Windows может идентифицировать, просматривая его базу данных определений сигнатур.

Что такое Защитник Windows?

Защитник Windows – это защита от вредоносных программ, которая включена в Windows и встроена в нее. Это программное обеспечение помогает выявлять и удалять вирусы, шпионское и другое вредоносное ПО. Защитник Windows работает в фоновом режиме и уведомляет вас, когда вам нужно предпринять определенные действия. Однако вы можете использовать его в любое время для поиска вредоносных программ, если ваш компьютер не работает должным образом или если вы щелкнули подозрительную ссылку в Интернете или в сообщении электронной почты.

Защитник Windows, похоже, планирует переход на современное приложение для Windows спустя годы с аналогичным пользовательским интерфейсом. Защитник Windows впервые появился как антивирусная утилита для Windows XP. Начиная с версии Vista, он был встроен во все ОС Microsoft в качестве защиты от вредоносных программ. До Windows 8 Защитник Windows защищал от шпионского ПО. Он включал в себя ряд агентов безопасности в реальном времени, которые отслеживали несколько общих областей Windows на предмет изменений, которые могли быть вызваны шпионским ПО. Он также включал возможность простого удаления установленного программного обеспечения ActiveX.

В Windows 8 Защитник Windows был объединен с другим антивирусным продуктом – Microsoft Security Essentials – и теперь он стал полнофункциональным антивирусным программным обеспечением. В Windows 10 настройками Защитника Windows управляет приложение «Настройки», доступное в настройках. Юбилейное обновление Windows 10 теперь позволяет отображать всплывающие уведомления и объявлять о результатах сканирования, даже если вирусы не обнаружены.

Главное преимущество Защитника в том, что он прост в использовании, он уже предустановлен в Windows, включен по умолчанию и практически не требует ручной настройки. Это также очень легкое приложение, которое не будет беспокоить вас постоянно всплывающими окнами.

Что такое Windows PowerShell?

Windows PowerShell – это оболочка, разработанная Microsoft для автоматизации задач и управления конфигурацией. Эта мощная оболочка основана на. NET framework и включает в себя оболочку командной строки и язык сценариев. Изначально компонент Windows PowerShell был сделан с открытым исходным кодом и кроссплатформенным 18 августа 2016 года, что означает, что любой мог разрабатывать команды для использования с PowerShell.

Защитник Windows всегда имел версию командной строки, которую вы может работать в обычном окне командной строки. Однако в Windows 10 есть командлеты для Защитника Windows.

Командлет (произносится как command-let ) – это облегченная команда, которая используется в Windows PowerShell. среда. Среда выполнения Windows PowerShell вызывает эти командлеты в контексте сценариев автоматизации, которые предоставляются в командной строке. Среда выполнения Windows PowerShell также вызывает их программно через API-интерфейсы Windows PowerShell (интерфейс прикладной программы). Командлеты выполняют действие и обычно возвращают объект Microsoft .NET Framework следующей команде в конвейере. Как и любое другое действие командной строки, командлет должен существовать, чтобы возвращать результаты, иначе будет отображаться ошибка.

Как запустить Windows PowerShell в режиме администратора

Вы можете запустить PowerShell, набрав « PowerShell» в окне Выполнить , но это не совсем поможет. Это связано с тем, что этот метод не будет запускать PowerShell в режиме администратора, а без режима администратора вы ограничены в ваших действиях из-за разрешений. Вот способы запустить PowerShell в режиме администратора.

  1. В Windows 10 самый простой и быстрый способ сделать это – запустить Файл/Проводник Windows, откройте любую папку , откройте меню Файл , перейдите в Открыть Windows PowerShell , а затем выберите команду Открыть Windows PowerShell от имени администратора .
  2. Другой вариант – перейти в папку C : Windows System32 WindowsPowerShell v1.0 или любая доступная версия . Щелкните правой кнопкой мыши файл с именем PowerShell.exe и откройте его от имени администратора. Файл с именем PowerShell_ise.exe предоставляет PowerShell в графическом интерфейсе пользователя, а не в командной строке, но они оба работают одинаково с использованием одних и тех же командлетов.
  3. Последний вариант – открыть Командную строку от имени администратора и использовать ее для открытия PowerShell. Перейдите в Пуск> Все приложения/Все программы> Система Windows/Стандартные> . Щелкните правой кнопкой мыши Командную строку и запустите от имени администратора . В появившемся окне командной строки введите «PowerShell» и нажмите Enter. Путь изменится на «PS C: Windows System32> ». Это означает, что вы готовы использовать среду PowerShell..

Командлеты PowerShell Defender и их использование

Мы говорили о том, что такое командлеты, так как же ты ими пользуешься? Вам просто нужно ввести эти команды в окно PowerShell.

Windows PowerShell предоставляет 12 командлетов для Защитника Windows. Чтобы увидеть их, просто введите Get-Command -Module Defender в окно командной строки PowerShell и нажмите Enter. Вот полный список командлетов для Защитника Windows.

Serial Командлет Описание
Add-MpPreference Изменяет настройки Защитника Windows.
Get-MpComputerStatus Получает статус антивирусного программного обеспечения на компьютере.
Get-MpPreference Получает настройки для сканирования и обновлений Защитника Windows.
Get-MpThreat Получает историю угроз, обнаруженных на компьютере.
Get-MpThreatCatalog Получает известные угрозы из каталога определений.
Get-MpThreatDetection Получает активные и прошлые вредоносные угрозы, обнаруженные Защитником Windows.
Remove-MpPreference Удаляет исключения или действия по умолчанию.
Remove-MpThreat Удаляет активные угрозы с компьютера.
Set-MpPreference Настраивает параметры сканирования и обновлений Защитника Windows.
Start-MpScan Запускает сканирование на компьютере.
Пуск-MpWDOScan Запускает автономное сканирование Защитника Windows.
Update-MpSignature Обновляет определения защиты от вредоносных программ на компьютере.

Получение помощи из PowerShell, когда вы застряли

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

Get- Help -Detailed Это даст вам подробное описание того, с чем связан командлет и что он делает, включая необходимые параметры.
Get-Help -Examples Эта команда предоставит вам примеры того, как использовать командлет.
Get-Help -Full Это даст подробное описание, включая примеры.

Если вы не можете получить какую-либо информацию, вам придется обновить файлы справки командлета Защитника Windows. Чтобы обновить меню справки, введите эту команду в окне Windows PowerShell Update-Help и подождите несколько минут, пока не будут загружены и установлены последние файлы справки..

Несколько стандартных операций PowerShell для управления Защитником Windows

Start-MpScan командлет в командной строке PowerShell позволяет запустить сканирование вашей системы. Это сканирование Защитника Windows, которое вы можете запустить на своем компьютере с помощью Windows PowerShell.

  1. FullScan – это сканирование выполняется для всех файлов на вашем компьютере, а также для системного реестра. и запущенные текущие приложения. Просто используйте эту команду для выполнения полного сканирования: Start-MpScan -ScanType QuickScan
  2. QuickScan – это выполнит анализ только тех областей, которые с наибольшей вероятностью могут быть заражены вредоносным ПО. Чтобы выполнить быстрое сканирование, используйте следующую команду: Start-MpScan -ScanType FullScan
  3. CustomScan – пользовательское сканирование позволит пользователю выбрать папки и диски для сканирования. Для этого сканирования необходим параметр пути. Вот пример командлета для запуска выборочного сканирования: Start-MpScan -ScanPath C: Users User1 Downloads

Если вы хотите проверить наличие обновлений и обновлений определения новых сигнатур вирусов Защитник Windows, вы будете использовать команду: Update-MpSignature

Чтобы отобразить текущее состояние параметров, включенных Защитником Windows, дату и версию определения вируса, время последнего сканирования и другие – введите эту команду в PowerShell. : Get-MpComputerStatus

Если вы хотите отключить защиту в реальном времени Defender, используйте команду: Set-MpPreference -DisableRealtimeMonitoring $ true

Есть намного больше и даже сложные командлеты Защитника Windows, но на этой странице мы не будем углубляться в это. Теперь, когда вы знаете основные командлеты защитника Windows, мы рассмотрим, как получить доступ к базе данных определений сигнатур Защитника Windows.

Доступ к базе данных определений сигнатур вредоносных программ Защитника Windows с помощью PowerShell

База данных определений сигнатур Защитника Windows сообщает вам, что Windows Defender может идентифицировать угрозу и успешно нейтрализовать ее. Командлет Get-MpThreatCatalog позволит вам это сделать. Весь список будет длинным и будет генерироваться на вашем экране с невероятной скоростью. Тем не менее, вы можете найти время, чтобы найти то, что вы ищете, а что может быть упущено. Просто введите эту команду в командную строку PowerShell и нажмите Enter.

Get-MpThreatCatalog

Вы можете использовать Pause/Break на вашем ПК, чтобы временно приостановить вывод. Чтобы полностью остановить или отменить создание всего списка, нажмите Ctrl + C. Если вы сделаете одно из двух, вы увидите запись для каждой угрозы в базе данных с шестью полями. Вот пример:

CategoryID: 4

SeverityID: 5

ThreatID: 5145

ThreatName: TrojanDownloader: Win32/Zlob.CH

TypeID: 0

PSComputerName:

Давайте кратко рассмотрим, что означает каждое поле .

CategoryID: Указывает тип вредоносного ПО/угрозы в списке.. Вот известные на данный момент значения и тип угрозы/вредоносного ПО, на которые они указывают:

ID Тип вредоносного ПО
0 Недействительный
1 Рекламное ПО
2 Шпионское ПО
3 Passwordstealer
4 Trojandownloader
5 Червь
6 Бэкдор
7 Remoteaccesstrojan
8 Trojan
9 Emailflooder
10 Keylogger
11 Dialer
12 Программное обеспечение для мониторинга
13 Browsermodifier
14 Cookie
15 Browserplugin
16 Aolexploit
17 Nuker
18 Securitydisabler
19 Программа-шутка
20 Hostileactivexcontrol
21 Softwarebundler
22 Stealthnotifier
23 Settingsmodifier
24 Панель инструментов
25 Remotecontrolsoftware
26 Trojanftp
27 Потенциально нежелательное программное обеспечение
28 Icqexploit
29 Trojantelnet
30 Программа обмена файлами
31 Malware_Creation_Tool
32 Remote_Control_Software
33 Инструмент
34 Trojan_Denialofservice
36 Trojan_Dropper
37 Trojan_Massmailer
38 Trojan_Monitoringsoftw являются
39 Trojan_Proxyserver
40 Вирус
42 Известный
43 Неизвестно
44 Spp
45 Поведение
46 Уязвимость
47 Политика

SeverityID: Это шкала от 1 до 5, которая определяет, насколько серьезна угроза, 5 – наивысший уровень. Вот что они означают.

ID Серьезность
0 Неизвестно
1 Низкий
2 Умеренный
4 Высокий
5 Серьезная

ThreatID: Это число, которое был назначен вредоносному ПО/угрозе как форма идентификации.

ThreatName: это имя, присвоенное вредоносной программе, которое соответствует номеру ThreatID.

TypeID : Значение TypeID указывает, как Защитник Windows определяет вредоносное ПО. Это известная или неизвестная угроза? Вот значения и их значение.

ID Метод идентификации
0 Известная серьезная угроза
1 Мониторинг поведения
2 Неизвестная угроза
3 Известная хорошая угроза
4 Угроза системы проверки сети (NIS)

Вы можете заметить, что все угрозы, появляющиеся на на вашем экране находятся угрозы типа (0). Это связано с тем, что большинство определений сигнатур, которые уже были добавлены, были исследованы, и тип угрозы, которую они представляют, был задокументирован.

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

Что следует помнить

  1. Определения сигнатур – это довольно большой каталог, поэтому может пройти довольно много времени, прежде чем вы увидите какие-либо сгенерированные данные на своем экране. Наберитесь терпения.
  2. Поскольку база данных огромна, она может забить вашу память. Однако у командлетов есть ограничение на объем используемой памяти, и вы, вероятно, увидите следующее сообщение: «ПРЕДУПРЕЖДЕНИЕ: использование памяти командлетом превысило уровень предупреждения». PowerShell может восстановиться и продолжить процесс или просто вернуть вас в конвейер запросов. Потерпи. В противном случае вы можете отменить событие, нажав Ctrl + C.
  3. Если ваш экран становится слишком переполненным, введите команду «CLS», чтобы очистить экран. Это также улучшит использование памяти.

Запрос базы данных определений сигнатур Защитника Windows

Запрос – это просто запрос уточненной информации/данных, соответствующих определенным критериям из базы данных. Мы видели, как выглядит база данных определений Защитника Windows. Теперь мы знаем, что это чрезвычайно огромная база данных. Но вы всегда можете сократить объем отображаемой информации, добавив несколько параметров в свой командлет. Вот несколько примеров того, как это можно сделать.

  1. Чтобы просмотреть все записи в базе данных о наиболее серьезных вредоносных программах, используйте этот командлет:

Get-MpThreatCatalog | where-object {$ _. SeverityID -eq «5»}

Значение «5» вернет определения только с уровнем серьезности 5.

  1. Защитник Windows может идентифицировать несколько типов вредоносных программ. Чтобы сосредоточиться только на одном типе, вам нужно будет передать параметр TypeID или, что более удобно, параметр ThreatName. Например, можно увидеть только угрозы, известные как вирусы.. Просто введите это в окно командной строки PowerShell:

Get-MpThreatCatalog | where-object {$ _. ThreatName -Match «^ Virus. *»}

Вы также можете использовать более одного критерия для запроса базы данных. Допустим, например, вам нужно просмотреть все вирусы с серьезностью , равной 5. Просто введите эту команду в окно PowerShell:

Get-MpThreatCatalog | где-объект {$ _. SeverityID -eq «5»} | where-object {$ _. ThreatName -Match «^ Virus. *»}

Таким образом, у вас может быть несколько дополнительных критериев запроса для сужения отображаемой информации.

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

Get-MpThreatCatalog | где-объект {$ _. SeverityID -eq «5»} | выберите ThreatName | подробнее

Или

Get-MpThreatCatalog | где-объект {$ _. SeverityID -eq «5»} | where-object {$ _. ThreatName -Match «^ Virus. *»} | выберите ThreatName | подробнее

Эта командная строка передает вывод в команду more , которая, в свою очередь, отображает вывод по одной странице за раз. Чтобы перейти на следующую страницу, нажмите [Пробел] . Если вы нажмете [Enter], экран будет продвигаться по одной строке за раз. Это сэкономит вам много времени на ожидание, необходимое для отображения всех данных сразу, прежде чем вы сможете начать просмотр и прокрутку результатов.

Есть гораздо больше команд, которые вы можете использовать для сузьте свой запрос. Используя информацию и примеры, которые мы перечислили, вы легко сможете это сделать. Помните, что версия Защитника Windows и версия Windows PowerShell определяют, сможете ли вы использовать командлеты для Защитника Windows. Это было протестировано для Windows 10. На странице поддержки Microsoft указано, что это доступно для Windows Server 2016 и Windows 10. Розничная (не обновленная) версия Windows 7, похоже, не распознает эти командлеты. Фактически, при вводе этих командлетов Windows 7 PowerShell будет выдавать ошибки или возвращать пробелы. Обновление этих двух приложений (Defender и PowerShell) может вернуть вас в нужное русло.

Источник