2

У нас странная проблема на двух ПК с запущенным исполняемым файлом с цифровой подписью 120 Мб.

Если пользователь запускает .exe с цифровой подписью, то запускающий хост (например, Explorer или cmd.exe) будет вводить бесконечный (бесконечный) цикл, постоянно открывающий / закрывающий HKLM\System\CurrentControlSet\Control\Cryptography\Providers и HKLM\System\CurrentControlSet\ Управление \ Криптография \ Конфигурация ключей реестра. Стек вызовов указывает, что хост-процесс находится внутри функции CreateProcess (более конкретно - внутри NtCreateUserProcess), а целевой процесс "частично создан". Например, это видно в диспетчере задач, но в Process Monitor нет события "Процесс создан", и любая попытка открыть целевой процесс приведет к зависанию инструмента, который пытается его открыть.

Процесс запуска для Explorer/CMD выглядит следующим образом:

  1. Проверка HKLM\SOFTWARE\MICROSOFT\WINDOWS NT\CURRENTVERSION\ Опции выполнения файла изображения (не существует)
  2. Чтение всего .exe по 32 килобайтам
  3. Чтение разделов реестра в разделе HKLM\ System\ CurrentControlSet\ Control\ Cryptography\ и перечисление HKLM+HCU\SOFTWARE\MICROSOFT\ SystemCertificates\ Disallowed\ Certificates
  4. Бесконечный цикл с чтением вышеупомянутых разделов реестра начинается сразу после завершения перечисления HKU.DEFAULT\SOFTWARE\ Policies\ Microsoft\ SystemCertificates\ Disallowed\ Certificates

Цифровой сертификат - это обычный сертификат SHA1-RSA для подписи кода, выданный COMODO. Подписанный исполняемый файл с отметкой времени. Проблема не в конкретном исполняемом файле, так как все другие исполняемые файлы, подписанные этим сертификатом, имеют такую же проблему. Другие подписанные исполняемые файлы работают нормально.

Что мы попробовали:

  1. Хэш файла в порядке.
  2. На обоих ПК установлены MalwareBytes.
  3. Отключение антивируса и брандмауэра не решает проблему.
  4. Безопасный режим решает проблему.
  5. Сертификат в порядке, не истек, не отозван, certutil -f -urlfetch -verify не находит никаких проблем.
  6. Хэш сертификата не указан в перечисленных выше разделах различных разделов реестра Disallowed\Certificates.
  7. Удаление MS14-066/KB2992611 не помогает.

Есть идеи?

1 ответ1

1

Мы нашли причину для этого.

Это действительно проблема с инструментом Malwarebytes. Его драйвер (mbamchameleon.sys) внедряет в вызов CreateProcess и вызывает бесконечный цикл при проверке цифровой подписи некоторых подписанных исполняемых файлов.

https://support.eurekalog.com/index.php?/Knowledgebase/Article/View/67/4/installer-hangs-on-launch

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .