Анти-слідчі техніки

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Часові мітки

Атакуючий може бути зацікавлений у зміні часових міток файлів, щоб уникнути виявлення.
Можна знайти часові мітки всередині MFT в атрибутах $STANDARD_INFORMATION __ та __ $FILE_NAME.

Обидва атрибути мають 4 часові мітки: Зміна, доступ, створення та зміна реєстрації MFT (MACE або MACB).

Windows explorer та інші інструменти показують інформацію з $STANDARD_INFORMATION.

TimeStomp - Анти-слідчий інструмент

Цей інструмент модифікує інформацію про часові мітки всередині $STANDARD_INFORMATION, але не інформацію всередині $FILE_NAME. Тому можливо виявити підозрілу активність.

Usnjrnl

USN Journal (Журнал номерів послідовності оновлень) є функцією NTFS (файлова система Windows NT), яка відстежує зміни обсягу. Інструмент UsnJrnl2Csv дозволяє досліджувати ці зміни.

Попереднє зображення є виходом, показаним інструментом, де можна спостерігати, що деякі зміни були виконані до файлу.

$LogFile

Всі зміни метаданих файлової системи реєструються в процесі, відомому як write-ahead logging. Зареєстровані метадані зберігаються у файлі з назвою **$LogFile**, розташованому в кореневому каталозі файлової системи NTFS. Інструменти, такі як LogFileParser, можуть бути використані для парсингу цього файлу та виявлення змін.

Знову ж таки, у виході інструмента можна побачити, що деякі зміни були виконані.

Використовуючи той же інструмент, можна визначити, коли були змінені часові мітки:

  • CTIME: Час створення файлу
  • ATIME: Час зміни файлу
  • MTIME: Зміна реєстрації MFT файлу
  • RTIME: Час доступу до файлу

Порівняння $STANDARD_INFORMATION та $FILE_NAME

Ще один спосіб виявити підозрілі змінені файли - це порівняти час на обох атрибутах, шукаючи невідповідності.

Наносекунди

NTFS часові мітки мають точність 100 наносекунд. Тому знаходження файлів з часовими мітками, такими як 2010-10-10 10:10:00.000:0000, є дуже підозрілим.

SetMace - Анти-слідчий інструмент

Цей інструмент може модифікувати обидва атрибути $STARNDAR_INFORMATION та $FILE_NAME. Однак, починаючи з Windows Vista, для зміни цієї інформації необхідна активна ОС.

Сховані дані

NFTS використовує кластер і мінімальний розмір інформації. Це означає, що якщо файл займає кластер і півтора, залишкова половина ніколи не буде використана, поки файл не буде видалено. Тоді можливо сховати дані в цьому слек-просторі.

Існують інструменти, такі як slacker, які дозволяють ховати дані в цьому "схованому" просторі. Однак аналіз $logfile та $usnjrnl може показати, що деякі дані були додані:

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

UsbKill

Це інструмент, який вимкне комп'ютер, якщо буде виявлено будь-які зміни в USB портах.
Спосіб виявлення цього - перевірити запущені процеси та переглянути кожен запущений python-скрипт.

Живі дистрибутиви Linux

Ці дистрибутиви виконуються в пам'яті RAM. Єдиний спосіб виявити їх - якщо файлову систему NTFS змонтовано з правами на запис. Якщо вона змонтована лише з правами на читання, виявити вторгнення не вдасться.

Безпечне видалення

https://github.com/Claudio-C/awesome-data-sanitization

Налаштування Windows

Можна вимкнути кілька методів ведення журналів Windows, щоб ускладнити слідчу перевірку.

Вимкнути часові мітки - UserAssist

Це ключ реєстру, який зберігає дати та години, коли кожен виконуваний файл був запущений користувачем.

Вимкнення UserAssist вимагає двох кроків:

  1. Встановіть два ключі реєстру, HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs та HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled, обидва на нуль, щоб сигналізувати, що ми хочемо вимкнути UserAssist.
  2. Очистіть свої піддерева реєстру, які виглядають як HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>.

Вимкнути часові мітки - Prefetch

Це зберігатиме інформацію про виконувані програми з метою покращення продуктивності системи Windows. Однак це також може бути корисним для слідчих практик.

  • Виконайте regedit
  • Виберіть шлях файлу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters
  • Клацніть правою кнопкою миші на EnablePrefetcher та EnableSuperfetch
  • Виберіть Змінити для кожного з них, щоб змінити значення з 1 (або 3) на 0
  • Перезавантажте

Вимкнути часові мітки - Час останнього доступу

Кожного разу, коли папка відкривається з обсягу NTFS на сервері Windows NT, система витрачає час на оновлення поля часової мітки для кожної вказаної папки, яке називається часом останнього доступу. На сильно завантаженому обсязі NTFS це може вплинути на продуктивність.

  1. Відкрийте Редактор реєстру (Regedit.exe).
  2. Перейдіть до HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem.
  3. Знайдіть NtfsDisableLastAccessUpdate. Якщо його немає, додайте цей DWORD і встановіть його значення на 1, що вимкне процес.
  4. Закрийте Редактор реєстру та перезавантажте сервер.

Видалити історію USB

Всі USB Device Entries зберігаються в реєстрі Windows під ключем USBSTOR, який містить підключі, які створюються щоразу, коли ви підключаєте USB-пристрій до свого ПК або ноутбука. Ви можете знайти цей ключ тут HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR. Видаливши це, ви видалите історію USB.
Ви також можете використовувати інструмент USBDeview, щоб переконатися, що ви їх видалили (і щоб видалити їх).

