修改注册表权限加强对木马、病毒的防范

  一、问题的提出

  大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,详见《Windows的自启动方式》,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢?

  二、问题的解决

  windows2000/xp/2003的注册表是可以设置权限的,只是我们比较少用到。设置以下注册表键的权限:

  1、设置注册表自启动项为everyone只读(Run、RunOnce、RunService),防止木马、病毒通过自启动项目启动
  2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为everyone只读,防止木马、病毒通过文件关联启动
  3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为everyone只读,防止木马、病毒以"服务"方式启动

  注册表键的权限设置可以通过以下方式实现:

  1、如果在域环境里,可能通过活动目录的组策略实现的

  2、本地计算机的组策略来(命令行用secedit)

  3、本文通过setacl这个程序加批处理实现,可以在http://www.helge.mynetcologne.de/setacl/下载

  4、手工操作可以通过regedt32(windows2000系统,在菜单“安全”下的“权限”)或regedit(windows2003/xp,在“编辑”菜单下的“权限”)

  批处理代码在后面给出。

  如果只有users组权限,以上键值默认是只读的,就可以不用这么麻烦了。

  三、适用人群

  1)、对电脑不是很熟悉,不经常安装/卸载软件的人

  2)、喜欢在网上下载软件安装的朋友

  3)、每台电脑的操作人员都有管理员权限,这些人的电脑水平又参差不齐的企业

  四、还存在的问题

  1)、安装杀毒软件,打补丁的时候都可能对那些注册表进行操作,这样就得先恢复权限设置,再安装,安装完成后重新设置。不方便

  2)、防不住3721,不知是不是3721的权限太高了(听说3721是通过驱动程序启动的,有ring 0级权限)

  3)、只适合windows2000/xp/2003,其他的就没办法了

  4)、只能对付那些简单的病毒和木马

  五、其他

  大家看完本文看,可能禁不住大骂:神经病,两三句话就说完的事,非得搞得像论文,写这么一大堆,浪费我时间。如果真的是这样,那真的是对不起了。只因为公司在实施ISO,我也觉得ISO里提倡的东西蛮好的,为了规范化我的文档,我就多做些练习了。

  打包好的程序可以到:
https://www.xfocus.net/php/tools.php?sub=down&tid=741下载。

  六、批处理源代码

@goto start
==============================================================
名称:反特洛伊木马
功能:

1、禁用自启动项目(run runonce runservices)
     2、禁止修改.txt、.com、.exe、.inf、.ini、.bat等等文件关联
     3、禁止修改"服务"信息

原理:设置注册表权限为只读

版本修订情况

版本号     修订日期    修订人  修订内容
1.0        2004-12-22  netu0  创建本脚本            
==============================================================
:start
@SETLOCAL
@rem 活动代码页设为中文
@chcp 936>nul 2>nul
@echo.
@echo ************************************************************
@echo #
@echo #         欢迎使用反特洛伊木马程序
@echo #
@echo #
@echo ************************************************************

:chkOS
@echo.
@ver|find "2000" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :2000
@ver|find "Microsoft Windows [版本 5" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :2003
@ver|find "XP" > nul 2>nul
@if "%ERRORLEVEL%"=="0" goto :XP
@echo.
@echo #您的操作系统不是Windows 2000/XP/2003中的一种,无法使用。
@goto quit

@rem 在下面语句插不同系统的不同命令
:2000
@set UpdatePolicy=secedit /refreshpolicy machine_policy>nul 2>nul
@goto Selection

:XP
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection

:2003
@set UpdatePolicy=GPUpdate /Force>nul 2>nul
@goto Selection

:Selection
@rem User Choice
@echo.
@echo 请输入以下选项前面的数字
@echo.
@echo 1: 安装反特洛伊木马保护
@echo 2: 删除反特洛伊木马保护(恢复默认设置)
@echo 3: 查看技术信息
@echo 4: 退出
@echo.
@set /p UserSelection=输入您的选择(1、2、3、4)
@if "%UserSelection%"=="1" goto install
@if "%UserSelection%"=="2" goto uninstall
@if "%UserSelection%"=="3" goto information
@if "%UserSelection%"=="4" goto quit
@rem 输入其他字符
@cls
@goto Selection

:information
@cls
@echo

============================================================
@echo #
@echo #         欢迎使用反特洛伊木马程序
@echo #
@echo #功能:
@echo #
@echo #   1、设置注册表自启动项为只读(Run、RunOnce、RunService),
@echo #      防止木马、病毒通过自启动项目启动
@echo #   2、设置.txt、.com、.exe、.inf、.ini、.bat等等文件关联为只读,
@echo #      防止木马、病毒通过文件关联启动
@echo #   3、设置注册表HKLM\SYSTEM\CurrentControlSet\Services为只读
@echo #      防止木马、病毒以"服务"方式启动
@echo #     
@echo #注意事项: 
@echo #    某些安装程序也会用到以上注册表键,请在安装前运行本程序,
@echo #    然后选择2,恢复默认设置。安装完成后,重新运行本程序,
@echo #    然后选择1,实施反特洛伊木马保护
@echo ==============================================================
@echo.
@echo 按任意键,返回选择
@pause>nul 2>nul
@cls
@goto Selection
:install
@set OP=/grant everyone /read  /p:no_dont_copy
@goto Doit
:uninstall
@set OP=/revoke everyone /read  /p:yes
@goto Doit

:Doit
@echo.
@echo 正在执行操作...
@rem HKLM
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /registry %OP%>nul 2>nul
@setacl machine\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /registry %OP%>nul 2>nul

@rem HKCU
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /registry %OP%>nul 2>nul
@setacl CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /registry %OP%>nul 2>nul

@rem USERS
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices /registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunEX /registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEX /registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesEx /registry %OP%>nul 2>nul
@setacl USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce /registry %OP%>nul 2>nul

