病毒事件取证之如何确认中了病毒
更新时间:2020-05-06
浏览量:600

第一章、背景介绍

目前安全行业发展红火,感知平台的推出,让内网安全一目了然,网络管理人员可使用感知平台实时了解失陷终端、失陷业务、网络攻击、业务外联情况、业务连接情况等信息,对网络的安全情况更加了解,对网络问题的处理更具有主动性。

但掌握网络的情况后,有的网络管理人员却会对失陷主机情况进行质疑——认为终端没有问题,有使用过杀软进行查杀,并没有发现问题。当遇到这样的问题时,一方面要找出让网络管理人员信服的证据;另一方面要组织自己的话术,以最严谨的话术同管理人员沟通,这样才能更好的解决问题。否则等待的则是被投诉……
 

第二章、取证分析之如何证明中了病毒

说到取证分析,通常给人的感觉是很简单,只要找到病毒程序,病毒文件、和服务等即可;大多数情况下这种思路是可行的,假如遇到特例会怎么办呢?这我将取证分析分为两个方向:完整结构的病毒取证和非完整结构的病毒取证,此次主要分享非完整结构的病毒取证。

注释:这里的取证分析只针对病毒类似和病毒的特征,也只不会探寻病毒带来的危害;取证之大,非我所能贯通,仅说我之能。另外也不会探讨设备是如何遭受病毒入侵。

首先我解释一下什么是完整结构的病毒取证和非完整结构的病毒取证:

完整结构的病毒取证:指该病毒是完整的,结构和功能是完整的,未遭受人工和杀软的清理;

非完整结构的病毒取证:指遭受人工清理或杀软查杀,但由于未清理干净,导致具有病毒的部分特征,杀软无法发现。
 

2.1完整结构的病毒取证

完整结构的病毒取证这里我列举的病毒为WannaMine挖矿病毒,该病毒的特征表现强,很容易识别。特征如下:

特征1:出现以下文件及目录
 


特征2:出现两个spoolsv.exe进程
 


特征3:出现大量445端口连接请求
 


特征4:遭受攻击的设备在重复蓝屏重启过程
 



这是完整结构的病毒取证,通过以上信息,我们可以确认该病毒是wannamine2.0挖矿病毒,当然除了这些特征以外,还有其他的特征可以说明他是wannamine2.0病毒,如通过排查服务信息、注册表等。

因此完整结构的病毒取证很容易,通过病毒特征、文件、进程、服务等可以判断该病毒信息,确认病毒后处理也较为容易,可手工、可杀软,看个人爱好。
 

2.2非完整结构的病毒取证

非完整结构的病毒取证较为困难,困难点在于无法通过病毒特征,文件进程、服务等进行判定,因为病毒结构已不完整。因此我根工作中遇到的进行列举,这里我将非完整结构的病毒取证分为两类:创造文件反举取证和注册表信息结合病毒特征取证。这两种情况均结合感知平台进行。

类型一:创造文件反举取证(Ramnit病毒 )

这种病毒取证的难点在于系统上有安装杀毒软件,并且杀毒软件会将病毒文件和进程杀掉,病毒文件也会被清理,但是被感染的文件却无法清理,因此在感知平台上会存在访问恶意域名信息,但是通过常规杀软却无法清理掉。这里我介绍一下背景及病毒取证的过程。

首先介绍背景,在感知平台中发现了某终端感染了ramnit病毒的失陷终端,并产生了访问的恶意域名的行为,但在终端上却未发现病毒文件,使用杀毒软件查杀却没发现问题。

取证过程,对系统进程多次分析后未发现异常进程和服务项,也使用过系统上安装的杀软进行病毒查杀,但均未发现问题,但感知平台却有记录,心理很急,可是却又无从下手。找不到异常进程和服务项,也没有病毒文件。每当这种时候就很难受,没有思路,但也不能放弃,只能做的是再次深入研究Ramnit病毒,查找和该病毒有关的资料,包含:病毒分析资料、病毒传播资料等,然后对这些信息进行整合,这个过程是极其消耗时间的,但也是唯一能做的。在对该病毒的深入研究中,发现被该病毒感染的EXE程序都会自动创建1个55kb的”程序名 + Srv”.exe的程序,当找到这个信息后便对该信息进行验证,发现系统洪确实存在该文件。如下:
 


当分析到这里的时候,可以得出该系统感染过这种病毒,但为什么找不到病毒文件、进程和服务呢?想到这里,唯一的可能就是有人使用杀软查杀过该病毒,但杀软未查杀干净,导致感染的文件会继续访问恶意连接,因此感知平台会记录该信息。想到这里我便对杀软查杀日志进行浏览,发现存在查杀过程,同时也验证了自己的猜想,如下:
 


到这里整个取证过程基本完成,一方面验证了感知平台中的数据,另一方面也让客户信服,那么剩下的事便是使用ramnit的专杀对感染文件进行查杀,取证结束。


