Sality病毒分析与查杀 1 简述
1.1什么是Sality病毒Sality病毒是一种复杂多变、多态化的感染型病毒,受影响系统为微软Windows,感染对象为exe和scr文件。
Sality最早于2003年被发现,随着多年的发展,Sality病毒已逐渐变得愈加顽固,其主要恶意代码体可实现动态、持久、功能齐全的病毒行为。比较新的Sality病毒变种,甚至采用了大量的rootkit技术,以隐藏自己和对抗杀毒产品。
Sality已经被认为是当前最流行、最复杂、最难以对付的病毒家族之一。
1.2 有哪些危害感染Sality病毒往往是灾难性的,整个磁盘文件的绝大数exe和scr都会被植入恶意代码。由于Sality采用了多态变形加密,使每一次感染的二进制文件所植入的恶意代码都不尽相同,修复原文件变得困难重重。
Sality会全盘遍历并感染文件,也可能会注入病毒线程到所有进程中,甚至给感染主机下载并安装上大量恶意软件,或做为分布式计算的一个节点来破解密码……。总之,大量的计算、持续的行为,会充分榨干感染主机的性能,使之变得相当卡。
当然,感染Sality也意味着主机的完全失陷,不管是做为跳板,还是为垃圾邮件提供中继,甚至窃取个人账号、密码、机密文件等等敏感信息,通通都可能发生。
2 中毒症状与感染途径
Sality中毒症状的剖析,以及其常见感染途径 2.1 安全功能的大量失效1.Sality会禁用UAC,关闭微软自带的更新服务,使之无法及时打上补丁包。 2.Windows防火墙被关闭或破坏,尝试开启防火墙会报错。 不管点“是”还是“否”,都无法开启防火墙。
3.Sality会搜索和尝试删除任何与杀毒软件的文件,会尝试终止这些与安全相关的进程和服务。 4.Sality会删除如下注册表项,使用户无法进入安全模式。
- <font face="微软雅黑">HKCU\System\CurrentControlSet\Control\SafeBoot
- HKLM\System\CurrentControlSet\Control\SafeBoot</font>
复制代码
5.Sality会阻塞对感染主机对安全站点的访问,使病毒库更新失效。 2.2 被感染的文件众多多数的Sality变种会释放一个DLL到感染主机中去,这个DLL文件会以两种形式写到磁盘中去,例如: - <font face="微软雅黑">%SYSTEM%\nltdcf64.dll
- %SYSTEM%\nltdcf64.dl_</font>
复制代码
不同变种释放的DLL文件名可能会有所不同,但一般都是成对存在,即有一个病毒体且文件后缀为“.dll”的文件,另外有一个压缩版本的病毒体且文件后缀为“.dl_”的文件。当然,比较新的变种,如Sality.AM,并不释放任何DLL,它只存在于内存中。
Sality也可能会在如下路径释放病毒体: - <font face="微软雅黑">%SYSTEM%\driver\[随机名字].sys</font>
复制代码
Sality主要感染C盘下的所有exe、scr文件,同时也会感染一些Windows常用启动项或使用频率较高的程序,通常这些文件的位置可以由如下注册表项得到: - <font face="微软雅黑">HKLM\Software\Microsoft\Windows\CurrentVersion\Run
- HKCU\Software\Microsoft\Windows\CurrentVersion\Run
- HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache</font>
复制代码
有些Sality变种是可以感染U盘等移动介质的,也可以感染网络共享上的文件。通常,这些文件的存在形式如下: - <font face="微软雅黑">\[随机名字].pif
- \[随机名字].exe
- \[随机名字].cmd
- \[随机名字].tmp
- \[一个诱导用户去点击的名字].lnk </font>
复制代码
(.lnk是快捷方式,Sality利用Windows快捷方式的漏洞,起一个诱惑的名字让用户去误点,如下:)
此外,在%WinDir%\system.ini中会追加配置信息,如下图所示,最后2行就是Sality追加的配置项:
不同Sality变种追加的内容可能不一样,有些会追加如下2行: [MCIDRV_VER] DEVICEMB=一串数字
Sality病毒会创建一个autorun.inf文件到所有的驱动器中,当用户尝试打开或进入该驱动器后,就会自动执行Sality病毒体。 创建的autorun.inf文件,通常内容如下:
2.3 受感染的进程多数的Sality变种会注入病毒线程到所有的进程中,为防止反复注入,通常如下的互斥量mutex会被创建: - <font face="微软雅黑">[process name].exeM_[process ID]</font>
复制代码
Sality病毒可能通过使用NtTerminateProcess来终止与安全相关的进程(如某些安全厂商的进程),或者通过禁用任何system service descriptor table(SSDT)钩子来阻扰安全产品的正常工作。 2.4 网络行为Sality病毒会到特定的站点下载恶意软件,并将下载的文件安装到感染主机上。
比较新的Sality变种,可以通过P2P组建成为一个庞大的僵尸网络。这些P2P协议通常是基于UDP的,所有的流量是加密的。黑客使用这个网络,实现发垃圾邮件、做代理、做跳板。
当然,感染Sality的主机,是完全可以被黑客监控和操纵的。所以,任何系统敏感信息,或者个人账号密码,都可能通过网络回传给黑客站点。
有时候,为了充分榨干肉机性能,也可能将肉机做为P2P分布式计算的一个节点,为黑客提供免费的“云服务”——通常,黑客拿这些计算资源来破解密码。
3 如何查杀
如何处理被Sality感染的主机 3.1 专杀与修复Sality并非是通过漏洞入侵,往往是用户不小心点击了来源不明的可执行文件,或者插入了本身就被感染的U盘等可移动介质。所以,不需要针对Sality安装任何补丁。
杀毒工具对Sality不一定有效,比较推荐使用针对该病毒的专杀工具:
3.2 更为保守的处理Sality的变种是非常多的,黑客与时俱进,不断的加强和完善该病毒的各项能力。是否还有些不为人知的特殊技能,轻松躲过专杀工具,还不得而知。
而且Sality感染文件较多,杀毒工具或专杀工具能否彻底查杀并修复干净,仍有一定的可能性(虽然不干净的可能性非常小)。如果对主机的安全风险有更高的要求,建议只把文档文件复制出来(所有的二进制文件均抛弃不要),然后重装系统,这样要来得更安全些。 |