JustPaste.it

Хакер - Бронируем Windows. Комплексный аудит безопасности — от файрвола до Active Directory

hacker_frei
35ec9b251cd276302404bc2c30643482.png

 

https://t.me/hacker_frei

Иван Пискунов

Содержание статьи

В этой статье мы пройдемся по самым популярным и мощным утилитам для проверки уровня защищенности десктопных и серверных версий Windows (именно это и называется hardening), а также посмотрим на разные тулзы для настройки опций, усиливающих безопасность. Это — true must have арсенал инструментов для любого ИТ-админа и аудитора ИБ, так что, если ты имеешь хотя бы малейшее отношение к этим сферам, читай обязательно. 

Особенности аудита безопасности Windows-систем

Если ты еще не читал, то в нашей прошлой статье мы разбирали схожие утилиты, служащие для оценки исходного уровня защищенности и форсирования native-опций безопасности в Linux. Сегодня же в материале речь пойдет о десктопных и серверных версиях Windows-систем. И прежде чем перейдем непосредственно к обзору, мы отметим несколько очень важных особенностей аудита безопасности всем известных «окон».

Винда «дырявая»

Давно бытует мнение, будто Windows-системы менее надежны и безопасны по сравнению с Linux. Это мнение, безусловно, небеспочвенно. Но Microsoft в последние несколько лет прилагает большие усилия для того, чтобы продукты компании были не только красивы, но и достаточно безопасны. Наглядный тому пример — Windows 10, операционная система, впитавшая в себя все самое лучшее от ее предшественников (к примеру, UACDEPBitLockerDirectAccessWFP и NAPAppLocker, бывший Restrict Policy) и предлагающая передовые опции технологии безопасности.

Речь прежде всего идет о таких фичах, как обновленный SmartScreen, защита ядра Credential GuardDevice Guard, технологии аутентификации (в том числе биометрической) Windows Hello и Microsoft Passport, изоляция процессов IUMAdvanced Threat Protection в «Защитнике Windows», облачная аналитика Windows Analytics, а также дополнительные опции защиты от нашумевших в прошлом году вирусов шифровальщиков WannaCryPetya и Bad Rabbit. Подробный обзор всех нововведений в технологиях безопасности Windows 10 можно почитать на официальном ресурсе Microsoft.

Однако, как показывает практика, большинство обычных пользователей домашних систем после первого запуска ОС сразу же отключают если не все, то уж точно половину опций безопасности, надеясь в основном на установленное антивирусное ПО. Другая же часть пользователей и вовсе устанавливает на свой компьютер неофициальные сборки Windows, в которых зачастую уже вырезаны отдельные компоненты ОС или дефорсированы политики безопасности еще на этапе инсталляции. Но даже те, кто использует какие-то native-технологии безопасности, редко вникают в подробности и тем более занимаются тонкой настройкой.

Отсюда и рождается часть мифов о том, что Windows по защищенности извечно проигрывает в противостоянии с Linux.

INFO

Windows 10 обладает большим количеством технологий обеспечения безопасности. Это и доставшиеся от предков UAC, DEP, BitLocker, DirectAccess, NAP, AppLocker (бывший Restrict Policy), WFP, и совершенно новые SmartScreen, Credential Guard, Device Guard, Hello, Microsoft Passport, Advanced Threat Protection или Windows Analytics. Есть даже дополнительные опции защиты от изменения папок, полезные, к примеру, в борьбе с вирусами-шифровальщиками типа WannaCry, Petya или Bad Rabbit.

Популярность как уязвимость

Несомненная популярность и широкая распространенность Windows как среди домашних пользователей, так и среди корпоративного сегмента автоматически делает ее мишенью для злоумышленников. Стоит ли говорить, что абсолютное большинство сотрудников компаний работают на Windows-системах. Исключение могут составить разве что разработчики, DevOps-инженеры и системные администраторы, число которых по отношению к основному пулу юзеров просто статистически несравнимо (вспомни наше старое интервью с парнями из «Лаборатории Касперского», которые в полном составе сидят на винде. — Прим. ред.).

