欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

解析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)
解析RootKit与反RootKit(图)

  
  2、用户提权
  下面我们通过注册表对gslw$用户进程提权,使其成为一个比较隐蔽(在命令行和“本地用户和组”中看不到)的管理员用户。
  第一步:打开注册表编辑器,定位到hkey_local_machine\sam\sam项。由于默认情况下管理员组对sam项是没有操作权限的,因此我们要赋权。右键点击该键值选择“权限”,然后添加“administrators”组,赋予其“完全控制”权限,最后刷新注册表,就能够进入sam项下的相关键值了。
  第二步:定位到注册表hkey_local_machine\sam\sam\domains\account\users项,点击“000001f4”
  注册表项,双击其右侧的“f”键值,复制其值,然后点击“00000404”注册表项(该项不一定相同),双击其右侧的“f”键值,用刚才复制键值进行替换其值。(图2)
解析RootKit与反RootKit(图)

 
  第三步:分别导出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)

解析RootKit与反RootKit(图)