首页 -> 安全研究

安全研究

绿盟月刊
绿盟安全月刊->第40期->安全文摘
期刊号: 类型: 关键词:
红码变种Codered.F蠕虫分析

作者:refdom(Quartz)
出处:http://www.xfocus.net
日期:2003-04-02

3月13日,XFOCUS成员从设置的陷阱网络上监控捕获到Codered的蠕虫变种,该变种由反病毒公司命名为Codered.F。XFOCUS对该蠕虫进行了分析,该蠕虫的GET请求附录在下面。

病毒名称:Codered.F
病毒类型:蠕虫
受感染的系统:
    病毒的攻击的对象为安装了IIS的Windows NT/2000系统,并且仅仅影响没有打微软的MS01-033补丁的IIS服务器。

病毒详细技术分析:

    CodeRed.F利用微软IIS远程缓冲区溢出漏洞获取系统权限实施攻击,并在这个被感染的Web服务器上安装一个后门程序,使得攻击者对被感染系统具有完全的访问权限,因此,一旦遭受感染,网络安全就会受到严重威胁。
    
    CodeRed.F通过IIS服务器的idq缓冲区溢出漏洞在WEB服务器上安装并繁衍,只有没有安装最后的IIS service pack的系统才会受影响。

    当WEB服务器受感染后,蠕虫将执行下面操作:
1、调用初始化程序,在IIS Server服务进程空间中找到Kernel32.dll的基地址;
2、接着查找GetProcAddress的地址;
3、调用GetProcAddress,并访问其他API的地址,包括:LoadLibrayA、CreateThread、GetSystemTime等

    然后蠕虫加载WS2_32.dll并调用相关的TCP/IP函数,比如socket等,在从User32.dll中调用ExitWindowsEx函数以便重新启动系统。

蠕虫的主线程检查两个标识:
1、"29A",这个用来控制随蠕虫的后门木马的安装;
2、另一个是"CodeRedll",如果该信号存在,那么蠕虫将进入无限制的休眠。

    蠕虫的主线程还会检查系统的默认语言,如果默认语言是中文(Taiwan或者PRC),就会创建600个新的扫描线程,否则就创建300个扫描线程,这些线程根据随机产生的IP地址扫描新的主机,并试图感染。在这些扫描线程创建时,蠕虫的主线程复制Cmd.exe到下面的地方:

C:\Inetpub\Scripts\Root.exe
D:\Inetpub\Scripts\Root.exe
C:\Progra~1\Common~1\System\MSADC\Root.exe
D:\Progra~1\Common~1\System\MSADC\Root.exe

    蠕虫在主机中安装的后门会在注册表中添加下面内容:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots

    通过该修改,并将用户组设置为217,那么黑客就可以通过WEB服务器用HTTP的GET请求在服务器上执行scripts/root.exe 程序。

    蠕虫的主线程会在中文系统上休眠48小时,而其他系统则休眠24小时。而那些扫描线程仍然继续运行,并试图去感染其他主机。当蠕虫的主线程重新苏醒的时候,会重新启动主机。同时,所有的线程会检查是否是十月或者以后,以及年份是否大于34951,如果是,那么系统就被重新启动。

    该蠕虫复制的cmd.exe程序到IIS的默认可执行目录下,那么就允许进行远程控制。同时它也会设置C:\Explorer.exe和D:\Explorer.exe属性为隐藏、系统文件和只读文件。

    主机被感染24或者48小时后,系统会被重新启动,相同的主机可能被重复感染,除非安装了最新的补丁。如果月份是十月或者以后,以及年份是否大于34951,那么系统也会被重新启动。当系统重新启动后,木马就在系统执行Explorer.exe的时候运行起来。C:\Explorer.exe木马先休眠几分钟,然后重新设置键值并确认。

    注意:当重新启动后,内存中原本驻留的蠕虫就不存在了,那么它将不会重新去感染其他主机,除非该主机又被重新感染。

木马会修改注册表:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
并将SFCDisable设置为0xFFFFFF9D.

这个修改会禁止系统文件检查保护(SFC)

注意:如果在运行Microsoft FrontPage  或者其他WEB编辑程序,IIS可能会被重新安装。


蠕虫手工解决办法:

1、杀掉木马的进程。

     在进程管理器中,可以看见两个Exploere.exe进程,其中一个是合法的,另一个则是木马进程。要确认哪个是木马进程,请在查看——选择列中选择上线程数。这时你可以看见只有1个线程的Exploere.exe进程,这个就是木马的进程。请终止该进程的运行。

2、删除Exploere.exe文件。这些文件有隐藏、系统文件和只读文件属性。请运行cmd.exe,并执行下面的命令:

cd c:\
attrib -h -s -r explorer.exe
del explorer.exe

cd d:\
attrib -h -s -r explorer.exe
del explorer.exe

3、删除下面的文件(可能存在):

C:\Inetpub\Scripts\Root.exe
D:\Inetpub\Scripts\Root.exe
C:\Progra~1\Common~1\System\MSADC\Root.exe
D:\Progra~1\Common~1\System\MSADC\Root.exe

4、在IIS管理器中,删除C、D或者其他驱动器根的虚拟目录


5、删除注册表的相关项。

    在注册表的下面位置:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots

    删除其中的键为/C和/D的内容,双击/MSADC和/Scripts,删除其中的数字217,并修改为201。

    在注册表的下面位置:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinLogon

    双击键SFCDisable,修改其中的内容为0。

6、重新启动系统。清除内存中的蠕虫。


解决方案:

    为避免被蠕虫感染,请用户到以下链接下载微软针对该漏洞的安全补丁:
    MS01-033 patch (http://www.microsoft.com/technet/security/bulletin/MS01-033.asp)
    MS01-044patch (http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS01-044.asp)
注:微软的Service Pack 3已经包含了该补丁。


附蠕虫HTTP请求对ida的GET溢出请求(蠕虫后面的内容屏蔽):

Content-length: 3379

47 45 54 20 2f 64 65 66 61 75 6c 74 2e 69 64 61 3f 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 58 25 75 39 30 39 30 25 75 36 38 35 38 25 75 63 62 64 33 25 75 37 38 30 31 25 75 39 30 39 30 25 75 36 38 35 38 25 75 63 62 64 33 25 75 37 38 30 31 25 75 39 30 39 30 25 75 36 38 35 38 25 75 63 62 64 33 25 75 37 38 30 31 25 75 39 30 39 30 25 75 39 30 39 30 25 75 38 31 39 30 25 75 30 30 63 33 25 75 30 30 30 33 25 75 38 62 30 30 25 75 35 33 31 62 25 75 35 33 66 66 25 75 30 30 37 38 25 75 30 30 30 30 25 75 30 30 3d 61 20 20 48 54 54 50 2f 31 2e 30 0d 0a

即:GET /default.ida?XXXXXXXXXXXXXXXXXXXXX……
版权所有,未经许可,不得转载