rootkit:解析RootKit和反RootKit

来源:安全中国

Rootkit是个或者多个用于隐藏、控制台计算机工具包该技术被越来越多地应用于些恶意软件Software中在基于Windows系统中Rootkit更多地用于隐藏或进程系统被注入Rootkit后就可以在不为用户察觉情况下进行某些操作因此其隐蔽性极高危害也极大下面笔者结合例子解析RootKit及其反RooKit技术

  实验环境:Windows XP SP2

  工具:

  Hacker defende(RootKit工具)

  RootKit Hook Analyzer(RootKit分析工具)

  IceSword(冰刃)

  、RootKit

  笔者以用RootKit进行管理员高级隐藏为例解析RootKit技术超级隐藏管理员用户

  1、创建帐户

  在命令提示符(cmd.exe)下输入如下命令:

  net user gslw$ test168 /add

  通过上面两行命令建立了个用户名为gslw$密码为test168普通用户为了达到初步隐藏我们在用户名后面加了“$”号这样在命令提示符下通过net user是看不到该用户当然在“本地用户和组”及其注册表“SAM”项下还可以看到(图1)

=700) window.open('/Article/UploadFiles/200807/20080731014200278.jpg');" src="http://www.crazycoder.cn/WebFiles/20099/11686e34-99ef-4fc8-ac86-50a225e3b3bb.jpg" _disibledevent=>'700')this.width='700';(this.height>'700')this.height='700';" border=0>

2、用户提权

  下面我们通过注册表对gslw$用户进程提权使其成为个比较隐蔽(在命令行和“本地用户和组”中看不到)管理员用户

  第步:打开注册表编辑器定位到HKEY_LOCAL_MACHINE\SAM\SAM项由于默认情况下管理员组对SAM项是没有操作权限因此我们要赋权右键点击该键值选择“权限”然后添加“administrators”组赋予其“完全控制”权限最后刷新注册表就能够进入SAM项下相关键值了

  第 2步:定位到注册表HKEY_LOCAL_MACHINE\SAM\SAM\Dos\Account\Users项点击“000001F4”

  注册表项双击其右侧“F”键值复制其值然后点击“00000404”注册表项(该项不定相同)双击其右侧“F”键值用刚才复制键值进行替换其值(图2)

=700) window.open('/Article/UploadFiles/200807/20080731014200941.jpg');" src="http://www.crazycoder.cn/WebFiles/20099/b6bdc862-40ec-447a-bc7a-f38a2fe09bfb.jpg" _disibledevent=>'700')this.width='700';(this.height>'700')this.height='700';" border=0>

 第 3步:分别导出gslw$、00000404注册表项为1.reg和2.reg在命令行下输入命令"net user gslw$ /del"删除gslw$用户然后分别双击1.reg和2.reg导入注册表最后取消administrators对SAM注册表项访问权限

  这样就把gslw$用户提升为管理员并且该用户非常隐蔽除了注册表在命令下及“本地用户和组”是看不到这样隐藏超级管理员用户是入侵者经常使用对于个水平不是很高管理员这样用户他是很难发现这样用户他不属于任何组但却有管理员权限是可以进行登录

  3、高级隐藏用户

  综上所述我们创建gslw$用户虽然比较隐蔽但是通过注册表可以看见下面我们利用RootKit工具进行高级隐藏即在注册表中隐藏该用户

  在Hacker defende工具包中也很多工具我们隐藏注册表键值只需其中两个文件hxdef100.exe和

  hxdef100.ini其中hxdef100.ini是配置文件hxdef100.exe是文件打开hxdef100.ini文件定位到[Hidden RegKeys]项下添加我们要隐藏注册表键值gslw$和00000404即用户在注册表项然后保存退出(图3)

=700) window.open('/Article/UploadFiles/200807/20080731014200703.jpg');" src="http://www.crazycoder.cn/WebFiles/20099/8556bbad-3575-4912-9284-8448c6472ba1.jpg" _disibledevent=>'700')this.width='700';(this.height>'700')this.height='700';" border=0>

然后双击运行hxdef100.exe可以看到gslw$用户在注册表中键值“消失”了同时这两个文件也“不见”了这样我们就利用RootKit实现了高级管理员用户彻底隐藏管理员是无从知晓在系统中存在个管理员用户(图4)
=700) window.open('/Article/UploadFiles/200807/20080731014201290.jpg');" src="http://www.crazycoder.cn/WebFiles/20099/142aeee0-c9d5-4029-a2a0-0ac2dffd36af.jpg" _disibledevent=>'700')this.width='700';(this.height>'700')this.height='700';" border=0>

  2、反RootKit

  那是否意味着我们就无能为力呢?俗话说“邪不胜正”和RootKit就有反RootKit我们就以该管理员为例进行演示

  1、RootKit Hook Analyzer驱动分析

  RootKit Hook Analyzer是款Rookit分析查询工具利用它可以扫描分析出系统中存在RooKit该工具是英文安装并运行点击其界面中下方“Analyze”按钮就可以进行扫描分析列出系统中RooKit勾选“Show hooked services _disibledevent=>=700) window.open('/Article/UploadFiles/200807/20080731014202240.jpg');" src="http://www.crazycoder.cn/WebFiles/20099/c98acf24-cfb5-47a4-b067-d1427c06fc69.jpg" _disibledevent=>'700')this.width='700';(this.height>'700')this.height='700';" border=0>

2、IceSword进程查看

  运行IceSword点击“进程”按钮就可以列出当前系统中进程其中红色显示是可疑进程我们可以看到hxdef100.exe进程赫然其中这真是我们刚才运行RootKit在该进程上点击右键选择“结束”进程这时hxdef100.exe和hxdef100.ini文件显身了再刷新并查看注册表刚才消失两个键值有重现了(图6)

=700) window.open('/Article/UploadFiles/200807/20080731014202810.jpg');" src="http://www.crazycoder.cn/WebFiles/20099/076cba75-7710-4fa1-be5b-b60a66cd2316.jpg" _disibledevent=>'700')this.width='700';(this.height>'700')this.height='700';" border=0>

 3、专业工具查杀

  利用IceSword进行RooKit分析和并结束其进程不失为反RooKit种思路方法但有时候冰刃并不能分析出RootKit因此我们就要比较专业工具比如卡巴斯基、超级巡警等都是不错选择(图7)

=700) window.open('/Article/UploadFiles/200807/20080731014203687.jpg');" src="http://www.crazycoder.cn/WebFiles/20099/8b0c83a4-6ec6-48c2-ad61-617c51e3c6dd.jpg" _disibledevent=>'700')this.width='700';(this.height>'700')this.height='700';" border=0>

整理总结:本文以利用RootKit工具进行帐户隐藏为例解析了其基本运行机制并结合上面例子演示了反RootKit思路方法当然RootKit形式是非常多样但是其原理和防范措施都大同小异希望这篇文章对大家防范RootKit有所帮助



  • 篇文章: 软件Software破解新手进化篇

  • 篇文章: 对Linux服务器 4种级别入侵讲解
  • Tags:  rootkit是什么 rootkit.hider.k rootkit.win32 rootkit

    延伸阅读

    最新评论

    发表评论