Так что заявления в стиле «переходи на Linux и живи спокойно» здесь неуместны. Ты можешь себе представить рядового бухгалтера или менеджера по продажам, работающих в 1С на Linux? Наверное, это возможно, но все-таки не для большинства. Поэтому Windows сегодня стала де-факто неким стандартом рабочего места по умолчанию.

Если учитывать таргетированные атаки (мы уже о них рассказывали здесь и здесь), ставящие своей целью получение конечного результата любой ценой, то в арсенал средств, с помощью которых ведется атака, входят не только 0day-уязвимости и сложные технические приемы, но также и методы социальной инженерии. Для борьбы с подобными угрозами базового уровня защиты, предоставляемого штатными средствами, уже не хватает, и в ход идут сложные технические решения корпоративной безопасности, такие как NGFW, SIEM, WAF, SandBox, IDS/IPS-системы.

Универсальность против лицензионной политики

Если Linux по сути универсальная система, в которую в любой момент можно доустановить нужные пакеты, активировать сетевые службы, настроить маршрутизацию и получить из «домашней версии» настоящий сервер, то с Windows такой трюк в чистом виде не пройдет. Лицензионная политика Microsoft разделяет пользовательский домашний и корпоративные сегменты. Поэтому и инструменты, и чек-листы проверки тоже будут разниться.

К примеру, если стандартный набор проверок для домашней системы будет включать такие вещи, как контроль учетных записей, настройки файрвола, установка обновлений и разделение привилегий для учетных записей, то аудит безопасности Windows Server потребует гораздо большего внимания. К примеру, в него стоит отнести:

  • контроль изменений ключевых объектов Active Directory (OU, GPO и так далее);
  • аккаунты доменных пользователей с просроченными паролями;
  • аккаунты доменных пользователей с паролями, которые никогда не истекают;
  • обезличенные (неперсонифицированные) административные учетные записи на серверах Windows Server, MS SQL Server и подобных;
  • некоторые настройки MS Exchange Server и SharePoint, зависающие от установленной в AD политики безопасности;
  • членство в группах безопасности.

Поскольку Windows Server — продукт проприетарный, то в отличие от Linux большинство Enterprise-утилит для аудита безопасности Active Direcroty и других инфраструктурных элементов будут коммерческими (а значит, платными).

Что касается настроек безопасности, рекомендованных Microsoft, то они существуют для всех актуальных сегодня версий Windows — 7810Server 2012Server 2016. Помимо этого, внимание также можно обратить на набор CIS-рекомендаций для десктопов и серверных редакций операционных систем.

Обзор инструментов

Переходим к самой интересной, практической части — обзору основных инструментов аудита и настройки native-опций безопасности Windows. В первой части нашего обзора мы сконцентрируем свое внимание на бесплатных или open source инструментах, которые будут доступны абсолютно каждому.

MBSA — Microsoft Baseline Security Analyzer

MBSA — старейшая утилита проверки security settings от самой Microsoft. Первые релизы были ориентированы на Windows XP и Server 2003. С тех пор минуло уже более десяти лет, а эта тулза остается актуальной и по сей день! Ее версия 2.3 поддерживает все редакции ОС вплоть до Windows 10 и Server 2016.

ac9b4dc0df95bda122cee09ce835b169.png

 

Набор тестов и сканируемых параметров в MBSA

Изначальными задачами утилиты было определять состояние безопасности Windows в соответствии с рекомендациями Microsoft, искать распространенные неверные конфиги безопасности и отсутствующие обновления security patch, но, помимо этого, утилита предлагает конкретные рекомендации, как улучшить безопасность, которые, правда, сводятся к довольно стандартному чек-листу. Впрочем, для программы, вышедшей в середине прошлого десятилетия, это было огромное достижение!

f6379c39327d8a312c502359b6e233eb.png

 

Стартовый экран MBSA v2.3 на Windows Server 2016

