Zeus病毒分析与查杀
  

SSEC 发表于 2017-6-26 19:37

本帖最后由 SSEC 于 2017-7-21 15:22 编辑

Zeus病毒分析与查杀
1 简述
1.1什么是Zeus病毒
Zeus病毒,也叫Zbot病毒,是一种具有高潜伏性的木马病毒,受影响系统为微软Windows,主要被用来盗窃用户银行信息。
Zeus最早于2007年被发现,当时它被用来盗取美国交通部的资料信息。到2009年,Zeus病毒进入全面爆发阶段。据统计,单单在美国,就有超过三百六十万的主机在2009年感染Zeus。保守估计,至少造成了七千万美元的损失。
Zeus早已形成了一个规模庞大的僵尸网络。由于Zeus具备抗检测、高潜伏能力,目前还没有哪一个杀毒软件能够绝对根除所有变种的Zeus。

1.2 有哪些危害
感染Zeus病毒的主机,其账户密码等重要信息是没有保障的,随时都可能外泄。特别是企业用户,涉及到银行、金融相关的业务,往往意味着重大的财产损失,后果也是难以估量的。
Zeus除了窃取账户,还会将恶意代码注入到大多数当前运行的进程中,做了大量的进程钩子,给系统运行的安全性和稳定性带来隐患。
当然,感染Zeus也可能发生次生灾害,譬如有些Zeus变种会传播勒索病毒,导致本地重要文件被加密,也有些变种会破坏一些重要文件,甚至结合其它家族的病毒发生组合性的攻击行为。

2 中毒症状
Zeus中毒症状的剖析,以及其常见感染途径
2.1Zeus常见感染路径
Zeus变种很多,通常运行起来之后,常见的释放路径如下(释放自身文件):

C:\Windows\system32\ntos.exe
535285971a7716b537.png
或者:
C:\Windows\system32\oembios.exe
C:\Windows\system32\twext.exe
C:\Windows\system32\sdra64.exe
C:\Windows\system32\[随机].exe

此外,会创建文件夹名字如wsnpoem、sysproc64、twain_32、lowsec

System32相应文件夹可能有audio.dll、video.dll等文件
388805971a7818894f.png

Application Data相应文件夹是对应的数据文件
208085971a79619ace.png

右键查看Zeus病毒原文件ntos.exe属性,可以看到文件属性已经明显异常了:
文件大小和占用空间显示为0字节(实际肯定不为0)
文件创建时间、修改时间、访问时间通通为空(正常情况这三个时间都有对应的真实值)
199655971a7a52ec7b.png
2.2 添加启动项
Zeus病毒原始exe会在运行过程中,修改以下启动项键值,已达到开机启动的目的:
HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\userinit
644055971a7b8524ed.png

有些Zeus变种的自启动方式更为隐蔽,它会利用关机事件在关机时写入注册表启动项,当开机启动后,又从注册表中删除自己。所以,当这类Zeus变种运行后,通常是难以通过启动项来发现该病毒的。


2.3 病毒进程与感染进程
Zeus病毒的运行形态是多样的,假设原始病毒文件为2k.exe,不小心点击该可执行文件后,发生的现象如下:

首先,2k.exe进程释放自身病毒文件到system32目录下(这里以释放病毒文件名ntos.exe为例)。当然,对应的释放文件绝对路径也是userinit启动项的追加值。
923035971a7dc0491f.png



接着,先查询ntdll.dll的“修改时间”,然后修改ntos.exe的“修改时间”,以与ntdll.dll保持一致。如下图所示,修改时间和系统文件一致,让用户误以为最近没有文件被创建或修改。
257345971a7e5ca2bf.png



再者,将恶意代码注入到其它进程中(大多数),并且加了大量进程钩子。

最后,2k.exe进程退出,Zeus以其它进程额外创建的线程、注入的代码或者钩子潜伏在感染主机中。

Zeus感染的进程是很多的,基本上,当前的在运行的进程,都被感染了。注意,不是感染进程对应的二进制文件,而是注入恶意代码到感染进程的模块空间中去。这是存在于内存中的,没有对应的感染了Zeus病毒的磁盘文件。

我们使用特殊工具,抽取了svhost.exe和winlogon.exe两个进程,Dump了它们的所有模块空间,观察掉有隐藏的模块:

svchost_exe_PID384_hiddenmodule_2560000_x86.exe就是隐藏在svchost.exe进程中的模块
557635971a7f0ce147.png

winlogon_exe_PID284_hiddenmodule_C10000_x86.exe就是隐藏在winlogon.exe进程中的模块

488815971a7fbeeb9a.png

2.4 挂钩子
Zeus病毒盗窃信息的主要实现方式是,将运行起来的正常进程加入IAT进程钩子,以Hook特定的函数调用,得到相应数据。
Zeus挂的IAT钩子数量是很夸张的,挂1000多个钩子都是有可能的。
下图是使用PChunter抓出来的某个进程的钩子:
764305971a80ac531c.png
2.5 网络行为
Zeus病毒运行起来后,会优先到特定URL下载配置文件。

通过抓包,观察到有如下http流量:
87985971a81c37d1a.png



此URL在Virustotal上被标记为恶意。
734505971aa960ddf8.png


后续的开源代码分析,确定该URL为Zeus的配置文件(当然,不同Zeus变种对应的配置文件URL可能不同):

配置文件表明,Zeus可能会下载更新的变种或其它病毒,也可能对特定的银行网站进行本地的劫持或窃取。
31805971aaa90e4b9.png


3 如何查杀
如何处理被Zeus感染的主机
3.1 专杀与修复
Zeus并非是通过漏洞入侵,往往是用户不小心点击了来源不明的可执行文件,或者点击了不明邮件的附件或链接。所以,不需要针对Zeus安装任何补丁。

杀毒工具对Zeus不一定有效,比较推荐使用针对该病毒的专杀工具:

卡巴斯基Zeus专杀工具请查看专题 僵木蠕查杀工具帖子

468385971aabeea0ec.png
3.2 后续处理
Zeus可能会比较顽固,即使清理后,仍然建议观察几天看是否有复发迹象。同时,建议将自己的所有账号密码,通通修改掉,以避免不必要的损失。

喜欢这篇分享吗?喜欢就给楼主打点赏吧!点个赞也是极大的鼓励!

发帖可获得5S豆;若您的分享被加精或推荐优秀等,将获得更多S豆奖励,了解更多S豆奖励信息

完善手机号和公司名称,让服务更省心更便捷!立即完善

XiaoYang Lv6发表于 2017-7-25 10:08
  
学习学习
×
有话想说?点这里!
可评论、可发帖

本版版主

46
11
1

发帖

粉丝

关注

本版热帖

本版达人

奋斗的小破孩

本周建议达人

SSEC

本周分享达人