类型二:注册表信息结合病毒特征取证(异鬼木马)

注册表信息结合病毒特征取证和创建文件反举取证有类似处,这里我列举的病毒为“异鬼木马”。

背景原因:该病毒被客户使用杀软进行查杀,但由于该病毒较为难缠,杀软未将病毒查杀干净,导致被感知平台监测,标记为失陷终端,使用杀毒软件查杀,却发现不了问题。因此客户就很迷惑是我的系统真的有问题,还是感知平台误报?为了解决客户的疑问,同时证明不是感知平台误报,而是系统真实存在问题,于是便有一下分析。

首先结合感知平台,了解系统是中了什么病毒,其次对病毒进行学习,了解病毒行为,最后验证。由于杀软无法找到对应问题,因此研究异鬼木马病毒行为,通过对病毒行为进行研究发现:“异鬼”木马先于系统启动,获得执行权限后,向系统进程services.exe、explorer.exe注入恶意代码,被注入的恶意代码会从云端下载流氓软件安装到用户电脑上。由于该电脑被处理过一次,系统中异鬼病毒文件已被处理一部分,因此此次仅针对系统中还存在的异常文件进行分析记录。

创建HKEY_LOCAL_MACHINESoftwareClassesCLSID{FC70EFDD-2741-495C-9A93-42408F6878D9}un(母体创建)注册表键值;


创建HKEY_LOCAL_MACHINESoftwareClassesCLSID{FC70EFDD-2741-495C-9A93-42408F6878D9}ex键值(感染后会设置,防止重复感染);


下载.wav文件,将其解压,然后运行,从数据中解压出一个应用层dll,将其保存到C:Windowssystem32usbsapi.dll:
 


usbapi.dll注入到spoolsv.exe,注入的方式是在目标进程的导入表中添加usbapi.dll为新的导入项且spoolsv.exe存在UDP高端口被使用:
 



连接C&C,往iqp.sjime.com的UDP 8000端口发送包含当前进程信息的数据,接收并解密服务器返回的数据,从数据中解密提取要下载的url地址,从相关url地址下载wav文件到指定目录。下载成功的wav文件会保存到以下目录:



到此整个病毒取证过程便结束。


第三章、总结

当在对病毒的取证过程中没有思路时,可以重头开始,先研究病毒特征,再进行取证。取证是一个极其枯燥的一个过程,需要耐心和精力,如逆水行舟。

第一章、背景介绍

目前安全行业发展红火,感知平台的推出,让内网安全一目了然,网络管理人员可使用感知平台实时了解失陷终端、失陷业务、网络攻击、业务外联情况、业务连接情况等信息,对网络的安全情况更加了解,对网络问题的处理更具有主动性。

但掌握网络的情况后,有的网络管理人员却会对失陷主机情况进行质疑——认为终端没有问题,有使用过杀软进行查杀,并没有发现问题。当遇到这样的问题时,一方面要找出让网络管理人员信服的证据;另一方面要组织自己的话术,以最严谨的话术同管理人员沟通,这样才能更好的解决问题。否则等待的则是被投诉……
 

第二章、取证分析之如何证明中了病毒

说到取证分析,通常给人的感觉是很简单,只要找到病毒程序,病毒文件、和服务等即可;大多数情况下这种思路是可行的,假如遇到特例会怎么办呢?这我将取证分析分为两个方向:完整结构的病毒取证和非完整结构的病毒取证,此次主要分享非完整结构的病毒取证。

注释:这里的取证分析只针对病毒类似和病毒的特征,也只不会探寻病毒带来的危害;取证之大,非我所能贯通,仅说我之能。另外也不会探讨设备是如何遭受病毒入侵。

首先我解释一下什么是完整结构的病毒取证和非完整结构的病毒取证:

完整结构的病毒取证:指该病毒是完整的,结构和功能是完整的,未遭受人工和杀软的清理;

非完整结构的病毒取证:指遭受人工清理或杀软查杀,但由于未清理干净,导致具有病毒的部分特征,杀软无法发现。
 

2.1完整结构的病毒取证

完整结构的病毒取证这里我列举的病毒为WannaMine挖矿病毒,该病毒的特征表现强,很容易识别。特征如下:

特征1:出现以下文件及目录
 


特征2:出现两个spoolsv.exe进程
 


特征3:出现大量445端口连接请求
 


特征4:遭受攻击的设备在重复蓝屏重启过程
 



这是完整结构的病毒取证,通过以上信息,我们可以确认该病毒是wannamine2.0挖矿病毒,当然除了这些特征以外,还有其他的特征可以说明他是wannamine2.0病毒,如通过排查服务信息、注册表等。

因此完整结构的病毒取证很容易,通过病毒特征、文件、进程、服务等可以判断该病毒信息,确认病毒后处理也较为容易,可手工、可杀软,看个人爱好。
 