MBSA обеспечивает подобную проверку, обращаясь к постоянно пополняемой Microsoft базе данных, которая содержит информацию обо всех обновлениях и критических патчах, выпущенных для каждого из продуктов Microsoft (IE, IIS, MS SQL Server, MDAC, MSXML и так далее). Работать с утилитой можно через графический интерфейс и командную строку.

Для MBSA существует возможность запуска сканирования как локально, так и по сети через командную строку при помощи запуска исполняемого файла mbsacli.exe. Команда имеет ряд ключей и дополнительных опций, которые позволяют управлять сканированием.

b8cec95c602a6b885061ed7b156123b7.png

 

Запуск MBSA в CLI-режиме с ключом вызова справки

f786a92827b132113db1d1413ac726c1.png

 

Выбор опций для одиночного сканирования текущего хоста

94bd2ed175aef5efc1056d65c61d040b.png

 

Выбор опций сканирования по сети для группы хостов

Создание сценариев сканирования

На практике, чтобы обеспечить постоянный и систематический мониторинг безопасности ИТ-инфраструктуры, системным администраторам приходилось запускать утилиту каждый раз вручную. Однако нам будет интересен сценарий запуска MBSA периодически по расписанию, который позволит утилите в автоматическом режиме отправлять отчеты на адреса электронной почты админов, а это значительно увеличит уровень информированности о состоянии безопасности корпоративной сети.

К примеру, перед нами стоит такая задача: необходимо провести проверку компьютеров (диапазон IP-адресов) с использованием данных службы WSUS и сохранять отчет в определенной директории (формат отчета: <имя компьютера> – <время>). Тогда команда запуска MBSA из CLI будет выглядеть следующим образом:

mbsacli.exe /r [начальный IP-адрес]-[конечный IP-адрес] /q /wa /o %IP%-%T% /u [домен/имя пользователя] /p [пароль пользователя] /rd [директория, куда будут сохраняться отчеты]

Остается добавить это задание в «Планировщик заданий Windows», который и будет выполнять необходимые нам действия в определенное время.

Результаты сканирования

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

Классический светофор — красный (критический), желтый (средний), зеленый (рекомендуемая настройка) уровень индикации. Синяя звездочка используется для обычных проверок (например, проверки, включен ли аудит), а синий информационный значок MBSA используется для проверок, которые просто предоставляют информацию о компьютере (например, версия ОС). Для проверок обновлений безопасности используется красный восклицательный знак, когда MBSA подтверждает, что обновление для системы безопасности отсутствует или не удалось выполнить проверку безопасности.

3c5a74ed757d6ca2b1c21fd7b87068e2.png

 

 

После сканирования единственного хоста MBSA автоматически запускает окно View security report и отображает результаты сканирования. Если же было выполнено сканирование нескольких компьютеров, то результат стоит просматривать в режиме Pick a security report to view.

Создаваемый MBSA отчет разбивается на пять секций:

  • Security Update Scan Results;
  • Windows Scan Results;
  • Internet Information Services (IIS) Scan Results;
  • SQL Server Scan Results;
  • Desktop Application Scan Results.

В MBSA начиная с версии 2.0 в отчете также выдаются идентификаторы (Common Vulnerabilities and Exposures Identifier, CVE-ID) типичных опасностей и уязвимых мест.

WARNING

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

SekChek Security Auditing

Еще одна очень крутая бесплатная тулза из нашего арсенала — это SekChek от одноименной компании-разработчика. Инструмент поддерживает большое количество платформ — Novеll Netware, Unix/Linux, IBM iSeries и, конечно же, Windows. Поставляется утилита в двух вариантах — Classic и Local.

SekChek Classic предоставляет эксперту всеобъемлющий отчет о проверке хоста/подсети в форматах MS Word, Excel и баз данных Access, вычисляет общий рейтинг безопасности, сформированный на основе статистики из реальных средних показателей отрасли, а также подробное описание найденных проблем безопасности и общие рекомендации по их устранению.

4efb678cfcdbca9b1dce29eb242c83c3.png

 

 

Помимо сканера, в пакет SekChek Classic входят еще и приятные дополнительные модули:

d51508b4f61e072bcca0f82e02e6a379.png

 

 

