MSSQL蠕虫

网络与通信

MSSQL蠕虫通过广泛存在的MSSQL Server服务器缺省设置的漏洞而繁殖传播。这个蠕虫传播后会安装一个DDoS(分布式拒绝服务)组件,并使用IRC(因特网交谈工具)网络与该蠕虫的制造者取得联络。该蠕虫及其新变种可以通过利用MSSQL Server服务器的漏洞进一步发展。

MSSQL蠕虫包括两个主要组件:

──IRC组件作为DDoS受控端的远程控制程序
──MSSQL Server服务器扫描和感染组件

IRC组件

该蠕虫生成自身随机的接口并连接到IRC服务器加入#penr0x或#blitzed频道,由于对蠕虫的可执行代码进行固化代码和预设某种简单加密变换。通过IRC频道,该蠕虫的作者或个别合作者可以使用DDoS受控端发起Flooding攻击。

对MSSQL Server服务器扫描和感染

该蠕虫的繁殖方法包括扫描和试图登录到MSSQL Server服务器。该蠕虫在因特网上进行扫描以寻找可能的侵入对象,并企图强行使用sa账户(最高特权帐户)连接MSSQL Server服务器Master数据库。任何MSSQL Server服务器如果使用的sa弱口令缺省安装,都可能是易受攻击的主机。一旦被发现,该蠕虫就使用MSSQL的内部存储程序“xp_cmdshell”来执行任意命令。该蠕虫使用这个内部存储过程建立一个FTP连接,从外部主机接收和执行蠕虫程序。
该蠕虫还在被感染系统上作一系列的注册表篡改,以及复制一个.DLL文件到系统中,更改SQL Server服务器安全组件设置。
该蠕虫建立一个叫“DSQUERY”的入口设置,添加了“DSQUERY”字段到键值[HKEY_LOCAL_MACHINE\SOFTWARE\MSSQLServer\Client\ConnectTo]中。这个设置允许“DBNETLIB.DLL”作为数据查询接口。还建立一个叫“ ProtocolOrder ”的入口设置,添加了“tcp” 字段到键值[HKEY_LOCAL_MACHINE\SOFTWARE\MSSQLServer\Client\SuperSocketNetLib]中。这个指令允许MSSQL Server客户端选择TCP传输(也包含Named Pipes作为可能的传输手段),然后试图对SQL Server服务器数据源进行TTS连接。然后蠕虫定位MSSQL客户端的DLL—DBMSSOCN.DLL。这个DDL被用来进行数据查询,并拷贝到DBNETLIB.DLL中(这是蠕虫先前设定的)。
以下是在W2K系统中发现的蠕虫执行情况
> type of irc client that connects to 205.188.253.230 and joins #penr0x,
> which is +I. If asked I can gzip/zip up the file and send it to someone.
> If anyone has any insight to this I'd love to hear from you. Here's a bit
> of information on the exe.
>
> [reb@ reb]$ ls -al joe.exe
> -rw-r--r-- 1 reb reb 53248 Aug 1 17:58 joe.exe
> [reb@ reb]$ md5sum joe.exe
> 488c80ba0b2186a1ba52c4e69c590bc6 joe.exe
>
> Some of the more useful strings from `strings joe.exe` are:
......
该蠕虫还使用只在Windows95/98中才有的RegisterServiceProcess Win32 API函数将自身从任务栏中隐藏起来。同时也使蠕虫在系统退出登录时并未终止程序。
蠕虫通过修改系统注册表传染被入侵主机,所以当系统重启后蠕虫才得以执行。它在[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]下建立了键值“TaskReg”这个键值使得蠕虫所在路径为可执行。蠕虫一般被命名为Dnsservice.exe。

删除方法

1.从注册表中定位蠕虫的路径和文件名。
2.终止蠕虫的进程。
3.删除注册入口。
4.定位蠕虫可执行文件,并删除。

系统漏洞修补方法

1.用防火墙屏蔽1433,6667端口。
2.更改MS SQLServer的sa账号口令,禁用其缺省的空口令。

补充信息

1.如果你的主机上已运行DNSSERVICE.EXE和JOE.EXE,则可能已被感染。
2.该蠕虫现有四个版本分别是Joe、Cblade、Kaiten、Voyager Alpha Force;可执行文件名可能为JOE.EXE、DNSSERVICE.EXE等。