黑客教你解析与防范后门程序,教你检查自己电脑没有黑客后门软件( 二 )


黑客教你解析与防范后门程序,教你检查自己电脑没有黑客后门软件

文章插图
 
1.创建脚本
创建一个批处理文件add.bat,名为bdtest$ ,密码为test 。
@echo off & net user bdtest$ test /add && netlocalgroup administratrators gbtes$t /add & exit
2.后门利用
在"运行"对话框中输入gpedit.msc,定位到"计算机配置——Windows设置——脚本(启动/关机)",双击右边窗口的"关机",在其中添加add bat,可在系统关机时创建bdtest用户 。一般的用户根本不知道系统中有一个隐藏用户,就算看见并且删除了该帐户,当系统关机时又会创建该帐户 。所以说,如果用户不知道组策略中的这个地方,那一定会感到莫名其妙 。
其实,对于组策略中的这个"后门"还有很多利用方法 。攻击者通过它来运行脚本或者程序,嗅探管理员密码等 。当获取了管理员的密码后,就不用在系统中创建帐户了,可以直接利用管理员帐户远程登录系统 。因此它也是"双刃剑" 。当用户因被攻击而莫名其妙时,说不定攻击者就是通过它实现的 。
后门防范操作是很重要的,使用组策略后门的攻击者利用了管理员的疏忽心理,因为组策略中的"(启动/关机)脚本"项往往被大家忽略,有些管理员甚至不知道组策略中的这个选项 。防范这类后门,也非常简单,只需打开组策略工具,定位到"脚本(启动/关机)"项下进行检查 。当然也可以进入system32GroupPolicymachineScriptsStartup和GroupPolicyMachineScriptsShutdown目录检查是否有可疑的脚本 。
Rookit后门Rootkit是一个或者多个用于隐藏、控制系统的工具包,该技术被越来越多地应用于一些恶意软件中,当然攻击者也往往通过它来制作后门 。
黑客教你解析与防范后门程序,教你检查自己电脑没有黑客后门软件

文章插图
 
1.创建一般帐户
在命令提示符( cmd.exe )下输入命令net user bdtest$ test /add 。
通过上面的命令建立了一个用户名为bdtest$,密码为test的普通用户 。为了实现初步隐藏,在用户名的后面加了$符号,这样在命令提示符下通过netuser是看不到该用户的,当然在"本地用户和组"及其注册表的SAM项下可以看到 。
2.帐户非常规提权
下面通过注册表对bdtest$帐户进行提权,使其成为一个比较隐蔽(在命令行和" 本地用户和组"中看不到)的管理员用户 。
打开注册表编辑器,定位到HKEY_ LOCAL_ MACHINESAMSAM项 。由于默认情况下管理员组对SAM项是没有操作权限的,因此要赋权 。右击该键值,在弹出的快捷菜单中执行"权限"命令,然后添加administrators组,赋予其"完全控制"权限,最后刷新注册表,就能进入SAM项下的相关键值了 。
定位到注册表HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers项,单击000001F4注册表项,双击其右键的F键值,复制其值,然后单击00000404注册表项(该项不一定相同),双击其右侧的F键值,用刚才复制的键值进行替换键值 。
分别导出bdtest$、00000404注册表项为1.reg和2.reg 。在命令行下输入命令net user bdtest$/del删除bdtes$用户,然后分别双击1.reg和2.reg导入注册表,最后取消administrators对SAM注册表项的访问权限 。这样就把bdtest$用户提升为管理员,并且该用户非常隐蔽,除了注册表,在命令下及"本地用户和组"是看不到的 。这样隐藏的超级管理员用户是入侵者经常使用的,对于一个水平不是很高的管理员来说,很难发现这样的用户 。这样的用户不属于任何组,但有管理员权限,是可以进行登录的 。
3.高级隐藏账户
前面创建的botest$用户虽然比较隐蔽,但是通过注册表可以看见 。下面利用RootKit工具进行高级隐藏,即在注册表中隐藏该用户 。
黑客教你解析与防范后门程序,教你检查自己电脑没有黑客后门软件

文章插图
 
可用的RootKit工具非常多 。以Hackerdefende为例进行演示,它是个工具包,其中包含很多工具,隐藏注册表键值只需其中的两个文件: hxdef100.exe和hxdef100.ini其中hxdef100.ini是配置文件,hxde100 exe是程序文件 。打开hxdef100.in文件,定位到[HiddenRegKeys]项下,添加要隐藏的注册表键值bdtest$和00000404即用户在注册表的项,然后保存退出 。
运行hxdef100. exe,可以看到bdtest$用户在注册表中的键值"消失"了,同时这两个文件也"不见"了 。这样就利用RootKit实现了高级管理员用户的彻底隐藏,管理员是无从知晓在系统中存在一个管理员用户的 。


推荐阅读