导出组策略Word文件下载.docx
- 文档编号:19608976
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:14
- 大小:32.96KB
导出组策略Word文件下载.docx
《导出组策略Word文件下载.docx》由会员分享,可在线阅读,更多相关《导出组策略Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
00000000
sedenyinteractivelogonright拒绝从本地登陆
sedenynetworklogonright拒绝从网络访问这台计算机
sedenyservicelogonright拒绝作为服务登陆
sedenybatchlogonright拒绝作为批处理作业登陆
seinteractivelogonright在本地登陆
senetworklogonright从网络访问此计算机
seservicelogonright作为服务登陆
sebatchlogonright作为批处理作业登陆
在C:
\>
提示符下,键入secedit/export/cfgc:
\sectmp.inf,导出它的当前安全设置。
键入secedit/configure/dbc:
\sectmp.sdb/CFGc:
\sectmp.inf其目的是将我们修改后的设置值,配置给Berlin计算机
用批处理命令修改组策略(简版)
echo[EventAudit]>
>
c:
\sectmp.inf
echoAuditSystemEvents=0>
echoAuditLogonEvents=0>
echoAuditObjectAccess=0>
echoAuditPrivilegeUse=0>
echoAuditPolicyChange=0>
echoAuditAccountManage=0>
echoAuditProcessTracking=0>
echoAuditDSAccess=0>
echoAuditAccountLogon=0>
echo[PrivilegeRights]>
echoSeDenyNetworkLogonRight=>
echo[Version]>
echosignature="
$CHICAGO$"
>
echoRevision=1>
secedit/configure/dbc:
Gpupdate/force
以上仅是清空SeDenyNetworkLogonRight一项,欲修改其它项可使用下列命令输出c:
\sectmp.inf并打开查阅其他项列表:
secedit/export/cfgc:
远程用户禁用了组策略-本地策略-用户权利指派里的拒绝从网络访问这台计算机,我就不能远程3389连接了。
以管理员身份运行cmd,输入:
secedit/export/cfgc:
\sectmp.inf(导出当前安全设置)
notepadc:
\sectmp.inf
打开sectmp.inf后找到SeDenyNetworkLogonRight(拒绝从网络访问这台计算机)如下修改。
SeDenyNetworkLogonRight=Guest
完成修改后点文件-保存
将修改后的设置值,配置给计算机
刷新策略使策略生效
gpupdate/force
在使用组策略编辑器更改过“计算机配置”和“用户配置”中的相应设置项后,WindowsXP便会分别在“C:
\Windows\System32\GroupPolicy\Machine”或“C:
\Windows\System32\GroupPolicy\User”目录中,生成一个名为“Registry.pol”的文件。
进入到该目录,然后使用记事本程序打开“Registry.pol”文件。
现在,你看到了什么?
所有秘密全在这里了,经过修改的组策略项目,其在注册表中的相应位置均罗列其中(如图4)。
比如之前设置的“开始”菜单中删除‘运行’菜单”项,便可根据这里所记录的注册表位置,来依次展开“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer”分支,删除其中的“NoRun”键值即可。
要想恢复组策略的设置,最简单的方法无非是逐一查看策略项目。
在默认情况下,策略项目的“状态”显示应为“未被配置”(如图1)。
如果被他人进行了更改,则会显示“已启用”或“已禁用”的提示。
不过组策略中的设置项“多如牛毛”,想要在众多项中找到被修改的位置,显然太过费时费力,这时不妨试试简单易用的rsop.msc工具。
GPResult命令行术
其实,组策略设置的基本原理,就是修改注册表中相应的配置项目,从而达到配置系统的目的。
也就
是说,知道了注册表中的改动,也就等同于获得了组策略的修改位置。
那么如何了解到组策略修改的注册
表项目呢?
这时,老鸟会用到一个名为GPResult.exe的小工具。
使用WindowsXP自带的GPResult.exe命令行工具可以显示详细的策略结果。
其使用方法也比较简单。
比如要显示当前系统的组策略结果并输出到一个文本文件(gpr.txt)中,可以打开“命令提示符”窗口
,在其中执行“gpresult/z>
gpr.txt”命令,之后打开该命令所创建的“notepadgpr.txt”文件即可。
如果对组策略进行了相应设置,那么在打开的文本文件中,可看到已修改过的注册表项(如图3)。
接下来只要打开注册表编辑器,依次展开这些项目(通常“计算机配置”的内容保存在
HKEY_LOCAL_MACHINE根目录中,“用户配置”的内容保存在HKEY_CURRENT_USER根目录中),修改其中数
值名称数据,比如这里的“NoRun”表示从“开始”菜单中删除“运行”菜单,删除该数值即可
命令行下操作组策略
组策略是建立Windows安全环境的重要手段,尤其是在Windows域环境下。
一个出色的系统管理员,应该能熟练地掌握并应用组策略。
在窗口界面下访问组策略用gpedit.msc,命令行下用secedit.exe。
先看secedit命令语法:
secedit/analyze
secedit/configure
secedit/export
secedit/validate
secedit/refreshpolicy
5个命令的功能分别是分析组策略、配置组策略、导出组策略、验证模板语法和更新组策略。
其中secedit/refreshpolicy在XP/2003下被gpupdate代替。
这些命令具体的语法自己在命令行下查看就知道了。
与访问注册表只需reg文件不同的是,访问组策略除了要有个模板文件(还是inf),还需要一个安全数据库文件(sdb)。
要修改组策略,必须先将模板导入安全数据库,再通过应用安全数据库来刷新组策略。
来看个例子:
假设我要将密码长度最小值设置为6,并启用“密码必须符合复杂性要求”,那么先写这么一个模板:
[version]
signature="
[SystemAccess]
MinimumPasswordLength=6
PasswordComplexity=1
保存为gp.inf,然后导入:
secedit/configure/dbgp.sdb/cfggp.inf/quiet
这个命令执行完成后,将在当前目录产生一个gp.sdb,它是“中间产品”,你可以删除它。
/quiet参数表示“安静模式”,不产生日志。
但根据我的试验,在2000sp4下该参数似乎不起作用,XP下正常。
日志总是保存在%windir%\security\logs\scesrv.log。
你也可以自己指定日志以便随后删除它。
比如:
secedit/configure/dbgp.sdb/cfggp.inf/loggp.log
delgp.*
另外,在导入模板前,还可以先分析语法是否正确:
secedit/validategp.inf
那么,如何知道具体的语法呢?
当然到MSDN里找啦。
也有偷懒的办法,因为系统自带了一些安全模板,在%windir%\security\templates目录下。
打开这些模板,基本上包含了常用的安全设置语法,一看就懂。
再举个例子——关闭所有的“审核策略”。
(它所审核的事件将记录在事件查看器的“安全性”里)。
echo版:
echo[version]>
1.inf
echoAuditSystemEvents=0>
echoAuditObjectAccess=0>
echoAuditPrivilegeUse=0>
echoAuditPolicyChange=0>
echoAuditAccountManage=0>
echoAuditProcessTracking=0>
echoAuditDSAccess=0>
echoAuditAccountLogon=0>
echoAuditLogonEvents=0>
secedit/configure/db1.sdb/cfg1.inf/log1.log/quiet
del1.*
也许有人会说:
组策略不是保存在注册表中吗,为什么不直接修改注册表?
因为不是所有的组策略都保存在注册表中。
比如“审核策略”就不是。
你可以用regsnap比较修改该策略前后注册表的变化。
我测试的结果是什么都没有改变。
只有“管理模板”这一部分是完全基于注册表的。
而且,知道了具体位置,用哪个方法都不复杂。
比如,XP和2003的“本地策略”-》“安全选项”增加了一个“本地帐户的共享和安全模式”策略。
XP下默认的设置是“仅来宾”。
这就是为什么用管理员帐号连接XP的ipc$仍然只有Guest权限的原因。
可以通过导入reg文件修改它为“经典”:
echoWindowsRegistryEditorVersion5.00>
1.reg
echo[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]>
echo"
00000000>
regedit/s1.reg
del1.reg
而相应的用inf,应该是:
echo[RegistryValues]>
echoMACHINE\System\CurrentControlSet\Control\Lsa\ForceGuest=4,0>
secedit/configure/db1.sdb/cfg1.inf/log1.log
关于命令行下读取组策略的问题。
系统默认的安全数据库位于%windir%\security\database\secedit.sdb,将它导出至inf文件:
secedit/export/cfggp.inf/log1.log
没有用/db参数指定数据库就是采用默认的。
然后查看gp.inf。
不过,这样得到的只是组策略的一部分(即“Windows设置”)。
而且,某个策略如果未配置,是不会被导出的。
比如“重命名系统管理员帐户”,只有被定义了才会在inf文件中出现NewAdministratorName="
xxx"
。
对于无法导出的其他的组策略只有通过访问注册表来获得了。
此办法在XP和2003下无效——可以导出但内容基本是空的。
原因不明。
根据官方的资料,XP和2003显示组策略用RSoP(组策略结果集)。
相应的命令行工具是gpresult。
但是,它获得的是在系统启动时被附加(来自域)的组策略,单机测试结果还是“空”。
所以,如果想知道某些组策略是否被设置,只有先写一个inf,再用secedit/analyze,然后查看日志了
CMDSHELL之注册表、服务和组策略
包括三方面内容:
注册表、服务和组策略。
先说注册表。
很多命令行下访问注册表的工具都是交互式的,溢出产生的shell一般不能再次重定向输入/输出流,所以无法使用。
好在系统自带的regedit.exe足够用了。
1,读取注册表
先将想查询的注册表项导出,再用type查看,比如:
C:
regedit/e1.reg"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp"
type1.reg|find"
PortNumber"
"
00000d3d
所以终端服务的端口是3389(十六进制d3d)
2,修改/删除注册表项
先echo一个reg文件,然后导入,比如:
echoWindowsRegistryEditorVersion5.00>
echo.>
echo[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0]>
echo"
TelnetPort"
00000913>
NTLM"
00000001>
regedit/s1.reg
将telnet服务端口改为2323(十六进制913),NTLM认证方式为1。
要删除一个项,在名字前面加减号,比如:
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serv-U]
要删除一个值,在等号后面用减号,比如:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
KAVRun"
=-
3,用inf文件访问注册表
上面对注册表的三个x作,也可以用下面这个inf文件来实现:
[Version]
Signature="
$WINDOWSNT$"
[DefaultInstall]
AddReg=My_AddReg_Name
DelReg=My_DelReg_Name
[My_AddReg_Name]
HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,2323
HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1
[My_DelReg_Name]
HKLM,SYSTEM\CurrentControlSet\Services\Serv-U
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,KAVRun
将它写入c:
\path\reg.inf然后用下面这个命令"
安装"
:
rundll32.exesetupapi,InstallHinfSectionDefaultInstall128c:
\path\reg.inf
几点说明:
1,[Version]和[DefaultInstall]是必须的,AddReg和DelReg至少要有一个。
My_AddReg_Name和My_DelReg_Name可以自定义。
0x00010001表示REG_DWORD数据类型,0x00000000或省略该项(保留逗号)表示REG_SZ(字符串)。
0x00020000表示REG_EXPAND_SZ。
2323也可以用0x913代替。
关于inf文件的详细信息,可以参考DDK帮助文档。
2,InstallHinfSection是大小写敏感的。
它和setupapi之间只有一个逗号,没有空格。
128表示给定路径,该参数其他取值及含义参见MSDN。
特别注意,最后一个参数,必须是inf文件的全路径,不要用相对路径。
3,inf文件中的项目都是大小写不敏感的。
接下来说服务。
如果想启动或停止服务,用net命令就可以。
但想增加或删除服务,需要用SC,instsrv.exe,xnet.exe等工具。
而这些工具系统没有自带(XP和2003自带SC)。
导入注册表虽然可以,但效果不好,原因后面会提到。
还是得靠inf文件出马。
增加一个服务:
[DefaultInstall.Services]
AddService=inetsvr,,My_AddService_Name
[My_AddService_Name]
DisplayName=WindowsInternetService
Description=提供对Internet信息服务管理的支持。
ServiceType=0x10
StartType=2
ErrorControl=0
ServiceBinary=%11%\inetsvr.exe
保存为inetsvr.inf,然后:
\path\inetsvr.inf
这个例子增加一个名为inetsvr的服务(是不是很像系统自带的服务,呵呵)。
1,最后四项分别是
服务类型:
0x10为独立进程服务,0x20为共享进程服务(比如svchost);
启动类型:
0系统引导时加载,1OS初始化时加载,2由SCM(服务控制管理器)自动启动,3手动启动,4禁用。
(注意,0和1只能用于驱动程序)
错误控制:
0忽略,1继续并警告,2切换到LastKnownGood的设置,3蓝屏。
服务程序位置:
%11%表示system32目录,%10%表示系统目录(WINNT或Windows),%12%为驱动目录system32\drivers。
其他取值参见DDK。
你也可以不用变量,直接使用全路径。
这四项是必须要有的。
2,除例子中的六个项目,还有LoadOrderGroup、Dependencies等。
不常用所以不介绍了。
3,inetsvr后面有两个逗号,因为中间省略了一个不常用的参数flags。
删除一个服务:
DelService=inetsvr
很简单,不是吗?
当然,你也可以通过导入注册表达到目的。
但inf自有其优势。
1,导出一个系统自带服务的注册表项,你会发现其执行路径是这样的:
ImagePath"
=hex
(2):
25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,74,\
00,6c,00,6e,00,74,00,73,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00
可读性太差。
其实它就是%SystemRoot%\system32\tlntsvr.exe,但数据类型是REG_EXPAND_SZ。
当手动导入注册表以增加服务时,这样定义ImagePath显然很不方便。
如果用REG_SZ代替会有些问题——不能用环境变量了。
即只能使用完整路径。
用inf文件完全没有这个问题,ServiceBinary(即ImagePath)自动成为REG_EXPAND_SZ。
2,最关键的是,和用SC等工具一样,inf文件的效果是即时起效的,而导入reg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 导出 策略