Windows Security Controls
Використовуйте Trickest для легкої побудови та автоматизації робочих процесів за допомогою найбільш продвинутих інструментів спільноти у світі. Отримайте доступ сьогодні:
Політика AppLocker
Білий список програм - це список схвалених програм або виконуваних файлів, які дозволяється присутнім та запускатися на системі. Мета полягає в захисті середовища від шкідливих програм-шпигунів та недозволених програм, які не відповідають конкретним бізнес-потребам організації.
AppLocker - це рішення для створення білого списку програм від Microsoft, яке дає адміністраторам систем контроль над програмами та файлами, які можуть виконувати користувачі. Воно забезпечує детальний контроль над виконуваними файлами, скриптами, файлами установки Windows, DLL-бібліотеками, упакованими програмами та програмами для установки упакованих програм. Зазвичай організації блокують cmd.exe та PowerShell.exe та доступ на запис до певних каталогів, але все це можна обійти.
Перевірка
Перевірте, які файли/розширення перебувають у чорному/білому списку:
Цей шлях реєстру містить конфігурації та політики, які застосовуються AppLocker, надаючи можливість переглянути поточний набір правил, які діють в системі:
HKLM\Software\Policies\Microsoft\Windows\SrpV2
Обхід
Корисні Папки для запису, щоб обійти політику AppLocker: Якщо AppLocker дозволяє виконувати будь-що всередині
C:\Windows\System32
абоC:\Windows
, є папки для запису, які можна використовувати для обходу цього.
Зазвичай довіряються "LOLBAS's" бінарні файли також можуть бути корисними для обхіду AppLocker.
Погано написані правила також можуть бути обхідними
Наприклад,
<FilePathCondition Path="%OSDRIVE%*\allowed*"/>
, ви можете створити папку з назвоюallowed
де завгодно, і вона буде дозволена.Організації часто фокусуються на блокуванні виконування виконуваних файлів
%System32%\WindowsPowerShell\v1.0\powershell.exe
, але забувають про інші розташування виконуваних файлів PowerShell такі як%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0\powershell.exe
абоPowerShell_ISE.exe
.Завантаження DLL майже ніколи не увімкнене через додаткове навантаження на систему та кількість тестувань, необхідних для забезпечення того, що нічого не зламається. Таким чином, використання DLL як задніх дверей допоможе обійти AppLocker.
Ви можете використовувати ReflectivePick або SharpPick для виконання коду Powershell в будь-якому процесі та обходу AppLocker. Для отримання додаткової інформації перегляньте: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
Зберігання облікових даних
Менеджер облікових записів безпеки (SAM)
Локальні облікові дані присутні в цьому файлі, паролі захешовані.
Локальна служба безпеки (LSA) - LSASS
Облікові дані (захешовані) зберігаються в пам'яті цієї підсистеми з метою одноразового входу. LSA керує локальною політикою безпеки (політика паролів, дозволи користувачів...), аутентифікацією, токенами доступу... LSA буде перевіряти надані облікові дані всередині файлу SAM (для локального входу) та спілкуватися з контролером домену для аутентифікації користувача домену.
Облікові дані зберігаються всередині процесу LSASS: квитки Kerberos, хеші NT та LM, легко розшифровані паролі.
Секрети LSA
LSA може зберігати на диску деякі облікові дані:
Пароль облікового запису комп'ютера Active Directory (недосяжний контролер домену).
Паролі облікових записів служб Windows
Паролі для запланованих завдань
Ще (пароль додатків IIS...)
NTDS.dit
Це база даних Active Directory. Вона присутня лише на контролерах домену.
Захисник
Microsoft Defender - це антивірус, який доступний в Windows 10 та Windows 11, а також у версіях Windows Server. Він блокує загальні інструменти для пентестінгу, такі як WinPEAS
. Однак існують способи обхіду цих захистів.
Перевірка
Для перевірки стану Захисника ви можете виконати PS-команду Get-MpComputerStatus
(перевірте значення RealTimeProtectionEnabled
, щоб дізнатися, чи він активний):
Для переліку ви також можете виконати:
Зашифрована файлова система (EFS)
EFS захищає файли за допомогою шифрування, використовуючи симетричний ключ під назвою Ключ шифрування файлів (FEK). Цей ключ зашифрований за допомогою публічного ключа користувача та зберігається у альтернативному потоці даних $EFS зашифрованого файлу. При необхідності розшифрування, використовується відповідний приватний ключ цифрового сертифіката користувача для розшифрування FEK з потоку $EFS. Додаткові деталі можна знайти тут.
Сценарії розшифрування без ініціації користувача включають:
Коли файли або папки переміщуються на не-EFS файлову систему, наприклад, FAT32, вони автоматично розшифровуються.
Зашифровані файли, відправлені через мережу за протоколом SMB/CIFS, розшифровуються перед передачею.
Цей метод шифрування дозволяє прозорий доступ до зашифрованих файлів для власника. Однак просто зміна пароля власника та вхід в систему не дозволить розшифрування.
Основні висновки:
EFS використовує симетричний FEK, зашифрований за допомогою публічного ключа користувача.
Розшифрування використовує приватний ключ користувача для доступу до FEK.
Автоматичне розшифрування відбувається в певних умовах, наприклад, при копіюванні на FAT32 або передачі через мережу.
Зашифровані файли доступні власнику без додаткових кроків.
Перевірка інформації EFS
Перевірте, чи користувач використовував цей сервіс, перевіривши, чи існує цей шлях: C:\users\<ім'я_користувача>\appdata\roaming\Microsoft\Protect
Перевірте, хто має доступ до файлу, використовуючи cipher /c \<файл>\
Ви також можете використовувати cipher /e
та cipher /d
всередині папки для шифрування та розшифрування всіх файлів
Розшифрування файлів EFS
Бути системою авторитету
Для цього способу користувач жертва повинен виконувати процес всередині хоста. У цьому випадку, використовуючи сесії meterpreter
, ви можете підробити токен процесу користувача (impersonate_token
з incognito
). Або ви можете просто migrate
до процесу користувача.
Знання пароля користувача
Керовані групові облікові записи служб (gMSA)
Microsoft розробив Керовані групові облікові записи служб (gMSA) для спрощення управління обліковими записами служб в ІТ-інфраструктурах. На відміну від традиційних облікових записів служб, у яких часто включена налаштування "Пароль ніколи не закінчується", gMSA пропонують більш безпечне та кероване рішення:
Автоматичне управління паролями: gMSA використовують складний пароль у 240 символів, який автоматично змінюється відповідно до політики домену або комп'ютера. Цей процес обробляється Службою розподілу ключів Microsoft (KDC), що усуває необхідність вручних оновлень пароля.
Підвищене забезпечення: Ці облікові записи не піддаються блокуванню та не можуть бути використані для інтерактивних входів, підвищуючи їх безпеку.
Підтримка кількох хостів: gMSA можуть бути використані на кількох хостах, що робить їх ідеальними для служб, які працюють на кількох серверах.
Можливість запланованих завдань: На відміну від керованих облікових записів служб, gMSA підтримують запуск запланованих завдань.
Спрощене управління SPN: Система автоматично оновлює ім'я службового принципалу (SPN), коли відбуваються зміни в деталях sAMaccount комп'ютера або DNS-імені, спрощуючи управління SPN.
Паролі для gMSA зберігаються в властивості LDAP msDS-ManagedPassword та автоматично скидаються кожні 30 днів контролерами доменів (DC). Цей пароль, зашифрований блок даних, відомий як MSDS-MANAGEDPASSWORD_BLOB, може бути отриманий лише авторизованими адміністраторами та серверами, на яких встановлені gMSA, забезпечуючи безпечне середовище. Для доступу до цієї інформації потрібне захищене підключення, таке як LDAPS, або підключення повинно бути аутентифіковане за допомогою 'Sealing & Secure'.
Дізнайтеся більше інформації у цьому пості
Також перевірте цю веб-сторінку про те, як виконати атаку пересилання NTLM для читання пароля gMSA.
LAPS
Рішення для локального адміністраторського пароля (LAPS), доступне для завантаження з Microsoft, дозволяє керувати паролями локальних адміністраторів. Ці паролі, які є випадковими, унікальними та регулярно змінюються, зберігаються централізовано в Active Directory. Доступ до цих паролів обмежений через ACL для авторизованих користувачів. З достатніми наданими дозволами надається можливість читання паролів локальних адміністраторів.
pageLAPSPS Constrained Language Mode
PowerShell Обмежений режим мови блокує багато функцій, необхідних для ефективного використання PowerShell, таких як блокування об'єктів COM, дозвіл лише схвалених типів .NET, робочі процеси на основі XAML, класи PowerShell та інше.
Перевірка
Обхід
У поточній версії Windows цей обхід не працюватиме, але ви можете скористатися PSByPassCLM.
Для компіляції можливо знадобиться додати посилання -> Перегляд -> Перегляд -> додати C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Management.Automation\v4.0_3.0.0.0\31bf3856ad364e35\System.Management.Automation.dll
і змінити проект на .Net4.5.
Прямий обхід:
Зворотній шел:
Ви можете використовувати ReflectivePick або SharpPick для виконання коду Powershell в будь-якому процесі та обхіду обмеженого режиму. Для отримання додаткової інформації перегляньте: https://hunter2.gitbook.io/darthsidious/defense-evasion/bypassing-applocker-and-powershell-contstrained-language-mode.
Політика виконання PS
За замовчуванням вона встановлена на обмежена. Основні способи обхіду цієї політики:
Більше можна знайти тут
Інтерфейс постачальника підтримки безпеки (SSPI)
Це API, яке можна використовувати для аутентифікації користувачів.
SSPI буде відповідальним за знаходження відповідного протоколу для двох машин, які хочуть спілкуватися. Найбажаніший метод для цього - Kerberos. Потім SSPI буде вести переговори про те, який протокол аутентифікації буде використовуватися; ці протоколи аутентифікації називаються постачальниками підтримки безпеки (SSP), вони розташовані у кожній машині з Windows у вигляді DLL, і обидві машини повинні підтримувати однакові, щоб мати можливість спілкуватися.
Основні постачальники підтримки безпеки (SSP)
Kerberos: Найбажаніший
%windir%\Windows\System32\kerberos.dll
NTLMv1 та NTLMv2: З причин сумісності
%windir%\Windows\System32\msv1_0.dll
Digest: Веб-сервери та LDAP, пароль у вигляді хешу MD5
%windir%\Windows\System32\Wdigest.dll
Schannel: SSL та TLS
%windir%\Windows\System32\Schannel.dll
Negotiate: Використовується для переговорів щодо протоколу, який слід використовувати (Kerberos або NTLM, за замовчуванням Kerberos)
%windir%\Windows\System32\lsasrv.dll
Під час переговорів може бути запропоновано кілька методів або лише один.
UAC - Контроль облікових записів користувачів
Контроль облікових записів користувачів (UAC) - це функція, яка дозволяє запит на підтвердження для підвищених дій.
pageUAC - User Account ControlВикористовуйте Trickest, щоб легко створювати та автоматизувати робочі процеси за допомогою найбільш продвинутих інструментів спільноти у світі. Отримайте доступ сьогодні:
Last updated