权限提升

  1. 什么是提权
  2. 提权的方式
  3. 系统漏洞提权
  4. 数据库提权
  5. 获取windows管理员账号
  6. 读取操作系统账户密码
  7. 获取浏览器中保存下来的密码



一、什么是提权

提权是指通过各种办法和漏洞,提高自己在服务器中的权限,以便控制全局。

  • windows:user >> administrator || system
  • linux:user >> root



回到顶部

二、提权方式

  • 系统漏洞提权
  • 数据库提权
  • 系统配置错误提权
  • 获取高权限账号提权
  • webserver漏洞提权



回到顶部

三、系统漏洞提权

系统漏洞提权一般就是利用系统自身缺陷,使用shellcode来提升权限。为了使用方便,windows和linux系统均有提权用的可执行文件。

  • windows的提权exp一般格式为MS11080.exe;
  • linux的提权exp一般格式为2.6.18-194或2.6.18.c;

1. windows提权

windows系统漏洞微软的漏洞编号命名格式为:MS08067;
(1)其中MS是Microsoft的缩写,固定格式;
(2)其中08表示年份,即2008年发布的漏洞;
(3)其中067表示顺序,即当年度发布的第67个漏洞。

提权exp使用方法

使exp执行即可,一般情况下是使用cmd.exe来执行。在日常渗透测试过程中,我们常常会先是拿到webshell再进行提权。所以提权脚本也常常会被在webshell中运行使用。

如何知道使用哪个exp来提权

使用systeminfo命令或查看补丁目录,查看补丁记录,来判断有哪个补丁没打,然后使用相对应的exp进行提权。

提权过程
(1)先找可写目录;
(2)上传cmd.exe、提权exp等工具;
(3)使用exp进行提权,加账号等操作。

2.linux提权

linux系统漏洞的exp一般按照内核版本来命名:2.6.18-194或2.6.18.c

  • 2.6.18-194类型的可以直接执行;
  • 2.6.18.c类型的需要编译后运行、提权;
  • 也有少部分exp是按照发行版版本命名。

提权exp使用方法

使用exp执行即可,一般情况下linux的本地提权要用nc反弹出来,因为linux下提升权限后得到的是交互式shell,需反弹才能进行下一步命令的执行。



回到顶部

三、数据库提权(主要是mysql)

数据库提权就是利用执行数据库语句、利用数据库函数等方式提升服务器用户的权限,借助数据库自身高权限运行的优势来执行操作系统命令。

  • mysql的提权一般是使用自定义函数提权或mof提权;
  • mssql的提权一般是调用xp_cmdshell函数来提权;
  • Oracle通常利用java扩展来执行。

数据库提权首先我们要先有访问数据库的特定功能的权限,所以通常我们拿到webshell之后要去网站目录去找数据库连接文件,常在一些配置文件中。

  • sap/php:com.asp.config.asp.db.asp
  • aspx:web.config
  • java:DBUtile.class/conn.jsp/jdbc.properties/ApplicationContext.xml/中间件连接池配置文件

1. mysql提权
  • UDF(用户定义函数)是一类对mysql服务器功能进行扩充的代码,通常是用C或C++写的;
  • 通过添加新函数,性质就像使用本地mysql函数abs()或concat()。当你需要扩展mysql服务器功能时,UDF通常是最好的选择;
  • 同时UDF也是黑客在拥有低权限mysql账号是比较好用的一种提权方法。

2. mysql提权的使用场景

(1)目标主机系统是windows(win2000、XP、win2003)
(2)拥有该主机mysql中的某个用户账号,该账号需要有对mysql的insert和delete权限
(3)最好mysql是默认启动的权限(system)


3. mysql提权的方法

(1)获取当前mysql的一个数据库连接信息,通常包含地址、端口、账号、密码、库名等五个信息;
(2)把udf专用的webshell传到服务器上,访问并进行数据库连接;
(3)连接成功后,导出dll文件。

导出dll文件

  • mysql版本低于5.0,导出路径随意;
  • mysql版本在5.0到5.1之间,则需要导出至目标服务器的系统目录(如system32),否则在下一步操作中你会看到 “no paths allowed for shared library” 错误
  • mysql版本高于5.1,需要导出dll到插件路径,例如:D:\ProgramFiles\MySQL\MySQL Server 5.1.3\lib\plugin

使用mysql语句创建自定义函数
语法:

create function 函数名 returns string soname '导出的dll路径';
create function cmdshell returns string soname 'udf.dll';

功能函数说明:

  • cmdshell执行cmd
  • downloader 下载者,到网上下载指定文件并保存到指定目录
  • open3389 通用开3389终端服务,可指定端口(不改端口无需重启)
  • backshell 反弹shell
  • ProcessView 枚举系统进程
  • regread 读注册表
  • regwrite 写注册表
  • shut 关机、注销、重启
  • about 说明与帮助函数

sql语句调用定义的函数

select 创建的函数名('参数列表');
select cmdshell("net user test test/add");
-- 创建一个用户test,密码为test

函数调用完成后要把生成的dll和创建的函数删掉(先删除函数再删除dll)

drop function 创建的函数名;
drop function cmdshell;



五、获取windows管理员账号

下载系统的sam文件,("%windir%system32\config")
然后用samlnside等软件进行破解,只要能拿到并且肯花时间,就能破解

在这里插入图片描述



回到顶部

六、读取操作系统账户密码

渗透过程中,为了下一步渗透,我们常常会需要管理员的操作系统密码、数据库密码、常用密码等信息。获取操作系统密码已经有很多工具可以办到了,那么,为什么我们可以利用工具轻松获取到操作系统的常用密码呢?
通常是从内存里抓取active账号的lm hash ntlm hash

mimikatz

在这里插入图片描述

WEC

在这里插入图片描述


回到顶部

七、获取浏览器中保存下来的密码

chrome://settings/passwords
在这里插入图片描述

WebBrowserPassView
在这里插入图片描述

回到顶部



在这里插入图片描述

知乎:叄贰壹

简书:带只拖鞋去流浪

关注我,带你一起写bug

warning :未经授权,不得转载

有问题的小伙伴请在下方留言,喜欢就点个赞吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值