作者:Simeon  本文已投黑客手册杂志

本次渗透测试是随机性的,原因来自鬼仔的blog,在鬼仔的blog上面发表了一篇文章,其中提供了一款MySQLhack的工具,声称只要获取了Mysql数据库的用户名和密码并正确连接Mysql数据库服务器,就可以执行DOS命令、上传文件以及下载文件并执行等功能。软件需要Microsoft .NET Framework 2.0 支持,如果没有安装Microsoft .NET Framework 2.0则无法运行该软件。对于新工具,我从来都不会拒绝,而且这种好工具怎么能够放过,掌握以后,在渗透测试中非常有用,本次的故事,也就开始了!

一、失败的MysqlHack工具测试

(一)MySQL数据库口令扫描

    对于Mysql数据库口令扫描有很多工具,我使用的是Hscan,如果大家有好工具可以给俺推荐一下,挂了一台肉鸡,随机找了一个IP段进行扫描,第二天去看结果就是了,一般扫描一个B段IP地址(202.106.0.1~202.106.255.255)会出来数台Mysql弱口令计算机,如图1所示,打开有40个弱口令。

Highslide JS


注意:在使用Mysql扫描时,只选择扫描MySQL弱口令模块,挂的字典可以加一些常用的密码进去,这样效果会更好。

(二)选择弱口令计算机

在选择弱口令计算机进行测试时,尽量选择一些密码相对复杂一点的,不要选择密码为空的,例如选择密码为password、123456等,在本例中选择的IP地址是202.102.210.121,先使用sfind程序查看一下计算机端口开放情况,如图2所示,计算机开放21、80和3389端口,看来是一台好机器,后面还有对Mysql数据库3306端口进行了探测,远程开放3306端口,本地对其进行连接。

Highslide JS


(三)使用MySQLhack工具连接计算机

在IP地址为202.102.210.121的计算机的HScan扫描结果中,Mysql数据库中root用户居然有4个不同口令!很难理解,按照道理一个数据库用户只能对应有一个口令(有高手可以对此解释,俺很想知道,这到底是怎么回事?)!在使用Mysqlhack工具前我安装了dotnet的那个安装包,直接运行Mysqlhack程序,输入用户和密码进行连接,如图3所示,显示连接成功。

Highslide JS


(四)测试MysqlHack工具软件

在MysqlHack连接成功的情况下,我对该软件中的函数注入、上传文件、创建超级用户以及执行命令等模块均进行了测试,测试结果无一例外都失败了,我想是否是该计算机的Mysql数据库进行了一些安全设置,所以导致无法使用这些功能!随后我又换了另外一台Mysql数据库计算机进行测试,其结果仍然如此,最后的一个提示中我才明白,原来该工具仅对Mysql 4.1.5版本以下安装的计算机有效,晕,如图4所示。现在绝大多数服务器都不会安装4.1.5版本的,能够找到4.1.5版本的Mysql跟中彩票的几率差不多,难道要放弃?

Highslide JS


二、换一种思路进行渗透

(一)、设置MySQL-Front参数

带着一点点不甘心,既然拥有大门的钥匙,凭什么不能进去,到网上下载了一个Mysql数据库的管理软件MySQL-Front,直接安装并运行,然后对其进行设置,如图5,在名称中输入一个标识名称,本例中直接输入该IP地址,名称可以随意。

Highslide JS


在添加信息窗口单击“连接”标签,在服务器中输入IP地址,如图6所示,如果Mysql数据库服务器断开不是默认的3306,则还需要在端口中输入正确的端口号,然后根据实际情况选择连接类型和字符集,默认情况可以不用设置这两个选项,让程序自动去识别。

Highslide JS


单击“注册”标签,输入“用户名”和“密码”,如果知道数据库名称可以输入,否则可以不用管它,如图7所示,单击“确定”按钮完成设置。

Highslide JS


(二)连接Mysql数据库

在图8所示界面中选择刚才加入到Mysql数据库标识,然后单击“打开”按钮开始连接Mysql数据库,根据网络速度,打开可能需要一定时间。

Highslide JS


(三)查看数据库

如果连接正确,则会出现图9所示的画面,左边是数据库的列表,右边是操作窗口,其中最常用的是对象浏览器和数据库浏览器。如果对该软件比较熟悉的朋友可以略过,在这里我还要罗嗦几句,选择左边的数据库,可以将数据库导出为sql、html等文件,如果数据库比较大,在导出为sql文件时可能会出现错误,而导出html文件则相对比较稳定,在图9中,我选择tg数据库进行导出操作,导出为tq.sql就未成功。其实还有一个有用的办法就是展开数据库后,选择“有用的”表进行导出,效果不错。

Highslide JS


(四)导出数据库中的数据