Вот общий список security settings, которые проверяет SekChek Classic:

  • System Configuration;
  • System Accounts Policy;
  • Audit Policy Settings;
  • Registry Key Values;
  • User Accounts Defined On Your System;
  • Local Groups and their Members;
  • Global Groups and their Members;
  • Last Logons, 30 Days and Older;
  • Passwords, 30 Days and Older;
  • Passwords that Never Expire;
  • Invalid Logon Attempts Greater than 3;
  • Users not Allowed to Change Passwords;
  • Accounts with Expiry Date;
  • Disabled Accounts;
  • Rights and Privileges (Users, Groups);
  • Trusted and Trusting Domains;
  • Local Accounts;
  • Servers and Workstations;
  • RAS Privileges;
  • Services and Drivers on the Machine;
  • Server Roles and Features;
  • Task Scheduler Settings;
  • Security Updates, Patches and Hot-Fixes;
  • Products Installed;
  • Current Network Connections;
  • Domain Controllers in the Domain;
  • Logical Drives;
  • Network Shares;
  • Home Directories, Logon Scripts, Profiles;
  • File Permissions and Auditing.

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

da60d3971f8fac3d7f073981450f09f6.png

 

 

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

d4a6d60f0d53d2a6cc0980e0e40e27b3.png

 

Стартовое окно SekClient.exe

98d676d90d121fbf4338466225f91897.png

 

Запуск мастера создания профиля аудита

58cab89526a3aeeb3cfb280f09112066.png

 

Старт процесса аудита

SekChek Local — это второй вариант поставки тулзы, также содержащий набор автоматизированных средств проверки и тестирования безопасности.

В отличие от Classic этот вариант предпочтительнее запускать с целью тестирования контроллера домена и каталога Active Directory. Механизм генерации этой версии утилиты состоит из трех встроенных модулей анализа:

На сайте разработчика есть небольшой гайд с описанием запуска утилиты на контроллере домена и создания Access базы данных отчетов. Также для ознакомления предоставлен семпл отчета с репортом.

Чтобы инициировать процесс тестирования, необходимо запустить исполняемый файл SekChekLocal.exe от имени администратора и, выбрав опцию SAM для локальной машины или AD для контроллера домена, в пару кликов запустить сканирование.

f5fd9c2bf3f447c1b496cf64e856777a.png

 

Стартовое окно SekChek Local

1e130bfa99ce68ee09bb16d0892d201c.png

 

Запуск проверок в SekChek Local

Для тех, кто еще не определился с выбором версии — Classic или Local, на официальном сайте есть подробное сравнение возможностей и целевого назначения каждой тулзы. С полным списком деморепортов также можно ознакомиться на отдельной страничке сайта разработчика.

Вот общий список security settings, которые проверяет SekChek Local:

  • System Configuration;
  • System Accounts Policy;
  • Audit Policy Settings;
  • Registry Key Values;
  • User Accounts Defined On Your System;
  • Local Groups and their Members;
  • Global Groups and their Members;
  • Last Logons, 30 Days and Older;
  • Passwords, 30 Days and Older;
  • Passwords that Never Expire;
  • Invalid Logon Attempts Greater than 3;
  • Users not Allowed to Change Passwords;
  • Accounts with Expiry Date;
  • Disabled Accounts;
  • Rights and Privileges (Users, Groups);
  • Trusted and Trusting Domains;
  • Local Accounts;
  • Servers and Workstations;
  • RAS Privileges;
  • Services and Drivers on the Machine;
  • Server Roles and Features;
  • Task Scheduler Settings;
  • Security Updates, Patches and Hot-Fixes;
  • Products Installed;
  • Current Network Connections;
  • Domain Controllers in the Domain;
  • Logical Drives;
  • Network Shares;
  • Home Directories, Logon Scripts, Profiles;
  • File Permissions and Auditing.
5d73dbae9b405c08bb80c36687737048.jpg

 

 

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

Windows SEC-AUDIT (PowerShell script)

