非常感谢卢克指出我正确的方向。 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或不是由一个被称为他们函数返回一个值:
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安全管理器(见我原来的问题)。据报道称为appsec.exe
的Microsoft实用程序使用此密钥。如上所述,然后在加载的“安全”DLL上调用的函数是CreateProcessNotify
。根据我的理解,它被假定只是说是或否 - 但它可以做任何想要的事情。
在我的情况和运行ls.exe
我分析的单一实例,它创建了五个线程。他们加载或尝试加载其他DLL并与注册表进行交互。谁知道还有什么。
如果有人知道更多关于这个危险的机制,我全都耳闻。
这里是我的AppCertDlls
发现:
early mention in 01/2007 (Re5:Блокировказапускаприложений)
AppCertDlls reported on Sysinternals forum (Autoruns), 10/2007
About AppCertDlls - virus mentioned 01/2008
但微软本身广泛使用 功能,准确地说,它实际上是 构想为“一次性”的事情。 只有使用它作为 - 的方式来限制可以在 终端服务器2000下运行的应用程序 - 安德鲁Worobow
more details on the AppCertDlls key and CreateProcessNotify, 01/2008
06/2010 infection report providing some details
恶意软件试图窃取银行帐户信息(显然是金钱),但它也可能被配置为做其他事情。还有HKEY_CURRENT_USER\Software\AppDataLow\{some GUID here}
下的其他注册表项。在我做网上银行的时候,它一定做了一些屏幕截图;它知道使用TAN。我记得有一次我印象中我银行在不久之前遭到黑客入侵,或者(可能)登录后我看到一个屏幕一次要求大约20个TAN。跆拳道,我想,浏览器得到了错误的网址,我关上了窗户。我应该更关心。我不会认为整个问题如此危险。幸运的是,没有伤害。我猜,幸运的是。
这是我发现的病毒内部的显著前瞻性字符串列表:
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
一部分, “视窗IMM32 API客户端库” - 不管它是什么。
我跑sfc.exe
,微软的“系统文件检查器”。将做更多的检查我的程序文件。并获得病毒扫描程序。建议欢迎。
你可以使用进程监视器(http://technet.microsoft.com/en-us/sysinternals/bb896645。aspx)查看延迟发生的位置。 – Luke 2010-12-04 18:30:35
你可以在这里检查可疑文件:http://www.virustotal.com/ – ruslik 2010-12-13 03:56:53