• 4
    积分
  • 2
    星梦
  • 0
    星券
  • 32
    帖子
  • 2
    主题
  • 0
    贡献
  • 0
    记录
  • 0
    日志
  • 0
    好友
跳转到指定楼层   *输入需要访问的楼层直接跳转

[转帖]删除Win2000/XP/2003中guest账号

yisitx 发布于2005-1-21 17:08 1152 次浏览 1 位用户参与讨论   [复制分享主题]
<P>一样是转自ENET的BBS,一天转那么多帖子,不会被警告吧?汗.......</P>
( a& b# [7 P) W9 F; h<P>==========================================</P>
. a* p8 z5 ]. n0 m<P>我们知道,在NT技术架构的Windows系统中,有一个系统内置的权限较低的匿名访问账号guest,我们经常会遇到在win2000和xp系统中设置了共享目录但别人却没法访问的情况,主要原因就是系统禁用了guest账号,只需启用该账号即可。但是由于该账号的存在往往会给系统的安全带来危害,比如:别人偷偷把你的guest激活后作为后门账号使用,更隐蔽的是直接克隆成了管理员账号,基于大多情况下该账号是不必要的,所以我们可以直接删除之以提高系统的安全性,遗憾的是在NT技术架构的Windows系统中不允许删除直接guest账号。那么有没有办法删除呢?有的,在Windows NT下有一个叫delguest的小工具就可以直接删除之,用法如下: </P>" ~: K$ r* x$ [* b6 M
<P>C:\&gt;delguest
+ R# v9 d) H" k( F0 ]# iDelGuest v1.2 - Copyright 1999, Arne Vidstrom
/ E. X+ Q6 n. }7 C6 X$ Y, J& [. p! O       - <a href="http://www.ntsecurity.nu/toolbox/delguest/" target="_blank" >http://www.ntsecurity.nu/toolbox/delguest/</A> </P>
3 ~. F) U# ^4 Y2 E: Q<P>Wrong OS version - DelGuest only runs on Windows NT 4.0! </P>
! U. E, z4 X6 s% d9 z<P>  遗憾的是该工具仅仅对Windows NT4.0有效,不能运行在Win2000/XP/2003系统中。那么我们能否手工删除guest账号吗?答案是肯定的,我们知道guest账号信息是存储在sam文件和注册表中的,对于sam文件,系统允许我们手工修改,但经我试验只要删除注册表中guest的账号注册信息我们就可达到目的。方法如下(以Windows NT和Windows 2000为例): </P>" h5 R* q, @+ I" \6 A% l: q# M
<P>C:\&gt;regedit </P>
9 H* T. `8 z, |3 q  T& _1 V<P>  打开HKEY_LOCAL_MACHINE\SAM\SAM,我们会看到里面已经没有信息了,事实上是有信息的主要是我们的权限不够,一般这时候我们是Administrator权限,而事实上此时对于系统的内置的SYSTEM是可以访问的,那么如何去打开SAM下的账号信息呢?我们先关闭regedit,然后执行: </P>3 U& Y- j" A) N6 e, V
<P>C:\&gt;regedt32 </P>
, y7 V. [3 A/ X: y<P>  找到HKEY_LOCAL_MACHINE窗口,选中SAM\SAM,然后点菜单中的权限设置,这时候我们可看到Administrators组只具有特殊权限,而SYSTEM账号却拥有全部控制权限,想一想这是为什么呢?其实很容易理解,SYSTEM账号是系统启动时候需要的账号,很多系统内核程序和服务程序大都是以该账号的权限运行的,若权限太低的话,恐怕我们的系统就运行不了!现在我们需要做的是更改Administrators权限(一定要在高级选项中记住该权限内容以备后用)为全部控制,这样我们就可以访问SAM下的信息了。再次运行regedit: </P>
; O& r3 F% S2 ~: w& N9 V. A( d/ b2 P3 Q<P>C:\&gt;regedit </P>
- N1 s& v3 ]% W<P>  哈!此时HKEY_LOCAL_MACHINE\SAM\SAM下就有东西了,步步深入一直找到: </P>* ]  d5 S. C, Z% h. y: k$ Y
<P>HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5 </P>
. Z0 W  g, d4 n+ w" V3 b, D<P>和 </P>4 ~; {4 F! H' I% \* l+ A4 E
<P>HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Guest </P>
; n3 W! }; g& M" F) P9 N7 _. p0 H- y0 H<P>  删除000001F5和Guest,然后退出regedit,再次运行regedt32,恢复Administrators对sam的权限(还记得Administrators的特殊权限吗?一定要记得啊,实在没有记住的话找其它同系统的机器看看也行,是一样的),这样是为了安全考虑,防止用户不小心删除系统账号。 </P>
+ r5 ]9 ^; S" D( u. ~0 p- o' h<P>进入dos窗口: </P>
: ^1 A. H+ }2 a3 z2 z* q- }<P>C:\&gt;net user </P>2 ~7 p. ^+ h: W6 B. ~1 I  W% i; C
<P>  看看,会看大guest不见了,同样使用系统管理器的用户和组查看也是没有的了。这样就大功搞成了! </P>
+ }- _+ w+ v2 C8 M- l  [' |<P>  在Windows XP和2003系统中,运行regedit和regedt32好像是一个程序,其实不是,仔细看就会发现在编辑菜单中多了一个“权限”选项,由此可见微软认识到以前做两个程序实现注册表管理可真是脱了KZFP。 </P>3 Q& q# W) D: c' d- M8 d0 R
<P>需要提醒的是: </P>
2 U9 c: X5 k! K' W) K1 p& N<P>1、不熟悉注册表编辑的一定不要乱来,否则可能导致系统崩溃。 </P>
" W. H' z  H7 ?8 d4 J<P>2、删除前可考虑通过注册表的导出功能对删除的部分进行备份,以便恢复。 </P>+ Y3 I% ]+ u' A, u: t! e7 P2 F9 l" e6 f
<P>深入去玩的方法是: </P>2 z8 M- o' `' n: X& |
<P>1、可通过编辑注册表的SAM信息可轻松删除或改动其它账号。 </P>% q8 }; A3 x# ]) b  Q
<P>2、可编写程序以SYSTEM权限运行来访问注册表中的SAM信息实现删除guest。 </P>: A! p: i: \5 \( i/ m
<P>=========================================</P>
4 `) V9 f4 ]4 ^1 f<P>我自己再加一句</P>* A9 m( \8 s' E2 ^, o4 `% ~
<P>如果是通过局域网代理上网的,我认为这个GUEST帐号留着也没有坏处</P>- J0 F+ F  `/ B* l
<P>如果是自己直接连接到INTERNET的,安全起见,还是删掉比较好</P>

已有(1)人评论

ekj 发表于 2005-1-28 07:56:49 | 显示全部楼层
<P>是啊.... 如果直接上网..Guest 帐号又打开了的话就是非常危险.........</P><P>因为这样别人就可以访问你的计算机里共享文件夹了~</P><P>可能你会说 没有人会哪么笨吧~~~ 可是...如果用软件找一下的话....不是可以找到很多人...甚至有的人 administrator 帐号没有密码! 或者开通了SQL 里的 sa 帐号........都很危险的~~~~~~</P>
您需要登录后才可以回帖 登录 | 註冊

本版积分规则

快速
回复
返回
列表
返回
顶部