下载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\system32net.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_hot
fix.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 Serv