Persistence Hunter¶
Закріплення (persistence) — це спосіб змусити код запускатися знову: під час запуску Windows, входу користувача, відкриття програми, настання запланованого часу або іншої події. Зловмисники можуть зловживати тими самими параметрами, які легітимне програмне забезпечення використовує для оновлень, підтримки пристроїв, безпеки та адміністрування.
juntei persistence-hunter офлайн досліджує зібрані докази Windows за допомогою 131 перевірки, що охоплюють
ці механізми та пов'язані аномалії облікових записів і захисту. Він читає кущі реєстру, файли завдань,
скрипти, параметри програм і вибрані записи баз даних.
На цій сторінці пояснено кожну реалізовану перевірку. Повний перелік параметрів, поля виводу, профілі та обробку часових позначок наведено в посібнику з команди. У розділі Подяки наведено посилання на проєкт PyrsistenceSniper мовою Python та оригінальний інструмент PersistenceSniper мовою PowerShell.
Початок розслідування¶
juntei persistence-hunter -d evidence/ --min-severity info -o PersistenceHunter.csv --coverage Coverage.csv
Використовуйте --min-severity info, щоб отримати повний перелік кандидатів. Під час ручного запуску команда за замовчуванням використовує
medium; її профіль може класифікувати часткові збіги зі списком дозволених як LOW, навіть якщо через відсутність доказів щодо корисного навантаження чи
підписувача повне порівняння неможливе. Ні збіг зі списком дозволених, ні незнайомий запис не вирішують питання,
чи є щось шкідливим. auto-parse уже зберігає всі рівні серйозності та записує результати
в категорію persistence/ кожного комп'ютера.
Щоб зосередитися на певному механізмі, скопіюйте його ідентифікатор перевірки (Check ID) з наведеного нижче:
juntei persistence-hunter --list-checks
juntei persistence-hunter -d evidence/ --check run_keys,scheduled_task_files --min-severity info -o focused.csv
За замовчуванням команда використовує спільний пул робочих потоків. Додайте -T 4, щоб вибрати чотири потоки, або -T 1
для однопотокового сканування. Вхідні дані можуть містити кілька комп'ютерів; їхні докази обробляються окремо.
Читання результатів як доказів¶
| Питання | Що перевіряти |
|---|---|
| Що було налаштовано і де? | CheckId, Path і повне значення Value, включно з аргументами. Перейдіть за SourceFile до зібраного кущу реєстру, файлу чи бази даних. |
| Чи є ціль у зібраних даних? | ResolvedPath, ResolutionStatus і Exists. Незібрані, неоднозначні або непідтримувані посилання вважаються невідомими; Juntei не підставляє файл з комп'ютера аналітика. |
| Чи діє ця конфігурація? | Фактичний тригер, прапорці ввімкнення, вибраний набір керування, версія Windows/програми, користувач і архітектура. Деякі перевірки навмисно зберігають неактивну конфігурацію. |
| Чи це атака? | Severity і PolicyReason пояснюють збіг із профілем, а не є вердиктом. Порівнюйте з очікуваним програмним забезпеченням, повною командою, хешами файлів, незалежними доказами виконання та навколишньою часовою шкалою. |
| Хто міг це запустити? | AccessGained — підказка щодо області дії/контексту. Для конфігурації рівня всього комп'ютера часто вказано SYSTEM, але це не доводить, що запущений процес працював від імені SYSTEM. Принципали завдань і SID власників BITS надають конкретніший контекст, якщо вони доступні. |
| Коли це змінилося? | KeyLastWrite датує весь ключ реєстру. LastChange, ChangeSource і ChangeEvidence описують окреме зіставлення з MFT/EVTX, якщо воно доступне. Жодне з цих полів автоматично не датує виконання корисного навантаження. |
| Наскільки надійний відновлений стан? | Читайте RecordStatus, Coverage.csv і попередження щодо відтворених, вирізаних (carved), пошкоджених, відсутніх або обмежених доказів. Відновлений історичний запис може вже не бути активним. |
| Чи можна довіряти названому видавцю? | Signer і SignerStatus — це описові метадані PE/сертифіката/каталогу. Juntei не перевіряє підписи Authenticode чи довіру до сертифікатів. |
Відсутність результатів не доводить відсутності закріплення. Рядок охоплення зі значенням complete означає,
що відповідне зібране джерело було прочитано, а не те, що зібрані дані містять кожен відповідний файл,
кожного користувача чи кожен можливий механізм закріплення Windows. Інші стани охоплення пояснюють відсутні,
часткові, вимкнені або невдалі перевірки. Цей інструмент не сканує живу пам'ять, мережу чи хмарні ідентичності.
Каталог і позначення розташувань¶
Каталог ґрунтується на PyrsistenceSniper, а також на власній перевірці start_menu_com;
наведені нижче описи документують
власну поведінку Juntei, включно з обмеженнями щодо доказів. Існує 116 перевірок на основі
реєстру і 15 перевірок файлів/репозиторіїв. Деякі перевірки файлів також об'єднують дані реєстру, тому це
кількості за реалізацією, а не взаємовиключні вимоги до збирання даних. Нижче механізми
згруповано за метою розслідування, а в межах кожної групи впорядковано за абеткою за ідентифікатором перевірки.
HKLM\SYSTEM,HKLM\SOFTWAREіHKLM\SAMпозначають зібрані кущі реєстру комп'ютера, зазвичай отримані зWindows\System32\config, разом із журналами транзакцій, якщо вони доступні.HKU\<user>означає відповідний зібраний кущ реєстру користувача. Більшість параметрів користувача походять з NTUSER.DAT; реєстрації класів можуть походити зAppData\Local\Microsoft\Windows\UsrClass.dat, як зазначено.<ControlSet>означає вибраний активний набір керування в SYSTEM. Додаткові історичні розташування для перевірки DSRM явно вказано нижче. Під час їх перегляду перевіряйтеSYSTEM\Select.<name>— змінна складова шляху. У таблицях цілей реєстру<child>означає безпосередні дочірні реєстрації; це не означає необмеженого рекурсивного обходу. Для перевірок з явною рекурсією їхній обхід описано окремо. Квадратні дужки в шляхах Office позначають необов'язкову версію.- У таблицях наведено фактичні подання реєстру комп'ютера та користувача, які вибирає перевірка. 32-бітне подання вказано там, де його реалізовано; не вважайте, що кожна перевірка досліджує всі можливі архітектури/подання.
- Загальні перевірки значень видають непорожні налаштовані записи, включно з елементами багаторядкових значень і числовим нулем, де це застосовно. Самі по собі вони не вимагають шкідливого корисного навантаження, увімкненого тригера чи успішного виконання. Вибірковіші умови вказано для кожної перевірки окремо.
Ідентифікатори ATT&CK — це успадковані відповідності з каталогу та посилання для подальшого вивчення. Вони описують потенційне зловживання, а не висновок про те, що зловмисник застосував цю техніку; перевірки параметрів захисту та діагностичні перевірки можуть описувати умови, що уможливлюють атаку, а не самостійний механізм закріплення.
Завантаження, вхід і автозапуск¶
Ці параметри забезпечують запуск команди або бібліотеки під час завантаження, входу в систему чи ініціалізації робочого стола. Перевіряйте версію Windows і відповідного користувача: параметр може бути застарілим, вимкненим або призначеним для кіоску, а не зловмисником.
Active Setup¶
Ідентифікатор перевірки: active_setup · ATT&CK за каталогом: T1547.014
Що перевіряє Juntei: читає StubPath з реєстрацій компонентів Active Setup рівня всього комп'ютера в нативному та 32-бітному поданнях. Windows може використовувати ці команди під час підготовки профілю користувача; перевірка пропускає буквальні значення-заповнювачі U і /UserInstall.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\<component>\StubPathі відповідне деревоWow6432Node.
Як розслідувати: порівняйте кожен компонент із відповідним встановленим продуктом і перевірте аргументи команди. Реєстрація рівня всього комп'ютера може призвести до виконання в сеансі користувача, який входить у систему; мітка SYSTEM у виводі описує область дії конфігурації, а не доводить токен процесу, що буде запущено.
Boot Execute¶
Ідентифікатор перевірки: boot_execute · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає багаторядкове значення BootExecute диспетчера сеансів (Session Manager), зберігаючи окремі непорожні записи. Фіксує команди, налаштовані для ранньої фази завантаження.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager |
BootExecute |
Як розслідувати: autocheck autochk * — звичне значення за замовчуванням, а дискові утиліти можуть додавати легітимні записи. Досліджуйте додані команди та їхні файли, не вважаючи, що кожен нестандартний запис виконувався або є шкідливим.
Програма перевірки завантаження (Boot Verification Program)¶
Ідентифікатор перевірки: boot_verification_program · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає ImagePath з BootVerificationProgram — розташування виконуваного файлу, пов'язаного з перевіркою завантаження.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\BootVerificationProgram |
ImagePath |
Як розслідувати: перевірте, чи застосовний цей старіший механізм до зібраної версії Windows і конфігурації завантаження. Визначте цільовий файл і порівняйте його призначення з очікуваним програмним забезпеченням для керування завантаженням.
Значення Load у Explorer¶
Ідентифікатор перевірки: explorer_load · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає значення Load, пов'язане з конфігурацією ініціалізації входу в Windows, з кущів реєстру комп'ютера та користувача.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows |
Load |
HKU\<user>\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows |
Load |
Як розслідувати: досліджуйте незнайомі команди, призначення з правом запису для користувача та аргументи, які завантажують або декодують вміст. Окремо підтверджуйте застосовність і виконання; порожній результат не охоплює інших механізмів входу.
Драйвери шрифтів¶
Ідентифікатор перевірки: font_drivers · ATT&CK за каталогом: T1547
Що перевіряє Juntei: перелічує непорожні значення в застарілому ключі реєстру Font Drivers як потенційні реєстрації бібліотек.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers |
Усі непорожні значення |
Як розслідувати: розглядайте це як незвичну застарілу поверхню конфігурації. Перш ніж робити висновок про можливість завантаження, перевірте підтримку у відповідній версії Windows і саму бібліотеку, а фактичне використання підтверджуйте доказами процесів або завантаження образів.
DLL розширень групової політики¶
Ідентифікатор перевірки: gp_extension_dlls · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає DllName з кожної безпосередньої реєстрації розширення групової політики в Winlogon. Ці DLL розширюють обробку політик.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions\<child> |
DllName |
Як розслідувати: розширення можуть установлювати продукти для керування та захисту. Зіставте GUID розширення та DLL з очікуваним продуктом і, перш ніж стверджувати про виконання, вивчіть докази обробки політик і завантаження образів.
Скрипти групової політики¶
Ідентифікатор перевірки: gp_scripts · ATT&CK за каталогом: T1037.001
Що перевіряє Juntei: розбирає пари команда/параметри із зібраних файлів реєстрації локальної групової політики scripts.ini і psscripts.ini, включно з локальними сховищами політик окремих користувачів. Розділи запуску/завершення роботи та входу/виходу зберігають налаштовані команди й аргументи, причому розділи комп'ютера відрізняються від розділів користувача.
Досліджувані докази:
Windows\System32\GroupPolicy\Machine\Scripts\scripts.ini/psscripts.iniта відповідні файлиGroupPolicy\User\Scripts.Windows\System32\GroupPolicyUsers\<SID>\User\Scripts\scripts.ini/psscripts.ini.
Як розслідувати: досліджуються лише реалізовані розташування реєстрації локальних політик; це не повний аудит SYSVOL/GPO. Файлу скрипту, що лежить деінде в каталозі політик, недостатньо. Зіставляйте його реєстрацію з доказами обробки політик і виконання.
Скрипти входу (UserInitMprLogonScript)¶
Ідентифікатор перевірки: logon_scripts · ATT&CK за каталогом: T1037.001
Що перевіряє Juntei: читає значення середовища користувача UserInitMprLogonScript, яке може вибирати скрипт для входу цього користувача.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKU\<user>\Environment |
UserInitMprLogonScript |
Як розслідувати: порівняйте із затвердженими скриптами входу та перевірте сам скрипт. Значення не доводить подальшого входу чи виконання, а для скриптів, що надаються доменом, потрібні додаткові докази щодо політик.
Platform Execute¶
Ідентифікатор перевірки: platform_execute · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає кожен непорожній запис PlatformExecute у Session Manager. Визначає програми, вибрані для пов'язаної з платформою ініціалізації під час завантаження.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager |
PlatformExecute |
Як розслідувати: запис можуть пояснювати процеси, пов'язані з обладнанням або підготовкою системи. З'ясуйте, чи використовує його шлях завантаження в цій збірці Windows, і досліджуйте вказаний образ, а не робіть висновок про атаку лише за назвою значення.
DLL розширення клієнта RDP¶
Ідентифікатор перевірки: rdp_clx_dll · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає ClxDllPath у конфігурації користувача за замовчуванням Terminal Server як можливе розташування розширення, пов'язаного з RDP.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Terminal Server\DefaultUserConfiguration |
ClxDllPath |
Як розслідувати: перевірте версію Windows/RDP і встановлені розширення. Налаштована DLL — це зачіпка для аналізу завантаження образів; саме значення реєстру не свідчить про те, що відбулося RDP-підключення чи завантаження DLL.
DLL віртуального каналу RDP¶
Ідентифікатор перевірки: rdp_virtual_channel · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: перелічує значення в реєстраціях Default\AddIns клієнта Terminal Server рівня всього комп'ютера. Двійкові значення за можливості декодуються як UTF-16LE, що зберігає придатні до використання шляхи розширень.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Terminal Server Client\Default\AddIns\<add-in>: усі значення.
Як розслідувати: клієнти RDP і продукти перенаправлення пристроїв легітимно реєструють надбудови. Перевірте фактичну DLL або команду та відповідний клієнтський сеанс; не кожне значення в надбудові є шляхом до виконуваного файлу.
Програми автозапуску RDP WDS¶
Ідентифікатор перевірки: rdp_wds_startup · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає StartupPrograms з конфігурації драйвера Windows Station для RDP. Визначає програми, налаштовані на запуск під час віддаленого сеансу.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Terminal Server\Wds\rdpwd |
StartupPrograms |
Як розслідувати: rdpclip — звичний запис. Досліджуйте додані записи та конфігурацію RDP хоста, а для визначення того, чи дійсно запускалася налаштована програма, використовуйте записи про сеанси/процеси.
Ключі Run у реєстрі¶
Ідентифікатор перевірки: run_keys · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: перелічує значення Run, RunOnce, RunEx, RunOnceEx і значення Run політики Explorer з кущів реєстру комп'ютера/користувача, а також із наведених 32-бітних ключів комп'ютера. Розділи RunEx/RunOnceEx обходяться з обмеженнями та перевірками на цикли.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
Усі непорожні значення |
HKU\<user>\SOFTWARE\Microsoft\Windows\CurrentVersion\Run |
Усі непорожні значення |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce |
Усі непорожні значення |
HKU\<user>\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce |
Усі непорожні значення |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEx |
Усі непорожні значення |
HKU\<user>\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEx |
Усі непорожні значення |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx |
Усі непорожні значення |
HKU\<user>\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx |
Усі непорожні значення |
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run |
Усі непорожні значення |
HKU\<user>\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run |
Усі непорожні значення |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run |
Усі непорожні значення |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce |
Усі непорожні значення |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx |
Усі непорожні значення |
Як розслідувати: тут часто з'являються засоби оновлення програм і програми системного лотка. Порівнюйте виконуваний файл, аргументи команди та контекст користувача. Запис RunOnce може зникнути після використання; зібраний стан не є повною історією попередніх входів у систему.
RunServices (застарілий)¶
Ідентифікатор перевірки: run_services · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: перелічує значення в застарілому ключі рівня всього комп'ютера RunServices.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices |
Усі непорожні значення |
Як розслідувати: це історична поверхня конфігурації, а не гарантія того, що сучасна збірка Windows її виконує. Дослідіть ціль і застосовність до операційної системи, а потім шукайте незалежні докази виконання.
RunServicesOnce (застарілий)¶
Ідентифікатор перевірки: run_services_once · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: перелічує значення в застарілому ключі рівня всього комп'ютера RunServicesOnce.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce |
Усі непорожні значення |
Як розслідувати: розглядайте непорожні значення як зачіпки в конфігурації. Перевірте, чи підтримує цей механізм вихідна версія Windows і чи пояснює запис програмне забезпечення для розгортання або сумісності.
Початкова команда S0¶
Ідентифікатор перевірки: s0_initial_command · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає S0InitialCommand з Session Manager як потенційну команду ініціалізації сеансу 0.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager |
S0InitialCommand |
Як розслідувати: установіть застосовність до зібраної збірки Windows і стану завантаження. Налаштована команда не є записом про виконання під час завантаження з часовою позначкою; перевірте її файл і зіставте з телеметрією завантаження/процесів.
Session Manager Execute¶
Ідентифікатор перевірки: session_manager_execute · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає непорожні записи Execute з Session Manager, виявляючи програми, вибрані для ініціалізації сеансу.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager |
Execute |
Як розслідувати: порівняйте з очікуваною базовою конфігурацією образів і перевірте незвичайні нативні виконувані файли чи шляхи. Перш ніж стверджувати про виконання, встановіть, чи відбувався відповідний сеанс/завантаження після зміни.
Session Manager SubSystems¶
Ідентифікатор перевірки: session_manager_subsystems · ATT&CK за каталогом: T1547
Що перевіряє Juntei: читає значення Windows у ключі SubSystems диспетчера сеансів, яке налаштовує команду підсистеми Windows.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\SubSystems |
Windows |
Як розслідувати: звичайна команда довга й залежить від версії. Порівняйте повне значення та аргументи з надійною базовою конфігурацією тієї самої збірки; зміна критичного параметра підсистеми також може порушити запуск системи.
Setup Execute¶
Ідентифікатор перевірки: setup_execute · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає записи SetupExecute у Session Manager, що охоплюють пов'язані з установленням команди, налаштовані на запуск під час старту системи.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager |
SetupExecute |
Як розслідувати: легітимні записи можуть створювати установлення, оновлення та відновлення системи. Перш ніж пов'язувати цю конфігурацію із закріпленням, порівняйте її з журналами установлення та вказаним образом.
Перенаправлення папки Startup у Shell Folders¶
Ідентифікатор перевірки: shell_folders_startup · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: порівнює Startup і Common Startup як у Shell Folders, так і в User Shell Folders зі стандартними розташуваннями папки Startup. Про нестандартні перенаправлення повідомляється, а зібраний вміст відповідних папок перевіряється.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell FoldersіUser Shell Folders:Common Startup.- Відповідні параметри
Software\Microsoft\Windows\CurrentVersion\Explorerу NTUSER.DAT:Startup, а також зібрані файли в перенаправлених розташуваннях.
Як розслідувати: перенаправлена папка Startup може приховувати автозапуски, але перенаправлення може бути й легітимним. Шлях має вказувати на розташування в межах зібраних доказів; незібране розташування є невідомим, а не доказом того, що папка була порожньою.
Перевизначення оболонки (Shell Launcher)¶
Ідентифікатор перевірки: shell_launcher · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає значення політики Shell і зіставлення Shell у розділі boot файлу system.ini з SOFTWARE. Це альтернативні поверхні вибору оболонки.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Policies\Microsoft\Windows\System |
Shell |
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot |
Shell |
Як розслідувати: кіоски та спеціалізовані пристрої можуть навмисно замінювати Explorer. Порівняйте вибрану оболонку з роллю комп'ютера та переконайтеся, що параметр діяв для відповідного сеансу.
Папка Startup¶
Ідентифікатор перевірки: startup_folder · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: перевіряє файли безпосередньо в стандартних папках Startup окремих користувачів і спільній папці Startup, враховуючи перше доступне перенаправлення папки Startup. Цілі ярликів відновлюються, якщо зібраний файл .lnk вдається розібрати.
Досліджувані докази:
ProgramData\Microsoft\Windows\Start Menu\Programs\StartupіUsers\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.- Застосовні перенаправлення
Common Startup/Startupу параметрах Shell Folders і User Shell Folders комп'ютера/користувача.
Як розслідувати: посилання та файли в папці Startup можуть запускати легітимні програми під час входу. Перевіряйте не лише імена файлів, а й аргументи цілей. Спільна папка — це розташування спільної конфігурації; вона не доводить, що запущена програма використовувала токен SYSTEM.
Початкова програма Terminal Services¶
Ідентифікатор перевірки: ts_initial_program · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає параметр політики Terminal Services InitialProgram і конфігурацію Run/RunOnce/RunOnceEx для установлення Terminal Server на комп'ютері, включно з обмеженими вкладеними розділами RunOnceEx.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services |
InitialProgram |
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run |
Усі непорожні значення |
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce |
Усі непорожні значення |
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunOnceEx |
Усі непорожні значення |
Як розслідувати: розгортання віддалених програм можуть навмисно використовувати ці параметри. Установіть, яких сеансів це стосується, і простежте вибрані команди в доказах процесів; сама реєстрація не свідчить про віддалений вхід.
Winlogon AppSetup¶
Ідентифікатор перевірки: winlogon_appsetup · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає AppSetup з Winlogon, розділяючи записи, відокремлені комами, на окремих кандидатів.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
AppSetup |
Як розслідувати: порівняйте кожен компонент з очікуваним програмним забезпеченням для налаштування/входу Windows. Запис у списку не є окремим спостереженим виконанням, а його значущість може залежати від версії Windows і стану розгортання.
Winlogon GinaDLL¶
Ідентифікатор перевірки: winlogon_gina_dll · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає застарілий параметр заміни GinaDLL у Winlogon. GINA — старіша модель розширень входу Windows.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
GinaDLL |
Як розслідувати: це стосується насамперед систем, старіших за Vista. Залишковий ключ у новішій системі не доводить наявності дієвого розширення входу; перевірте версію джерела та будь-яку вказану DLL.
Додаткові відомості: документація Microsoft.
Winlogon MPNotify¶
Ідентифікатор перевірки: winlogon_mpnotify · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає параметр команди/бібліотеки mpnotify у Winlogon — поверхню розширень, пов'язану зі входом.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
mpnotify |
Як розслідувати: порівняйте ціль і аргументи з базовою конфігурацією відповідної версії Windows. Перевірте поведінку, специфічну для версії, і зіставте з подальшим входом, перш ніж стверджувати, що код виконувався.
Пакети сповіщень Winlogon (Notify)¶
Ідентифікатор перевірки: winlogon_notify_packages · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає DllName з кожної безпосередньої реєстрації пакета Notify у Winlogon.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\<child> |
DllName |
Як розслідувати: пакети сповіщень — застарілий механізм розширень. Визначте, чи завантажує їх зібрана версія Windows, і відрізняйте затверджене програмне забезпечення автентифікації від незрозумілих бібліотек.
Winlogon Shell¶
Ідентифікатор перевірки: winlogon_shell · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає значення Shell у Winlogon рівня всього комп'ютера та окремих користувачів, щоб виявити вибір оболонки робочого стола.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
Shell |
HKU\<user>\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
Shell |
Як розслідувати: зазвичай це Explorer, але кіоски можуть використовувати іншу оболонку. Досліджуйте додані команди чи незвичайні шляхи та визначте, чия ефективна конфігурація застосовувалася під час входу.
Winlogon System¶
Ідентифікатор перевірки: winlogon_system · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає значення System у Winlogon і розділяє записи, відокремлені комами, на окремих кандидатів.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
System |
Як розслідувати: розглядайте це як зачіпку в конфігурації входу, чутливу до версії. Перевірте кожен вказаний компонент і підтверджуйте доказами виконання, а не вважайте список історією запусків.
Winlogon Taskman¶
Ідентифікатор перевірки: winlogon_taskman · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає значення Taskman у Winlogon комп'ютера/користувача, що задають альтернативну команду керування завданнями.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
Taskman |
HKU\<user>\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
Taskman |
Як розслідувати: визначте, яка поведінка Windows використовувала б цей параметр і чи є ціль очікуваною. Налаштована заміна не доводить, що користувач викликав цю функцію.
Winlogon Userinit¶
Ідентифікатор перевірки: winlogon_userinit · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає значення Userinit у Winlogon комп'ютера/користувача, розділяючи програми, відокремлені комами, та ігноруючи порожні кінцеві елементи.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
Userinit |
HKU\<user>\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
Userinit |
Як розслідувати: звичайний запис часто вказує на userinit.exe. Перевіряйте додаткові записи та змінені шляхи. Підтвердьте відповідного користувача та подальший вхід; KeyLastWrite стосується всього ключа, а не саме цього значення.
Winlogon VMApplet¶
Ідентифікатор перевірки: winlogon_vmapplet · ATT&CK за каталогом: T1547.004
Що перевіряє Juntei: читає параметр команди VMApplet у Winlogon, що охоплює старішу поверхню запуску системного аплету.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon |
VMApplet |
Як розслідувати: перевірте застосовність до операційної системи та очікуваний аплет. Неочікувана команда заслуговує на розслідування, але не встановлює, що інтерфейс, який її запускає, відкривали.
Служби та розширення системи¶
Служби Windows і розширювані системні компоненти надають багато легітимних способів завантажити виконувані файли або DLL. Порівнюйте налаштовану ціль з очікуваним продуктом, обліковим записом служби, параметрами запуску та підтвердженою джерелами історією установлення.
DiagTrack DLL¶
Ідентифікатор перевірки: diagtrack_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає ImagePath служби DiagTrack. Попри орієнтовану на DLL назву в каталозі, ця перевірка досліджує налаштовану команду образу служби.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Services\DiagTrack |
ImagePath |
Як розслідувати: порівняйте з базовою конфігурацією служби та загальними перевірками служб. Та сама конфігурація може давати більше ніж один результат перевірки; кількість кандидатів не дорівнює кількості окремих атак.
DLL прослуховувача DiagTrack¶
Ідентифікатор перевірки: diagtrack_listener_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає FileName з конфігурації автологера DiagTrack-Listener. Це параметр автологера ETW, а не доказ завантаження DLL.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\WMI\Autologger\DiagTrack-Listener |
FileName |
Як розслідувати: перевірте необроблене значення та конфігурацію журналювання Windows. Каталог позначає це як техніку з DLL, але пошук не перевіряє, чи є DLL придатною до завантаження, і не доводить виконання через це значення.
DLL помічника Netsh¶
Ідентифікатор перевірки: netsh_helper · ATT&CK за каталогом: T1546.007
Що перевіряє Juntei: перелічує непорожні значення в ключі реєстрації помічників NetSh комп'ютера. Помічники можуть розширювати netsh.exe командами на основі DLL.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\NetSh |
Усі непорожні значення |
Як розслідувати: помічників можуть установлювати мережеві продукти. Зіставте кожне значення з очікуваним продуктом і перевірте визначену бібліотеку, а потім шукайте відповідні запуски netsh або завантаження образів.
Монітори друку¶
Ідентифікатор перевірки: print_monitors · ATT&CK за каталогом: T1547.010
Що перевіряє Juntei: читає Driver у кожній безпосередній реєстрації монітора друку (Print Monitor) в активному наборі керування.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Print\Monitors\<child> |
Driver |
Як розслідувати: програмне забезпечення для друку та монітори портів легітимно розширюють диспетчер черги друку. Порівняйте DLL і метадані продукту з переліком принтерів і підтвердьте завантаження доказами диспетчера черги друку/завантаження образів.
Обробники друку¶
Ідентифікатор перевірки: print_processors · ATT&CK за каталогом: T1547.012
Що перевіряє Juntei: читає Driver у деревах реєстрації обробників друку (print processor) для x64 і x86.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Print\Environments\Windows x64\Print Processors\<child> |
Driver |
HKLM\SYSTEM\<ControlSet>\Control\Print\Environments\Windows NT x86\Print Processors\<child> |
Driver |
Як розслідувати: сторонні пакети для принтерів можуть додавати обробники понад звичні стандартні обробники Windows. Перш ніж припускати зловмисний намір, перегляньте обидві архітектури, фактичну DLL і встановлене програмне забезпечення принтерів.
Розширення Service Control Manager¶
Ідентифікатор перевірки: scm_extension · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: перелічує непорожні значення в ServiceControlManagerExtension — поверхні розширень диспетчера служб.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\ServiceControlManagerExtension |
Усі непорожні значення |
Як розслідувати: дослідіть названі бібліотеки та з'ясуйте, чи використовує цей параметр ця збірка Windows. Зіставте з активністю завантаження/служб; перевірка інвентаризує реєстрації, а не доводить завантаження розширення.
DLL плагіна рівня сервера DNS¶
Ідентифікатор перевірки: server_level_plugin_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає параметр ServerLevelPluginDll служби DNS в активному наборі керування SYSTEM.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Services\DNS\Parameters |
ServerLevelPluginDll |
Як розслідувати: це стосується систем із роллю DNS-сервера, зокрема деяких контролерів домену. Дослідіть DLL, обліковий запис служби та докази перезапуску служби/завантаження; неактивна або відсутня роль змінює висновок.
Команда в разі збою служби¶
Ідентифікатор перевірки: service_failure_command · ATT&CK за каталогом: T1543.003
Що перевіряє Juntei: читає FailureCommand кожної служби в активному наборі керування, виявляючи налаштовану команду відновлення.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Services\<service>\FailureCommand.
Як розслідувати: команда виконується лише тоді, коли її вибирають дії відновлення служби і стається відповідний збій. Перевірте конфігурацію відновлення та записи про збої/процеси; саме значення не встановлює наявності активної дії відновлення.
DLL агента розширення SNMP¶
Ідентифікатор перевірки: snmp_extension_agent · ATT&CK за каталогом: T1574
Що перевіряє Juntei: перелічує значення в ключі реєстрації ExtensionAgents служби SNMP. Значення можуть вказувати на інше розташування в реєстрі, а не безпосередньо на шлях до DLL.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Services\SNMP\Parameters\ExtensionAgents |
Усі непорожні значення |
Як розслідувати: вручну простежте непряму реєстрацію до її бібліотеки та переконайтеся, що SNMP встановлено і використовується. Невизначений рядок у цьому виводі не доводить, що DLL відсутня або шкідлива.
Постачальники часу¶
Ідентифікатор перевірки: time_providers · ATT&CK за каталогом: T1547.003
Що перевіряє Juntei: читає DllName з безпосередніх реєстрацій TimeProviders служби часу Windows.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Services\W32Time\TimeProviders\<child> |
DllName |
Як розслідувати: окремо перегляньте параметри ввімкнення постачальників і стан служби часу Windows; перевірка шляху до DLL не вимагає, щоб постачальник був увімкнений. Продукти синхронізації часу можуть надавати легітимні замінники.
Служба Windows (ServiceDll)¶
Ідентифікатор перевірки: windows_service_dll · ATT&CK за каталогом: T1543.003
Що перевіряє Juntei: читає Parameters\ServiceDll у службах активного набору керування SYSTEM і, якщо доступно, додає специфічні для служби докази часових позначок.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Services\<service>\Parameters\ServiceDll.
Як розслідувати: спільний хост-процес, як-от svchost.exe, не є DLL корисного навантаження. Перевірте бібліотеку, обліковий запис служби, стан запуску та відповідні докази установлення служби/завантаження образу; реєстрація не доводить, що служба працювала.
Додаткові відомості: документація Microsoft.
Служба Windows (ImagePath)¶
Ідентифікатор перевірки: windows_service_image_path · ATT&CK за каталогом: T1543.003
Що перевіряє Juntei: читає команди ImagePath служб в активному наборі керування. Для драйверів типів 1, 2 або 8 без ImagePath зберігається неявна ціль System32\drivers\<service>.sys.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Services\<service>:ImagePath,Typeі допоміжні метадані служби.
Як розслідувати: перевіряйте обліковий запис служби та параметри запуску окремо від мітки області дії комп'ютера у виводі. Вимкнені реєстрації або реєстрації із запуском на вимогу також входять до інвентаризації. Для часових позначок докази за назвою служби є кращими, ніж неоднозначні спільні шляхи до виконуваних файлів.
Додаткові відомості: документація Microsoft.
DLL запуску служби Windows Update¶
Ідентифікатор перевірки: wu_service_startup_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає Parameters\ServiceDll служби Windows Update з активного набору керування.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Services\wuauserv\Parameters |
ServiceDll |
Як розслідувати: порівняйте бібліотеку з тією самою збіркою Windows і встановленим станом обслуговування. Це перетинається із загальною інвентаризацією ServiceDll і не є другою окремою компрометацією.
Заплановані завдання¶
Планувальник завдань зберігає конфігурацію як у файлах XML, так і в кущі реєстру SOFTWARE. Читайте ці джерела разом. Завдання може бути зареєстроване, але жодного разу не запускатися, а неповне збирання даних може нагадувати приховане завдання чи завдання-привид.
Заплановане завдання-привид¶
Ідентифікатор перевірки: ghost_task · ATT&CK за каталогом: T1053.005
Що перевіряє Juntei: порівнює реєстрації Tree і Tasks у TaskCache куща SOFTWARE і, якщо файли завдань є серед зібраних даних, шукає відповідні XML-файли завдань.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\TreeіTaskCache\Tasks.- Зібрані файли
Windows\System32\Tasks\<task path>для порівняння з файловою системою.
Як розслідувати: відсутність відповідників може свідчити про видалені/застарілі завдання, вбудовані реєстрації або неповне збирання даних. Якщо XML не зібрано, порівняння з файловою системою недоступне. Перш ніж називати завдання прихованим чи шкідливим, перевірте охоплення та точну розбіжність.
Приховане заплановане завдання¶
Ідентифікатор перевірки: hidden_scheduled_task · ATT&CK за каталогом: T1053.005
Що перевіряє Juntei: перевіряє реєстрації Tree у TaskCache на відсутність значення SD або порожній двійковий дескриптор безпеки — умови, пов'язані з приховуванням завдання від звичайного переліку.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\<task>: наявність/даніSDразом із метаданими відповідника в TaskCache.
Як розслідувати: відсутній/порожній SD — це конкретна аномалія конфігурації, а не доказ того, що завдання виконувалося чи є шкідливим. Параметр XML Hidden і довільні проблеми з ACL — це інші умови, і вони не є критерієм, який тут використовується.
Додаткові відомості: документація Microsoft.
Заплановане завдання (файли XML)¶
Ідентифікатор перевірки: scheduled_task_files · ATT&CK за каталогом: T1053.005
Що перевіряє Juntei: розбирає зібрані XML-файли завдань, отримуючи команди/аргументи Exec, а також ідентифікатори класів і дані COM-обробників. Вибирає принципала за Actions Context/Principal id, окремо зберігає ідентичність користувача і групи та повідомляє SYSTEM, USER або UNKNOWN. Невизначені COM-дії залишаються видимими.
Досліджувані докази:
- XML-файли
Windows\System32\Tasks\<task path>, включно з Exec, ComHandler і доступними полями принципала. - Зібраний
UsrClass.datіSoftware\Classesу NTUSER відповідного користувача, а такожClasses\CLSIDу SOFTWARE комп'ютера в нативному та 32-бітному поданнях. - Зібраний
ProfileListу SOFTWARE для принципалів, заданих SID. Для іменованих принципалів перевага надається унікальній відповідній папціuser.DOMAIN, потім суфіксам зібраного локального хоста і, зрештою, простій папціuser. Збіги явно позначаються як евристичні; справжня неоднозначність залишається невизначеною і зазначається в результаті та охопленні. Енергозалежні ключі реєстру не потрібні. - Керований
CodeBase(включно з підрозділами версій), асоціації AppID іImagePathслужби в SYSTEM дляLocalServiceв AppID.
Кандидати COM-серверів містять джерело в реєстрі в полі Description. Асоціації AppID,
що містять лише ім'я виконуваного файлу, залишаються невизначеними, а не отримують вгаданий каталог. Локальні
URL-адреси file: декодуються; віддалені URL-адреси зберігаються без звернення до мережі. Перевизначення класів користувача
обмежені відповідним профілем, а неповний CLSID користувача не переходить до затіненої ним
реєстрації комп'ютера. Завдання лише з групою зберігають кандидатів комп'ютера з приміткою про обмеження щодо окремих
користувачів в описі, не додаючи рутинних повідомлень до зведення помилок охоплення.
Як розслідувати: перевірте тригери, стан увімкнення, принципала та історію запусків у вихідному XML і журналах подій. Створене завдання може жодного разу не запуститися. Невизначений COM-обробник усе одно є кандидатом, а відсутність даних принципала або наявність лише групи не можна вважати ознакою SYSTEM.
WMI, BITS та інші тригери подій¶
Windows Management Instrumentation (WMI) підтримує керування системою. Background Intelligent Transfer Service (BITS) підтримує фонові передавання даних. Обидва механізми можуть зберігати команди, що запускаються подіями. Деякі механізми очікують на подію керування, сповіщення про передавання, запуск програми чи дію користувача. Збережений тригер — корисний доказ конфігурації, але його наявність не встановлює, що тригер спрацював.
Бекдор через спеціальні можливості¶
Ідентифікатор перевірки: accessibility_tools · ATT&CK за каталогом: T1546.008
Що перевіряє Juntei: порівнює сім зібраних двійкових файлів спеціальних можливостей із System32 за PE OriginalFilename і метаданими сертифіката/каталогу, попередньо вимагаючи придатні до використання метадані каталогу Microsoft від зібраного еталонного двійкового файлу.
Досліджувані докази:
Windows\System32\sethc.exe,osk.exe,narrator.exe,magnify.exe,utilman.exe,atbroker.exeіDisplaySwitch.exe.- Еталонні метадані зібраних
Windows\System32\winlogon.exe,cmd.exeабоnotepad.exeі застосовні зібрані каталоги.
Як розслідувати: метадані можуть вказувати на перейменований замінник, але Juntei не перевіряє підписи чи довіру до сертифікатів. Розріджене збирання без потрібних каталогів дає неповне охоплення порівняння, а не призводить до того, що кожен файл, який виглядає непідписаним, вважається бекдором.
Спеціальні можливості¶
Ідентифікатор перевірки: assistive_technology · ATT&CK за каталогом: T1546.008
Що перевіряє Juntei: читає зареєстровані команди спеціальних можливостей StartExe разом зі StartParams у нативному/32-бітному поданнях SOFTWARE, а також увімкнені записи Configuration спеціальних можливостей із кущів користувачів і DEFAULT. Числові/нерядкові заповнювачі StartExe пропускаються.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility\ATs\<feature>:StartExeіStartParams; також поданняWow6432Nodeкомп'ютера.HKU\<user>\Software\Microsoft\Windows NT\CurrentVersion\Accessibility\Configurationу NTUSER.DAT і відповідний параметр у кущі DEFAULT.
Як розслідувати: програмне забезпечення спеціальних можливостей є легітимним. Розрізняйте назву увімкненої функції та фактичну реєстрацію її виконуваного файлу, а потім перевірте ціль і докази виконання під час входу/на робочому столі. Це окрема ситуація від заміни самого виконуваного файлу спеціальних можливостей.
Додаткові відомості: опис техніки (hexacorn.com).
Команда сповіщення завдання BITS¶
Ідентифікатор перевірки: bits_notify_command · ATT&CK за каталогом: T1197
Що перевіряє Juntei: відновлює записи завдань BITS у вигляді рядків із лічильником довжини (counted string) із зібраних qmgr.db, qmgr0.dat або qmgr1.dat, зберігаючи непорожні програми сповіщень, параметри, ідентифікатори завдань і SID власників.
Досліджувані докази:
ProgramData\Microsoft\Network\Downloader\qmgr.db,qmgr0.datіqmgr1.dat.
Як розслідувати: це вирізані (carved) записи: стан виділення/поточний стан завдання не перевіряється, і можуть з'являтися застарілі/видалені завдання. Час запису бази даних у MFT — слабкий доказ щодо контейнера, а не час виконання сповіщення. SID власників дають змогу розрізнити SYSTEM, локальну службу, мережеву службу та користувачів.
AutoRun обробника команд¶
Ідентифікатор перевірки: cmd_autorun · ATT&CK за каталогом: T1546
Що перевіряє Juntei: читає команди AutoRun обробника команд (Command Processor) комп'ютера/користувача — параметр, який може впливати на запуск командного рядка.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Command Processor |
AutoRun |
HKU\<user>\SOFTWARE\Microsoft\Command Processor |
AutoRun |
Як розслідувати: значення можуть пояснювати засоби розробки та налаштування оболонки. cmd.exe /d оминає AutoRun, тому сама конфігурація не доводить, що команда виконувалася щоразу, коли з'являвся cmd.exe. Перевірте вміст команди та аргументи процесу, що її запускає.
Додаткові відомості: документація Microsoft.
Закріплення через ErrorHandler.cmd¶
Ідентифікатор перевірки: error_handler_cmd · ATT&CK за каталогом: T1546
Що перевіряє Juntei: повідомляє про наявність зібраного скрипту Windows\System32\ErrorHandler.cmd як кандидата на закріплення через обробник помилок.
Досліджувані докази:
Windows\System32\ErrorHandler.cmd.
Як розслідувати: сама наявність не доводить, що його викликав відповідний шлях відновлення/обробки помилок Windows. Прочитайте скрипт, перевірте його походження та зіставте з доказами установлення/помилок/процесів.
Потоки Power Automate Desktop¶
Ідентифікатор перевірки: power_automate · ATT&CK за каталогом: T1546
Що перевіряє Juntei: знаходить зібрані каталоги потоків/скриптів у сховищах flows і scripts Power Automate Desktop кожного користувача, повідомляючи про кожен виявлений потік один раз.
Досліджувані докази:
Users\<user>\AppData\Local\Microsoft\Power Automate Desktop\flows\<flow>\...іscripts\<flow>\....
Як розслідувати: це виявляє збережену автоматизацію, а не кожен запланований тригер чи виконаний потік. Перш ніж вважати це автоматичним або шкідливим закріпленням, перевірте вміст потоку та зовнішню конфігурацію запуску.
Профіль PowerShell¶
Ідентифікатор перевірки: powershell_profiles · ATT&CK за каталогом: T1546.013
Що перевіряє Juntei: знаходить файли на кшталт profile.ps1 у відомих каталогах установлення/профілів Windows PowerShell і PowerShell, включно з папкою Documents користувача, виявленими папками Documents у OneDrive і зібраними перенаправленнями Documents.
Досліджувані докази:
- Файли, імена яких закінчуються на
profile.ps1, безпосередньо вWindows\System32\WindowsPowerShell\v1.0іWindows\SysWOW64\WindowsPowerShell\v1.0. Documents\WindowsPowerShellіDocuments\PowerShellкожного користувача, включно із зібраними перенаправленнями Documents і виявленими папками Documents у OneDrive.- Файли, імена яких закінчуються на
profile.ps1, безпосередньо в каталогах версій уProgram Files\PowerShellабоProgram Files (x86)\PowerShell.
Як розслідувати: профілі можуть містити нешкідливі налаштування. Прочитайте скрипт і простежте корисні навантаження, які він викликає. Запуск PowerShell з -NoProfile пропускає профілі; сама наявність файлу не доводить виконання профілю чи шкідливого вмісту.
Перехоплення заставки екрана¶
Ідентифікатор перевірки: screensaver · ATT&CK за каталогом: T1546.002
Що перевіряє Juntei: читає значення SCRNSAVE.EXE у розділі Desktop кожного користувача, визначаючи налаштований образ заставки екрана.
Досліджувані докази:
HKU\<user>\Control Panel\Desktop\SCRNSAVE.EXEу NTUSER.DAT.
Як розслідувати: порівняйте із затвердженими заставками та перевірте ціль. Чи може вона спрацювати, визначають інші параметри робочого стола, стан сеансу та час очікування; збережений шлях не доводить, що заставка запускалася.
Команда TelemetryController¶
Ідентифікатор перевірки: telemetry_controller · ATT&CK за каталогом: T1546
Що перевіряє Juntei: читає Binary, Command і MaintenanceCommand з TelemetryController та його безпосередніх дочірніх реєстрацій.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\TelemetryControllerі безпосередні дочірні ключі:Binary,Command,MaintenanceCommand.
Як розслідувати: порівняйте вибраний виконуваний файл і аргументи з тією самою збіркою Windows і програмним забезпеченням для обслуговування. Команда в реєстрі не демонструє, що спрацював тригер обслуговування.
Користувацькі профілі Windows Terminal¶
Ідентифікатор перевірки: windows_terminal · ATT&CK за каталогом: T1546
Що перевіряє Juntei: розбирає параметри JSON/JSONC пакетної, попередньої (preview) і непакетної версій Windows Terminal та повідомляє про непорожні параметри commandline профілів/значень за замовчуванням.
Досліджувані докази:
Users\<user>\AppData\Local\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.jsonі відповідний файл WindowsTerminalPreview.Users\<user>\AppData\Local\Microsoft\Windows Terminal\settings.json: поля commandline у застарілих масивах профілів,profiles.listіprofiles.defaults.
Як розслідувати: звичайні оболонки природно з'являються тут. Визначте вибраний профіль/профіль за замовчуванням і перевірте незвичайні команди чи аргументи запуску. Саме збереження профілю не запускає його.
Підписка на події WMI¶
Ідентифікатор перевірки: wmi_event_subscription · ATT&CK за каталогом: T1546.003
Що перевіряє Juntei: вирізає (carving) розпізнані екземпляри споживачів подій і посилання на прив'язки фільтрів до споживачів зі зібраного репозиторію WMI OBJECTS.DATA. Розпізнані класи включають споживачів командного рядка, активних скриптів, файлів журналу, журналу подій і SMTP.
Досліджувані докази:
Windows\System32\wbem\Repository\OBJECTS.DATAіRepository\FS\OBJECTS.DATA.
Як розслідувати: необроблений збіг у репозиторії може бути застарілим, неприв'язаним або історичним; вивід зберігає це уточнення. Вирізання не відтворює повний граф активних підписок і не доводить, що тригер спрацював. Час запису файлу репозиторію не є часом створення/виконання підписки.
Провідник, COM та обробники файлів або URL¶
Component Object Model (COM) дає змогу програмам активувати зареєстровані програмні компоненти. Оболонка Windows використовує зареєстровані обробники для відкриття файлів, URL-адрес, папок і спеціальних об'єктів. Ідентифікатори COM (CLSID) визначають компоненти; ProgID надають деяким компонентам зрозумілі назви. Простежуйте кожну реєстрацію до команди або DLL, яку вона вибирає.
Перехоплення App Paths¶
Ідентифікатор перевірки: app_paths · ATT&CK за каталогом: T1546
Що перевіряє Juntei: читає значення за замовчуванням у реєстраціях App Paths рівня всього комп'ютера, які можуть перенаправляти пошук програм під час запуску через оболонку.
Досліджувані докази:
- Значення за замовчуванням
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<application>.
Як розслідувати: реєстрація App Paths поширена серед встановлених програм і не є загальним перевизначенням кожного запуску процесу. Порівняйте зареєстроване ім'я та образ з очікуваним програмним забезпеченням, а потім вивчіть відповідні докази оболонки/процесів.
Перехоплення COM-об'єкта¶
Ідентифікатор перевірки: com_treat_as · ATT&CK за каталогом: T1546.015
Що перевіряє Juntei: знаходить перенаправлення COM TreatAs і реєстрації InprocServer32/LocalServer32 окремих користувачів, що затінюють CLSID комп'ютера, у підтримуваних нативних/32-бітних сховищах класів. Цілі TreatAs визначаються з використанням класів того самого користувача та класів комп'ютера.
Досліджувані докази:
HKLM\SOFTWARE\Classes\CLSID\<CLSID>і поданняClasses\Wow6432Nodeкомп'ютера.Software\Classes\CLSIDкористувача в NTUSER.DAT іCLSIDв UsrClass.dat, включно з реалізованими поданнямиWow6432Node: значення за замовчуваннямTreatAs,InprocServer32іLocalServer32.
Як розслідувати: перевизначення на рівні користувача можуть не потребувати прав адміністратора, але їх також може реєструвати легітимне програмне забезпечення. Простежте вибраний клас і DLL/виконуваний файл, оцініть архітектуру й контекст активації та незалежно підтвердьте фактичну активацію COM.
Перехоплення обробника очищення диска¶
Ідентифікатор перевірки: disk_cleanup_handler · ATT&CK за каталогом: T1546.015
Що перевіряє Juntei: читає CLSID обробників VolumeCaches засобу очищення диска і простежує придатні до визначення реєстрації COM InprocServer32 комп'ютера до їхніх бібліотек.
Досліджувані докази:
- CLSID за замовчуванням у
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\<handler>іClasses\CLSID\<CLSID>\InprocServer32.
Як розслідувати: для запуску обробник має бути викликаний відповідним процесом очищення. Ця перевірка не видає невизначених обробників, тому, якщо зібрані дані неповні, перевіряйте їхні необроблені реєстрації за допомогою парсера реєстру.
Перевизначення AppKey у Explorer¶
Ідентифікатор перевірки: explorer_app_key · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає значення ShellExecute і Association у безпосередніх дочірніх ключах AppKey Explorer, що охоплюють команди/дії, вибрані клавішами програм.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AppKey\<key>:ShellExecuteіAssociation.
Як розслідувати: ці значення можуть задавати утиліти клавіатури та інструменти OEM. Назва асоціації може вимагати ще одного переходу в реєстрі, а не бути шляхом до файлу. Перевірте дію користувача, яка її запускала б.
Об'єкти допомоги браузеру (BHO)¶
Ідентифікатор перевірки: explorer_bho · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: читає реєстрації CLSID об'єктів допомоги браузеру (Browser Helper Object) і, якщо можливо, визначає бібліотеки InprocServer32 комп'ютера; невизначені ідентифікатори класів залишаються видимими.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\<CLSID>і значення за замовчуваннямClasses\CLSID\<CLSID>\InprocServer32комп'ютера.
Як розслідувати: це пов'язано з поведінкою сумісних браузерів/Explorer і особливо актуально для застарілих середовищ. Можуть з'являтися затверджені розширення браузера/засобів захисту. Зареєстрований BHO не доводить, що його завантажував поточний браузер.
Перехоплення CLSID робочого стола в Explorer¶
Ідентифікатор перевірки: explorer_clsid_hijack · ATT&CK за каталогом: T1546.015
Що перевіряє Juntei: читає налаштовані команди відкриття в оболонці для трьох наведених спеціальних CLSID простору імен Explorer зі сховищ класів комп'ютера/користувача.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Classes\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}\shell\opennewwindow\command |
(Default) |
HKU\<user>\SOFTWARE\Classes\CLSID\{52205fd8-5dfb-447d-801a-d0b52f2e83e1}\shell\opennewwindow\command |
(Default) |
HKLM\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\open\command |
(Default) |
HKU\<user>\SOFTWARE\Classes\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\open\command |
(Default) |
HKLM\SOFTWARE\Classes\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\shell\open\command |
(Default) |
HKU\<user>\SOFTWARE\Classes\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\shell\open\command |
(Default) |
Як розслідувати: порівняйте обробники команд для Desktop, My Computer і My Documents з відповідною базовою конфігурацією. Перевіряються вибрані CLSID і шляхи, а не всі можливі перехоплення простору імен Explorer.
Обробники контекстного меню Explorer¶
Ідентифікатор перевірки: explorer_context_menu · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: перелічує обробники контекстного меню для Directory, Directory Background, Folder, Drive, AllFilesystemObjects і *, за можливості простежуючи ідентифікатори класів до зібраних реєстрацій DLL.
Досліджувані докази:
- Сховища класів комп'ютера
HKLM\SOFTWARE\Classesі користувача UsrClass.dat: значення за замовчуванням<subject>\shellex\ContextMenuHandlers\<handler>і відповідні реєстрації бібліотек COM.
Як розслідувати: розширення контекстного меню від архіваторів, засобів захисту та хмарних клієнтів трапляються часто. Перевірте фактичний обробник і взаємодію, що його запускає. Невизначені GUID залишаються корисними зачіпками, а не доказом того, що DLL не існувала.
Перехоплення асоціацій файлів¶
Ідентифікатор перевірки: file_association_hijack · ATT&CK за каталогом: T1546.001
Що перевіряє Juntei: досліджує реєстрації shell\open\command безпосередньо для розширень і для визначених ProgID для .txt, .pdf, .doc, .docx, .html, .htm, .js, .vbs, .hta, .exe, .bat, .cmd і .ps1.
Досліджувані докази:
- Сховища класів комп'ютера
HKLM\SOFTWARE\Classesі користувача UsrClass.dat: значення за замовчуванням вибраних<extension>і значення за замовчуванням<extension-or-ProgID>\shell\open\command.
Як розслідувати: порівняйте з очікуваною програмою та перевірте аргументи команди. Це визначений набір розширень, а не всі типи файлів чи повне фактичне визначення UserChoice. Збережена команда не доводить, що документ відкривали.
Перехоплення обробників протоколів¶
Ідентифікатор перевірки: protocol_handler_hijack · ATT&CK за каталогом: T1546.001
Що перевіряє Juntei: читає команди відкриття URL для http, https, mailto, ms-msdt і ms-officecmd, а також виявлені реєстрації URL Protocol і застосовні перевизначення користувачів.
Досліджувані докази:
- Сховища класів комп'ютера
HKLM\SOFTWARE\Classesі користувача UsrClass.dat: маркериURL Protocolі значення за замовчуванням<scheme>\shell\open\command.
Як розслідувати: браузери та інсталятори програм легітимно реєструють схеми. Простежте команду та аргументи, оцініть очікуване призначення схеми та зіставте з доказами відкриття URL/процесів.
COM-обробник розширень кошика¶
Ідентифікатор перевірки: recycle_bin_com_extension · ATT&CK за каталогом: T1546.015
Що перевіряє Juntei: читає наведені перевизначення команд open/empty/explore для CLSID кошика та безпосередні реєстрації обробників контекстного меню/перетягування.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\open\command |
(Default) |
HKLM\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\empty\command |
(Default) |
HKLM\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\explore\command |
(Default) |
HKLM\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shellex\ContextMenuHandlers\<child> |
(Default) |
HKLM\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shellex\DragDropHandlers\<child> |
(Default) |
Як розслідувати: порівняйте із затвердженими розширеннями оболонки. Деякі значення, про які повідомляється, є ідентифікаторами COM, а не безпосередньо визначеною бібліотекою; перш ніж стверджувати про виконання коду, дослідіть вказаний клас і дію користувача.
Перехоплення обробника протоколу пошуку¶
Ідентифікатор перевірки: search_protocol_handler · ATT&CK за каталогом: T1546.001
Що перевіряє Juntei: читає обробник за замовчуванням search-ms\shell\open\command комп'ютера/користувача.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Classes\search-ms\shell\open\command |
(Default) |
HKU\<user>\Software\Classes\search-ms\shell\open\command |
(Default) |
Як розслідувати: зміна обробника може змінити те, що відбувається під час відкриття URL-адреси search-ms, але її наявність не доводить доставлення експлойту. Порівняйте зі стандартними значеннями Windows і дослідіть активність URL/процесів, яка б його використовувала.
SharedTaskScheduler¶
Ідентифікатор перевірки: shared_task_scheduler · ATT&CK за каталогом: T1546
Що перевіряє Juntei: перелічує непорожні значення SharedTaskScheduler в Explorer як зареєстровані компоненти оболонки.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler |
Усі непорожні значення |
Як розслідувати: значення можуть посилатися на класи COM, а не на шлях до виконуваного файлу. Простежте реєстрації їхніх серверів і перевірте поведінку операційної системи, походження розширення та відповідні докази завантаження в оболонку.
ShellExecuteHooks¶
Ідентифікатор перевірки: shell_execute_hooks · ATT&CK за каталогом: T1546
Що перевіряє Juntei: перелічує непорожні значення ShellExecuteHooks в Explorer, що охоплюють застарілі реєстрації перехоплювачів виконання в оболонці.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks |
Усі непорожні значення |
Як розслідувати: визначте кожен вказаний CLSID і перевірте, чи дозволяють перехоплювач збірка Windows і політика. Застаріла реєстрація може не використовуватися; саме значення не є спостереженим виконанням в оболонці.
Закріплення через COM у бібліотеках меню «Пуск» і папках з CLSID¶
Ідентифікатор перевірки: start_menu_com · ATT&CK за каталогом: T1546.015
Що перевіряє Juntei: знаходить XML-файли бібліотек .library-ms, URL-адреса simpleLocation яких посилається
на CLSID COM, а також каталоги з іменами <name>.{CLSID} у
Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu. Взаємодія Explorer з цими
об'єктами може активувати код COM. Перевірка охоплює порожні зібрані каталоги; вона не переходить за
символічними посиланнями. Звичайні файли бібліотек поза меню «Пуск» і GUID у коментарях XML
ця перевірка не повідомляє.
Досліджувані докази:
- Файли
.library-msі записи каталогів з іменами-CLSID у меню «Пуск» кожного користувача. - Зібрані реєстрації класів відповідного користувача та SOFTWARE комп'ютера, окремо для кожної архітектури.
- Конфігурація керованого CodeBase/AppID/служби за допомогою того самого механізму визначення, що й для запланованих завдань.
Як розслідувати: Path і SourceFile визначають артефакт, що слугує тригером активації. Value
містить команду сервера-кандидата або CLSID, якщо визначення недоступне. Description
пов'язує тригер із CLSID і зібраним джерелом у реєстрі. ResolvedPath/Sha256 описують лише
визначене та зібране корисне навантаження. Асоціація AppID, що містить лише ім'я виконуваного файлу, залишається невизначеною.
Тригер може бути легітимним; його наявність не доводить входу, активації, виконання чи атаки.
Перевірте URL-адресу бібліотеки, реєстрацію класу, корисне навантаження, контекст користувача та незалежні журнали виконання.
Застереження щодо збирання: під час збирання лише файлів порожні каталоги можуть бути пропущені. Досліджуються стандартні шляхи меню «Пуск» користувачів; перенаправлені меню «Пуск» та інші розташування простору імен Explorer ця перевірка не охоплює. Відсутні кущі реєстру або невизначені реєстрації дають часткове охоплення, проте кандидат зберігається. Архітектура завдання, підвищення привілеїв і політика можуть змінювати фактичну поведінку пошуку COM.
Додаткові відомості: початкова пропозиція та подяка досліднику, об'єднані подання COM для користувача/комп'ютера, MITRE: перехоплення COM.
Перехоплення COM через TypeLib¶
Ідентифікатор перевірки: typelib_hijack · ATT&CK за каталогом: T1546.015
Що перевіряє Juntei: читає реєстрації TypeLib GUID/версія/локаль win32/win64 у UsrClass.dat кожного користувача, зберігаючи шляхи та значення script moniker. Числові кінцеві індекси ресурсів видаляються лише для визначення цільового файлу.
Досліджувані докази:
- Значення за замовчуванням
TypeLib\<GUID>\<version>\<locale>\win32іwin64у кожному зібраному UsrClass.dat.
Як розслідувати: бібліотека типів може вказувати на легітимну DLL, альтернативний файл або script moniker. Перевірка інвентаризує ці реєстрації; оцініть відповідну програму та підтвердьте завантаження бібліотеки типів, а не вважайте атакою кожен нестандартний шлях.
Програми Office і надбудови¶
Office підтримує легітимні надбудови, шаблони та розширення для окремих програм. Підозріла реєстрація може залежати від конкретної версії Office, програми, параметра завантаження або взаємодії користувача. Сама конфігурація не встановлює виконання макросів.
Реєстрація надбудов Office¶
Ідентифікатор перевірки: office_addins · ATT&CK за каталогом: T1137.006
Що перевіряє Juntei: перелічує надбудови Word, Excel, PowerPoint, Outlook і Access у кореневих розділах Office без версії та з версіями 14.0/15.0/16.0, включно з реалізованим сховищем Click-to-Run комп'ютера та кореневими розділами користувачів. Зберігає явні значення Manifest/FileName/Path або визначає відповідні записи на основі COM разом із контекстом LoadBehavior.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Office\[<version>\]<application>\Addins\<add-in>і реалізований відповідник Click-to-Run комп'ютера.HKU\<user>\Software\Microsoft\Office\[<version>\]<application>\Addins\<add-in>у NTUSER.DAT; відповідні класи COM комп'ютера/користувача з SOFTWARE, NTUSER.DAT і UsrClass.dat.
Як розслідувати: надбудови — поширене бізнесове програмне забезпечення. Перегляньте LoadBehavior, програму/версію, маніфести, фактичні корисні навантаження та очікуваного постачальника. Перевірка не гарантує, що кожен формат встановлених надбудов або подання реєстрації було зібрано чи завантажено.
Перехоплення AI-надбудови Office¶
Ідентифікатор перевірки: office_ai_hijack · ATT&CK за каталогом: T1137.006
Що перевіряє Juntei: перелічує значення в розташуванні реєстрації Common AI для Office 16.0 Click-to-Run.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\16.0\Common\AI: усі значення.
Як розслідувати: порівняйте незвичайні значення та шляхи зі встановленою збіркою Office. Наявність значення не показує, яка функція Office його використовувала, і не доводить, що воно вибирало виконуваний код.
Перевизначення DLL в Office¶
Ідентифікатор перевірки: office_dll_override · ATT&CK за каталогом: T1137
Що перевіряє Juntei: читає WwlibtDll і PPCoreTDLL у кореневих розділах Word/PowerPoint для параметрів без версії та з версіями 14.0/15.0/16.0, включно з реалізованими кореневими розділами Click-to-Run і користувачів.
Досліджувані докази:
- Параметри комп'ютера/користувача
Microsoft\Office\[<version>\]WordіPowerPoint, а також реалізоване дерево Office Click-to-Run комп'ютера:WwlibtDllіPPCoreTDLL.
Як розслідувати: визначте, яка програма/збірка розпізнає це перевизначення, перевірте бібліотеку та її походження і зіставте із запуском Office або завантаженням образу. Саме налаштоване перевизначення не є доказом виконання.
Шаблони Office за замовчуванням¶
Ідентифікатор перевірки: office_templates · ATT&CK за каталогом: T1137.001
Що перевіряє Juntei: інвентаризує зібрані файли Normal.dotm/NormalEmail.dotm і файли безпосередньо в розпізнаних папках Word Startup і Excel XLSTART, включно з папками автозавантаження в каталозі установлення Office.
Досліджувані докази:
Users\<user>\AppData\Roaming\Microsoft\Templates\Normal.dotmіNormalEmail.dotm.- Файли безпосередньо в папках користувача
Microsoft\Word\STARTUPіMicrosoft\Excel\XLSTARTу Roaming AppData. - Файли безпосередньо в розпізнаних папках Office
<version>\STARTUP/XLSTARTіroot\<version>\STARTUP/XLSTARTу Program Files і Program Files (x86).
Як розслідувати: шаблон може бути легітимним або не містити виконуваного вмісту. У цій перевірці Juntei не видобуває і не виконує макроси. Перевірте внутрішню структуру документа, політику макросів і активність програми; шлях установлення на рівні комп'ютера не означає токена процесу SYSTEM.
Office Test DLL¶
Ідентифікатор перевірки: office_test_dll · ATT&CK за каталогом: T1137.002
Що перевіряє Juntei: перелічує значення в ключі Office Test Special Perf з наведених подань комп'ютера/користувача та 32-бітного подання комп'ютера.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Office Test\Special\Perf |
Усі непорожні значення |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Office Test\Special\Perf |
Усі непорожні значення |
HKU\<user>\SOFTWARE\Microsoft\Office Test\Special\Perf |
Усі непорожні значення |
Як розслідувати: розглядайте неочікувані перевизначення як зачіпку, що потребує перевірки версії Office і корисного навантаження. Перевірка повідомляє про конфігурацію, а не перевіряє, чи завантажує це значення конкретна інсталяція Office.
Атака через домашню сторінку Outlook¶
Ідентифікатор перевірки: outlook_home_page · ATT&CK за каталогом: T1137.004
Що перевіряє Juntei: читає URL у дочірніх ключах WebView Outlook користувачів для версій Office 14.0, 15.0 і 16.0.
Досліджувані докази:
HKU\<user>\Software\Microsoft\Office\<14.0|15.0|16.0>\Outlook\WebView\<folder>\URLу NTUSER.DAT.
Як розслідувати: домашня сторінка папки може бути легітимною, а поведінка залежить від версії Outlook і оновлень безпеки. Перевірте URL-адресу/вміст і фактичну політику, а потім зіставте з доказами Outlook/веб-активності/процесів.
Перехоплення DLL монітора VBA¶
Ідентифікатор перевірки: vba_monitors · ATT&CK за каталогом: T1137
Що перевіряє Juntei: читає значення InprocServer32 для двох реалізованих CLSID, пов'язаних із монітором VBA, у сховищах класів комп'ютера та окремих користувачів.
Досліджувані докази:
Classes\CLSID\{13B4E945-2B11-4B60-94A9-B6CDE52F6F93}\InprocServer32і{0002E157-0000-0000-C000-000000000046}у SOFTWARE комп'ютера, а також відповідні реєстрації в UsrClass.dat користувачів.
Як розслідувати: порівняйте вибрані бібліотеки зі встановленим середовищем Office/VBA. Це цільова перевірка CLSID, а не інвентаризація всіх розширень VBA чи доказ того, що макрос виконувався.
Налагоджувачі, обробники збоїв і прокладки сумісності¶
Налагоджувач або обробник помилок може запускатися, коли програма стартує, аварійно завершується, зависає або завершує роботу. Бази даних сумісності програм також можуть впливати на запуск. Досліджуйте передумовні параметри та програму-тригер разом із командою, про яку повідомлено.
Перехоплення налагоджувача AeDebug¶
Ідентифікатор перевірки: ae_debug · ATT&CK за каталогом: T1546.012
Що перевіряє Juntei: читає команди Debugger в AeDebug у нативному та 32-бітному поданнях, що використовуються конфігурацією налагодження збоїв «just-in-time».
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug |
Debugger |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug |
Debugger |
Як розслідувати: засоби розробки/налагодження можуть легітимно встановлювати це значення. Вивчіть повну команду налагоджувача та передумови для тригера збою, а потім зіставте з подіями помилок програм і процесів.
Налагоджувач захищених процесів AeDebug¶
Ідентифікатор перевірки: ae_debug_protected · ATT&CK за каталогом: T1546.012
Що перевіряє Juntei: читає команди Debugger в AeDebugProtected у нативному та 32-бітному поданнях — поверхні налагодження захищених процесів.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebugProtected |
Debugger |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebugProtected |
Debugger |
Як розслідувати: визначте, чи може збірка операційної системи та політика захисту використовувати налаштовану команду. Збережений налагоджувач не доводить, що захищений процес аварійно завершився або що команда виконувалася.
Налагоджувач Image File Execution Options¶
Ідентифікатор перевірки: ifeo_debugger · ATT&CK за каталогом: T1546.012
Що перевіряє Juntei: шукає значення Debugger у реєстраціях Image File Execution Options у нативному/32-бітному поданнях, включно з вкладеними ключами фільтрів.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<image>\...\Debugger, включно з вкладеними ключами фільтрів і поданнямWow6432Nodeкомп'ютера.
Як розслідувати: налагоджувач може вибиратися під час запуску названого образу. Перевірте область дії образу/фільтра та аргументи налагоджувача; IFEO також можуть використовувати засоби розробників. Для встановлення виконання простежте запуск цілі.
Делегований NTDLL через IFEO¶
Ідентифікатор перевірки: ifeo_delegated_ntdll · ATT&CK за каталогом: T1546.012
Що перевіряє Juntei: шукає перевизначення VerifierDlls у реєстраціях Image File Execution Options у нативному/32-бітному поданнях, включно з вкладеними ключами.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<image>\...\VerifierDlls, включно з вкладеними ключами та поданнямWow6432Nodeкомп'ютера.
Як розслідувати: критерієм перевірки є налаштоване значення VerifierDlls; вона не доводить, що всі передумови верифікатора/делегування ввімкнено. Перш ніж робити висновок про робочий шлях ін'єкції, перегляньте застосовні прапорці, версію Windows і корисне навантаження.
Монітор тихого завершення процесу (Silent Process Exit)¶
Ідентифікатор перевірки: ifeo_silent_process_exit · ATT&CK за каталогом: T1546.012
Що перевіряє Juntei: шукає MonitorProcess у реєстраціях SilentProcessExit у нативному/32-бітному поданнях, включно з вкладеними ключами.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\<image>\...\MonitorProcess, включно з вкладеними ключами та поданнямWow6432Nodeкомп'ютера.
Як розслідувати: моніторинг тихого завершення також потребує відповідної конфігурації звітування/IFEO. Перевірте ці параметри та події завершення відстежуваного образу; монітор можуть пояснювати легітимні діагностичні засоби.
Прокладки сумісності програм (Application Shimming)¶
Ідентифікатор перевірки: installed_sdb · ATT&CK за каталогом: T1546.011
Що перевіряє Juntei: читає DatabasePath з безпосередніх реєстрацій InstalledSDB для встановлених баз даних сумісності програм.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\InstalledSDB\<child> |
DatabasePath |
Як розслідувати: виправлення сумісності можуть бути легітимними. Перевірте вміст SDB, цільові виконувані файли та історію установлення. Реєстрація бази даних не визначає її прокладок і не доводить, що відповідна програма запускалася.
Перехоплення налагоджувача LSM¶
Ідентифікатор перевірки: lsm_debugger · ATT&CK за каталогом: T1546.012
Що перевіряє Juntei: читає MonitorProcess саме в SilentProcessExit для lsm.exe у нативному та 32-бітному поданнях комп'ютера.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\lsm.exe |
MonitorProcess |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\lsm.exe |
MonitorProcess |
Як розслідувати: це перетинається з ширшою інвентаризацією SilentProcessExit. Перш ніж вважати конфігурацію виконаним закріпленням, підтвердьте передумовні прапорці та відповідне завершення LSM; під час оцінювання окремих результатів враховуйте той самий запис лише один раз.
Допоміжні DLL MiniDump¶
Ідентифікатор перевірки: minidump_auxiliary_dlls · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: перелічує іменовані непорожні значення в MiniDumpAuxiliaryDlls, зберігаючи назву значення як контекст модуля-тригера, а дані значення — як вибрану ціль.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\MiniDumpAuxiliaryDlls: назви значень модулів-тригерів і дані цілей.
Як розслідувати: перевірте як модуль-тригер, так і допоміжну DLL. Запис можуть пояснювати засоби обробки збоїв/мінідампів, а реєстрація не свідчить про те, що операція створення дампа завантажувала бібліотеку.
Прокладки сумісності програм (Application Shimming)¶
Ідентифікатор перевірки: shim_custom · ATT&CK за каталогом: T1546.011
Що перевіряє Juntei: читає значення з іменами .sdb у безпосередніх ключах програм у AppCompatFlags Custom, зберігаючи асоціацію програми з базою даних.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Custom\<application>: назви значень, що закінчуються на.sdb.
Як розслідувати: поєднуйте ці асоціації з InstalledSDB і фактичною базою даних сумісності. Сама асоціація з іменем файлу не розкриває поведінки бази даних і не демонструє запуску відповідної програми.
Перехоплення налагоджувача WER¶
Ідентифікатор перевірки: wer_debugger · ATT&CK за каталогом: T1546
Що перевіряє Juntei: читає значення Debugger служби Windows Error Reporting у нативному/32-бітному поданнях.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting |
Debugger |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting |
Debugger |
Як розслідувати: налагоджувач може налаштовувати легітимне діагностичне програмне забезпечення. Дослідіть повну команду та відповідні події збоїв; реєстрація не доводить, що його запускала служба Windows Error Reporting.
Перехоплення налагоджувача зависань WER (Hangs)¶
Ідентифікатор перевірки: wer_hangs · ATT&CK за каталогом: T1546
Що перевіряє Juntei: читає значення Debugger у розділі Hangs служби Windows Error Reporting у нативному/32-бітному поданнях.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\Hangs |
Debugger |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting\Hangs |
Debugger |
Як розслідувати: перевірте, чи викликав би цей параметр процес обробки зависань, і перевірте цільову програму. Зіставляйте із записами про зависання програм і процеси, а не вважайте запис у реєстрі виконанням налагоджувача.
Перехоплення ReflectDebugger у WER¶
Ідентифікатор перевірки: wer_reflect_debugger · ATT&CK за каталогом: T1546
Що перевіряє Juntei: читає значення ReflectDebugger служби Windows Error Reporting у нативному/32-бітному поданнях.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting |
ReflectDebugger |
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\Windows Error Reporting |
ReflectDebugger |
Як розслідувати: порівняйте із затвердженою діагностичною конфігурацією та встановіть застосовність щодо версії Windows/тригера. Перш ніж приписувати виконання, перевірте аргументи команди та шукайте підтвердження у збоях/процесах.
Модулі винятків середовища виконання WER¶
Ідентифікатор перевірки: wer_runtime_exception · ATT&CK за каталогом: T1546
Що перевіряє Juntei: перелічує назви значень у RuntimeExceptionHelperModules у нативному/32-бітному поданнях; тут шлях до бібліотеки міститься в назві значення, а не обов'язково в його даних.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\RuntimeExceptionHelperModulesі поданняWow6432Nodeкомп'ютера: назви значень.
Як розслідувати: перевірте названий модуль і контекст програми/середовища виконання. Невелике числове значення в даних не є шляхом до корисного навантаження, а сама реєстрація не доводить, що допоміжний модуль завантажувався.
Параметри середовища виконання .NET і профілювальників¶
Керовані середовища виконання можуть завантажувати профілювальники, стартові збірки або бібліотеки налагодження раніше за код програми. Ці параметри також використовують розробники та продукти моніторингу. Перевіряйте середовище виконання, архітектуру процесу, прапорці ввімкнення і те, чи міг новозапущений процес успадкувати параметр.
Ін'єкція через AppDomainManager¶
Ідентифікатор перевірки: appdomain_manager · ATT&CK за каталогом: T1574.014
Що перевіряє Juntei: читає змінні середовища APPDOMAIN_MANAGER_ASM і APPDOMAIN_MANAGER_TYPE комп'ютера/користувача, що визначають збірку та тип для користувацького диспетчера AppDomain у .NET.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\Environment |
APPDOMAIN_MANAGER_ASM |
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\Environment |
APPDOMAIN_MANAGER_TYPE |
HKU\<user>\Environment |
APPDOMAIN_MANAGER_ASM |
HKU\<user>\Environment |
APPDOMAIN_MANAGER_TYPE |
Як розслідувати: програми можуть навмисно використовувати користувацькі диспетчери. Визначайте збірку та тип разом і перевіряйте сумісність середовища виконання та успадкування процесами; ні окрема змінна, ні часова позначка її ключа не доводять, що керована програма її завантажувала.
Перехоплення профілювальника .NET CLR¶
Ідентифікатор перевірки: cor_profiler · ATT&CK за каталогом: T1574.012
Що перевіряє Juntei: читає параметри середовища профілювання COR комп'ютера/користувача та відповідні іменовані записи в багаторядкових значеннях Environment окремих служб. Зберігає прапорці ввімкнення, ідентифікатори профілювальників і шляхи для конкретних архітектур.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\EnvironmentіEnvironmentу кожному зібраному NTUSER.DAT користувача.HKLM\SYSTEM\<ControlSet>\Services\<service>\Environment: іменовані параметри COR у багаторядковому значенні.
Як розслідувати: профілювальники підтримують легітимний моніторинг. Прапорець ввімкнення, CLSID і шлях до DLL — різні частини конфігурації; підтвердьте фактичне ввімкнення та відповідний процес .NET, а не вважайте кожен рядок виконаним профілювальником.
Перехоплення профілювальника .NET Core CLR¶
Ідентифікатор перевірки: coreclr_profiler · ATT&CK за каталогом: T1574.012
Що перевіряє Juntei: читає відповідні параметри середовища профілювання CORECLR комп'ютера/користувача та відповідні записи Environment служб, включно зі шляхами для конкретних архітектур.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\EnvironmentіEnvironmentу кожному зібраному NTUSER.DAT користувача.HKLM\SYSTEM\<ControlSet>\Services\<service>\Environment: іменовані параметри CORECLR у багаторядковому значенні.
Як розслідувати: перевірте середовище виконання .NET, архітектуру, прапорець ввімкнення та бібліотеку. Ці параметри можуть налаштовувати затверджені продукти спостережуваності, а наявний процес може не успадкувати щойно змінене середовище.
Перехоплення DbgManagedDebugger у .NET¶
Ідентифікатор перевірки: dotnet_dbg_managed_debugger · ATT&CK за каталогом: T1546
Що перевіряє Juntei: читає наведені параметри DbgManagedDebugger у .NETFramework комп'ютера/користувача, включно з явним 32-бітним шляхом комп'ютера.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\.NETFramework |
DbgManagedDebugger |
HKU\<user>\SOFTWARE\Microsoft\.NETFramework |
DbgManagedDebugger |
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework |
DbgManagedDebugger |
Як розслідувати: визначте, чи використовує цю команду відповідне середовище виконання .NET/політика налагодження. Її можуть пояснювати засоби розробників; для встановлення виконання зіставте зі збоями керованого коду та створенням процесів.
Ключ реєстру COR_PROFILER у .NET Framework¶
Ідентифікатор перевірки: dotnet_framework_profiler · ATT&CK за каталогом: T1574.012
Що перевіряє Juntei: читає COR_PROFILER, COR_PROFILER_PATH і COR_ENABLE_PROFILING з наведених подань реєстру .NETFramework. Це доповнює перевірки профілювальників на основі змінних середовища.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\.NETFramework |
COR_PROFILER |
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework |
COR_PROFILER |
HKU\<user>\SOFTWARE\Microsoft\.NETFramework |
COR_PROFILER |
HKLM\SOFTWARE\Microsoft\.NETFramework |
COR_PROFILER_PATH |
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework |
COR_PROFILER_PATH |
HKU\<user>\SOFTWARE\Microsoft\.NETFramework |
COR_PROFILER_PATH |
HKLM\SOFTWARE\Microsoft\.NETFramework |
COR_ENABLE_PROFILING |
HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework |
COR_ENABLE_PROFILING |
HKU\<user>\SOFTWARE\Microsoft\.NETFramework |
COR_ENABLE_PROFILING |
Як розслідувати: оцінюйте значення разом і визначте, чи враховує середовище виконання це розташування в реєстрі. Налаштований засіб профілювання може бути легітимним; не трактуйте окремий прапорець ввімкнення як встановлене завантаження DLL.
DOTNET_STARTUP_HOOKS¶
Ідентифікатор перевірки: dotnet_startup_hooks · ATT&CK за каталогом: T1574.012
Що перевіряє Juntei: читає значення середовища DOTNET_STARTUP_HOOKS комп'ютера/користувача, які можуть вибирати збірки стартових перехоплювачів для підтримуваних середовищ виконання .NET.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\Environment\DOTNET_STARTUP_HOOKSіEnvironment\DOTNET_STARTUP_HOOKSу NTUSER.DAT кожного користувача.
Як розслідувати: перевірте все значення на наявність кількох збірок і переконайтеся в підтримці середовищем виконання. Ця перевірка не перелічує середовища стартових перехоплювачів окремих служб і не доводить, що будь-який процес успадкував і використав це значення.
Відомі DLL керованого налагодження¶
Ідентифікатор перевірки: known_managed_debugging_dlls · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає реєстрації KnownManagedDebuggingDlls у .NETFramework як можливі перевизначення бібліотек налагоджувача керованого коду.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\.NETFramework |
KnownManagedDebuggingDlls |
Як розслідувати: порівняйте зі встановленими засобами розробки/середовища виконання та визначте налагоджувач, що слугує тригером. Запис у реєстрі не доводить сеансу налагодження чи завантаження бібліотеки.
Перевизначення пошуку DLL і виконуваних файлів¶
Ці перевірки досліджують явні розташування бібліотек або параметри, що впливають на те, як компонент знаходить код. Перевизначення шляху або послаблена політика пошуку — це зачіпка для розслідування; для виконання все одно потрібні корисне навантаження та сумісний компонент-тригер.
AppCert DLLs¶
Ідентифікатор перевірки: appcert_dlls · ATT&CK за каталогом: T1546.009
Що перевіряє Juntei: перелічує непорожні реєстрації AppCertDlls у Session Manager — поверхні розширень бібліотек, пов'язаної з API створення процесів.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\AppCertDlls |
Усі непорожні значення |
Як розслідувати: перевірте кожну бібліотеку та походження її установлення. Окремо визначайте застосовність і завантаження під час виконання; звичайне створення процесів на часовій шкалі саме по собі не доводить, що налаштована DLL завантажувалася.
AppInit DLLs¶
Ідентифікатор перевірки: appinit_dlls · ATT&CK за каталогом: T1546.010
Що перевіряє Juntei: читає AppInit_DLLs у нативному/32-бітному поданнях, розділяє список бібліотек і додає до кожного кандидата доступний контекст LoadAppInit_DLLs і RequireSignedAppInit_DLLs.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows:AppInit_DLLs,LoadAppInit_DLLsіRequireSignedAppInit_DLLs; також поданняWow6432Nodeкомп'ютера.
Як розслідувати: нульовий прапорець LoadAppInit_DLLs явно позначається як неактивний. На завантаження також впливають версія Windows, Secure Boot і вимоги до підписів. Перш ніж стверджувати, що DLL AppInit виконувалася, перегляньте фактичні параметри.
Додаткові відомості: документація Microsoft.
Перевизначення AutodialDLL¶
Ідентифікатор перевірки: autodial_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає перевизначення AutodialDLL у параметрах WinSock2.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Services\WinSock2\Parameters |
AutodialDLL |
Як розслідувати: перевірте мережеву функцію та вихідну версію Windows, які використовують цей параметр. Перегляньте фактичну DLL і мережеву активність/активність процесів; саме перевизначення не встановлює активного чи шкідливого завантаження.
Допоміжна DLL для CHM¶
Ідентифікатор перевірки: chm_helper_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає Location у HtmlHelp Author — поверхні перевизначення бібліотеки/розташування, пов'язаної з довідкою.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\HtmlHelp Author |
Location |
Як розслідувати: визначте, чи використовує це значення відповідний компонент довідки в цій системі, і перевірте вибраний файл. Перевизначення в реєстрі не доводить, що документ CHM відкривали.
Перевизначення DLL NL6 ContentIndex¶
Ідентифікатор перевірки: content_index_dll · ATT&CK за каталогом: T1574
Що перевіряє Juntei: читає DLLOverridePath з безпосередніх реєстрацій ContentIndex Language активного набору керування.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Control\ContentIndex\Language\<language>\DLLOverridePath.
Як розслідувати: мовні/пошукові компоненти можуть відрізнятися залежно від збірки Windows. Перевірте бібліотеку та відповідний встановлений компонент; для підтвердження завантаження простежте фактичний процес індексування.
DLL Crypto ExpoOffload¶
Ідентифікатор перевірки: crypto_expo_offload · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає значення ExpoOffload у Cryptography Offload як кандидата на перевизначення криптографічної бібліотеки.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Cryptography\Offload |
ExpoOffload |
Як розслідувати: підтвердьте застосовність функції/збірки та дослідіть походження вибраної бібліотеки. Не вважайте наявність незвичного значення доказом викрадення облікових даних чи виконання коду.
DLL програмного растеризатора Direct3D¶
Ідентифікатор перевірки: direct3d_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає перевизначення бібліотеки SoftwareRasterizer у Direct3D Drivers.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Direct3D\Drivers |
SoftwareRasterizer |
Як розслідувати: на конфігурацію растеризатора може впливати графічне програмне забезпечення та програми сумісності. Перевірте DLL і активність сумісної програми Direct3D; збереження шляху не доводить, що бібліотека завантажувалася.
Послаблення порядку пошуку DLL¶
Ідентифікатор перевірки: dll_search_mode · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: повідомляє про SafeDllSearchMode або CWDIllegalInDllSearch лише тоді, коли активне значення Session Manager розбирається як нуль. Це умови політики пошуку, а не вибрані корисні навантаження.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Control\Session Manager:SafeDllSearchModeіCWDIllegalInDllSearch.
Як розслідувати: послаблена політика пошуку може полегшити окрему атаку на порядок пошуку. Вона не визначає підкинутої DLL і не доводить виконання. Ненульові або відсутні значення ця перевірка не видає; фактичні значення за замовчуванням і політику оцінюйте окремо.
Додаткові відомості: документація Microsoft.
Виключення з KnownDLLs¶
Ідентифікатор перевірки: exclude_from_known_dlls · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає непорожні записи ExcludeFromKnownDlls із Session Manager як зміни в поведінці пошуку захищених/відомих DLL.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\ExcludeFromKnownDlls.
Як розслідувати: виключення визначає умову пошуку, а не саму бібліотеку-замінник. Знайдіть відповідну програму та потенційні розташування пошуку DLL, а потім підтвердьте нестандартне завантаження образу.
Додаткові відомості: документація Microsoft.
Перевизначення DLL hhctrl.ocx¶
Ідентифікатор перевірки: hhctrl_ocx_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає перевизначення InprocServer32 для реалізованого CLSID елемента керування HTML Help у нативному/32-бітному поданнях комп'ютера та в підтримуваних сховищах класів користувачів.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Classes\CLSID\{adb880a6-d8ff-11cf-9377-00aa003b7a11}\InprocServer32 |
(Default) |
HKLM\SOFTWARE\Classes\Wow6432Node\CLSID\{adb880a6-d8ff-11cf-9377-00aa003b7a11}\InprocServer32 |
(Default) |
HKU\<user>\SOFTWARE\Classes\CLSID\{adb880a6-d8ff-11cf-9377-00aa003b7a11}\InprocServer32 |
(Default) |
HKU\<user>\Software\Classes\Wow6432Node\CLSID\{adb880a6-d8ff-11cf-9377-00aa003b7a11}\InprocServer32 |
(Default) |
Як розслідувати: визначте, яка програма та архітектура активують цей елемент керування. Перевірте зареєстровану DLL і активність, пов'язану з довідкою; реєстрація COM не доводить, що HTML Help відображав вміст.
Відомі DLL (Known DLLs)¶
Ідентифікатор перевірки: known_dlls · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: перелічує іменовані значення в активному ключі KnownDLLs у Session Manager.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Control\Session Manager\KnownDLLs: іменовані значення.
Як розслідувати: багато записів є очікуваними бібліотеками Windows, а деякі значення — допоміжною конфігурацією, а не шляхом до корисного навантаження. Порівняйте весь ключ з надійною відповідною збіркою; ця перевірка не сканує всі альтернативні дерева KnownDLLs для окремих архітектур.
DLL розширень LSA¶
Ідентифікатор перевірки: lsa_extensions · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає Extensions з конфігурації LsaSrv у LsaExtensionConfig.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\LsaExtensionConfig\LsaSrv |
Extensions |
Як розслідувати: засоби захисту можуть розширювати компоненти автентифікації. Перевірте фактичні бібліотеки та сумісність із вихідною версією Windows, а потім шукайте докази завантаження образів у LSASS або інші незалежні докази використання.
Перевизначення шляху до DLL MAPI32¶
Ідентифікатор перевірки: mapi32_dll_path · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає DLLPathEx і DLLPath у безпосередніх реєстраціях поштових клієнтів у нативному та 32-бітному поданнях комп'ютера.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Clients\Mail\<child> |
DLLPathEx |
HKLM\SOFTWARE\Wow6432Node\Clients\Mail\<child> |
DLLPathEx |
HKLM\SOFTWARE\Clients\Mail\<child> |
DLLPath |
HKLM\SOFTWARE\Wow6432Node\Clients\Mail\<child> |
DLLPath |
Як розслідувати: поштові клієнти реєструють легітимних постачальників MAPI. Визначте, який клієнт/постачальник було вибрано, і перевірте фактичну бібліотеку; встановлений постачальник не доводить, що програма використовувала MAPI під час інциденту.
DLL MSDTC XA¶
Ідентифікатор перевірки: msdtc_xa_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає OracleXaLib і OracleOciLib з конфігурації MTxOCI у MSDTC.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\MSDTC\MTxOCI |
OracleXaLib |
HKLM\SOFTWARE\Microsoft\MSDTC\MTxOCI |
OracleOciLib |
Як розслідувати: інтеграція з базами даних може легітимно потребувати цих бібліотек. Перевірте конфігурацію координатора транзакцій і встановлене програмне забезпечення баз даних та зіставте з використанням служби/модуля, а не вважайте, що налаштований шлях виконувався.
Перевизначення DLL NLDP¶
Ідентифікатор перевірки: nldp_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає значення конфігурації DllOverridePath у NlsData.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NlsData |
DllOverridePath |
Як розслідувати: перегляньте цільову бібліотеку, збірку Windows і компонент обробки природної мови, який міг би використовувати перевизначення. Значення не свідчить про те, що відбувалося індексування чи мовна обробка.
DLL RDP TestDVCPlugin¶
Ідентифікатор перевірки: rdp_test_dvc_plugin · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає параметр бібліотеки TestDVCPlugin клієнта Terminal Server комп'ютера.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Terminal Server Client |
TestDVCPlugin |
Як розслідувати: дослідіть незнайомий тестовий плагін і поведінку, специфічну для версії. Для встановлення виконання потрібні сумісний клієнтський сеанс і завантаження бібліотеки; саме значення реєстру не свідчить ні про те, ні про інше.
Перевизначення DLL індексатора пошуку¶
Ідентифікатор перевірки: search_indexer_dll · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає перевизначення DllPath служби Windows Search із SOFTWARE.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SOFTWARE\Microsoft\Windows Search |
DllPath |
Як розслідувати: визначте відповідний компонент/версію Search і перевірте цільовий файл. Неактивна служба Windows Search або невикористаний параметр — це не те саме, що спостережене завантаження шкідливої бібліотеки.
DLL Winsock AutoProxy¶
Ідентифікатор перевірки: winsock_auto_proxy · ATT&CK за каталогом: T1574.001
Що перевіряє Juntei: читає LibraryPath у безпосередніх реєстраціях Catalog_Entries і Catalog_Entries64 у NameSpace_Catalog5.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Services\WinSock2\Parameters\NameSpace_Catalog5\Catalog_Entries\<child> |
LibraryPath |
HKLM\SYSTEM\<ControlSet>\Services\WinSock2\Parameters\NameSpace_Catalog5\Catalog_Entries64\<child> |
LibraryPath |
Як розслідувати: мережеві постачальники можуть бути легітимними. Перегляньте обидві архітектури, походження постачальника та відповідні докази мережевих програм/завантаження образів. Цей цільовий пошук постачальників простору імен охоплює не всі можливі розширення Winsock.
Облікові записи та видимість під час входу¶
Записи локальних облікових записів і параметри видимості під час входу можуть виявити закріплення на основі ідентичності. Ці перевірки досліджують зібрані кущі реєстру SAM і SOFTWARE; вони не є інвентаризацією облікових записів Active Directory, членства в доменних групах чи минулих входів.
Членство в групі Administrators¶
Ідентифікатор перевірки: admin_group_membership · ATT&CK за каталогом: T1098
Що перевіряє Juntei: декодує список членів локального псевдоніма Administrators із SAM. Повідомляє про SID локального комп'ютера, які вказують на прихований обліковий запис або на обліковий запис/групу, відсутні в зібраному SAM.
Досліджувані докази:
SAM\Domains\Builtin\Aliases\00000220\Cі записи SID комп'ютера/користувачів/груп уSAM\Domains\Accountу кущі SAM.HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserListдля зіставлення прихованих імен.
Як розслідувати: це цільова перевірка аномалій, а не список усіх адміністраторів. Зовнішні/доменні SID не оцінюються як відсутні локальні користувачі. Видалені облікові записи, момент збирання даних або неповні кущі реєстру потребують дослідження, перш ніж робити висновок про шкідливе членство.
Прихований локальний обліковий запис¶
Ідентифікатор перевірки: hidden_account · ATT&CK за каталогом: T1564.002
Що перевіряє Juntei: повідомляє про числові нульові значення в Winlogon SpecialAccounts UserList, визначаючи імена, приховані від звичайного екрана входу.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList: значення з іменами облікових записів.
Як розслідувати: облікові записи служб або обслуговування можуть бути приховані навмисно, а значення не встановлює, що названий обліковий запис існує чи є адміністратором. Об'єднуйте із записами облікових записів SAM і активністю входів.
Перехоплення RID¶
Ідентифікатор перевірки: rid_hijacking · ATT&CK за каталогом: T1098
Що перевіряє Juntei: порівнює шістнадцятковий RID підрозділу облікового запису SAM з RID, збереженим за зміщенням 0x30 у його значенні F, і повідомляє про невідповідності.
Досліджувані докази:
SAM\Domains\Account\Users\<hexadecimal RID>\Fу кущі SAM.
Як розслідувати: невідповідність — серйозна аномалія запису облікового запису, але вона також може вимагати аналізу пошкодження/збирання даних. Перевірте вихідні байти, стан журналів транзакцій і записи облікових записів/входів; це не доводить, хто саме змінив запис.
RID Suborner (прихований обліковий запис адміністратора)¶
Ідентифікатор перевірки: rid_suborner · ATT&CK за каталогом: T1098
Що перевіряє Juntei: повідомляє про облікові записи SAM, у яких RID підрозділу не дорівнює 500, але RID у значенні F дорівнює 500, — конкретніший шаблон підміни ідентичності адміністратора.
Досліджувані докази:
SAM\Domains\Account\Users\<hexadecimal RID>\Fу кущі SAM.
Як розслідувати: це перетинається із загальною перевіркою невідповідності RID. Попри назву в каталозі, перевірка окремо не вимагає параметра приховування під час входу; видимість облікового запису, привілеї та фактичне використання облікового запису підтверджуйте окремо.
Компоненти автентифікації та захист облікових даних¶
Local Security Authority (LSA) виконує функції безпеки через LSASS і пов'язані компоненти. Пакети автентифікації, фільтри паролів і мережеві постачальники можуть бути легітимним програмним забезпеченням безпеки або шляхом до постійного доступу до облікових даних. Дві перевірки інвентаризують параметри захисту, а не виконувані автозапуски. Інтерпретуйте їх з урахуванням ролі хоста, версії Windows і фактичної політики.
DLL постачальника AMSI¶
Ідентифікатор перевірки: amsi_providers · ATT&CK за каталогом: T1546.015
Що перевіряє Juntei: перелічує CLSID постачальників AMSI комп'ютера і, якщо можливо, визначає їхні бібліотеки InprocServer32 у нативному/32-бітному поданнях. Невизначені реєстрації зберігають ідентифікатор класу.
Досліджувані докази:
HKLM\SOFTWARE\Microsoft\AMSI\Providers\<CLSID>і придатні до визначення реєстрації InprocServer32 уClasses\CLSID/Classes\Wow6432Node\CLSID.
Як розслідувати: антивірусні програми та засоби захисту легітимно реєструють постачальників AMSI. Перегляньте походження постачальника/бібліотеки та фактичне завантаження; реєстрація не доводить, що AMSI було обійдено або що постачальник був шкідливим.
Пакети автентифікації¶
Ідентифікатор перевірки: authentication_packages · ATT&CK за каталогом: T1547.002
Що перевіряє Juntei: читає окремі непорожні записи LSA Authentication Packages з активного набору керування.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Lsa |
Authentication Packages |
Як розслідувати: порівняйте з вихідною збіркою Windows і встановленим програмним забезпеченням автентифікації. Нестандартний пакет може бути легітимним. Перш ніж робити висновок про перехоплення, визначте DLL і підтвердьте завантаження/активність з обліковими даними.
Поведінка входу адміністратора DSRM¶
Ідентифікатор перевірки: dsrm_backdoor · ATT&CK за каталогом: T1547.001
Що перевіряє Juntei: повідомляє про числове значення DsrmAdminLogonBehavior=2 у реалізованих розташуваннях ControlSet001, ControlSet002 або CurrentControlSet. Цей параметр може дозволяти використання облікового запису DSRM поза його звичайним контекстом відновлення.
Досліджувані докази:
HKLM\SYSTEM\ControlSet001\Control\Lsa\DsrmAdminLogonBehavior, а також ControlSet002 і CurrentControlSet, якщо вони наявні.
Як розслідувати: стосується насамперед контролерів домену. Визначте, який набір керування активний, за допомогою SYSTEM Select; збіг в історичному наборі керування не обов'язково є чинним. Значення не доводить, що зловмисник знав пароль DSRM або входив у систему.
Конфігурація Credential Guard¶
Ідентифікатор перевірки: lsa_cfg_flags · ATT&CK за каталогом: T1547.008
Що перевіряє Juntei: читає налаштоване значення LSA LsaCfgFlags, включно як зі звичайними значеннями ввімкнення, так і з нулем. Це інвентаризація конфігурації Credential Guard, а не виконуваного автозапуску.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Lsa |
LsaCfgFlags |
Як розслідувати: інтерпретуйте значення з урахуванням версії Windows, передумов мікропрограми/безпеки та фактичної політики. Збережений нуль або відсутнє значення саме по собі не встановлює зміни, внесеної зловмисником, фактичного стану захисту чи викрадення облікових даних.
Фільтр паролів LSA¶
Ідентифікатор перевірки: lsa_password_filter · ATT&CK за каталогом: T1556.002
Що перевіряє Juntei: читає LSA Notification Packages. Голі імена бібліотек визначаються відносно зібраного каталогу Windows System32, із додаванням .dll, де це доречно.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Lsa |
Notification Packages |
Як розслідувати: продукти для політик паролів часто встановлюють фільтри. Перевірте бібліотеку та докази завантаження і відрізняйте налаштовані фільтри від доказу того, що відбулася зміна пароля чи перехоплення облікових даних.
Стан захисту LSASS PPL¶
Ідентифікатор перевірки: lsa_run_as_ppl · ATT&CK за каталогом: T1547.008
Що перевіряє Juntei: читає налаштоване значення LSA RunAsPPL, включно з ненульовими значеннями. Це інвентаризація параметра захисту, а не перевірка того, що LSASS працював без захисту.
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Lsa |
RunAsPPL |
Як розслідувати: фактичний захист LSA залежить від версії Windows, політики, блокування мікропрограмою та стану перезапуску. Відсутність рядка для відсутнього значення не є виміряним результатом захисту. Для оцінювання фактичного захисту використовуйте незалежні докази системи/середовища виконання.
DLL мережевого постачальника¶
Ідентифікатор перевірки: network_provider_dll · ATT&CK за каталогом: T1556.008
Що перевіряє Juntei: читає NetworkProvider\ProviderPath у службах активного набору керування SYSTEM.
Досліджувані докази:
HKLM\SYSTEM\<ControlSet>\Services\<service>\NetworkProvider\ProviderPath.
Як розслідувати: постачальники мережевого входу можуть бути легітимними. Перевірте порядок/застосовність постачальників, встановлене мережеве програмне забезпечення та засоби захисту, а також фактичне завантаження бібліотеки; саме значення ProviderPath не доводить перехоплення облікових даних.
Пакети безпеки¶
Ідентифікатор перевірки: security_packages · ATT&CK за каталогом: T1547.005
Що перевіряє Juntei: читає окремі непорожні записи LSA Security Packages, що охоплюють налаштованих постачальників підтримки безпеки (SSP).
Досліджувані докази:
| Ключ реєстру | Досліджуване значення |
|---|---|
HKLM\SYSTEM\<ControlSet>\Control\Lsa |
Security Packages |
Як розслідувати: порівняйте з очікуваною базовою конфігурацією Windows/засобів захисту та перевірте кожну бібліотеку. Конфігурація не доводить, що постачальник завантажувався, перехоплював облікові дані чи був доданий під час інциденту.
Від кандидата до висновку¶
- Відкрийте вихідне джерело, визначене в
SourceFile. Підтвердьте повне значення, дію в XML, скрипт або відновлений запис бази даних, а також точного користувача/хост, до якого він належить. - Визначте, чи міг механізм працювати: перевірте прапорці ввімкнення, версію середовища виконання або Windows, стан служби/завдання, потрібний тригер, користувача, архітектуру та активний набір керування.
- Перевірте вибрану програму, DLL, скрипт або збірку. Обчисліть хеші зібраних байтів і перегляньте аргументи та вміст. Впізнаваний засіб запуску Windows або рядок видавця не вирішують питання легітимності.
- Встановіть, що фактично відбулося, за допомогою незалежних доказів. Приклади: створення процесів, завантаження образів у Sysmon, записи про виконання Task Scheduler, активність служб, Prefetch і пов'язані файли. Подія зміни конфігурації може довести, що параметр змінився, але не доводить, що його корисне навантаження виконувалося.
- Побудуйте часову шкалу, використовуючи часові позначки вихідних джерел і зафіксоване походження зіставлень. Записи ключів, зміни установлення, записи файлів/контейнерів і виконання розглядайте як окремі факти.
- Фіксуйте не лише результати, а й обмеження: відсутні кущі реєстру, відсутні цільові файли, невідомі принципали завдань, неперевірені метадані підписувача, історичні вирізані записи або тригер, який неможливо підтвердити.
Синтаксис команди, профілі, усі поля виводу та стани охоплення описано в посібнику з команди Persistence Hunter. У посібниках з артефактів пояснено базові джерела, а в розділі Подяки наведено першоджерельні інструменти для виявлення закріплення.