Скрипт SEC-AUDIT, выложенный в GitHub-репозиторий автором Sikkandar-Sha и написанный на PowerShell, служит для проверки настроек безопасности Windows Server. Как ты, наверное, уже догадался, этот скрипт, так же как и предыдущие утилиты, абсолютно бесплатен, а исходный код выложен в публичный доступ.

aeefd0192c407aa4dc896720b3882f8e.png

 

Исходный код скрипта в PowerShell

После запуска скрипт проверяет параметры безопасности, элементы управления, политики, применяемые на отдельной машине или контроллере домена. Скрипт сравнивает текущее и рекомендуемое значение параметра, контроля или политики безопасности, которые должны соответствовать известным стандартам безопасности и рекомендациям вендора. Как отмечает автор, этот PowerShell-скрипт пригодится в ситуациях, когда запуск автоматизированных инструментов аудита, таких как OpenVASили Nessus (с настроенной политикой аудита конфигураций), не разрешен или по каким-то причинам затруднителен.

Что касается эталонных рекомендаций по безопасности от Microsoft, ты можешь ознакомиться с ними на официальной странице MSDN для Windows 10 и Active Directory.

Запуск и использование

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

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

Set-ExecutionPolicy RemoteSigned

Данный скрипт можно сохранить в любую директорию (к примеру, на диске С:\) и запустить с правами администратора. Перед выполнением скрипта убедись, что для политики выполнения сценария PowerShell установлено значение «Неограниченно». Также эту настройку можно форсировать, выполнив в окне PowerShell команду

Set-ExecutionPolicy Unrestricted -Force

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

INFO

Hardening — это термин из мира ИБ. Он обозначает процесс обеспечения безопасности системы (программы) за счет снижения ее уязвимости и, как правило, с использованием только штатных утилит или механизмов защиты.

Windows-audit (PowerShell script)

Windows-audit — еще один PowerShell-скрипт для проверки безопасности серверов Windows Server 2003+, разработанный claranet. Скрипт собирает обширный массив информации об одном или нескольких целевых серверах Windows и сериализует эту информацию на жесткий диск. Сформированный файл отчета можно сконвертировать в таблицу Excel или даже базу данных SQL, притом используя фильтры, чтобы включать в отчет только необходимые индикаторы.

88b76aac826b8dabb1daf77425794694.png

 

 

До запуска скрипта еще раз убедись, что в PowerShell форсирована политика выполнения с опцией «Неограниченно», либо форсируй ее вручную:

Set-ExecutionPolicy Unrestricted

Далее скопируй скрипт в любую директорию на диске C:\ и создай текстовый файл с именем Node Hints, который может содержать имена хостов NetBIOS и DNS, а также IP-адреса и блоки CIDR тех подсетей, которые нужно просканировать. Каждая новая строка должна начинаться с оператора include> или exclude<, за которым следуют параметры NetBIOS | DNS | IP | CIDR. Пример заполнения ты можешь посмотреть в прилагаемой к скриптам папке.

После этого в файле Get-AuditData.ps1 нужно вручную подставить несколько параметров: PSCredential, PSCredential, ThreadCount. После этого можешь запускать основные скрипты: сначала Get-AuditData.ps1, а после его выполнения — Compile-AuditData.ps1. Пример запуска скрипта:

.\Get-AuditData.ps1 -PSCredential $MyPSCredential -NodeHintsFile ".\nodehints.txt" -ThreadCount 128;

В файле Compile-AuditData.ps1 до запуска также необходимо вручную подставить несколько параметров: CompilationType, Filter, SQLServerName, SQLDatabaseName. Синтаксис можно посмотреть в файле справки. Пример запуска скрипта:

.\Compile-AuditData.ps1 -CompilationType "Excel" -Filter "Example";

После выполнения ты найдешь файл с именем Filtered-Audit-Data-Example.xlsx в папке Examples директории, в которой лежит скрипт.

Windows-Workstation-and-Server-Audit (PowerShell script)

