在windows nt系统中,administrators用户组是一般用户使用的最多的,其也拥有
很高的权限,不过在系统中,拥有最高权限的帐户是System,在任务管理器中,
有很多windows的关键进程运行在System帐户下。
一般来说,处于administrators用户组是不需要使用System帐户的权限的,因为
administrators组已经拥有即大的权限,不过在某些方面administrators组还是受
到一些限制,如使用regedit命令,运行在administrators下就无法查看如HKLM\
SAM下子键的内容,这是被保护的键值。
Winternels的大名鼎鼎的pstools工具中的psexec.exe命令能够实现使用System
帐户运行命令,其原理为使用运行服务的方法,因为在系统中服务能够运行在
System帐户下,使用服务执行的命令理所当然运行在System特权下。
基于该原理,本人编写了一个命令行工具SysExcute.exe,功能是在本地系统中
使用System权限运行命令,当然该工具的功能要远远弱于psexec
例1:运行命令sysexcute -i regedit.exe
效果:
可以看到,运行在System特权下的注册表编辑器能够访问sam子键中的数据。
例2:先结束explorer.exe进程,再运行sysexcute -i explorer,表示运行以
System权限运行explorer
效果:
不错,现在你的shell explorer运行在System特权下,可以随意访问文件,如
进入系统还原等文件夹(系统还原文件夹亦可在文件夹的ACL中添加administrators
用户组,以实现访问)。
SysExcute.exe命令可以带有一个参数-i,当需要运行的命令需要与用户交互时,
需要带上该参数,如上面的explorer和regedit。
SysExcute下载 md5:3321fdb533a28371a9f7245038dfcd62
在平时的使用中,我使用该命令来关闭McAfee杀软,虽然McAfee在8.5i版本中
增强了对于自身的保护,不过令人奇怪的是,虽然无法在administrators权限下关闭
McAfee,不过在System权限下,却能够通过SCM将其关闭,例如,关闭McAfee的
主服务Mcshield,可以运行SysExcute net stop mcshield或SysExcute sc stop mcshield。
但是如果使用SysExcute taskkill /im mcshield /f 命令却无法结束mcshield进程,
说明保护起着作用,或许这是McAfee的一个bug吧,在最新的McAfee 8.5i sp1
中也没有进行修复~
对于如卡巴司机,是无法使用SysExcute sc stop avp来结束其服务的,McAfee 8.5i
在这点上表现不如卡巴(不知道McAfee的个人版在这方面有没有改进)。
下面放出一个批处理,该批处理能够完全停止McAfee 8.5i
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////mcafee.bat
@echo off @if {%1}=={start} goto start @if {%1}=={stop} goto stop @if {%1}=={console} goto consol goto end
:stop @sysexcute sc stop Mcshield @sysexcute sc stop McTaskManager @sysexcute sc stop McAfeework @sysexcute sc config Mcshield start= disabled @sysexcute sc config McTaskManager start= disabled @sysexcute sc config McAfeework start= disabled @echo Windows Registry Editor Version 5.00>tmp.reg @null >>tmp.reg @echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>>tmp.reg @echo "ShStatEXE"=->>tmp.reg @echo "McAfeeUpdaterUI"=->>tmp.reg @reg import tmp.reg @del tmp.reg @tskill UdaterUI @tskill shstat @tskill Mctray goto end
:start @sysexcute sc config Mcshield start= auto @sysexcute sc config McTaskManager start= auto @sysexcute sc config McAfeework start= auto @sc start Mcshield @sc start McTaskManager @sc start McAfeework @echo Windows Registry Editor Version 5.00>tmp.reg @null >>tmp.reg @echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]>>tmp.reg @echo "ShStatEXE"="\"C:\\Program Files\\McAfee\\VirusScan Enterprise\\SHSTAT.EXE\" /STANDALONE">>tmp.reg @echo "McAfeeUpdaterUI"="\"C:\\Program Files\\McAfee\\Common work\\UdaterUI.exe\" /StartedFromRunKey">>tmp.reg @reg import tmp.reg @del tmp.reg @start C:\"Program Files"\McAfee\"VirusScan Enterprise"\SHSTAT.EXE @start C:\"Program Files"\McAfee\"Common work"\UdaterUI.exe @start C:\"Program Files"\McAfee\"Common work"\Mctray.exe goto end
:consol @C:\"Program Files"\McAfee\"VirusScan Enterprise"\mcconsol.exe
:end
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
命令行下输入 mcafee stop即停止mcafee 8.5i的运行,输入mcafee start即运行mcafee 8.5i,输入mcafee consol是调出其控制台。
上述批处理中有一个null命令,该命令的作用是生成一个空行,点击进入下载页
P.S:
小知识,在windows中,最简便的使用system权限运行命令的方式是使用at命令。
at命令是执行计划任务服务,而所有服务运行的权限是system权限
at中加入/interactive参数既能使运行的子程序与桌面交互,例:at 时间 /interactive regedit |