网络通信 频道

Resource Kit 中文版帮助 一

Resource Kit 中文版帮助

下载Windows 2000 Resource Kit其中的一些小工具链接:

http://www.microsoft.com/windows2000/techinfo/reskit/tools/default.asp

概要

Resource Kit实际上是Microsoft为管理员提供的一套额外的工具集,包括了超过400个各种工具,vbs,dll,msc,涵盖了管理TCP/IP,网络,注册表,安全,远程管理,配置,Batch文件,以及操作系统的其他方面。可以让你更容易的管理一个NT系统。不得不承认这是一个非常庞大的工具集,包括到了已经被人们所遗忘2K所应该具有的功能。当你了解到了里面一些工具的性能以后,你将会知道即使仅仅只是一个C2级的操作系统也具有相当的安全性,对于细心配置的系统,攻击也只能伤其表面。但是,但是任何东西都有他的两面性,ResKit就非常具有代表性,在Hacker群体中大家习惯把这个玩意叫做“Hacker的工具箱”。当然如果你想当一个Hacker你得掌握里面的东西,而想当一个好的administrator你也得掌握里面的东西。希望大家都可以好好看看。想下载的话可以去htp://www.54bb.com/hack看看,那里有NT4和2000的各种版本。一般我推荐下载2000完整版,因为里面的东西是最全的,即使最全的啦,也还是少了太多东西了。

这个介绍的内容将会尽量多的写,但是个人能力有限,有什么问题大家赶快提出来进行改正和充实。

第一部分:管理你的计算机

1. Appsec.exe (Application Security)

Appsec.exe是一个基于GUI的应用程序,它允许管理员在一个多用户环境下限制普通用户访问一组网络上经预订的应用程序。启用这种应用程序安全性,将会导致系统拒绝普通用户执行或使用一个未经许可的应用程序。大家 看这是不是一个很有用的工具呢?对某些特定的程序进行限制以后,可以减少一些Hacker入侵的可能,下面我们 继续讨论。

对于2000来说一个显著的特点就是引入了GPO(Group Policy)这种东西,实际上就是一个界面化了的注册表编辑器,但是因为GPO的存在2000大大提高了他的安全性。一般来说,我们可以通过配置GPO从启动菜单和桌面 上隐藏一个应用程序,但是不能禁止用户用其它手段访问它,Appsec增加了这种安全性,可以禁止用户执行应用 程序甚至是从命令行模式或者使用其他的应用程序。Microsoft的建议是和GPO一起使用,放在Terminal Server上运行或者说是在应用程序运行的机器上使用。Appsec对于应用程序的限制还算严格,除了应用程序的名称以外还要包括该应用程序的全路径,只有二者都附和才能够运行。

下面提几点注意:
a. 只有管理员或管理员组的成员可以运行所有程序,用户(包括PowerUser组)只能运行列表中的应用程序。
b. Appsec第一次启用时,Terminal Server的会话必须中断,否则Appsec将不能在本次会话中启用。
c. 实际上Appsec只能限制调用CreateProcess方法的应用程序,不能限制使用NTCreateProcess方法的程序,但是这种程序非常的少见。
d. Appsec只能限制32位的程序,但是在默认情况下,一旦启用appsec任何对16位程序的访问都是禁止的,但 是可以添加ntvdm.exe来使16位程序可以被访问。
e. 我想这个也是Appsec最大的缺点,Appsec并不对程序本身进行检查,也就是所如果将该有效程序进行替换 的话,Appsec不会发现。所以说我们必须禁止用户替换和重命名应用程序,这可以用Security Template来做。
f. 还有Appsec只可限制可执行文件,不可以是DLLs。
g. Appsec的使用是对于计算机的,也就是说一经启用使用本机的用户都要受到限制。

另外,应该要提到的一点是,按照Microsoft的要求,Appsec的列表中至少应该有:
\Wtsrv\explorer.exe
\Wtsrv\system32\cmd.exe
\Wtsrv\system32\net.exe
\Wtsrv\system32\regini.exe
\Wtsrv\system32\subst.exe
\Wtsrv\system32\systray.exe
\Wtsrv\system32\xcopy.exe
这么几项。

当然啦!你去掉也是可以的,但是会造成用户难以正常使用。嗯,以我个人的建议,如果你想防止Hacker入侵去掉net.exe会有意想不到的收获,呵呵!cmd.exe也是不错的选择,如果不想管理员以外的任何人访问就统统去掉就好,后果你们试试就知道了。

p.s. 这个程序所需要的文件Appsec.exe(这个倒是在),Appsec.hlp(这个也在),但是Appsec.dll,
psec.cnt,Instappsec.exe并没有包括在Resource Kit里面,要去网站上自己下载!!这简直是搞笑嘛!也只有Microsoft干得出来。你可以在这个地方下载这个hotfix:
http://download.microsoft.com/download/win2000platform/Appsec/1.0/NT5/EN-US/appsec_hotfix.exe,安装以后就可以用了。 启用以后,换个用户(不是管理员组)登陆本机随便点个应用程序,你就可以看到Access to specified device, path or file is denied的警告,很厉害的!

