在系统账户中查找/删除克隆账户
1.备份注册表
操作前首先将注册表SAM项中的内容导出,做好备份,以便在修改出现问题时恢复。
2.查找克隆账户
mt.exe为一个查看克隆账户的工具,这个exe文件会被杀毒软件当成病毒杀掉,所以使用前要关闭杀毒软件或排除对这个文件所在目录的检查。
在命令行下运行 mt.exe -chkuser >> d:chkuser.txt ,将结果保存到txt文件中,文件中会有类似如下的内容(注意,如果之前没有给SAM权限的话会提示Require System Privilege):
UserName ExpectedSID CheckedSID
Administrator 1F4 1F4
ASPNET 3EE 3EE
Guest 1F5 1F5
...........
其中ExpectedSID与CheckedSID一致的为正常账户,不一致的有可能是问题账户。如果不一致的内容当中为401/4010、501/5010形式,那么这些仍然为正常账户,但内容中有1F4这个值的,可以肯定是克隆了管理员账户权限。
3.删除克隆账户
一旦我们查到了克隆账户,怎么删除呢?对于克隆账户,首先进入注册表查看是只复制了F值,还是F与V值都复制了。如果只复制了F值,可以直接在"本地用户和组"中进行删除。
如果F与V值都复制了,则不能直接在"本地用户和组"中删除,否则会像上面说的那样删除管理员账户。需要到注册表中删除该克隆账户对应的两个项。
另外有些情况下在"本地用户和组"直接删除时也会报错(例如报"删除用户 xxx 时,出现了以下错误:用户不属于此组"),这时也需要到注册表中删除对应项。
4.注意事项
1)如果将导出的SAM注册表文件导回去,会出现"本地用户和组"中的组无法显示的情况,但不影响正常使用,重启服务器后组会恢复正常显示。
2)如果用删除注册表内容的方式来删除账户,在删除后会出现刷新"本地用户和组"中的用户时出现错误提示"读取用户属性时,出现了以下错误:帐户名与安全标识间无任何映射完成",但不影响用户的显示和使用,重启服务器后错误提示消失。
3)如果在手动操作或者某些软件操作时,出现错乱,导致AccountUsersNames中的用户名和AccountUsers下的值没有一一对应(例如缺少某个值出现一对多情况),则"本地用户和组"中的账户会不显示,但不影响大部分用户的正常使用。删除注册表中的错误项后即可恢复正常显示。这里在删除时,建议把有问题的账户全部删除,例如出现了test和test1都对应00000ABC这一项时,最好将test与test1删除手动重建。
4)操作前记得给注册表SAM项管理员完全控制权限,操作完之后将权限改回去。
5)http://www.beginningtoseethelight.org/ntsecurity/index.php#F5503DC07F1DBE6D,这篇文章详细介绍了windows2000账户相关的内容,不过不完全适用于windows2003。
mt.exe下载