Дополнение в руководство по HiJackThis+

Статус
В этой теме нельзя размещать новые ответы.
Инструмент Registry Key Type Analyzer (доступен, начиная с HiJackThis+ v3.0.0.1)

1685088675478.png


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

Перечисление значений, которые может выдавать инструмент:
  • Native Name - физическое расположение ключа (например, HKEY_CURRENT_USER, это \REGISTRY\USER\<SID> или HKU\<SID>)
  • Date Modification - время последнего изменения параметров ключа
  • Keys Count - покажет количество параметров, и отдельно кол-во подключей
  • Key/Values max length - покажет кол-во символов максимального по длине имени параметра / имени ключа / значения параметра
  • Redirection (подробнее читайте в этой статье):
- Not applied - ключ обычный, и не имеет x32 представления​
- WOW Available - ключ переадресуемый и имеет Wow6432Node компаньона; 32-битные процессы, запущенные на 64-битной ОС, по-умолчанию будут перенаправляться на x32-битное представление ключа, если не отключат редиректор​
- Shared - ключ имеет 2 представления, однако физически это один и тот же ключ​
- Reflected - ключ имеет 2 представления, однако система автоматически синхронизирует значения параметров в этих ключах (актуально для систем, старее Windows 7)​
- Symlink - ключ является симлинком, т.е. ведёт к другому ключу (смотрите колонку "Symlink", чтобы узнать конечный путь).​
  • Virtualization - допустимые значения: Candidate/Enabled/Target/Store/Source (Подробнее здесь и здесь).
  • Flags - допустимые значения: Clear/DontVirtualize/DontSilentFail/Recurse (недокументировано, но что-то можно найти здесь).
  • Volatility - допустимые значения: Volatile/No (Подробнее здесь).
  • Symlink - выдаёт целевой путь символьной ссылки (симлинка), или ничего, если ключ - не симлинк (Подробнее здесь).
  • Security Descriptor - выдаёт DACL (права доступа к ключу) в формате SDDL.
  • Class name - имя назначенного класса (обычно там пусто); предназначение этого поля неясно, но если вы знаете, поделитесь инфой.
Режимы Mode:
  • Recursively - будет проверять каждый из вложенных ключей
  • Query x32 View - отдельно добавит проверку x32 представления ключа, если таковое имеется
  • Create key if not exists - инструмент может проверить только ключ, который существует; вы можете поставить сюда галочку, чтобы автоматически создать пустой ключ, если он не существует, проверить его, и удалить по окончанию всей проверки.

Практический пример:
Кусок лога MBAM:
PUP.Optional.ForcedExtension, HKLM\SOFTWARE\POLICIES\GOOGLE\CHROME\ExtensionInstallForcelist|1, Проигнорировано пользователем, 6850, 897256, , , , , ,
PUP.Optional.ForcedExtension, HKLM\SOFTWARE\WOW6432NODE\POLICIES\GOOGLE\CHROME\ExtensionInstallForcelist|1, Проигнорировано пользователем, 6850, 897256, , , , , ,
Вопрос: надо понять, это зловред прописал ключи в 2 местах (x64 и x32), или это MBAM так сделан, что выводит оба представления даже, если ОС сама синхронизирует их:
* вставляем ключ HKLM\SOFTWARE\POLICIES\GOOGLE\CHROME\ExtensionInstallForcelist в поле​
* оставляем отметку только на "Redirection"​
* можно оставить и "Native Name"​
* также можем поставить "Query x32 view" (в этом случае отдельно будут запрошены данные о ключе HKLM\SOFTWARE\Wow6432Node\POLICIES\GOOGLE\CHROME\ExtensionInstallForcelist)​
Жмём Go, и получаем ответ "Shared", т.е. с точки зрения ОС - это один и тот же ключ. Проверка WOW представления данного ключа в MBAM сделана излишне.

Примечание: HiJackThis+ никогда не выводит в лог запись x32, если она физически является одним и тем же ключом с x64 (Shared), либо если зеркалируется (Reflected).
 
Последнее редактирование:
Пометки Signature (sign) (доступно, начиная с HJT v.3.0.0.9+)

HiJackThis+ проверяет цифровую подпись (Authenticode ЭЦП) исполняемых файлов и выводит имя, на кого она выдана в виде пометок в конце строки (Sign: '<имя подписанта>').
Примеры:
Код:
O4 - HKCU\..\Run: [Steam] = C:\program files (x86)\steam\steam.exe -silent (sign: 'Valve Corp.')
O4 - HKLM\..\Run: [Cmaudio8788] = C:\Windows\syswow64\RunDll32.exe C:\Windows\Syswow64\cmicnfgp.dll,CMICtrlWnd (sign: 'Microsoft')
O4 - HKLM\..\Run: [Cmaudio8788GX] = C:\Windows\syswow64\HsMgr.exe Envoke (not signed)