Очередной скрипт Windows-Workstation-and-Server-Audit, также написанный на PowerShell разработчиком Аланом Ренуфом (Alan Renouf). Скрипт проверяет рабочую станцию или сервер Windows на самые распространенные требования безопасности. Вывод результатов работы скрипта содержит следующие блоки:

  • основная информация о системе;
  • установленные security pach и hotfix;
  • конфиг локальной политики безопасности;
  • NIC-конфигурация;
  • уставленное ПО;
  • локальные и сетевые ресурсы;
  • принтеры и другая периферия, подключенная к хосту;
  • сведения безопасности из журналов Windows.

С этим скриптом все просто: он уже содержит все необходимые переменные и конструктивные блоки. Остается только распаковать его на диск C:\ и запустить от имени администратора.

59ebe9235d6289a21d77d43f777e164a.png

 

SQL Audit Script at TechEd 2014 (PowerShell script)

Данный скрипт, как следует из названия, предназначен для аудита СУБД MS SQL Server. Скрипт состоит из двух файлов: SQLAuditv02.ps1, который непосредственно собирает данные с системы, и Compilereports.ps1, который преобразует полученный отчет из CSV-файла в удобочитаемый формат электронных таблиц Excel.

Обрати внимание, что по замыслу разработчиков эти скрипты необходимо скопировать и запустить из директории на локальном диске C:\Temp, изменив при необходимости в SQLAuditv02.ps1 первые три переменные ($SQLServer, $dir, $SQLDBName). После этого запуск скрипта не требует каких-либо дополнительных действий и может быть отправлен на исполнение от имени администратора.

Собранная информация группируется по следующим блокам:

  • Server Properties;
  • Windows Info;
  • Version Info;
  • SQL Server Install Date;
  • Configuration Values;
  • DB File Names and paths;
  • DB Properties;
  • Server Hardware;
  • Fixed Drive Freespace;
  • IO Util by DB;
  • System Memory;
  • Process Memory;
  • SQL Log file freespace;
  • CM File Sizes;
  • CM DB Statistics;
  • CM Index Frag.

Как только скрипт отработает, мы получим результат в виде HTML-файла, который можно открыть любым браузером.

54891aa3b2bbb4de13e73baed80ef4c8.png

 

 

Как видно, скрипт не собирает данные о безопасности и не проводит каких-либо compliance-проверок уровня защищенности. Но он все равно может оказаться нам полезным, ведь в целом полученная информация позволяет сформировать представление о запущенном экземпляре MS SQL Server, а проанализировав данные Configuration Values, DB Properties, можно выудить часть security settings.

Microsoft Windows Server Best Practice Analyzer

Начиная с версии Windows Server 2008 R2 в серверных редакциях ОС появились встроенные инструменты для анализа установленных компонентов на соответствие рекомендациям — Best Practice Analyzer. Для более старых версий BPA можно скачать инсталляционным файлом с официальной страницы Microsoft. В серверных ОС 2008 R2 и выше BPA устанавливается на этапе первичной инсталляции системы и всегда остается доступен из оснастки Server Manager.

После запуска утилиты проверяется ряд критических и некритических параметров Windows based ИТ-инфраструктуры, например: все ли первичные контроллеры домена сконфигурированы к валидному источнику времени, все ли домены имеют два функционирующих DC, все ли юниты OU в Active Directory защищены от случайного удаления, есть ли их резервные копии, корректно ли настроены зоны DNS, работают ли репликации Group Policy и FRS. Да, кстати, BPA отлично отработает и на MS SQL Server. Поскольку BPA является компонентом Windows Server, этот инструмент поставляется «из коробки» и не требует никаких вложений.

8de791e3c03ea2ecb75c424c65582df0.jpg

 

Результаты запуска BPA на Windows Server 2012

26ab29946526f7a3f719ac533fe7b7e6.png

 

 

Хотя утилита BPA не ориентирована чисто на безопасность, она отлично подходит для первичного сбора данных и оценки health-индикаторов AD, которые, в свою очередь, потом сказываются на общем индексе Hardening.

BPA мож­но запус­кать не только из MMC-оснас­тки, но и из кон­соли. Для автоматизации сбора информации с локального сервера ты можешь заюзать приведенный ниже скрипт:

