以文本方式查看主题

-  堕落街论坛  (http://duoluojie.1314179.com.cn:443/index.asp)
--  游戏体育  (http://duoluojie.1314179.com.cn:443/list.asp?boardid=331)
----  谈谈sam\sam\domains\account\user  (http://duoluojie.1314179.com.cn:443/dispbbs.asp?boardid=331&id=13381)

--  作者:思维中毒
--  发布时间:2003/12/9 9:44:00
--  谈谈sam\sam\domains\account\user
hklm\\sam\\sam\\domains\\account\\userss下的值一般情况下是需要有local system权限才可以打开的,因为 下面存放的都是系统非常敏感的数据,所以就算是admin权限都中能对其操作的.我们现在看看为 什么系统需要用户要有local system才能操作这些数据. 在注册表中的hklm\\sam\\sam\\domains\\account\\users放的是系统帐户的SID以及帐户的名字, 帐户的名字是放置在hklm\\sam\\sam\\domains\\account\\users\\names下,第一个在hklm\\sam\\sam\\domains\\users\\names 下的帐户名有会有一个为Default的键,但这些键是没有值的,只有数据类型,而且数据类型非 常的奇怪,一般注册表的数据的类型是REG_SZ,REG_DWORD,REG_MULTI或REG_BINARY四种的,但是 这里我们看到的数据类型的格式是0xMNK这样的(M,N,K代表16进制中其中一个值).看起来这个值 似乎是没有用处的,不过其实是有用的。例如Administrator这个帐户在hklm\\sam\\sam\\domains\\ account\\users\\names\\Administrator里的值是0x1f4,那么这个帐户会有一个键值在 hklm\\sam\\sam\\domains\\account\\users\\000001F4,在hklm\\sam\\sam\\domains\\account\\users\\000001F4 下会有两个键,V和F,这两个键下的值就是很有用的数据了,一般的克隆帐户利用的就是这两个 键值,而且V键值更为重要.F键一般只是存放了对应帐户的一些不是太重要的数据,例如帐户上 次登陆时间,登陆过系统多少次等,但V键就是存放了对应帐户拥有的权限以及其它的信息。 因为每个帐户都要有一个在hklm\\sam\\sam\\domains\\account\\users下有一个相对应的SID键值,如 果没有了又会怎么样呢?例如hklm\\sam\\sam\\domains\\account\\users\\names\\Administrator下的 值是0x1f4,但在hklm\\sam\\sam\\domains\\account\\users下并没有一个000001F4的键,那么你在 命令行下用net user命令,你一样可以看到有administrator这个帐户的,但如果使用 net user Administrator命令,系统就会出现错误信息。因为系统无法在hklm\\sam\\sam\\domains\\account\\users 下找到000001F4这个键,从而无法得到Administrator帐户的信息,所以系统就会出现错误信息。 管理员在admin权限下,是无法删除内建帐户例如Administrator,Guest等帐户的(改名字倒是可以 的),但在local system权限下,是可以将这些帐户全删除的,只要对hklm\\sam\\sam\\domains\\account\\users 的键值进行操作,一般是将帐户以及它相对应的SID的键全删除了,或只是删了那个帐户的名字, 但保留它的SID的话,那帐户在系统中是不再存在的。基于安全的原因,系统才会需要用户具有 local system权限才可以操作那些数据(怕用户的误操作将帐户删了或将数据改得一团糟). 知道了帐户名和它的SID值在注册表sam\\sam\\domains\\account\\users下的关系,对于我们操作 sam下的值是很有帮助的。通过编程,是可以直接操作注册表对删除一个帐户,克隆某个帐户 或创建一个新的帐户。但因为SID下的V和F值下的数据有很多还不知道它的意义,亦不知道在哪 里可以看到这类的资料,所以在创建一个新帐户是比较有困难的,只能是将其它帐户的F和V值 复制到新建的帐户中去. 能够熟悉操作sam下的键值,是根本没有查不出来的克隆帐户或隐藏帐户这回事的(当然API hooking 或其它未为人知的方法还是有可能的),不过如果只是帐户还能在注册表中的sam/sam下存在,那 么就一定可以找出来的.不过一般的管理员恐怕是连如何才能得到一个local system的shell都 不清楚的。