利用微软SQL Server数据库管理员(SA)口令为空的攻击活动猖獗

SA密码为空(NULL)的不安全的SQL服务器容易受到蠕虫攻击(Q313418)

此文信息适应于:

1 Microsoft SQL Server 2000 (all editions)

2 Microsoft SQL Server version 7.0

症状

在互联网上已经发现了一个代号为"Voyager Alpha Force"的蠕虫,

它利用那些系统管理员(SA)密码为空的SQL服务器进行传播。此蠕虫通过扫描SQL的默认端口

1433端口来寻找SQL Server服务器。假如蠕虫发现了一台服务器,它就尝试用空(NULL)SA密码登入那个

SQL Server的默认状态。

假如登录成功,它将把这个无防卫的SQL Server的地址广播到一个互联网中继聊天(IRC)频道上去,

并且尝试从菲律宾的一个FTP站点加载和运行一个可执行文件。作为SA登录入SQL Server

后用户可以获得计算机的管理员权限,并且依赖特定的网络环境,还可以访问其它的计算机。

防范

下面的每一步大体上都将使你的系统更加安全,并且单独任何一种方法都将防止

这种特殊的蠕虫感染你的SQL Server服务器。注意这些步骤是针对任何SQL Server

安装的部分标准安全"最佳策略"。

  1. 确保你的SA登录帐号的密码非空。只有你的SA登录帐号没有安全保障的时候蠕虫才会工作。

因此,你应该遵循在SQL Server

联机文档中"系统管理员(SA)登录"主题中的推荐模式,确保固有的SA帐号具有一个强壮的密码,

即使是你自己从不使用SA帐号。

  1. 在你的互联网网关或防火墙上屏蔽1433端口和/或指定SQL Server监听一个可选的端口。

  2. 假如在你的互联网网关上需要利用1433端口,启动用于防止此端口滥用的流入/流出过滤。

  3. 将SQLServer和SQL Server客户端运行在微软的Windows NT帐号下,而不是localsystem。

  4. 启动Windows NT验证,启动监听成功和失败的登录,然后停止并重启MSSQLServer服务。

设置你的客户端使用NT验证。

关于如何恢复一台已经被感染的系统的信息,请访问独立的CERT协调中心的网站,网址如下:

恢复一台被感染的UNIX或NT系统的步骤

http://www.cert.org/tech_tips/win-UNIX-system_compromise.html

入侵者检测清单

http://www.cert.org/tech_tips/intruder_detection_checklist.html

包含在此文中的第三方联系信息有助于你发现你需要的技术支持。

这些联系信息经常在不预先通知就改变了。微软无法担保这些第三方联系信息的准确性。

更多信息

重要:这不是SQL Server的bug;这是由一个不安全的系统造成的缺陷。

下来文件暗示蠕虫的存在:

rpcloc32.exe (md5 = 43d29ba076b4fd7952c936dc1737fcb4 )

dnsservice.exe (md5 = 79386a78a03a1665803d8a65c04c8791 )

win32mon.exe (md5 = 4cd44f24bd3d6305df73d8aa16d4caa0 )

另外,下列注册表键值的出现也暗示了此蠕虫的存在:

SOFTWARE\Microsoft\Windows\CurrentVersion\Run\TaskReg

下列注册表键值是关于一个SQL Server的现有键值,并已被蠕虫利用来

通过使用TCP/IP 网络库来控制计算机的访问权:

SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib\

ProtocolOrder

SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo\DSQUERY

此蠕虫利用xp_cmdshell扩展存储程序,此程序允许蠕虫执行任何运行SQL Server

服务的帐号有权执行的操作系统命令。

下列微软网页连接提供了关于如何保护你的SQL Server服务器的有关信息:

http://www.microsoft.com/sql/techinfo/administration/2000/security.asp

http://www.microsoft.com/sql/evaluation/features/security.asp

相关推荐
三8443 小时前
sqli-labs1-10通关笔记
数据库
云贝教育-郑老师4 小时前
OceanBase 是如何搞定海量数据分片(Sharding)的?
学习·oceanbase·dba
BullSmall5 小时前
Another Redis Desktop Manager(ARDM)下载指南
数据库·redis·缓存
SelectDB5 小时前
Apache Doris 倒排索引工作原理:全文检索提速 59 倍,点查提速 14 倍
数据库
码农颜5 小时前
5.1.1 原⼦性
数据库·mysql
机建狂魔5 小时前
Codex 接入第三方模型 API 实战:以 Mimo 为例
java·服务器·数据库·ai·ai编程·codex
山峰哥6 小时前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法
moMo6 小时前
# 向量数据库入门:从"关键词匹配"到"语义理解"
数据库
ACP广源盛139246256736 小时前
DeepSeek‑V4‑Flash 公测@ACP#昇腾 950 国产算力组合落地,国产 PCIe 交换芯片 IX9104 有哪些硬件机会
大数据·数据库·人工智能·分布式·单片机·嵌入式硬件·microsoft
进击的女IT7 小时前
通过mysql中的Data目录恢复数据库数据
数据库·mysql