3389
在《黑客营传奇》中,鹿采薇采用Windows 2000/XP/2003中的MS04-11这个漏洞溢出攻击了留香客栈的雪柔,阅读过这篇文章后我也作了测试,发现溢出那些没有打补丁的Windows操作系统的确很简单,但是在溢出成功后装木马时却遇到了很大的麻烦,因为现在多数电脑都装有病毒防护墙软件,因此一些常见的木马在上传之后就会立刻被杀掉。如何在溢出后实现真正的远程控制让我思索了很久,后来经过我不断的测试我发现还是使用Windows系统自带的3389最好。
但是3389远程控制最大的缺点是端口在明显了,一旦管理发现或者其它的黑客发现你设定的3389端口开放,会造成很多不必要的麻烦,特别是系统提醒连接数的时候。所以我建议大家在开放3389端口后,将3389端口的端口改掉,改称例如1200什么端口之类的。在Windows 2000 Server中,修改3389端口很简单(在服务中你是无法修改的),但是我们可以通过注册表进行3389端口的修改,修改过程也很简单:
首先我们在开始菜单的运行项目中输入Regedit命令,调出注册表编辑器,然后依次打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDPTcp主键,然后在该主键中找到ProtNumber的这个健值,此时你会发现,凡是打开3389远程控制服务的电脑,该主键的健值均为3389,你此时就可以3389这个健值修改成任意的一个其他的数值,例如1389等等。Windows XP中注册表的3389服务的健值雨Windows2000的略有不同,在Windows XP中的健值为HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RDPTcp,同要修改该主键的3389数值。不过所有的数值的修改都要注意一个问题,那就是系统TCP的保留端口不能占用的。在更改完成后,只要你帮助对方,或者对方自己重新启动计算机后,3389的端口就会自动更新成为新的端口,你所更改的新的数值也就是3389远程服务的新的连接端口。
突破3389
不过很多人会有疑问,使用3389当然好了。可是Windows 2000的专业版是没有3389的功能的,你怎么开?如果您能够思考到这一步就说明您已经具有相当的黑客天赋了。Windows 2000的专业版本的确没有3389的功能,所以在我们在使用MS04-11溢出成功后想要开3389端口作为自己的远程控制的手段就需要在多费一番功夫了。首先利用MS04-11漏洞溢出之后我们至少可以使用Telnet之类的服务,如果你直接输入Ver命令只能够看到它Windows的补丁版本号,是无法看到具体的系统版本号马的,因此我们必须通过使用type这个命令打开系统中的Boot.ini文件判断一下操作系统的Windows版本,在Boot.ini中的最后会显示:
[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect /noguiboot
我们可以轻松的判断出该操作系统应该是Windows 2000 Professional。在确定是Professional版本后,不过不要伤心Windows 2000 Professional一样可以通过手段让其打开3389服务。其实Windows 2000中,无论任何一个版本,它们的多数程序都是一样的,Server版本的Windows 2000和Professional的更为相似,它们的唯一不同仅仅局限在注册表上,我们只要在Professional的注册表中动一些手脚就可以让Professional变成Server。3am Laboratories公司制作的NTSwitch就是一个可以让Windows 2000 Professional变成Server版本的好工具。
不过如果手头上没有工具我们也可以进行手动的修改,首先我们需要自己生成一个注册表升级升级文件。我们先将自己的操作系统安装为Windows 2000 Professional,使用注册表照相机Regsnap这个工具对注册表和整个系统生成报告,然后在找到Windows 2000 Server的安装光盘,将Windows 2000 Professional操作系统升级为Windows 2000 Server,在操作系统升级完成后,再一次使用Regsnap对注册表进行进行照像,然后在下载RegShot这个注册表分析软件将照的注册表提取分析,输出分析出的变化结果的差别文件,将差别文件保存为yu.reg。再一次用Telnet登陆溢出的目标计算机,然后上传我们保存好的差别注册表,在对方的操作系统中输入[regedit.exe /s yu.reg]这串命令,此时对方的计算机就升级为Windows 2000 Server了,而你也可以顺利的开启对方的3389服务了。
在成功的开启了3389服务后,我们可以利用黑客营提供的3389连接工具对目标计算机进行远程连接,不过此时你也许会感到不方便,因为3389的远程管理不支持复制粘贴形式的文件传输,之能够复制粘贴本机的一些字符。对付这个问题我们只需要在网上找一个小型的FTP开启工具,将对方的FTP开启就可以了。即便此时有人乘虚而入正抢你的“猎物”,你可以使用[logout]命令将对方踢下去,然后删除掉对方溢出的帐号和口令,开启之后在根据前面所说的修改端口,然后帮助“猎物”打好补丁,防止其它的入侵者破坏你的“猎物”。一套完美的3389控制就做好了。
MS04019本地权限提升
在《黑客营传奇》中曾经提到过微软的最新的三个漏洞,但是作者并没有详细的介绍这三个漏洞的使用方法,其实这三个漏洞都是简单的溢出漏洞,可以通过系统的溢出提升本地用户的权限。很多人可能会想,本地溢出漏洞通常需要亲手接触到计算机才能够实行,肯定没有太多的用处,如果你这么想,就失去了作为一个黑客最为基本的思索问题的能力。其实网络中,特别是一些大的企业和校园中,很多服务器的最高管理员权限都很获得,而为了方便其它人登陆,User权限的用户往往会有很多,而且密码通常不会很复杂。我们完全可以利用流光等扫描工具找到一些User用户,然后通过User的权限进行权限提升。
首先在一台本地计算机上做一个MS04019的试验。我们User权限的用户登陆本地系统成功后,需要开启CMD提示窗口,然后使用[net user 用户名]这个命令查看自己的用户权限和其它的一些信息,在确定自己的权限后,使用[Win+U]组合键开启辅助工具管理器,然后在打开一个CMD窗口,运行我们提供给您的溢出程序,(图一)这时你在用[net user 用户名]检查一下自己的用户名你会发现,自己的用户已经提升为管理员了。用了使用MS04019的经历你就可以很轻松的理解MS04020和MS04024的大致操作方法,根据我的使用感觉,MS04020完全可以配合扫描器作远程的本地溢出使用,不过限于文章的篇幅我就不详细介绍了。