MySQL|提权方式及原理简介(面试)

MySQL|提权方式及原理简介(面试)


一、提权
想了解原理首先要明白什么叫提权 , 为什么要提权 , 通常获取到Shell之后 , 假如我们拿到的是普通权限比如mysql、tomcat等普通应用权限 , 那我们如果想在内网畅通无阻 , 那肯定第一步需要获取到管理员最起码要是administrator甚至是system 。

这种获取最高权限的方式就叫提权 。
二、提权方式
1、系统本地漏洞提权
2、数据库提权
3、第三方软件提权
4、获取高权限用户比如msf的getsystem提权等
三、分类
Windows提权
Windows提权一般为系统漏洞提权 ,
wmic qfe get CaptionDescriptionHotFixIDInstalledOn使用这条命令 。 根据这条命令得到补丁情况 , 按照补丁情况进行判断需要使用哪种提权方式比如
KiTrap0D (KB979682)MS11-011 (KB2393802)MS10-059 (KB982799)MS10-021 (KB979683)MS11-080 (KB2592799)包括但不限于这些
【MySQL|提权方式及原理简介(面试)】wmic qfe get CaptionDescriptionHotFixIDInstalledOn | findstr /C:\"KB..\" /C:\"KB..\"使用这条命令可以进行补丁的筛选 。
Linux提权
Linux提权一般为内核漏洞提权 , 我们能说出来的经常说的就是脏牛了
脏牛漏洞是利用条件竞争 , 修改root账户信息 , 强制覆盖/etc/passwd文件第一行 , 其本质是利用线程并发引发的线程安全问题 。
使用uname -a查看内核信息 , 根据信息使用相应的提权方式 。
mysql提权
MySQL提权基本有两种 , 一种是UDF提权、另一种是MOF提权
MySQL的UDF提权 , UDF是MySQL的一个接口 , 用来创建自定义函数(包括系统命令) , 但需要dll(程序扩展文件)作为UDF的执行库 。
使用UDF提权有两个前提
1、MySQL以管理员启动
2、MySQL开启远程链接和文件读取功能 , 并且成功登录MySQL 。
满足前提的情况下 , 登录MySQL将准备好的dll文件上传到MySQL的plugin目录下 , 然后利用dll文件创建执行系统命令的函数 , 就能执行系统任意命令了 。
MySQL的MOF提权 , MOF其实是Windows的系统文件 , 用来监控进程创建与结束 , 每隔5秒会启动一次 , 并且以System全新运行 , 攻击者将构造好的mof文件放到mof目录下 , 就能执行任意命令 。
使用MOF提权的前提
1、需要Windows2008以下的版本
2、运行MySQL是system权限
3、MySQL开启远程连接与读写功能
4、登录MySQL
使用非常有限
第三方软件提权
之前遇到过一个nmap提权 , nmap版本超级老 , 至今--interactive就可以搞定
还有的就是FileZilla软件 , 这个软件分为客户端与服务端 , 客户端使用21端口 , 服务端使用14147端口 , 并且只允许本地链接 。
攻击者将端口转发出去 , 然后利用客户端链接就可以实现将恶意脚本传到受害机 , 比如写一些计划任务 , 开机启动项 , 实现提权