解析RootKit与反RootKit(图)
程序员文章站
2022-03-19 10:22:22
Rootkit是一个或者多个用于隐藏、控制一台计算机的工具包,该技术被越来越多地应用于一些恶意软件中。在基于Windows的系统中Rootkit更多地用于隐藏程序或进程,系统被注入Rootkit后就... 08-10-08...
rootkit是一个或者多个用于隐藏、控制一台计算机的工具包,该技术被越来越多地应用于一些恶意软件中。在基于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)
2、用户提权
下面我们通过注册表对gslw$用户进程提权,使其成为一个比较隐蔽(在命令行和“本地用户和组”中看不到)的管理员用户。
第一步:打开注册表编辑器,定位到hkey_local_machine\sam\sam项。由于默认情况下管理员组对sam项是没有操作权限的,因此我们要赋权。右键点击该键值选择“权限”,然后添加“administrators”组,赋予其“完全控制”权限,最后刷新注册表,就能够进入sam项下的相关键值了。
第二步:定位到注册表hkey_local_machine\sam\sam\domains\account\users项,点击“000001f4”
注册表项,双击其右侧的“f”键值,复制其值,然后点击“00000404”注册表项(该项不一定相同),双击其右侧的“f”键值,用刚才复制键值进行替换其值。(图2)
第三步:分别导出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)
下一篇: 春运抢火车票“火”了支付宝