Использование 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 в режиме администратора.
- В Windows 10 самый простой и быстрый способ сделать это – запустить Файл/Проводник Windows, откройте любую папку , откройте меню Файл , перейдите в Открыть Windows PowerShell , а затем выберите команду Открыть Windows PowerShell от имени администратора .
- Другой вариант – перейти в папку C : Windows System32 WindowsPowerShell v1.0 или любая доступная версия . Щелкните правой кнопкой мыши файл с именем PowerShell.exe и откройте его от имени администратора. Файл с именем PowerShell_ise.exe предоставляет PowerShell в графическом интерфейсе пользователя, а не в командной строке, но они оба работают одинаково с использованием одних и тех же командлетов.
- Последний вариант – открыть Командную строку от имени администратора и использовать ее для открытия 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.
- FullScan – это сканирование выполняется для всех файлов на вашем компьютере, а также для системного реестра. и запущенные текущие приложения. Просто используйте эту команду для выполнения полного сканирования: Start-MpScan -ScanType QuickScan
- QuickScan – это выполнит анализ только тех областей, которые с наибольшей вероятностью могут быть заражены вредоносным ПО. Чтобы выполнить быстрое сканирование, используйте следующую команду: Start-MpScan -ScanType FullScan
- 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: Имя компьютер, на котором выполняется действие. Обычно он будет пустым, если вы не подключены к сети, и по той простой причине, что эта база данных является каталогом, а не действием.
Что следует помнить
- Определения сигнатур – это довольно большой каталог, поэтому может пройти довольно много времени, прежде чем вы увидите какие-либо сгенерированные данные на своем экране. Наберитесь терпения.
- Поскольку база данных огромна, она может забить вашу память. Однако у командлетов есть ограничение на объем используемой памяти, и вы, вероятно, увидите следующее сообщение: «ПРЕДУПРЕЖДЕНИЕ: использование памяти командлетом превысило уровень предупреждения». PowerShell может восстановиться и продолжить процесс или просто вернуть вас в конвейер запросов. Потерпи. В противном случае вы можете отменить событие, нажав Ctrl + C.
- Если ваш экран становится слишком переполненным, введите команду «CLS», чтобы очистить экран. Это также улучшит использование памяти.
Запрос базы данных определений сигнатур Защитника Windows
Запрос – это просто запрос уточненной информации/данных, соответствующих определенным критериям из базы данных. Мы видели, как выглядит база данных определений Защитника Windows. Теперь мы знаем, что это чрезвычайно огромная база данных. Но вы всегда можете сократить объем отображаемой информации, добавив несколько параметров в свой командлет. Вот несколько примеров того, как это можно сделать.
- Чтобы просмотреть все записи в базе данных о наиболее серьезных вредоносных программах, используйте этот командлет:
Get-MpThreatCatalog | where-object {$ _. SeverityID -eq «5»}
Значение «5» вернет определения только с уровнем серьезности 5.
- Защитник Windows может идентифицировать несколько типов вредоносных программ. Чтобы сосредоточиться только на одном типе, вам нужно будет передать параметр TypeID или, что более удобно, параметр ThreatName. Например, можно увидеть только угрозы, известные как вирусы.. Просто введите это в окно командной строки PowerShell:
Get-MpThreatCatalog | where-object {$ _. ThreatName -Match «^ Virus. *»}
Вы также можете использовать более одного критерия для запроса базы данных. Допустим, например, вам нужно просмотреть все вирусы с серьезностью , равной 5. Просто введите эту команду в окно PowerShell:
Get-MpThreatCatalog | где-объект {$ _. SeverityID -eq «5»} | where-object {$ _. ThreatName -Match «^ Virus. *»}
Таким образом, у вас может быть несколько дополнительных критериев запроса для сужения отображаемой информации.
- Даже после запроса базы данных вы можете обнаружить, что на вашем экране отображается много данных. Если вы предпочитаете видеть вывод на экране по одной странице за раз, введите следующую команду в командной строке 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) может вернуть вас в нужное русло.