黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 木马天地 >> 正文
·完美空间提供500M免费AS04-10·企业安全之YY内网准入以04-09
·企业安全之意识与策略04-09·剑走偏锋:IIS漏洞利用04-09
·我来免费网提供100M免费04-09·1122mb.com提供20G超大免04-08
·映像劫持与反劫持技术04-07·让所有"暴力删除工具"无04-07
·入侵88red系统的详细过程04-07·Sql Injection脚本注入终04-07
·vbs+delphi 反弹后门生成04-07·飞讯网提供100MB免费PHP04-07
·突破SQL注入攻击时输入框04-04·结合内核和病毒技术的最04-04
·Real Player rmoc3260.d04-04·亿万网络今月最后为您提04-04
·php+mysql 5 sql inject04-03·Real Player rmoc3260.d04-03
·oblog文件下载漏洞04-03·免费啦提供1G-2G免费全能04-03
·完全解析网页后门和挂马04-02·一句话开3389(只测试过04-02
·萧萧免费空间网提供100M04-02·谷道免费空间网提供1G免04-01
·从本地入手解决双线路由03-31·sablog 1.6 多个跨站漏洞03-31
·富文本编辑器的跨站脚本03-31·Cookie注入是怎样产生的03-31
[推荐]认识使用 Rootkit技术的木马
      ★★★★★

认识使用 Rootkit技术的木马

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-6-12 9:12:33
自从“广外幽灵”开创了dll木马时代的先河以来,现在采用线程注射的dll木马和恶意程序已经随处可见了,除了普遍被采用的另行编写dll加载器程序躲在启动项里运行加载dll主体之外,“求职信”还带来了一种比较少见的通过注册表“hkey_local_machine\software\microsoft\windows nt\currentversion\windows\appinit_dlls”项目加载自身dll的启动方法,而相对于以上几种早期方法,现在更有一种直接利用系统服务启动自身的木马程序,这才是真正的难缠!

“服务”是windows系统的一大核心部分,在nt架构系统中,服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。通过网络提供服务时,服务可以在active directory中发布,从而促进了以服务为中心的管理和使用。服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、web服务器、数据库服务器以及其他基于服务器的应用程序。 “服务”自身也是一种程序,由于使用的领域和作用不同,服务程序也有两种形式:exe和dll,采用dll形式的服务是因为dll能实现hook,这是一些服务必需的数据交换行为,而nt架构系统采用一个被称为“svchost.exe”的程序来执行dll的加载过程,所有服务dll都统一由这个程序根据特定分组载入内存,然而,如今越来越多病毒作者瞄上了这个系统自带的加载器,因为它永远也不能被查杀。

病毒作者将木马主体写成一个符合微软开发文档规范的服务性质dll模块文件,然后通过一段安装程序,将木马dll放入系统目录,并在服务管理器(scm)里注册自身为通过svchost.exe加载的服务dll组件之一,为了提高隐蔽性,病毒作者甚至直接替换系统里某些不太重要而默认开启的服务加载代码,如“distributed link tracking client”,其默认的启动命令是“svchost -k netsvcs”,如果有个病毒替换了启动命令为自己建立的分组“netsvsc”,即“svchost -k netsvsc”,在这种旁门左道加社会工程学的攻势下,即使是具备一般查毒经验的用户也难以在第一时间内察觉到问题出自服务项,于是病毒得以成功逃离各种查杀。

目前被发现使用此方法的木马已经出现,其中一个进程名为“ad1.exe”的广告程序就是典型例子,它通过替换“distributed link tracking client”服务的svchost启动项来躲过一般的手工查杀,同时它自身还是个病毒下载器,一旦系统感染了这个恶意程序,各种木马都有可能光临你的机器。

要清理dll木马,用户需要借助于sysinternals出品的第三方进程管理工具“process explorer”,利用它的“find handle or dll”功能,能迅速搜索到某个dll依附的进程信息并终结,让dll失去载体后就能成功删除,而dll木马的文件名为了避免和系统dll发生冲突,一般不会起得太专业,甚至有“safaf.dll”、“est.dll”这样的命名出现,或者在某些系统下根本不会出现的文件名,如“kernel.dll”、“rundll32.dll”等。除了使用“process explorer”查找并终止进程以外,还可以用icesword强行卸载某个进程里的dll模块来达到效果。

对于服务性质的dll,我们仍然使用“process explorer”进行查杀,由于它的层次结构,用户可以很直观的看到进程的启动联系,如果一台机器感染了杀不掉的顽固木马,有经验的用户做的第一件事情就是禁止掉不相关或者不重要的程序和服务在开机时运行,然后使用“process explorer”观察各个进程的情况,通过svchost.exe启动的dll木马虽然狡猾,但是它释放出exe文件运行时,一切都暴露了:一个svchost.exe服务进程执行了一个ad1.exe,还有比这更明显的吗?
svchost的分组信息位于注册表的“hkey_local_machine\software\microsoft\windows nt\currentversion\svchost”项目,这是svchost加载dll时的分组依据,如果用户发现了一个奇怪的分组信息,那就要提高警惕了。
 

[1] [2] 下一页

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886