扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
任何操作系统都会在启动时自动运行一些程序,用以初始化系统环境或额外功能等,这些被允许跟随系统启动而运行的程序被放置在专门的区域里供系统启动时加载运行,这些区域就是“启动项”,不同的系统提供的“启动项”数量也不同,对于Win9x来说,它提供了至少5个“启动项”:DOS环境下的Autoexec.bat、Config.sys,Windows环境下的“启动”程序组、注册表的2个Run项和1个RunServices项,分别是:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices
到了2000/XP系统时代,DOS环境被取消,却新增了一种称之为“服务”的启动区域,注册表也在保持原项目不变的基础上增加了2个“启动项”:
项目 键名
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindows AppInit_DLLs
HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindows run
这么多的启动入口,木马自然不会放过,于是我们经常在一些计算机的启动项里发现陌生的程序名,这时候就只能交由你或者病毒防火墙来判断了,毕竟系统自身会在这里放置一些必要的初始化程序,还有一些正常工具,包括病毒防火墙和网络防火墙,它们也必须通过启动项来实现跟随系统启动。
此外还有一种不需要通过启动项也能达到跟随系统启动的卑劣手法,那就是“系统路径遍历优先级欺骗”,Windows系统搜寻一个不带路径信息的文件时遵循一种“从外到里”的规则,它会由系统所在盘符的根目录开始向系统目录深处递进查找,而不是精确定位的,这就意味着,如果有两个同样名称的文件分别放在C:和C:Windows下,Windows会执行C:下的程序,而不是C:Windows下的。这样的搜寻逻辑就给入侵者提供了一个机会,木马可以把自己改为系统启动时必定会调用的某个文件名,并复制到比原文件要浅一级以上的目录里,Windows就会想当然的执行了木马程序,系统的噩梦就此拉开序幕。这种手法常被用于“internat.exe”,因为无论哪个Windows版本的启动项里,它都是没有设置路径的。
要提防这种占用启动项而做到自动运行的木马,用户必须了解自己机器里所有正常的启动项信息,才能知道木马有没有混进来。至于利用系统路径漏洞的木马,则只能靠用户自己的细心了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。