Hotmail
级别:新手上路 威望:0 经验:0 货币:175 体力: 来源:61.241.2.* 总发帖数:3 注册日期:2002-11-08
|
|
查看 邮件 主页 QQ 消息 引用 复制 下载
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都
不清楚的。更多原创尽在www.h4h4.com |