在选择弱口令计算机进行测试时,尽量选择一些密码相对复杂一点的,不要选择密码为空的,例如选择密码为password、123456等,在本例中选择的IP地址是202.102.210.121,先使用sfind
图2 查看计算机端口开放情况
(三)使用MySQLhack工具连接计算机
在IP地址为202.102.210.121的计算机的HScan扫描结果中,Mysql数据库中root用户居然有4个不同口令!很难理解,按照道理一个数据库用户只能对应有一个口令(有高手可以对此解释,俺很想知道,这到底是怎么回事?)!在使用Mysqlhack工具前我安装了dotnet的那个安装包,直接运行Mysqlhack程序,输入用户和密码进行连接,如图3所示,显示连接成功。
图3 连接Mysql数据库
(四)测试MysqlHack工具软件
在MysqlHack连接成功的情况下,我对该软件中的函数
注入、上传文件、创建超级用户以及执行命令等模块均进行了测试,测试结果无一例外都失败了,我想是否是该计算机的Mysql数据库进行了一些
安全设置,所以导致无法使用这些功能!随后我又换了另外一台Mysql数据库计算机进行测试,其结果仍然如此,最后的一个提示中我才明白,原来该工具仅对Mysql 4.1.5版本以下安装的计算机有效,晕,如图4所示。现在绝大多数服务器都不会安装4.1.5版本的,能够找到4.1.5版本的Mysql跟中彩票的几率差不多,难道要放弃?
图4 各种功能测试失败
二、换一种
思路进行渗透
(一)、设置MySQL-Front参数
带着一点点不甘心,既然拥有大门的钥匙,凭什么不能进去,到网上下载了一个Mysql数据库的
管理软件MySQL-Front,直接安装并运行,然后对其进行设置,如图5,在名称中输入一个标识名称,本例中直接输入该IP地址,名称可以随意。
图5 设置名称
在添加
信息窗口单击“连接”标签,在服务器中输入IP地址,如图6所示,如果Mysql数据库服务器断开不是默认的3306,则还需要在端口中输入正确的端口号,然后根据实际情况选择连接类型和字符集,默认情况可以不用设置这两个选项,让程序自动去识别。
图6 输入连接信息
单击“注册”标签,输入“用户名”和“密码”,如果知道数据库名称可以输入,否则可以不用管它,如图7所示,单击“确定”按钮完成设置。
图7 输入密码
(二)连接Mysql数据库
在图8所示界面中选择刚才加入到Mysql数据库标识,然后单击“打开”按钮开始连接Mysql数据库,根据
网络速度,打开可能需要一定时间。
图8 连接Mysql数据库服务器
(三)查看数据库
如果连接正确,则会出现图9所示的画面,左边是数据库的列表,右边是操作窗口,其中最常用的是对象浏览器和数据库浏览器。如果对该软件比较熟悉的朋友可以略过,在这里我还要罗嗦几句,选择左边的数据库,可以将数据库导出为sql、html等文件,如果数据库比较大,在导出为sql文件时可能会出现错误,而导出html文件则相对比较稳定,在图9中,我选择tg数据库进行导出操作,导出为tq.sql就未成功。其实还有一个有用的
办法就是展开数据库后,选择“有用的”表进行导出,效果不错。
图9 浏览Mysql数据库
(四)导出数据库中的数据
在本次测试的数据库中一共有四个数据库,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。
图10 获取sa_user表中的内容
(五)破解获取密码
直接打开
http://www.cmd5.com网站,输入获取的两个Md5密码进行破解,admin的密码没有查询结果,long用户的md5值破解为“332211”,如图11所示。
图11 破解用户的Md5密码值
说明:在破解时首选通过网站在线查询md5,如果是在破解不了再使用md5craker进行破解,cmd5网站破解效果好,但有次数限制,据说有4TB数据,还是黑手的md5破解网站(
www.xmd5.org)比较好,仔细看第10期黑手,好像没有这个网站的名称了,不知道以后还能不能用到了,虽然排名第二,还是非常不错的。在cmd5和xmd5网站中均不能破解admin的md5值,只要暂时放弃。
(六)使用破解的密码登录系统
在浏览器中打开
http://www.hb163.cn网站,尝试获取登录页面,在网站地址后面输入admin,结果直接爆出网站目录,在网站目录中直接单击sys,如图12所示,可以看到blog、bbs等字样。
图12 直接爆出网站目录
继续在该目录中查看,终于找到管理登录入口,如图13所示,输入long以及对应的密码332211,输入验证码后,登录未成功,看来获取的密码不正确或者就是系统存在问题,看来此路不通!
图13 找到后台管理系统入口
(七)回到数据库再次寻找突破口
重新回到数据库,对tg数据库重新进行浏览,直接打开数据库浏览器对tg数据库中的表进行浏览,找到user_info_main表,该表为用户表,如图14所示,有2万多条数据。
图14 找到用户数据表
在该用户表中随机抽取用户purplesun,将其md5密码放入xmd5中进行破解,找出其密码值为“111111”,然后回到网站首页,找到淮北生活通通行证登录入口(
http://www.hb163.cn/login/login.jsp),如图15所示,在其中用户名和密码中分别输入“purplesun”与“111111”,成功进入,如图16所示。
图15 找到通行证登录入口
图16 成功登录该系统
(八)通过修改数据库表中的值成功进入管理员blog
在user_info_main表中通过搜索找到了帐号为admin的用户,将其md5值放入cmd5以及xmd5中进行破解,均未找到,看来该密码强度还是蛮高的。难道就没有办法了?既然可以直接控制数据库,那为什么不直接修改数据库中表的值呢,说干就干,先将管理员的密码复制到本地进行备份(在退出后台后,回到数据库将其密码重新改回),然后修改为一个已知的md5加密的值,然后使用这个密码进行登录,如图17,OK,成功登录其Blog,在blog中还获取了该用户的QQ号码以及邮箱地址等个人信息。
图17 使用管理员账号登录其博客
(八)后续渗透测试
后面尝试过在数据库中直接插入php一句话木马,但老出现一些错误,包括原来可以打开的登录页面也出错,如图18所示,对于一个存在Mysql弱口令以及网站爆目录的服务器,感觉其安全性相对较差,继续测试下去的意义不大。在其管理员的blog上对其进行了安全提醒,并通过qq和邮件通知该网站管理员,对相关漏洞进行修补,如图19所示。
图18 程序出错
图19 安全提醒
(九)结束语和总结
本次测试可以说是一次意外之举,本来是测试一款工具软件,后面验证了渗透Mysql数据库服务器的一种思路,即通过挖掘数据库或者直接修改数据库表中的值来达到直接进入MIS系统或者直接控制服务器的目的。通过本次渗透测试,从实际和理论上证明了该方法可行。就该系统可以做出安全评价,系统安全性极差,Mysql数据库存在多个弱口令,网站可以直接爆路径等,也许政府的网站就是如此吧!本次渗透测试算是通过Mysql数据库进而控制系统的一种方法吧!