AppCertDlls:因病毒引起的Win32的过程创建放缓
-
08-10-2019 - |
题
大约两个月,我一直在Windows XP Home SP3上享受着沉重的过程创造罚款。问题最明显和令人讨厌,这些任务确实会创建许多过程,例如shell脚本(顺便说一句,在cygwin上进行bash脚本),makefiles或打开izpack软件包,例如springsource工具套件selptaster(许多独立的单独 unpack200.exe
罐子提取器过程)。我敢肯定,这是从观察Bash脚本诊断输出或观看过程中出现在任务管理器中的过程创建过程。一旦过程启动并运行,就没有明显的延迟。
我在Cygwin邮件列表中报告了这个问题,因为我最初和错误地认为只有Cygwin受到影响,怀疑Cygwin DLL中的错误或Whatnot。
Win32(XP Home)更新后放缓 - (链接到我的Cygwin列表的帖子)
我想知道是否有一些东西在我认为可能存在于Windows上存在的过程创建钩子中安装了一些废话。 (就像 Java的安全经理。)病毒或安全软件?我也没有有意识地安装。我还怀疑Microsoft更新故障,但我认为他们现在已经解决了。
据我所知,Win32上的流程是由 CreateProcess
.
我如何找出为什么过程创建需要这么长时间,到底发生了什么?有类似的东西吗 strace
对于Linux,甚至可能更好?
解决方案
非常感谢卢克向我指出正确的方向。 Procmon是一个很棒的工具。从字面上看,系统内部的一个新世界为我开放。通过设置过滤器以包括在内的罪魁祸首很快找到 parent process ID = WINPID of a Cygwin bash.exe
然后只是监视一个 ls
命令。这是恶意软件挂入名称的注册表密钥 AppCertDlls
, ,我当然以前完全没有意识到。
一旦我移动了恶意软件 clipmote.dll
在......之外 system32
, ,过程创建速度立即恢复正常。
我想我通过安装有毒的免费软件来感染这种病毒。
我花了一些时间调查这个问题,发现它既令人恐惧又有趣,所以这就是我发现的,当然,我将感谢所有其他信息或您可能拥有的任何评论。
恶意软件DLL已在每个用户过程中加载,甚至是Explorer,TaskMGR和ProcMon本身。仅处理下 SYSTEM
(如在 procexp.exe
)似乎还没有感染。
这里的问题是 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCertDlls
已检查(至少在我的系统上,但可能在许多系统上,甚至可能默认情况下),以加载DLL,这些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: :блокиров路ззапoul信
AppCertdlls在Sysinternals论坛(Autoruns)上报告,10/2007
但是微软本身可以广泛使用此功能,实际上,它被认为是“一次性”的东西。仅用于使用它作为 - 限制在终端服务器2000下运行的应用程序的方法。
有关AppCertDlls键和CreateProcessNotify的更多详细信息,01/2008
恶意软件试图窃取银行帐户信息(显然是金钱),但也可能配置为做其他事情。还有其他注册表条目 HKEY_CURRENT_USER\Software\AppDataLow\{some GUID here}
. 。我在网上银行业务时一定做了一些屏幕刮擦;它知道使用了棕褐色。我记得我曾经有了印象,我的银行在登录后不久或(可能)后不久就被黑客入侵,我看到一个屏幕要求一次询问大约二十吨。我想,wtf,浏览器的网址错误,我关闭了窗口。我应该更担心。我不会认为整个问题是如此危险。幸运的是,没有损坏。我想很幸运。
这是我在病毒中发现的重要琴弦的清单:
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
, ,微软的“系统文件检查器”。将对我的程序文件进行更多检查。并获得病毒扫描仪。欢迎建议。