2. Cachemov.exe (Offline Files Cache Mover)

Cachemov.exe一个有趣的东东,用来移动离线文件的缓存(默认保存在根卷下),如果你觉得那东西在那个地方碍的你事的话,把它挪个地方也没有什么问题。这个工具比较简单就不再多说什么了,就一个GUI,然后选择 一个卷,它就自动帮你做完了,很简单。你也可以使用无人值守模式 cachemov -unattend x:\ 电脑自己搞 定,此时需要(Cchmvmsg.dll)。所有的结果会保存至应用程序日志。 只是注意一下,运行时需要管理员的身份,还有就是不能够移动到网络驱动器和可移动驱动器上去。移动以后不要改letter,不然你会有麻烦的!

3. Defptr.exe (Default Printer)

如果你闲着没有事的话,可以用用这个东西。它允许你随意改变你的默认打印机,可以在可用的网络和本地打印机间交换,一旦运行以后会在右下角有个小图标(如果不想看到图标可以使用defptr -i), 这个东西可能对漫游用户会有一点好处吧!

4. Delprof.exe(User Profile Deletion Utility)

删除用户的Profile时用的工具,本来这个是可以在System Properties里面做的。而这个工具可以在本地或是远程运行,看起来的好处就是可以指定多长时间不使用就删除,在处理比较多的用户的时候才显得出好处来,就那么个把的话,就自己做好了。稍微介绍一下语法好了。

delprof /q /i /p /c:\\computername /days /?

/q 后台悄悄执行,不用确认。
/i 忽略错误继续删除。
/p 在删除前提示确认。
/c:\\computername 这个不用解释了吧?
/days 指定多少天不使用的Profile就删除,days用整数。
/? 出现上面这些东东。

5. DelSrv.exe (Delete Service)

一个拿来删除服务用的工具,使用起来非常简单,只要delsrv servicename就可以了。没有什么好说的。

6. Dureg.exe (Registry Size Estimator)

这是一个用来评估你的注册表储存了多少数据的工具,可以从任何一个hive,subtree和subkey中读出。另外,这个工具还可以用来搜索注册表中的text字符串,这种搜索还可以具体到某个subtree中。

这个工具主要用于得出注册表具体占用空间,对于开发人员和管理员来说都是一个非常有用的工具。虽然我们可以使用控制面板中的System选项和系统监视器中的Registry Quota in Use来监视注册表,但是如果你只想知道某个单独的Key或者是Subkey所占用的空间,上面这些工具就无能为力了。

语法:

dureg /cr /cu /u /lm /a /s│/d "registry_path" "string to search"

/a

表示查找整个注册表的大小。

dureg /a
Size of HKEY_CLASSES_ROOT : 7740324
Size of HKEY_USERS : 995732
Size of HKEY_LOCAL_MACHINE : 17265663
Total Registry data size: 26001719

/cr "registry_path"
默认情况下,返回的是HKEY_CLASSES_ROOT的大小。

/cu "registry_path"
默认情况下,返回的是HKEY_CURRENT_USER的大小。

/lm "registry_path"
默认情况下,返回的是HKEY_LOCAL_MACHINE的大小。

/u "registry_path"
默认情况下,返回的是HKEY_USERS的大小。

以上四个选项都可以在 "registry_path"中填入该Subkey下的任意key。比如:
dureg /lm "software\microsoft",查找HKEY_LOCAL_MACHINE\Software\Microsoft key的大小。

/s "string"
在注册表中搜索该字符串。比如:
dureg /s "run" 寻找和run相关的字符串。当然你也可以和/cr等这几个参数一起使用,比如:dureg /cr

/s "run"。
会看到一大串显示,这里就不写出来了。

7. Elogdmp.exe (Event Log Query Tool)

一个命令行工具用来导出选定的日志中的信息。这是在屏幕上进行显示,最好和Find或者是Findstr这样的工具一起使用,不然太难找到了。

语法:

elogdmp -? computername eventlogtype

eventlogtype有Application, Security,System三种。

比如: elogdmp hello application

这个工具可以远程使用,但是需要域管理员组或者是本地管理员组的成员才可以使用。

8. Instsrv.exe (Service Installer)

嗯,Instsrv.exe一个命令行工具可以用来安装或者是删除可执行服务(.exe),当然也可以给它们分配名字的
语法:

instsrv Servicename pathtoexecuteable -a accountname -p accountpassword or Servicename remove

ServiceName
用来显示的名字,比如Alerter。