2.2非完整结构的病毒取证

非完整结构的病毒取证较为困难,困难点在于无法通过病毒特征,文件进程、服务等进行判定,因为病毒结构已不完整。因此我根工作中遇到的进行列举,这里我将非完整结构的病毒取证分为两类:创造文件反举取证和注册表信息结合病毒特征取证。这两种情况均结合感知平台进行。

类型一:创造文件反举取证(Ramnit病毒 )

这种病毒取证的难点在于系统上有安装杀毒软件,并且杀毒软件会将病毒文件和进程杀掉,病毒文件也会被清理,但是被感染的文件却无法清理,因此在感知平台上会存在访问恶意域名信息,但是通过常规杀软却无法清理掉。这里我介绍一下背景及病毒取证的过程。

首先介绍背景,在感知平台中发现了某终端感染了ramnit病毒的失陷终端,并产生了访问的恶意域名的行为,但在终端上却未发现病毒文件,使用杀毒软件查杀却没发现问题。

取证过程,对系统进程多次分析后未发现异常进程和服务项,也使用过系统上安装的杀软进行病毒查杀,但均未发现问题,但感知平台却有记录,心理很急,可是却又无从下手。找不到异常进程和服务项,也没有病毒文件。每当这种时候就很难受,没有思路,但也不能放弃,只能做的是再次深入研究Ramnit病毒,查找和该病毒有关的资料,包含:病毒分析资料、病毒传播资料等,然后对这些信息进行整合,这个过程是极其消耗时间的,但也是唯一能做的。在对该病毒的深入研究中,发现被该病毒感染的EXE程序都会自动创建1个55kb的”程序名 + Srv”.exe的程序,当找到这个信息后便对该信息进行验证,发现系统洪确实存在该文件。如下:
 


当分析到这里的时候,可以得出该系统感染过这种病毒,但为什么找不到病毒文件、进程和服务呢?想到这里,唯一的可能就是有人使用杀软查杀过该病毒,但杀软未查杀干净,导致感染的文件会继续访问恶意连接,因此感知平台会记录该信息。想到这里我便对杀软查杀日志进行浏览,发现存在查杀过程,同时也验证了自己的猜想,如下:
 


到这里整个取证过程基本完成,一方面验证了感知平台中的数据,另一方面也让客户信服,那么剩下的事便是使用ramnit的专杀对感染文件进行查杀,取证结束。


类型二:注册表信息结合病毒特征取证(异鬼木马)

注册表信息结合病毒特征取证和创建文件反举取证有类似处,这里我列举的病毒为“异鬼木马”。

背景原因:该病毒被客户使用杀软进行查杀,但由于该病毒较为难缠,杀软未将病毒查杀干净,导致被感知平台监测,标记为失陷终端,使用杀毒软件查杀,却发现不了问题。因此客户就很迷惑是我的系统真的有问题,还是感知平台误报?为了解决客户的疑问,同时证明不是感知平台误报,而是系统真实存在问题,于是便有一下分析。

首先结合感知平台,了解系统是中了什么病毒,其次对病毒进行学习,了解病毒行为,最后验证。由于杀软无法找到对应问题,因此研究异鬼木马病毒行为,通过对病毒行为进行研究发现:“异鬼”木马先于系统启动,获得执行权限后,向系统进程services.exe、explorer.exe注入恶意代码,被注入的恶意代码会从云端下载流氓软件安装到用户电脑上。由于该电脑被处理过一次,系统中异鬼病毒文件已被处理一部分,因此此次仅针对系统中还存在的异常文件进行分析记录。

创建HKEY_LOCAL_MACHINESoftwareClassesCLSID{FC70EFDD-2741-495C-9A93-42408F6878D9}un(母体创建)注册表键值;


创建HKEY_LOCAL_MACHINESoftwareClassesCLSID{FC70EFDD-2741-495C-9A93-42408F6878D9}ex键值(感染后会设置,防止重复感染);


下载.wav文件,将其解压,然后运行,从数据中解压出一个应用层dll,将其保存到C:Windowssystem32usbsapi.dll:
 


usbapi.dll注入到spoolsv.exe,注入的方式是在目标进程的导入表中添加usbapi.dll为新的导入项且spoolsv.exe存在UDP高端口被使用:
 



连接C&C,往iqp.sjime.com的UDP 8000端口发送包含当前进程信息的数据,接收并解密服务器返回的数据,从数据中解密提取要下载的url地址,从相关url地址下载wav文件到指定目录。下载成功的wav文件会保存到以下目录:



到此整个病毒取证过程便结束。


第三章、总结

当在对病毒的取证过程中没有思路时,可以重头开始,先研究病毒特征,再进行取证。取证是一个极其枯燥的一个过程,需要耐心和精力,如逆水行舟。