查看注册表中的系统服务文件夹,我们可以发现某些服务的ImagePath显示的是svchost.exe的路径,如下图所示:

svchost.exe 是微软Windows操作系统中的系统文件,微软官方对它的解释是:
svchost.exe是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。许多服务通过注入到该程序中启动,所以会有多个该文件的进程。
从系统服务的视角来看,svchost.exe 是共享进程服务的宿主进程。Windows系统服务分为独立进程和共享进程两种,随着系统内置服务的增加,Windows就把很多系统服务变成共享进程的方式,由svchost.exe统一启动。
Svchost本身只是作为服务宿主,并不实现任何的服务功能。 需要Svchost启动的服务以动态链接库(DLL)形式实现。在安装这些服务时,把服务的可执行程序指向svchost,启动这些服务时由svchost加载相应服务的DLL文件。
从攻击者的角度来说,攻击者可能会将自己的恶意代码包含在一个黑色dll文件中,然后通过svchost.exe加载自己的dll文件,达到自己的目的。这种攻击方法最大的优势在于,恶意代码没有自己的独立进程,更难被用户或者其他系统主题察觉。从这角度来说,svchost是一个藏污纳垢的好地方。
显然,对于这种服务,我们需要分析的对象应该是服务启动时加载的dll文件,而不是ImagePath中的svchost.exe。服务加载的dll文件路径可在服务的子键 Parameters\\ServiceDll 中查看,如下图所示:
<

本文详细解读svchost.exe在系统服务中的角色,揭示其如何承载共享进程,服务启动时如何通过DLL加载,以及潜在的安全风险,包括恶意代码利用。关键在于识别实际服务的DLL路径进行深入分析。
最低0.47元/天 解锁文章
1350

被折叠的 条评论
为什么被折叠?



