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