Appcertdlls: замедление создания процессов на Win32, вызванные вирусом

StackOverflow https://stackoverflow.com/questions/4354445

Вопрос

Я наслаждался хрупким штрафом на создание процесса на моем Windows XP Home SP3 в течение двух месяцев. Проблема наиболее проявляется и раздражает задачи, которые создают много процессов, таких как сценарии оболочки (кстати, сценарии Bash на Cygwin), Makefiles или распаковки пакета Izpack, такие как установщик Springsource Tool Suite (множество отдельных unpack200.exe Детские процессы экстрактора). Я уверен, что это создание процессов от наблюдения на основе диагностики сценариев Bash или просмотр процессов отображается в диспетчере задач. Нет заметной задержки, когда процесс не работает и работает.

Я сообщил, что проблема в списке рассылки Cygwin, как я изначально и ошибочно подумал, что только Cygwin был затронут, подозревая ошибку в Cygwin DLL или othennot.

Замедление после обновления на Win32 (HP Home) - (Ссылка на мой пост в список Cygwin)

Мне интересно, было ли что-то установлено какое-то дерьмо в крючок для создания процесса, который я предполагаю, может существовать в Windows. (Как с Менеджер безопасности в Java,) Вирус или программное обеспечение безопасности? Я также не установил. Я также подозревал, что Microsoft Update Glitch, но я думаю, что они будут исправлены на этом.

Насколько я знаю, процессы на Win32 создаются CreateProcess.

Как я могу узнать, почему создание процесса занимает так много времени, а что именно здесь происходит? Есть ли что-то вроде strace Для Linux или, возможно, даже что-то лучше?

Это было полезно?

Решение

Большое спасибо Люке, чтобы указывать мне в правильном направлении. Procmon - это фантастический инструмент. Буквально для меня открылся новый мир внутри системы. И виновник был быстро найден, установив фильтр для включения parent process ID = WINPID of a Cygwin bash.exe а затем просто контролировать один ls команда. Это было вредоносное ПО, подключенное к ключу реестра с именем AppCertDlls, Из чего я был, конечно, совершенно не знал раньше.

Однажды я переместил вредоносное ПО clipmote.dll снаружи system32, Скорость создания процесса была немедленно обратно к нормальной работе.

Я думаю, я заключил контракт на этот вирус, устанавливая отравленную бесплатную программу.

Я провел некоторое время расследовать эту проблему и нашел как страшно и интересно, поэтому вот то, что я нашел, и, конечно, я буду благодарен за всю дополнительную информацию или любые комментарии, которые вы могли бы иметь.

Malware DLL была загружена в каждый пользовательский процесс, даже проводник, taskmgr и сам process. Только процессы под SYSTEM (как указано в procexp.exe), по-видимому, осталось неинфицированным.

Проблема вот что HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls проверяется (по крайней мере, в моей системе, но, возможно, во многих системах, и, вероятно, даже по умолчанию) загружать DLL, которые могут иметь заявление о том, может ли некоторая бинарность для запуска или нет, возвращая значение из функции, которая является позвонил на них:

NTSTATUS STDCALL CreateProcessNotify (LPCWSTR lpApplicationName, ULONG Reason); 

На самом деле, у меня была запись под этим ключом под названием sethdown, но имя может быть чем угодно.

RegEnumValue HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls

Index:  0
Name:   sethdown
Type:   REG_SZ
Length: 66
Data:   C:\WINDOWS\system32\clipmote.dll

От отчетов, найденных в сети, я пришел к выводу, что AppCertDlls Крючок представляет собой регулярную часть операционной системы Windows, а не какое-то мошенничество. Если это так, это точка входа вирусов, так как она позволяет динамически настраивать вредоносное ПО в процесс.

Похоже, это на самом деле - и по иронии судьбы - предназначено, чтобы быть функцией безопасности, не отличающаяся для уборщика безопасности в JVM (см. Мой оригинальный вопрос). Утилита Microsoft называется appsec.exe Сообщается, что используют этот ключ. Функция, которая затем вызывается на «Безопасность» DLL, которая загружена CreateProcessNotify, как указано выше. Из того, что я понял, предполагается просто сказать да или нет - но это может сделать все, что он хочет.

В моем случае и единственным примером бега ls.exe Что я проанализировал, он создал пять потоков. Они загружают или пытаются загрузить другие DLL и взаимодействовать с реестром. А кто знает, что еще.

Если кто-то знает больше об этом опасном механизме, я все уши.

Вот что я нашел на AppCertDlls:

рано упомянуть в 01/2007 (Re5: Блокировка Запуска приложенник)

AppCertdlls сообщил на форуме Sysinternals (AutoRuns), 10/2007

О AppCertdlls - Вирус упомянул 01/2008

Но сама Microsoft широко использует эту функцию, именно это было на самом деле задумано как «одноразовая» вещь. Только для использования его как - способ ограничения приложений, которые можно запускать под терминалом Server 2000. - Andrew Worobow

Подробнее о клавише AppCertdlls и CreateProcessnotify, 01/2008

06/2010 Инфекционный отчет о предоставлении некоторых деталей

Malware пыталась украсть информацию о банковском счете (и деньги, очевидно, очевидно), но это может быть сконфигурировано тоже делать другие вещи. При использовании дополнительных записей реестра HKEY_CURRENT_USER\Software\AppDataLow\{some GUID here}. Отказ Должно быть, он сделал несколько соскоб экрана, пока я занимаюсь онлайн-банкингом; Он знал использованных загар. Я помню, как только у меня появилось впечатление, что мой банк был взломан в ближайшее время или (возможно) после входа в систему, я видел экран, с которыми сразу просит около двадцати татов. WTF, я подумал, браузер получил неправильный URL, и я закрыл окно. Я должен был быть более обеспокоен. Я бы не подумал, что весь этот вопрос будет такой опасной. К счастью, никаких повреждений. Просто повезло, я думаю.

Вот список значительных струн, которые я нашел внутри вируса:

  • client.dll
  • EAPSFILT.dll
  • KERNEL32.dll

Я думаю, что первые два могут быть другими вирусными библиотеками, которые он пытается загрузить.

  • _aullshr
  • CompareStringA
  • CreateEventA
  • CreateFileA
  • CreateFileMappingA
  • CreateProcessNotify
  • CtfImmIsCiceroStartedInThread
  • CtfImmTIMActivate
  • DllCleanupServer
  • DllStartupServer
  • ExitProcess
  • GetThreadContext
  • ImmDisableIme
  • ImmDisableIME
  • ImmGetConversionListA
  • ImmGetVirtualKey
  • ImmRegisterWordA
  • ImmSetCandidateWindow
  • InterlockedExchangeAdd
  • iswlower
  • lstrcmpA
  • MapViewOfFile
  • memset
  • OpenThread
  • ReadFile
  • RealDriveType
  • RegenerateUserEnvironment
  • RestartDialog
  • SetFilePointer
  • Sleep
  • strchr
  • TerminateThread
  • UnmapViewOfFile
  • vDbgPrintExWithPrefix
  • VirtualQueryEx
  • WaitForMultipleObjects

То Cicero Функция выглядела мошенником для меня, но это часть C:\WINDOWS\system32\imm32.dll, «Клиентская библиотека Windows Imm32 API» - все равно.

Я побежал sfc.exe, Microsoft «System Checker файлов». Сделает больше проверки моих программных файлов. И получить вирусный сканер. Рекомендации Добро пожаловать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top