背景
无意间获取到一个病毒样本,并且伪装成微信客户端应用程序一模一样。通过火绒病毒查杀软件进行对样本查杀,确认该微信客户端应用程序样本是属于Sality病毒。下面就对该病毒样本,进行相对详细功能解析。
下图是样本属性
下图是火绒查杀情况
理论基础
Sality病毒在国内最早要追溯到2003年,随着这么多年的发展,Sality病毒已变得愈加顽固,它主要的恶意代码体可实现动态、持久、功能齐全的病毒行为。
Sality病毒是一种复杂多变、多态化的感染型的病毒,它影响的系统主要是微软的window系统。
Sality病毒运行后,会终止系统中安全相关软件和服务,并且全盘遍历感染系统内的exe和scr文件。并且注入病毒线程到所有进程中,在后台下载病毒到系统。同时它创建自身拷贝到可移动设备或者网络共享中,以达到传播的目的。此外,部分病毒变种还会收集被感染系统信息,并发送的到指定的网址。
Sality采用了多态变形加密,使每一次感染的二进制文件所植入的恶意代码都不尽相同,修复原文件变得困难重重。
样本基本信息
通过利用Exeinfo PE工具,进行对样本基本信息分析,该样本没有进行做加壳保护,它是一个没有加壳的程序,在应用程序图标、版本、文件描述是一模一样的,只是在文件大小上有所不同而已(这个也就是为了给人造成一种让人无法识别出真假微信应用程序),它表现在重定位的表上插入该病毒相关的功能代码。
下图中的病毒样本,它通过在重定位表中植入对应功能代码。
样本功能
分析病毒样本功能,通过一种最为冒险(冒着中病毒风险)的方式,进行解析病毒样本的功能。通过在隔离主机并且断网的的虚拟机环境,进行运行Sality病毒样本。通过进程监控工具,监控运行病毒样本行为;并且利用ollydbg动态调试工具进行下断点方式,进行解析病毒样本的关键功能行为。
进程监控工具监控注册表信息,该病毒样本运行后,会操作读写注册表相关信息。
下图就是该样本进行通过读写注册表的关键信息。
下图是运行后,注册表信息被修改数值的展示。
该病毒样本主要通过修改注册表路径
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Security Center下的数值,实现隐藏文件,禁用UAC,关闭系统自动更新选项,关闭防火墙操作。将名称对应字段的数值设置为1的方式进行实现功能。
通过进程监控工具,监控到病毒样本的操作文件相关信息,通过监控该病毒样本主要有两个个文件行为,一个是对系统文件进行写入操作,一个是创建一个新的隐藏文件。
下图是该病毒样本运行,通过writeFile方式实现对system.ini写入病毒信息
下图是截图中是病毒插入的信息, DEVICEMB对应数值是变化的。
下图是病毒样本运行后创建的隐藏文件,autorun.inf, mtxn.exe。
下图是autorun.info隐藏文件的内容,该文件主要通过设置自动执行的文件,指向拷贝其中的病毒样本,实现网络共享盘或者移动盘被打开的时候病毒继续运行,并且进行感染传播病毒。
接下来通过利用ollydbg调试工具,进行对病毒样本的下关键断点的方式进行解析功能,由于进程监控工具我们知道有操作注册表和文件操作,这个就可以通过下操作注册表的关键函数RegOpenKeyExA,RegClosekey,通过操作文件的关键函数CreateFileA、ReadFile、WriteFile等关键函数(在未知编码情况,可以ASCII和UNICODE的关键函数都下断点)。
通过CreateFileA函数进行释放一个随机进程名称的病毒样本傀儡程序。
通过CreateMutexA创建一个uxJLpe1m名称的互斥体,实现只执行唯一一个病毒样本程序。同时在往运行进程中注入病毒功能的时候也通过创建互斥体名称方式,实现一个进程只注入和执行一次。
通过FindFirstFileA、FindNextFileA方式,实现循环整个运行的系统环境,
主要感染对象为不受保护的应用程序,通过修改应用程序的入口点,通过将病毒代码替换到要进行感染的原始文件代码。最终实现被感染的应用程序启动的时候执行病毒代码功能。
还有通过WriteProcessMemory、CreateRemoteThread等关键函数可以定位到该病毒样本通过远程线程的方式进行对运行的程序进行注入线程并采用互斥体方式进行避免对进程多次注入,以实现电脑CPU高占用情况。
该病毒样本还有对应的网络通信行为,进行对指定的URL访问通信,实现病毒样本的关键功能。
功能总结
1、通过注册表方式实现破坏系统的一些安全设置。
2、通过感染病毒样本运行环境下的整个系统环境、移动设备、远程共享目录的为保护的应用程序。
3、利用移动设备、远程共享的自动执行病毒功能进行感染传播。
4、将病毒功能注入到所有运行的进程,实现病毒的关键功能,同时高占用CPU。
5、创建一个网络通信行为。
安全思考
1、在网络上不要随意下载非官方软件或者破解软件。
2、不要随意点击快捷键方式或者未知的应用程序。
3、如非必要关闭文件共享,还有自动播放功能。
4、建议安装病毒查杀软件,并保证一直处于运行状态。
5、不关闭防火墙、UAC等高敏权限的访问。