提权概述:
提权,顾名思义就是提升权限,当我们 getshell ⼀个⽹站之后,⼤部分情况下我们的权限是⾮常低的,这时就需要利⽤提权,让原本的低权限(如只允许列⽬录)→ ⾼权限(拥有修改⽂件的能⼒),权限提升后,对接下来的渗透有很⼤帮助
提权的方式:
- 系统漏洞提权(Linux、Windows)
- 第三⽅软件/服务提权(数据库提权)
- 系统配置错误提权
1系统提权
Windows系统提权
Windows系统漏洞提权概述
-
系统漏洞提权⼀般就是利⽤系统⾃身缺陷(⾃身漏洞),⽤来提升权限
-
为了⽅便使⽤,windows和linux系统均有提权⽤的可执⾏⽂件(exp—互联⽹公开的)
系统漏洞提权常规流程
查看⽬标机补丁记录
-
⽅法⼀ :在cmd中输⼊systeminfo查看补丁安装情况
-
⽅法⼆:通过命令查询出哪些补丁没有安装
查找补丁对应的漏洞号
-
使⽤在线查询⼯具:http://blog.neargle.com/win-powerup-exp-index/#
查找对应的提权EXP
-
可以在各⼤搜索引擎上查找对应的exp,在github中作者整合了⼤部分windows本地提权⽤到的exp
-
github链接:GitHub – SecWiki/windows-kernel-exploits: windows-kernel-exploits Windows平台提权漏洞集合
windows中提权exp的格式为
使⽤EXP对⽬标机进⾏提权
-
1.当getshell后,查看系统权限
-
2.查看系统补丁
-
3.下载对应的exp,这⾥使⽤MS14-058进⾏提权
下载地址:windows-kernel-exploits/MS14-058 at master · SecWiki/windows-kernel-exploits · GitHub -
4.将exp上传⾄⽬标机进⾏提权
Linux系统提权
Linux系统提权概述
-
Linux安装好系统后⾥⾯⾃带的软件或内核存在的漏洞,⽐较流⾏的有 “脏⽜提权”
-
Linux内核提权跟Windows⼀样,都要下载对应漏洞的脚本进⾏提权
Linux提权的步骤
-
1.进⾏基础信息收集
信息收集 — 内核版本 — 漏洞 — 公开的exp
-
2.查找相关版本的内核漏洞
exp下载链接:https://github.com/SecWiki/linux-kernel-exploits
该链接中收集了⼤部分Linux系统cve漏洞的exp,在readme中有受影响的内核版本和使⽤⽅法
-
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 安全实验室”
专注渗透测试技术
全球最新网络攻击技术
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/38908.html