Ще один файл, який зберігає інформацію про USB, - це файл setupapi.dev.log всередині C:\Windows\INF. Цей файл також слід видалити.

Вимкнути тіньові копії

Список тіньових копій за допомогою vssadmin list shadowstorage
Видалити їх, запустивши vssadmin delete shadow

Ви також можете видалити їх через GUI, дотримуючись кроків, запропонованих у https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html

Щоб вимкнути тіньові копії, кроки звідси:

  1. Відкрийте програму Служби, ввівши "services" у текстовому полі пошуку після натискання кнопки "Пуск" Windows.
  2. У списку знайдіть "Volume Shadow Copy", виберіть його, а потім отримайте доступ до Властивостей, клацнувши правою кнопкою миші.
  3. Виберіть Вимкнено з випадаючого меню "Тип запуску", а потім підтвердіть зміну, натиснувши Застосувати та ОК.

Також можливо змінити конфігурацію, які файли будуть копіюватися в тіньову копію в реєстрі HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot

Перезаписати видалені файли

  • Ви можете використовувати інструмент Windows: cipher /w:C. Це вказує шифрувати, щоб видалити будь-які дані з доступного невикористаного дискового простору всередині диска C.
  • Ви також можете використовувати інструменти, такі як Eraser

Видалити журнали подій Windows

  • Windows + R --> eventvwr.msc --> Розгорніть "Журнали Windows" --> Клацніть правою кнопкою миші на кожній категорії та виберіть "Очистити журнал"
  • for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
  • Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }

Вимкнути журнали подій Windows

  • reg add 'HKLM\\SYSTEM\\CurrentControlSet\\Services\\eventlog' /v Start /t REG_DWORD /d 4 /f
  • У розділі служб вимкніть службу "Windows Event Log"
  • WEvtUtil.exec clear-log або WEvtUtil.exe cl

Вимкнути $UsnJrnl

  • fsutil usn deletejournal /d c:

Розширене ведення журналів та підробка трас (2023-2025)

Ведення журналів PowerShell ScriptBlock/Module

Останні версії Windows 10/11 та Windows Server зберігають багаті слідчі артефакти PowerShell під Microsoft-Windows-PowerShell/Operational (події 4104/4105/4106). Атакуючі можуть вимкнути або стерти їх на льоту:

powershell
# Turn OFF ScriptBlock & Module logging (registry persistence)
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Microsoft\\PowerShell\\3\\PowerShellEngine" \
-Name EnableScriptBlockLogging -Value 0 -PropertyType DWord -Force
New-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\PowerShell\\ModuleLogging" \
-Name EnableModuleLogging -Value 0 -PropertyType DWord -Force

# In-memory wipe of recent PowerShell logs
Get-WinEvent -LogName 'Microsoft-Windows-PowerShell/Operational' |
Remove-WinEvent               # requires admin & Win11 23H2+

Захисники повинні стежити за змінами в цих ключах реєстру та за великим обсягом видалення подій PowerShell.

ETW (Event Tracing for Windows) Патч

Продукти безпеки кінцевих точок сильно покладаються на ETW. Популярний метод ухилення 2024 року полягає в патчуванні ntdll!EtwEventWrite/EtwEventWriteFull в пам'яті, щоб кожен виклик ETW повертав STATUS_SUCCESS без виведення події:

c
// 0xC3 = RET on x64
unsigned char patch[1] = { 0xC3 };
WriteProcessMemory(GetCurrentProcess(),
GetProcAddress(GetModuleHandleA("ntdll.dll"), "EtwEventWrite"),
patch, sizeof(patch), NULL);

Public PoCs (e.g. EtwTiSwallow) реалізують ту ж саму примітиву в PowerShell або C++.
Оскільки патч є локальним для процесу, EDR, що працюють в інших процесах, можуть його пропустити.
Виявлення: порівняйте ntdll в пам'яті з диском або перехопіть перед режимом користувача.

Відродження альтернативних потоків даних (ADS)

Кампанії шкідливого ПЗ у 2023 році (наприклад, FIN12 завантажувачі) були помічені, коли другорядні бінарні файли розміщувалися всередині ADS, щоб залишитися поза увагою традиційних сканерів:

cmd
rem Hide cobalt.bin inside an ADS of a PDF
type cobalt.bin > report.pdf:win32res.dll
rem Execute directly
wmic process call create "cmd /c report.pdf:win32res.dll"

Перерахуйте потоки за допомогою dir /R, Get-Item -Stream * або Sysinternals streams64.exe. Копіювання файлу хоста на FAT/exFAT або через SMB видалить прихований потік і може бути використано слідчими для відновлення вантажу.

BYOVD & “AuKill” (2023)

Bring-Your-Own-Vulnerable-Driver тепер регулярно використовується для антифорензіки в атаках програм-вимагачів. Відкритий інструмент AuKill завантажує підписаний, але вразливий драйвер (procexp152.sys), щоб призупинити або завершити EDR та судово-слідчі датчики перед шифруванням та знищенням журналів:

cmd
AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
AuKill.exe -k CrowdStrike

Драйвер видаляється після цього, залишаючи мінімальні артефакти.
Заходи пом'якшення: увімкніть чорний список вразливих драйверів Microsoft (HVCI/SAC)
та сповіщайте про створення служб ядра з шляхів, доступних для запису користувачем.


Посилання

  • Sophos X-Ops – “AuKill: Зброя для вразливого драйвера для відключення EDR” (березень 2023)
    https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
  • Red Canary – “Виправлення EtwEventWrite для прихованості: Виявлення та полювання” (червень 2024)
    https://redcanary.com/blog/etw-patching-detection

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks