网络安全 频道

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

到此,干掉这个站的任务是完成了,不过我现在的兴趣却是要看看这个主机里面的一些敏感数据了,还用刚刚的方法,改变 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了,你也不会看到我这文章,因为要是当时把他们给改了或是删了,我今天名气应该比红客们大得多,但现在没准就是在监狱里呆着

好了,本次的入侵可以说是到一段落了,按照通常的入侵实例的写法,好像到了我要说我就给那管理员发份邮件,告知问题所在的时候了,但是你错了,我并没有这么做,为什么?下回分解

0
相关文章