在本次测试的数据库中一共有四个数据库,test和mysql数据库可以不用考虑,一般都是测试用的数据库,用处不大,先看第一个数据库“cms4jfortq”,怎么看都像一个MIS系统(后面查询了一下,确实是一个CMS,具体名称为“CMS4J专业的JAVA版网站管理系统”,网站地址为http://www.cms4j.com        估计也存在漏洞,有空大家可以去挖掘一下,哈哈!),选中该数据库并导出为Html文件,然后使用IE浏览器打开,在该数据库中查看有关admin、user的表,如图10所示果然找到一个表名为sa_user的用户表,该表中有admin和long用户,其中还有与用户对应的32位密码。从该表中的HOMEPAGE字段的值还可以获取该数据库对应的Web服务器站点可能是http://www.hb163.cn

Highslide JS


(五)破解获取密码

直接打开http://www.cmd5.com网站,输入获取的两个Md5密码进行破解,admin的密码没有查询结果,long用户的md5值破解为“332211”,如图11所示。

Highslide JS


说明:在破解时首选通过网站在线查询md5,如果是在破解不了再使用md5craker进行破解,cmd5网站破解效果好,但有次数限制,据说有4TB数据,还是黑手的md5破解网站(www.xmd5.org)比较好,仔细看第10期黑手,好像没有这个网站的名称了,不知道以后还能不能用到了,虽然排名第二,还是非常不错的。在cmd5和xmd5网站中均不能破解admin的md5值,只要暂时放弃。

(六)使用破解的密码登录系统

在浏览器中打开http://www.hb163.cn网站,尝试获取登录页面,在网站地址后面输入admin,结果直接爆出网站目录,在网站目录中直接单击sys,如图12所示,可以看到blog、bbs等字样。

Highslide JS


继续在该目录中查看,终于找到管理登录入口,如图13所示,输入long以及对应的密码332211,输入验证码后,登录未成功,看来获取的密码不正确或者就是系统存在问题,看来此路不通!

Highslide JS


(七)回到数据库再次寻找突破口

重新回到数据库,对tg数据库重新进行浏览,直接打开数据库浏览器对tg数据库中的表进行浏览,找到user_info_main表,该表为用户表,如图14所示,有2万多条数据。

Highslide JS


在该用户表中随机抽取用户purplesun,将其md5密码放入xmd5中进行破解,找出其密码值为“111111”,然后回到网站首页,找到淮北生活通通行证登录入口(http://www.hb163.cn/login/login.jsp),如图15所示,在其中用户名和密码中分别输入“purplesun”与“111111”,成功进入,如图16所示。

Highslide JS


Highslide JS


(八)通过修改数据库表中的值成功进入管理员blog

在user_info_main表中通过搜索找到了帐号为admin的用户,将其md5值放入cmd5以及xmd5中进行破解,均未找到,看来该密码强度还是蛮高的。难道就没有办法了?既然可以直接控制数据库,那为什么不直接修改数据库中表的值呢,说干就干,先将管理员的密码复制到本地进行备份(在退出后台后,回到数据库将其密码重新改回),然后修改为一个已知的md5加密的值,然后使用这个密码进行登录,如图17,OK,成功登录其Blog,在blog中还获取了该用户的QQ号码以及邮箱地址等个人信息。

Highslide JS


(久)后续渗透测试

后面尝试过在数据库中直接插入php一句话木马,但老出现一些错误,包括原来可以打开的登录页面也出错,如图18所示,对于一个存在Mysql弱口令以及网站爆目录的服务器,感觉其安全性相对较差,继续测试下去的意义不大。在其管理员的blog上对其进行了安全提醒,并通过qq和邮件通知该网站管理员,对相关漏洞进行修补,如图19所示。

Highslide JS


Highslide JS



(十)结束语和总结

本次测试可以说是一次意外之举,本来是测试一款工具软件,后面验证了渗透Mysql数据库服务器的一种思路,即通过挖掘数据库或者直接修改数据库表中的值来达到直接进入MIS系统或者直接控制服务器的目的。通过本次渗透测试,从实际和理论上证明了该方法可行。就该系统可以做出安全评价,系统安全性极差,Mysql数据库存在多个弱口令,网站可以直接爆路径等,也许政府的网站就是如此吧!本次渗透测试算是通过Mysql数据库进而控制系统的一种方法吧!
Technology | Comments(1) | Trackbacks(0) | Reads(21740)
laozang Homepage
October 13, 2008 21:37
得到数据库管理权限了,可以直接outfile。
还有,不用再去爆MD5,直接数据库中修改

思路还是不错的,继续努力…
Pages: 1/1 First page 1 Final page
Add a comment
Emots
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
Enable HTML
Enable UBB
Enable Emots
Hidden
Nickname   Password   Optional
Site URI   Email   [Register]
               

Security code Case insensitive