PathToExecuteable
要安装服务文件的全路径,包括盘符在内。

-a accountname
指定服务运行的帐户。

-p accountpassword
帐户的密码。

servicename remove
指定你想移出的服务。

比如:你想安装一个bbb.exe作为一个bbb的服务。
instsrv bbb "c:\program files\bbb.exe"
默认情况下,我们安装的服务是没有启动的,需要启动。而有些时候需要插入相应的注册表项。

如果想指定这个服务在某个用户下运行:
instsrv bbb "c:\program files\bbb.exe -a hello\bbb -p xxx"
that''s OK!

如果要卸在的话: instsrv bbb Remove,注意删除之前要先Stop。

这里我们再提到一个工具Srvinstw.exe,这是一个GUI模式的工具,所以用起来非常的简单,照着提示一步步做就可以了。它和Instsrv.exe的区别是这个东东可以在远程计算机上安装服务。它们都需要administrator 的特权,请记住。

9. intfiltr.exe (Interrupt Filter)

这是一个在多CPU环境下用来调整CPU之间中断关系的工具,可以用来测试最优化的方案。我没有2个这种东西,这个程序就没有进行测试了!那个有的话,帮我试试,告诉我结果。我把它补全。

10. Inuse.exe (File-In-Use Replace Utility)

一个命令行工具可以用来替换被锁定的操作系统文件,比如一些重要的DLL文件。这些文件会在下一次启动的时候被替换,根据微软的说法,这种替换会在下一次启动的Autochk完成之后,创建Paging Files之前。基本上来说,这个一个调试用的工具。该程序需要管理员身份运行。

语法:

insuse -? source destinaion /y

source
你想用来替换的文件。可以使用完整的物理路径或者是UNC路径。

destination
你要替换的文件。

/y
表示确定。

如果你想用一个远程文件来替换一个本地存在的文件可以使用下面的方法。
inuse \\hello\winnt\abc.dll c:\winnt\abc.dll /y

11. Javareg.exe (Java/COM Registration Utility)

命令行工具可以用来注册Java classes,鄙人不懂Java这种高深的东西,连什么是classes都不知道,没有办法了,这一块就只好%¥&………了,不好意思。有懂的人帮一下忙好了!

12. Netsvc.exe (Command-line Service Controller)

一个命令行工具,用来控制服务,和SC比较类似,但是在功能上要比后者少很多!用这个工具基本上可以进行远程启动,停止,暂停,继续服务或者查询一个服务的状态。基本上只要你是一个普通用户就可以执行这个命令, 当然如果要启动和停止的话,就需要相应的权限了。 当然和SC相比Netsvc有很大的局限性,所以在这里我多说一点和服务有关的东西。在Win2k虽然你可以对各种服务进行查询,但是并不是所有的服务都可以直接关闭,比如Workstation这个服务,但奇怪的是Workstation这个服务有些时候会莫名其妙的丢失,至今我还不知道原因,一旦丢失以后基本上就 需要重装了。我们继续话题,当一个用户有许多活动的连接存在的时候,你只可以查询或者是暂停该服务,而不能远程强迫服务停止。而如果有服务依靠别的服务才能运行的时候,我们也不能直接停止该服务。举一个简单的例子,Clipbook服务需要Network DDE服务才能运行,我们必须先停止CilpBook才能停止Network DDE。

这里还要提到另外一种状况,就是当你停止一个不可以停止的服务的时候Netsvc会报告Service is running ,而该服务不能停止的原因有很多种,但是Netsvc并不会报告给你,太惨了!!此外,当一个服务不能被暂停的时候,这个鬼东西仍然会报告给你说Service is running,唉!所以说最好使用SC。

语法:

netsvc command servicename \\computername /?│/help

command可以是以下几个命令:

/list
列出已经安装的服务,这个时候不使用servicename。

/query
查询一个服务的状态。

/start, /stop, /stop, /continue
这几个命令就不用解释了吧?字面意义都已经很清楚了。

最后举两个例子吧!如:

netsvc /list \\hello

netsvc /query \\hello "Alerter"

netsvc Alerter \\hello /pause

更进一步具体的内容可以在SC那里看到,这里不再多说。

13. Now.exe

Reskit里面比较无聊的命令之一,可以在STDOUT(Standard output)上输出一个带时间戳的东东。有点像ECHO命令。举例说明算了:

当我们打入ECHO bbb的时候,屏幕会显示bbb
C:\>echo bbb
bbb

但是当我们用Now bbb的时候,会输出:
C:\>now bbb

Sat Feb 16 22:31:34 2002 -- bbb
这种东西,不知道有什么用!

14. Pathman.exe

