攻击微软SQL服务器的病毒技术分析

/ns/wz/comp/data/20020806015621.htm

转帖
  

����最近在互联网上传播、专门攻击微软SQL服务器的病毒SQLsnake(又叫Spida),其主要特征是病毒编写者仅仅写了一些脚本文件,而主要的程序都是通过网络下载的,这些工具基本是一些黑客常用的工具,而且也仅仅利用了SQL SERVER的SA帐号空口令。
����
����如果Spida病毒扫描到SQL Server使用默认的1433端口,并且其最高管理帐号SA为默认的空口令主机的时候,Spida病毒通过数据库的扩展存储过程XP_CmdShell,将SQL Server的服务器中的guest帐号激活,并且设置一个随机的包含有不可见字符的四位长度密码,然后将guest帐号添加到本地和域的管理员组。然后开始使用guest帐号连接该主机,创建会话。
����
����然后检查该主机目录\WINNT\SYSTEM32\是否存在cscript.exe文件,该文件是微软的脚本执行文件,病毒将利用它来执行js脚本。如果不存在该文件,那么感染失败,并在病毒宿主产生一个.fail文件。病毒也会检查是否%SystemRoot%下存在Regedt32.exe文件,如果该文件存在,病毒认为该主机已经被感染。
����
����通过文件判断后,Spida病毒会将下面的文件复制到目标机器 的SYSTEM32目录下:
����\drivers\services.exe��(该文件是著名安全公司FoundStone的一个端口扫描工具)
����\sqlexec.js
����\clemail.exe�������� (该文件是一个邮件发送工具)
����\sqlprocess.js
����\sqlinstall.bat
����\sqldir.js
����\run.js
����\timer.dll
����\samdump.dll
����\pwdump2.exe�� (该文件是一个导出WINNT密码的工具)
����
����这些文件都被病毒设置为隐藏。随后病毒将guest帐号复原(密码仍存在)。
����
����随后病毒会利用SQL Server的命令行工具isql将执行远程命令,将目标IP主机的,SA的密码修改为同guest帐号一样的密码,并运行sqlprocess.js文件,完成病毒的繁殖,并产生一个感染记录文件:.ok。最后删除同目标的会话连接。
����
��������被感染的主机开始运行sqlprocess.js,它将产生一个4位密码,
����
��������病毒会修改注册表:
������shell.RegWrite("HKLM\\System\\CurrentControlSet\\Services\\NetDDE\\ImagePath", "%COMSPEC% /c start netdde && sqlprocess init", "REG_EXPAND_SZ");
������shell.RegWrite("HKLM\\System\\CurrentControlSet\\Services\\NetDDE\\Start", 2, "REG_DWORD");
����
����把NETDDE服务变为自动启动。并且注册DLL:timer.dll 。对于SQL SERVER 7版本,病毒会修改HKLM\\software\\microsoft\\mssqlserver\\client\\connectto\\dsquery", "dbmssocn",以默认进行TCP/IP而不是管道的数据库连接,通过这样来扫描其他的IP地址。
����
����然后病毒将%SystemRoot%\SYSTEM32\regedt32.exe文件复制到%SystemRoot%\目录下,作为一个被感染的标记。
����
����随后病毒将该主机的IP配置情况、数据库帐号SA、对应密码、以及运行pwdump2.exe导出系统密码,输出到文件send.txt中,然后通过clemail.exe文件将send.txt内容发送到一个指定的信箱。然后再将该文件删除。
����
����病毒接着进行繁殖,利用drivers\services.exe文件,该文件实际上是著名安全公司Foundstone开发的命令行端口扫描工具FScan,病毒利用该文件开100个线程,对其产生的IP地址进行扫描TCP 1433端口,并将扫描结果保存在rdata.txt文件中。扫描完成后,病毒利用sqlinstall.bat文件开始病毒的繁殖,尝试进行SA空口令的连接,并利用产生的4位密码开始病毒的繁殖。
����
����随后删除rdata.txt文件,并进入一个死循环,不断进行端口扫描和繁殖。
����
����该病毒没有利用任何SQL SERVER的漏洞,仅仅是利用空口令的SA帐号,病毒使用的主要程序都是一些可随意下载的工具,然后利用这些工具并编写了脚本文件来进行繁殖。