@rem Services
@setacl MACHINE\SYSTEM\CurrentControlSet\Services /registry %OP%>nul 2>nul

@rem CLASSES_ROOT
@setacl CLASSES_ROOT\exefile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\inifile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\txtfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\comfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\batfile\shell\open\command /registry %OP%>nul 2>nul
@setacl CLASSES_ROOT\inffile\shell\open\command /registry %OP%>nul 2>nul

@echo 正在更新帐户策略、审核策略......
@REM [刷新本地安全策略]
@%UpdatePolicy%>nul 2>nul
@echo 帐户策略、审核策略更新完成

:complete
@echo 操作完成
@echo.
@echo.
@echo 请按任意键退出。
@pause>nul 2>nul

:quit
@rem Clear
@del %systemroot%\system32\setacl.exe>nul 2>nul
@del %systemroot%\system32\AntiTrojanhorse.bat>nul 2>nul

@ENDLOCAL

(0)

相关推荐

  • 修改注册表权限加强对木马、病毒的防范

    一.问题的提出 大部分的木马及部分的病毒是通过注册表的自启动项或文件关联或通过系统服务实现自启动的,详见<Windows的自启动方式>,那是否有一种方法可以防止木马或病毒修改注册表项及增加服务呢? 二.问题的解决 windows2000/xp/2003的注册表是可以设置权限的,只是我们比较少用到.设置以下注册表键的权限: 1.设置注册表自启动项为everyone只读(Run.RunOnce.RunService),防止木马.病毒通过自启动项目启动 2.设置.txt..com..exe..inf

  • 修改注册表对付病毒、木马、后门及黑客程序

    在网络给我们的工作学习带来极大方便的同时,病毒.木马.后门以及黑客程序也严重影响着信息的安全.这些程序感染计算机的一个共同特点是在注册表中写入信息,来达到如自动运行.破坏和传播等目的.以下是笔者在网上收集的,通过修改注册表来对付病毒.木马.后门以及黑客程序,保证个人计算机的安全. 1.预防Acid Battery v1.0木马的破坏 在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices下若在右边窗口中如

  • regini dos下更改注册表权限的工具

    这个玩意主要用途是 在cmd下 修改注册表 以及 注册表权限! 用法研究了一晚上 弄出来了 ,微软上写的 根本不能用啊 郁闷.. 使用方法 C:\>regini regset.ini 就行啦 regset.ini 是你要修改的数据 下面举例! regset.ini 文件内容 引用: 复制代码 代码如下: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run test = c:\windows\system32\fuckt

  • JavaScript修改注册表实例代码

    注册表有关安全设置项的说明: 注册表路径: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones 1.         Zones 项包含表示为计算机定义的每个安全区域的项.默认情况下,定义以下 5个区域(编号从 0  到 4): 值                   设置 ------------------------------ 0                 我的电脑

  • 使用PowerShell修改注册表

    下面的例子里, PowerShell修改了注册表键值, 完成了Security loop disable, 和loopbackcheck disable. 复制代码 代码如下: #Security loop disable so that you can look at it on the same machine if(($gchn = Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\" -Nam

  • dos(cmd)中删除、添加、修改注册表命令

    regedit的运行参数 REGEDIT [/L:system] [/R:user] filename1 REGEDIT [/L:system] [/R:user] /C filename2 REGEDIT [/L:system] [/R:user] /E filename3 [regpath] /L:system Specifies the location of the SYSTEM.DAT file. /R:user Specifies the location of the USER.D

  • python修改注册表终止360进程实例

    本文实例讲述了python修改注册表终止360进程的实现方法.分享给大家供大家参考. 具体实现代码如下: import _winreg import os import shutil #复制自身 shutil.copyfile(K3.exe,c:WINDOWSsystem32K3.exe) #把360启动改为自身 run = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE, "SOFTWAREMicrosoftWindowsCurrentVersionRu

  • 自己修改注册表优化宽带网设置

    使用Modem上网的朋友恐怕都对蜗牛般的网速深有体会.为此,我们想尽一切办法,试图榨干小猫的最后一滴油水. 终于盼来了宽带,网速快多了,但它也存在着加速和优化的问题.下面我们就以ADSL为例,来讨论一下如何通过修改注册表优化宽带网. 第一步:测试现有的速度 这一步很有必要,因为在优化前后不能只凭感觉看效果,最实在的应该是前后测试数据的对比. 测试的时候要注意找一个速度快的服务器上的大文件,避免被缓冲文件欺骗,可以多下载几次,看各次所用的时间是否相近. 第二步:优化注册表 Windows系列在安装

  • 修改注册表 让Windows XP操作系统更加个性化

    Windows XP操作系统以其稳定的性能,美丽的外观著称.但是我们通过修改注册表,能让系统更加符合自己的个性.下面的文章中我们将提供一些能让你系统更个性化的应用技巧. 1.修改Windows XP的登录背景图案 面对长久不变的单调的登录图案,你可能日久生厌,我们可以通过注册表来把它换成自己喜欢的图案,步骤如下:打开注册表编辑器,找到HKEY_USERS.DEFAULTControl PanelDesktop子键分支,双击wallpaper,键入你选择好的图片的路径,如:c:Documents

  • 修改注册表 消除应用软件的乱码显示

    文/明静 在注册表中通过应用软件的设置,不仅可以提高应用水平,还可以解决一些疑难问题. ●消除应用软件的乱码显示: 在注册表中打开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFontAssocAssociated Charset子键分支,将右边窗口内的"SYMBOL(02)"(这是Windows XP系统的机内码)的数值改为"NO"即可. ●在应用软件中设定字体替换: 使用字处理应用软件时常会碰到这样的情况,当把一

随机推荐