一个命令行工具可以修改系统路径和用户路径,当然这个工具还可以用来检查路径中的错误,有多余的头部分号,尾部分号,多个连接得分号,重复的添加和删除,增加重复的路径或是移出一个不存在的路径等等,但是不检查路径的有效性。 2K保留了两套路径,一个是统一的全局系统路径,另一组是每个用户个别的用户路径,当然为了保证兼容性,2000仍然保留了从Autoexec.bat装入路径。每个用户可以修改自己的用户路径,而只有管理员可以修改系统路径,为了方便操作,微软就搞出了这个Pathman。

语法:

pathman /as /au /rs /ru path

/as
增加分号隔开的系统路径。

/au
增加分号隔开的用户路径。

/rs
删除分号隔开的系统路径。

/ru
删除分号隔开的用户路径。

当修改完成以后,Pathman会广播信息给所有的顶端窗口提醒它们环境被改变了,这将会导致应用程序升级它们的环境,获得经修改的路径。

举例说明:

添加c:\temp;C:\users\name;d:\utils为用户路径,当然,只是在它们不存在的时侯才添加。这个结果你可以在System properties的Environment Variable中看到。上面一栏是user的变量,下面是系统变量。

实际上这个工具也有个好处就是添加和删除可以同时操作,你可以:
pathman /au C:\users\name /ru c:\users\name 呵呵!不过没有什么意思!

15. Ptree.exe(Process Tree)

该程序可以允许你在本地或者是远程查询进程树,同样也可以Kill它们。2000默认情况下,允许Local Administrators, Power Users, Users查询这些树,但是只有Local Administrators和Power Users可以Kill进程。

就这个工具而言,它有这么几部分组成ptreedrv.sys(kernel-mode驱动程序),ptreesvc.exe和 ptreesvcps.dll(2000的服务的程序,就是所ptree是需要在该计算机上安装一个服务),Ptreesvr.dll(COM+服务端),ptree.exe(控制台客户端),Ptreeg.exe(GUI客户端,推荐使用这个,在DOS底下看到的东西太少,也不好看,还是GUI爽!而且还可以同时管理多台计算,不错吧!我是挺喜欢的,比Ctrl+Alt+Del出来的那个东西要好得多!)

这个程序并没有和Reskit一起安装,而实在Reskit的目录下生成一个名为Ptree的目录,底下有个ptree.msi,要点击安装。同时由于这是一个基于COM+的程序,而安装ptreeCOM的时侯,需要MSDTC服务,注意不要把它关了,不然会导致ptree不能正常运行,而且只会提示不能找到服务,后来是查了错误日志才发现的,微软坑人 !。我就因为这个弄了好一阵子,呵呵! 使用嘛,很简单,GUI就不用说了,都有提示,说一下命令行模式吧!

ptree -c computer -k│-kt process -?│/?

-c computer
当要管理的是远程主机的时侯才需要用的这个参数,如果是本机就不要啦,直接ptree就可以了。

-k process
干掉后面指定的进程。
这里的process可以是进程的名字也可以是PID。
-kt process
可以干掉整整一棵树。

举例: ptree -c hello 然后出来一大串东西,自己看吧!

16. pulist.exe


命令行工具,和上面那个东西有点类似,和Tlist也有一点像(这东西在Support Tools里面)但是pulist.exe多一点点好处,可以显示出进程和用户之间的关系。比如:
C:\>pulist

Process PID User
Idle 0
System 8
smss.exe 156 NT AUTHORITY\SYSTEM
csrss.exe 176 NT AUTHORITY\SYSTEM
winlogon.exe 172 NT AUTHORITY\SYSTEM
services.exe 228 NT AUTHORITY\SYSTEM
lsass.exe 240 NT AUTHORITY\SYSTEM
svchost.exe 428 NT AUTHORITY\SYSTEM
spoolsv.exe 452 NT AUTHORITY\SYSTEM
msdtc.exe 480 NT AUTHORITY\SYSTEM
tcpsvcs.exe 604 NT AUTHORITY\SYSTEM
svchost.exe 620 NT AUTHORITY\SYSTEM
llssrv.exe 644 NT AUTHORITY\SYSTEM
nspmon.exe 712 USER1-COMPUTER1\NetShowServices
nscm.exe 724 USER1-COMPUTER1\NetShowServices

当你的计算机有多个处理器时,需要判断安全上下关系的时侯这个工具的用处就体现出来了!如果是远程操作的时候就多加一个pulist \\server就可以了。而且可以顺序显示多个站点pulist \\server \\server………, 但是这个时侯会不显示User。

当你需要专门查找一个已知的进程的时候,可以用这样的方法来简化查找:
pulist │ find "string"


比如,过去老的pwdump2需要知道LSASS的PID,我们可以这样做:

c:\>pulist │ find "LSASS"
LSASS.EXE 252 NT AUTHORITY\SYSTEM
然后使用252来运行pwdump2………

文章转载地址:http://www.cnpaf.net/Class/hack/05121820345023301503.htm

0
相关文章