Appcertdlls: замедление создания процессов на Win32, вызванные вирусом
-
08-10-2019 - |
Вопрос
Я наслаждался хрупким штрафом на создание процесса на моем 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 файлов». Сделает больше проверки моих программных файлов. И получить вирусный сканер. Рекомендации Добро пожаловать.