#Get-BPAResults.ps1 # Microsoft Windows Server Best Practice Analyzer on CLI mode #v.1.0 Import-Module ServerManager Import-Module BestPractices $ResultDir = "C:\Temp\" foreach ($BPAModel in Get-BpaModel) { $BPAinstance = $BPaModel.Id $FileName = $BPAinstance.Substring($BPAinstance.LastIndexOf("/")+1) Invoke-BpaModel $BPAinstance Get-BPAResult $BPAinstance | ConvertTo-Html > ($ResultDir + $FileName + ".html") }

Результат анализа системы, проведенного BPA по каждой отдельной роли сервера, будет сохранен в отдельном HTML-файле в папке C:\Temp.

Hardentools for Windows

Hardentools — это бесплатная маленькая тулза, не требующая установки, предназначенная для отключения/включения ряда возможностей в операционных системах Windows и пользовательском ПО (MS Office, Adobe Reader и другие). Одним кликом ты можешь менять доступные опции security settings, к примеру отключить Windows Script Host, опасное выполнение AсtivX, форсировать выполнение ASR (Win10), переход в Adobe Reader protection mode, Disable Adobe JavaScript и тому подобное. Если тебе лень возиться с консолями MMC и лазить руками в реестр, правя и добавляя специфические ключи, то это то, что тебе нужно!

8c3917d02689de9c3bae6e1dd89a28d7.png

 

 

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

0c2dea9dc8ee1015215038d581cb3441.png

 

 

SAMRi10 — Hardening SAM Remote Access in Windows 10 / Server 2016

SAMRi10 — это еще одна утилита, а точнее, еще один PowerShell-скрипт от Microsoft, призванный обеспечить защиту базы данных учетных записей пользователей (Security Account Manager, SAM). После запуска скрипт форсирует включение политики, запрещающей делать удаленный вызов и использование SAM с целью перечисления списка членов домена (пользователей).

Чтобы запустить скрипт, будет достаточно распаковать его в любую удобную директорию (к примеру, на том же диске C:\) и запустить от имени администратора в консоли PowerShell:

.\SAMRi10.ps1

2e9c8032f2433c6429b00fab00f9025f.png

 

Так будет выглядеть старт исполнения SAMRi10

f812f091911ebc6fc577fa81b8537d8a.png

 

А вот так — завершение работы скрипта

d72bc02cbd58b0cdf54f34417e4481dd.png

 

 

Почему SAMRi10 так важен? Существует тип атак, которые проводятся на SAM с целью получить логины и хеши пользователя на локальной машине (например, отдельно стоящем контроллере домена). Более подробно о скрипте и теории безопасности SAM можно почитать на страничке GitHub.

Результаты получения списка членов домена (пользователей) до форсирования SAMRi10.

591c8c9d9ef022bbfea1169322213b61.png

 

 

А вот результат той же команды, но уже после форсирования SAMRi10. Как мы видим, не авторизованным в группе админов членам домена запрещено получать список перечисления.

3868bb8db1e2fa0ed2e315b53e510fcb.png

 

 

Microsoft отмечает, что применение SAMRi10 никак не помешает работе легитимных администраторов, и приводит пример, как DC на базе Windows Server 2016 будет реагировать на удаленные запросы к SAM в зависимости от привилегий учетной записи, сгенерировавшей этот запрос:

  • Domain Admin account: запрос будет выполнен;
  • Non-privileged User account: вызовет ошибку Access is denied;
  • член группы Remote SAM Users: запрос будет выполнен.

Заключение

Первая часть нашего обзора подошла к финалу. Мы рассмотрели самые известные и широко используемые бесплатные и open source инструменты аудита безопасности десктопных и серверных версий Windows. С помощью этого нехитрого арсенала ты с легкостью сможешь прочекать свой ноут или корпоративную серверную станцию на предмет исходной защищенности, а также, следуя советам и подсказкам, которые есть в части утилит, оттюнинговать и улучшить уровень защищенности (hardening state).

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

Читайте ещё больше платных статей бесплатно: https://t.me/hacker_frei