2006-05-23

恢复windows 2000管理员密码

今天下午把germa58这台电脑从DM 330楼移到了A 423。由于这台电脑很久没人用了,想使用SUS更新一下,可是不知道管理员密码。用香山红叶版本的windows PE启动后用ERD 2003想重置管理员密码,结果程序报告无法打开密码数据库文件,只好用其他的办法。一个简单的办法是删掉%Windir%\System32\Config\文件夹下的Sam文件,然后重新启动计算机。这样就可以Administrator身份登录系统,此时密码为空。


Windows NT/2000/XP中对用户账户的安全管理使用了安全账号管理器(Security AccountManager,SAM)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安全标识也同时被删除。安全标识是惟一的,即使是相同的用户名,在每次创建时获得的安全标识都是完全不同的。因此,一旦某个账号被删除,它的安全标识就不再存在了,即使用相同的用户名重建账号,也会被赋予不同的安全标识,不会保留原未的权限。


安全账号管理器的具体表现就是%SystemRoot%\system32\config\sam文件。SAM文件是WindowsNT/2000/XP的用户账户数据库,所有用户的登录名及口令等相关信息部会保存在这个文件中。

2 条评论:

  1. 删除sam文件的办法只适用于windows 2000。如果操作系统是windows XP,那么就得换用其他的方法:

    (1)默认帐户登录法:
    首先告诉大家一个小技巧,一般情况在安装windows XP过程中会出现要求输入管理员密码,大多数情况用户都直接跳过去了。所以说XP系统安装完毕就内置了一个用户名为administrator,密码为空的帐户。我们可以在XP系统登录界面时按ctrl+alt+del三键,这时会出现一个传统的类似于WINDOWS 2000系统的登录界面,在该界面中输入用户名为administrator,密码为空来尝试登录。
    如果发现使用administrator和空密码不能登录系统的话就要采取下面介绍的脚本法来解决了。
    (2)启动脚本法:
    首先我们要了解下系统的启动脚本和关机脚本。win2000/xp计算机启动和关机脚本是他们的一个新特色,启动脚本是用户登录之前运行的批文件,他的功能类似于windows 9x和DOS中的自动执行批处理文件autoexec.bat,而关机脚本是计算机关机之前运行的文件。
    小提示:在win2000/xp系统中还存在着一个称为用户登录/注销脚本的概念,那么他们和上面提到的启动脚本和关机脚本有什么区别呢?两者的主要区别是:计算机启动/关机脚本在计算机启动和关机时运行,脚本程序只运行一次,通常在启动脚本运行完毕后才出现邀请用户登录的对话框;而用户登录/注销脚本在邀请用户登录的对话框出现后,用户登录系统或从系统注销时才运行,运行次数由用户登录/注销的次数决定,每登录/注销系统一次,脚本程序就运行一次。
    在2000/XP系统下我们可以通过组策略来进行启动和关机脚本的配置。“开始->运行->输入gpedit.msc”,启动组策略。在本地计算机策略的计算机配置下的windows设置中我们可以看到脚本(启动/关闭)的选项。在这里我们就可以随意的添加启动和关机脚本了。这样当系统启动后都会首先自动执行我们设置好的启动脚本。那么如果我们将一个修改帐户密码的脚本放在启动脚本中,不就可以让系统启动后马上将密码进行修改吗?启动脚本法破解系统帐户就是通过这个原理来执行的。
    当我们应用了启动/关机脚本的时候,会在系统目录下的system32\\\\\\\\grouppolicy\\\\\\\\machine\\\\\\\\scripts目录下生成一个scripts.ini的隐藏文件,他记录的实际上是脚本调用信息,该文件格式如下:
    [startup]
    0cmdline=加载的启动脚本名称(bat或VBS等)
    0parameters=后头跟参数,一般为空
    [shutdown]
    0cmdline=加载的关机脚本名称
    0parameters=跟参数,一般为空

    那么我们完全可以通过编辑开机脚本,从而实现了在计算机启动后自动修改被遗忘的管理员密码。
    第一步:首先编辑一个修改管理员密码的BAT文件,内容为\\\\\\\"net user administrator it168\\\\\\\",代表的是把administrator密码修改为it168。
    第二步:通过98启动盘启动操作系统或把本机硬盘挂接到其他机器上,不管用什么方法只要能够成功的把第一步编辑的脚本文件复制到系统目录下的system32\\\\\\\\grouppolicy\\\\\\\\machine\\\\\\\\scripts\\\\\\\\startup下即可。
    第三步:我们还要对scripts.ini进行编辑。(例如BAT文件名为softer.bat)相应的scripts.ini文件内容如下:
    [startup]

    0cmdline=softer.bat
    0parameters=

    第四步:重新启动计算机后,系统就会在登录前自动把administrator帐号的密码修改为it168,从而成功实现了管理员密码的破解。
    使用启动脚本法破解XP系统密码后还需要及时的将启动脚本删除,否则以后即使你修改了管理员的密码,也会因为启动脚本的存在而每次启动自动将密码还原为it168。
    小提示:该方法对于windows2000系统也是适用的,只不过不如删除SAM文件法来的简单方便。

    回复删除
  2. 赤手空拳破解WINDOWS 2003系统密码:

    实际上在windows 2003以及windows 2003 sp1系统上也是可以采用启动脚本来破解的,他并不算一个系统漏洞,仅仅是我们成功使用了系统内置的启动脚本功能来实现破解密码的操作而已。但是在 windows 2003系统中实施启动脚本破解密码和XP下有所不同。如果你的windows 2003系统没有运行过组策略的话,直接按照上面的方法复制启动脚本是找不到系统目录下的system32\grouppolicy\machine\ scripts\startup目录的,即使我们手动建立相应的目录,复制脚本后仍然无法实现密码破解的功能。
    因为2003系统中文件目录及启动脚本的存放规则与XP是有区别的。所以这里我告诉大家一个取巧的方法,那就是找一台你知道密码的windows 2003系统,然后再其上通过组策略设置一个启动脚本,启动脚本的功能为修改管理员密码为it168。然后使用软盘将该windows 2003系统下的c:\WINDOWS\System32\GroupPolicy\目录全部复制出来,接着使用98启动盘启动需要破解的计算机,将c: \WINDOWS\System32\GroupPolicy\目录复制到该计算机的相应目录,这样重新启动计算机进入windows 2003系统时该系统就会自动运行启动脚本,将管理员帐户修改为it168了。

    回复删除