• Для файлов, которые прошли проверку по жестко прописанному списку хешей сертификатов Майкрософт, всегда выводится пометка (sign: 'Microsoft')
Обратите внимание, что ЭЦП проверяется у основного файла (а не аргумента), т.е. запись вида cmd.exe /c C:\1xkz.exe - будет также отображена как (Sign: 'Microsoft'), даже если C:\1xkz.exe не-легитимный.​
Исключением являются секции:​
* O22 - Tasks (на базе Rundll32 и CLSID). Там проверяется и отображается подпись dll.​
* O23 - Services (на базе узловых служб svchost), где также проверяется dll, а не основной файл.​
Думайте о строках с (sign: 'Microsoft'), как о чем-то требующем особого внимания.​

• Файлы, которые не имеют ЭЦП, помечаются (not signed).

• Файлы, неудачно прошедшие проверку ЭЦП, помечаются (invalid sign). Причиной может быть повреждение файла; иная причина может указываться рядом с пометкой в виде константы кода ошибки (однако, более полный список можно увидеть в исходном коде HJT).

• Просроченные сертификаты считаются валидными. Исключение: секция O23 - Drivers, где более строгая проверка.

• Файлы, чья подпись успешно проверена, однако корневой сертификат подписи отсутствует в хранилище ОС, помечаются (sign: 'Подписант', but untrusted root: 'корневой подписант' with fingerprint: хеш корневого сертификата).
Причинами могут быть:​
* само-выданный сертификат​
* отсутствие или блокировка обновлений, устаревшая система, из-за чего легитимный корневой сертификат ЦС (Центра сертификации) не был доставлен системе.​
* дополнительный сертификат, который имел приоритет при проверке, но отсутствует в хранилище. Например: avp.exe, имеющий аж 3 подписи (2 из них легитимные, а 3-я - само-выданная). Это поведение, возможно, будет исправлено в обновлениях HJT. Уже частично исправлено.​

Обычно, корневые сертификаты выдают такие известные ЦС, как: DigiCert, GlobalSign, Sectigo, Thawte, VeriSign, UserTrust и др. Если вы увидите в этой строке:
Код:
O4 - HKCU\..\Run: [NetLimiter] = C:\Program Files\Locktime Software\NetLimiter\nlclientapp.exe /minimized (sign: 'Locktime Software s.r.o.', but untrusted root: 'GlobalSign Code Signing Root R45' with fingerprint: 4EFC31460C619ECAE59C1BCE2C008036D94C84B8)
то скорее всего подпись легитимная. Полный перечень корневых сертификатов можно посмотреть через оснастку certmgr.msc а их хеши fingerprint (отпечатка) сверить у себя в реестре по путям:
Код:
HKCU\Software\Microsoft\SystemCertificates\Root\Certificates => хеши
HKLM\Software\Microsoft\SystemCertificates\Root\Certificates => хеши
где имя ключа является хешем отпечатка сертификата. Ваша система, даже полностью обновлённая, не обязательно будет содержать все возможные корневые сертификаты. Часть из них могут устаревать и больше не доставляться через Windows Update.

Более обширную информацию о проверке ЭЦП вы можете узнать из этой статьи.
 
Последнее редактирование:
Описание O27 - Учётная запись и протокол удалённого рабочего стола (Доступно в HJT с версии 3.2)

Параметры O27 - Account:
(AutoLogon) представляет учётные записи, зарегистрированные для автоматического входа в систему с сохранённым паролем. Вредоносное ПО может принудить пользователя к автоматическому входу, чтобы помешать смене учётной записи.
(Bad profile) это папка, расположенная в %SystemDrive%\Users, которая не соотносится ни с одним из пользовательских профилей.
(Missing) это запись в реестре о SID и профиле пользователя, чья папка профиля отсутствует на диске.
(Hidden) это учётная запись, скрытая с окна входа пользователей.
(RDP Group) это пользователь, который является членом группы "Пользователи удалённого рабочего стола". Позволяет устанавливать удалённое подключение по протоколу RDP от имени этого пользователя.
(Other) прочие настройки профиля в реестре.

Параметры O27 - RDP:
(Port) сообщает об открытом в файрволе входящем порту 3389 (TCP/UDP).
(Other) прочие настройки протокола удалённого подключения.

>>> Действие HiJackThis:
- для (AutoLogon): автоматический вход будет отключён. У пользователя будет запрашиваться ввод пароля при входе.
- для (Bad profile): папка будет удалена.
- для (Hidden): отменяет скрытие пользовательской записи с окна входа в систему.
- для (RDP Group): аннулирует членство пользователя в группе "Пользователи удалённого рабочего стола".
- для (Missing): запись SID пользователя будет удалена из реестра. Ветка HKEY_USERS\<SID> не обрабатывается.
- для (Port): отключает правило файрвола, разрешающее входящие подключения на порт 3389 svchost.exe.
- для (Other): запись реестра будет восстановлена до состояния по умолчанию.
 
Последнее редактирование:
  • Like
Реакции: akok
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу