历时5个月拿下PR7网站思路

作者:xxbing

在腾讯2009年安全技术峰会上我曾经提出一个观点:墨菲定律:如果它能够被黑阔攻破,它就将被攻破。对于一个黑阔来说,他要黑一个企业,仅仅是时间上的问题,总之是成本上的问题,比如有个盗号集团在支持他,他说我给你一年时间你把这个企业黑了,搞定了就给你多少钱。一年时间我相信只要他有这个毅力,基本上在座的公司逃不过这一劫。

这个观点看似有点哗众取宠,但它确实是一个不争的事实。XXB同学就上演了5个月日掉PR7网站的LIVE秀。

我总结下教训:

UDEV补丁没打,估计其他几个内核补丁肯定也没打

2、主机安全需要有基线,PHP安全模式得打开
3、被安装了ssh后门却蒙在鼓里
这三点看似简单,但却知难行易;建立完善的主机入侵防御体系,技术对抗很重要,但技术对抗只是一个小问题。引用caoz的一段话:
1.技术是为了解决问题,而不是制造问题。
2.把握目标去应用技术,而不是为了技术去虚构目标。(包子注:技术狂人一般喜欢这么做,为了追求自己的满足感,成就感,虚构目标,虚构需求)
3.用户需求(通常是潜在需求)决定技术和产品方向,技术反过来刺激需求的显现和增长。
4.技术仍然非常重要,非常有价值,但是前提是,它要用到正确的方向上。
【文中网址都已和谐!该站点网址用ha.cker.in代替】
美女同学要看言情小说,ha.cker.in 的言情小说要收钱,于是就帮她找找“空子”!
http://tool.chinaz.com/查了一下ha.cker.in信息,日IP访问量快达到40W了。很牛逼呀。全站采用php构架。nignx服务器。好了,废话结束。进入正题。
首先我注册了一个账号,然后我登陆作者平台,申请成为作者需要提交自己的原创作品。于是我上baidu搜索了一本很多年前的小说,提交了几章,等待审核。
几天后,成功的申请成为作者。经过1-2个小时的手工测试,成功的在管理作品处寻到一个注射点。
类似: book.php?bookid=123
我提交 book.php?bookid=123 and 1=1 [正常]
book.php?bookid=124-1 [正常]
book.php?bookid=123 and 1=2 [错误]提示权限不足。
book.php?bookid=124 [错误]提示权限不足。
可以判断这里是注射点了,为什么会提示权限不足,应该是每个bookid代表一本图书,有其他字段控制着作者信息,防止非法编辑他人作品。
用order判断出有53个字段。
book.php?bookid=123 and 1=2 union select 1,2,3,……,52,53# 提示:[错误]提示权限不足。
绝对是其中某个位置的数字不正确,导致系统判断我编辑了其他人的图书。于是我把注射点丢到pangolin里面暴力跑字段。成功的跑出53个字段名出来。(一个字符一个字符的暴力猜解。跑了很久)
然后提交: book.php?bookid=123 and 1=2 union select 字段名1,字段名1,字段名3,……,字段名52,字段名53# 成功显示正常页面。
接着我把字段名1、字段名2等等,一个个替换成数字,这个过程中一直显示正常页面。终于到了字段名13的时候,出错了,提示权限不足。那就可以跑了。
book.php?bookid=123 and 1=2 union select 1,2,3,…,字段名13,…,52,53# 正常页面,页面上出现我定义的数字。
接下来就丢到WSI 5.1里面跑数据。很可惜,数据库里面只有一些作品内容,也有编辑用户表,所有编辑账号密码都有,但是找不到后台。
于是我开始寻找绝对路径,也找了N久,后来被我在上传图片处找到。上传一张图片,系统会自动生成该图片的缩略图,我上传一个文本图片,处理的时候出错了。爆出了绝对路径。
[/opt/data/www/xxx.cn/common/include/upfile.php]
用load_file能读出来。顺藤摸瓜,成功读到Mysql账号密码。
mysql账号: Myuser
密码: (Myuser.pass)


可惜该服务器3306端口外部无法连接【ip:111.111.111.58】。服务器开了GPC,无法导SHELL。【陷入此步1个多月。】
一个月后,我一次百无聊赖的又用wsi看数据库,看到MySql库中user表里面的内容。
真实地址已处理
1 localhost root *C8169C29D82108D9D608E702575A2371348AAB32
2 localhost Myuser *CDBC867991BB13C75EED082F7A1CBFC14DB97E31
3 111.111.111.59 Myuser *CDBC867991BB13C75EED082F7A1CBFC14DB97E31
4 222.222.222.56 Myuser *CDBC867991BB13C75EED082F7A1CBFC14DB97E31
5 111.111.111.58 Myuser *CDBC867991BB13C75EED082F7A1CBFC14DB97E31
6 222.222.222.55 Myuser *CDBC867991BB13C75EED082F7A1CBFC14DB97E31
7 111.111.111.61 Myuser *CDBC867991BB13C75EED082F7A1CBFC14DB97E31
8 111.111.111.52 Myuser *CDBC867991BB13C75EED082F7A1CBFC14DB97E31才发现原来有很多IP有权限连接,选择了拿111.111.111.61服务器。上面有个解梦类网站。采用的是DreamArticle_V3.0系统。网上搜索该系统漏洞无果。
自己上网下载该代码,阅读源代码,挖掘出0day一枚。根目录下show.php注射点。
[1] 下一页
show.php?id=%cf’%20union%20select%201,2,3,11,5,@version,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23%23
得到管理员md5值,破解管理员md5,登陆默认地址。在后台系统配置处getwebshell一个。【此处感谢国际黑阔的友情帮助。】
开工,连接目标服务器服务器Mysql成功。可以111.111.111.58服务器权限设置太紧。导shell的时候提示:mysql can’t write file.[error:113]
陷入僵局,突然灵机一动,该站应该还有几台服务器,都在111.111.111.x段内。于是ping到另一分站ip:111.111.111.56
还是用原来的mysql账号和密码,成功连接上56服务器的mysql。根据111.111.111.61服务器上的nignx安装地址,读取了56服务器的nignx.conf文件代码。
找到ha.cker.in的分站home.xxbing.com的绝对路径。导出Webshell一枚。56服务器是一台关键的服务器,因为ha.cker.in所有会员表都在上面。
通过56服务器的nignx.conf配置文件,看到了残留的后台管理地址bj.ha.cker.in。(以前存放在56服务器,后搬走了,但是nignx.conf里面的后台url地址没删除)
在56服务器的mysql数据库中找到超级管理员的账号密码,登陆bi.ha.cker.in,进入后台。发现后台有个上传专题功能,于是我传了一匹 php木马上去。又得到一台服务器。ip: 111.111.111.52
总结一下:
我现在拥有 111.111.111.56
111.111.111.52
111.111.111.61
这3台服务器的权限。(全部是linux服务器)上面有分站若干个,还有所有重要数据库。
主站点ha.cker.in不在上面。主站采用cdn加速,无法得到真实IP。
没办法,我一定要拿到58服务器,上去找一找。(拿58服务器过程非常困难,花了很多心思,这里不表。)
为了扩大战果,我用udev漏洞得到了52服务器的root权限。关闭了该服务器的防火墙,安装了一个Rootkit,功能是记录root ssh登陆密码,并且设置一个ssh超级密码。【此处感谢XX同学提供linux内部后门,以及技术支持。】
2天后,root密码被记录到,我连接58服务器的mysql,读取了/etc/ssh/ssh_config文件,得到ssh 端口为7777,但是外部无法连接,我先登陆上52服务器,然后ssh -p 7777 111.111.111.58
输入记录的密码成功登陆58服务器。上面分站不少,可惜还是没有主站点。甚至连 ha.cker.in的真实IP都不知道。唉,失败。
查看了我现在拥有的4台服务器,发现基本所有的分站都被搞定了。我肯定还漏了一台。
于是用熊猫黑阔写的旁注大杀器【论坛有下】,扫描111.111.111.x段,没有结果。这时候,突然想起mysql.user表。主站要读取数据,肯定要连接这4台服务器的MYSQL。
于是翻看了4台服务器上的所有mysql.user表。终于发现其IP地址。222.222.222.1
远程ssh,连不上。继续用先前得到的mysql账号密码连,OK,连上了。读nignx配置,导木马。搞定。
ps:这些过程,一起花费接近5个月。战果也是丰硕的,一个PR7站,一个PR6。
————
PR是PageRank的缩写(这里不是指公共关系,而是网页排名的意思)。PageRank是 google搜索排名算法中的一个组成部分,级别从1到10级,10级为满分,网站PR值越高说明该网页在搜索排名中的地位越重要,也就是说,在其他条件 相同的情况下,PR值高的网站/网页在google搜索结果的排名中有优先权。这是对PR值最基本的解释。

源链接

Hacking more

...