




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、火焰病毒分析一、 病毒简介与特性2012年5月,关于Flame病毒(伊朗译为“火焰”,也有的实验室称其为“skyWiper”)的相关报道横空问世,其感染范围主要是中东地区该病毒的体积十分庞大并且结构极为复杂,被称为有史以来最复杂的病毒,它由一个20MB大小的模块包组成,共包含20个模块,且每个模块有着不同的作用,病毒编制使用了至少5种加密算法、3种压缩算法、5种文件格式。受害者波及范围广泛,从个人到国家机构及学术和教育体系等。 据外界现有分析,该恶意软件已经非常谨慎地运作了至少两年时间,它不但能够窃取文件,对用户台式机进行截屏,通过USB驱动传播,禁用安全厂商的安全产品,并可以在定条件下传播到
2、其他系统,还有可能利用微软Windows系统的已知或已修补的漏洞发动攻击,进而在特定网络中大肆传播“火焰”病毒特性 通过研究分析发现该病毒会利用特殊软件仔细选择攻击的地域和目标这宁趋级武器”( Duqu)病毒攻击方式大不相同”火焰”病毒是种比Duqu更为复杂的攻击工具包,具有蠕蛐特征,其主要特性是捕获数据和窃取信息,该威胁的攻击目标主要分布在欧洲东部和中部。在满足条件的情况下,该病毒可在局域网和可移动介质上进行复制旦某计算机系统被感染,”火焰”病毒就开始-系列的操作,通过连接火焰的C&C( Command&Control)服务器,攻击者能够获取网络流量截屏、录a、捕获键盘等数据
3、。并利用加载其它模块,扩大自身的功能特性。 研究表明在火焰病毒代码中使用了罕见的Lua语言:通常情况下为了便于隐藏恶意程序都是采用简洁的程序语訇出膏编写,而“火焰”并非如此,使用大量代码进行隐藏是该病毒的新特性之一:它的另特性则是可以i己录来自洼接或内置话筒的音频文件,并能够通过多种方法窃取数据信息;”火焰”的第三个特性主要是针对蓝牙设备的控制和管理,当连接计算机系统的蓝牙设备处于开启状态,并进行数据传输时,“火焰”病毒则会收集传输的数据。通过环境配置,它可以将被感染的机器变成跳板,通过蓝牙提供并显示该病毒在该机器上运行的有关信息二、 病毒行为概述2.1 病毒创建的目录:C:Program F
4、ilesCommon FilesMicrosoft SharedMSSecurityMgr2.2 病毒生成的文件: :C:WIN DOWSEf_trace.logC:WIN DOWSsystem32mssecmgr.ocxC:WIN DOWSsystem32nteps32.ocxC:WIN DOWSsystem32boot32drv.sysC:WIN DOWSsystem32advnetcfg.ocxC:WINDOWSsystem32ccalc32.sysC:WIN DOWSsystem32msglu32.ocxC:WIN DOWSsystem32soapr32.ocxC:WINDOWStem
5、pHLV473.tmpC:WINDOWStempHLV927.tmpC:WINDOWStempHLV084.tmpC:WINDOWSTempms02aO.tmpC:WINDOWSTEMPdra53.tmpC:WINDOWSTEMPrf288h.tmpC:Program FilesCommon FilesMicrosoft SharedMSSecurityMgrmscrypt.datC:Program FilesCommon FilesMicrosoft SharedMSSecurityMgrssitableC:Program FilesCommon FilesMicrosoft SharedM
6、SSecurityMgrrccache.datC:Program FilesCommon FilesMicrosoft SharedMSSecurityMgrlmcache.datC:Program FilesCommon FilesMicrosoft SharedMSSecurityMgrntcache.datC:Program FilesCommon FilesMicrosoft SharedMSSecurityMgrdstrlogh.dat2.3 病毒新增的注册表项:HKLMSYSTEMCurrentControISetControILsaAuthentication Packages
7、= " mssecmgr.ocx"三、 病毒主要模块与模块危害模块名称模块危害mssecmgr.ocx主模块运行后会将其资源文件中的多个功能模块解密释放出来,并将它们注入到多个系统进程中。它通过调用Lua来执行脚本完成指定功能。advnetcfg.ocx由主模块释放:截取屏幕信息。msglu32.ocx由主模块释放:遍历系统中的各种类型的文件,读取特定文件类型文件的信息,将其写入到SQL数据库中,同时也可以收集文件中与地域性相关的一些信息。nteps32.ocx由主模块释放:用来键盘记录和截取屏幕信息。对一些邮件域名进行监控rpcns4.ocx(soapr32.ocx)用来
8、收集信息的功能模块。获取系统中的一些信息的,例如:安装的软件信息、网络信息、无线网络信息、USB信息、时间以及时区信息等。00004784.dll(jimmy.dll)是用来收集用户计算机信息,包括窗体标题、注册表相关键值信息,计算机名,磁盘类型等。wusetupv.exe收集本机各个接口的信息,进程信息,注册表键值信息。DSMGR.DLL(browse32.ocx)用来删除恶意软件所有痕迹,防止取证分析四、 病毒模块功能分析4.1 MSSECMGR.OCX主模块分析蠕虫主模块是一个文件名为mssecmgr.ocx的DLL文件,我们发现该模块已有多个衍生版本,文件大小为6M,运行后会连接C&a
9、mp;C服务器,并试图下载或更新其它模块。主模块不同时期在被感染的机器上文件名有不同,但扩展名都为“OCX”。运行后的主模块会将其资源文件中的多个功能模块解密释放出来,并将多个功能模块注入到多个进程中,功能模块具有获取进程信息、键盘信息、硬件信息、屏幕信息、麦克风、存储设备、网络、WIFI、蓝牙、USB等多种信息的功能。所记录的信息文件存放在%Windir%temp下。该蠕虫会先对被感染系统进行勘察,如果不是其想要的攻击对象,它将会自动从被感染系统卸载掉。蠕虫最有可能是通过欺骗微软升级服务器对本地网络传播和通过一个USB接入设备进行传播。蠕虫还能够发现有关其周边设备的信息。通过蓝牙装置,它会寻
10、找其它设备,比如手机或笔记本电脑等。此蠕虫和以往蠕虫有很大程度上的不同,首先主模块体积很大,并包含多个功能模块,内嵌Lua解释器和大量Lua脚本,进行高层的功能扩展。启动方式比较特殊,具有多种压缩和加密方式。4.1.1 该病毒模块本地行为1)添加注册表:HKLM_SYSTEMCurrentControlSetControlLsaAuthenticationPackages = mssecmgr.ocx 注:该键值会达到开机加载mssecmgr.ocx的目的。 该文件路径为:%system32%mssecmgr.ocx。2)文件运行后会释放以下文件:通过对“146”资源进行释放并加载运行,以下为
11、资源释放的模块: %System32%advnetcfg.ocx %System32%boot32drv.sys %System32%msglu32.ocx %Syste32m%nteps32.ocx %Syste32m%soapr32.ocx %Syste32m%ccalc32.sys其他文件:%Windir%Ef_trace.log在%ProgramFiles%Common FilesMicrosoftSharedMSAudio目录下为各模块的配置信息和自身副本文件,从网络中更新或下载新模块配置也会在这里,列表如下:Audcacheaudfilter.datdstrlog.datlmcac
12、he.datntcache.datmscrypt.dat在分析过程中发现以上文件可能为病毒的配置文件,当病毒要进行一个操作前先读取此文件中的一块信息,然后完成其指定的操作。病毒先将以上文件释放然后删除一次,最后又重新释放,推测为不同功能之间的重复操作导致。wavesup3.drv(自身副本)wpgfilter.dat跟据“146”资源配置还可能会存在以下文件目录:%ProgramFiles%Common FilesMicrosoft SharedMSSecurityMgr%ProgramFiles%Common FilesMicrosoft SharedMSAudio%ProgramFiles
13、%Common FilesMicrosoft SharedMSAuthCtrl%ProgramFiles%Common FilesMicrosoft SharedMSAPackages%ProgramFiles%Common FilesMicrosoft SharedMSSndMix3)遍历安全进程列表 遍历系统中的安全软件的进程4.1.2 该病毒模块启动加载顺序该病毒的加载方式有两种,一种是在注册表中添加键值,另一种是利用批处理文件来执行dos命令运行rundll32.exe加载主模块运行。首先查询注册表HKLMSOFTWAREMicrosoftWindows NTCurrentVersio
14、nSeCEdit和查看%Program Files%CommonFilesMicrosoft SharedMSAudiowavesup3.drv文件是否存在。写入HKLMSystemCurrentControlSetControlTimeZoneInformationStandardSize值为:114。创建MSSecurityMgr目录,写入文件mscrypt.dat,在查询信息文件时每查询后会把更改时间写成1601-1-1 08:00:00,经过1分中后写入wpgfilter.dat文件在查询信息文件时每查询后会把更改时间写成1601-1-108:00:00,经过1分钟左右后写入waves
15、up3.drv文件查询后会把更改时间写成1601-1-1 08:00:00,写入文件wavesup3.drv后会写入audcache文件接着写入audfilter.dat文件。然后查找以下文件:C:Documents and SettingsAdministratorLocal SettingsTempdat3C.tmpC:Documents and SettingsAll UsersLocal SettingsTempdat3C.tmpC:Documents and SettingsDefault UserLocal SettingsTempdat3C.tmpC:Documents and
16、SettingsLocalServiceLocal SettingsTempdat3C.tmpC:Documents and SettingsNetworkServiceLocal SettingsTempdat3C.tmpC:WINDOWSTempdat3C.tmp然后注入进程services.exe调用系统文件shell32.dll文件,并劫持shell32.dll内容,把wpgfilter.dat的内容加载到shell32.dll中,再加载audcache文件内容到shell32.dll中。再加载wavesup3.drv文件,然后释放nteps32.exe文件、comspol32.ocx
17、、advnetcfg.ocx、boot32drv.sys、msglu32.ocx,并将它们的时间改为Kernel32.dll文件的时间,以此躲避安全软件的检测。 然后注入到Winlogon.exe进程中调用系统文件shell32.dll文件,并劫持shell32.dll内容,把Netps32.ocx和Ccalc32.sys的内容加载到shell32.dll中。并将它们的时间改为Kernel32.dll文件的时间,为了躲避安全软件的检测。通过注入Explore.exe进程调用系统文件shell32.dll文件,并劫持shell32.dll内容,并使其创建iexplore.exe进程,把wpgfi
18、lter.dat的内容加载到shell32.dll中,然后再加载audcache文件内容到shell32.dll中。几分钟后加载wavesup3.drv文件。查询注册表系统服务项,连接微软升级服务器,然后再连接病毒服务器。4.1.3 病毒功能的实现细节对该病毒的调试过程中发现其将所有的指针通过函数EncodePointer进行编码后存储到内部结构中(这也与Duqu的实现方式类似),当使用时再调用DecodePointer解码使用,这样做会使对其静态分析变得极其困难。这个病毒使用了通过获取系统dll文件的导出函数表并循环查找指定函数的方法来动态获取函数地址,此方法是恶意代码的惯用手段该恶意代码在
19、系统路径%ProgramFiles%Common FilesMicrosoft Shared下创建MSSecurityMgr文件夹,并将一些配置文件保存到此目录中。恶意代码会在进程环境变量中保存系统关键目录(WINDOWS目录、SYSTEM32目录、系统临时目录)和自身程序的文件路径。并通过文件查找的API函数来寻找Kernel32.dll文件,并将恶意代码所创建的文件或文件夹的时间设置为与Kernel32.dll文件相同。起到隐藏痕迹的目的。 该恶意代码先将自身复制为%System32%mssecmgr.ocx。再通过修改注册表达到启动目的,修改的注册表键值为: “HKEY_LOCAL_MA
20、CHINESYSTEMCurrentControlSetControlLsa” 下的“Authentication Packages”。将其值中追加病毒的模块名如下图。此注册表键值的作用是列出了用户身份验证程序包,当用户登录到系统时加载并调用。从而达到开机启动的目的。 之后病毒通过遍历进程来查找explorer.exe进程并通过WriteProcessMemory将Shell Code写入到explorer.exe进程中。并且通过CreateRemoteTheread函数创建远程线程执行ShellCode。 然后再利用OpenProcess打开services.exe进程,句柄为0x174 通
21、过函数WriteProcessMemory向services.exe进程写入shellcode,这也是恶意代码的惯用手法,存在明显恶意行为的代码注入到系统进程中执行,以躲避杀软查杀,最后恶意代码通过函数CreateRemoteThread函数来创建远程线程,执行刚才写入到services.exe进程中的shell code4.2 Soapr32.ocx模块分析Soapr32.ocx是“火焰”病毒运行后释放的病毒文件之一,此模块是用来收集信息的功能模块。soapr32.ocx模块中的很多功能都是获取系统中的一些信息的,例如:安装的软件信息、网络信息、无线网络信息、USB信息、时间以及时区信息等。
22、通过对Soapr32.ocx模块的分析,我们总结出了该模块的以下功能信息:获取系统中安装的网络适配器的特征:IP地址、子网掩码、网关、DHCP设置等信息。获取本地计算机与远程资源服务器的当前连接,它查询的信息主要是关于本地计算机与共享资源的连接:连接状态、连接类型、用户名以及域名。读取HOSTS文件的内容,查看是否存在重定向。列举用户账户和用户组,获得属于'Administrators' 组的用户。收集共享资源信息,包括资源名称、类型和权限、连接数以及其它相关信息。检查安装的Outlook、 Microsoft Word、Internet Explorer等版本收集当前时间以及
23、时区信息检查当前管道'pipesrvsvc'检查系统中可用的USB存储设备获取所有驱动器并收集信息,例如驱动器类型、已使用空间等。收集无线网络信息,例如WIFI网络名称、使用的加密类型、验证方法/协议。收集共享资源信息,包括资源名称、类型和权限、连接数以及其它相关信息。检测是否启用远程桌面连接,接着查询远程桌面信息,例如端口号、防火墙状态、开放的端口列表。具体内容如下:SOFTWAREKasperskyLabavp6settingsSOFTWAREKerioSOFTWAREFarStoneFireWallSOFTWARESymantecInstalledAppsSOFTWARE
24、SymantecSymSetupInternet securitySOFTWARETiny SoftwareTiny FirewallSOFTWAREKasperskyLabavp6settingsSoapr32.ocx模块尝试遍历进程查看系统运行的进程中是否有以下进程存在:avp.execcevtmgr.execcsetmgr.exevsmon.exezlclient.exeOutpost.exemcshield.exeMpfService.exesoapr32.ocx模块在temp目录下释放临时文件,TMP文件中的内容为加密内容:C:WINDOWSTempmso2a0.tmpC:WINDO
25、WSTempmso2a2.tmpSoapr32.ocx模块遍历Program Files下所有目录:检查注册表时区信息 0006FE0880000002|hKey =HKEY_LOCAL_MACHINE0006FE0C1001B57B|Subkey ="SYSTEMCurrentControlSetControlTimeZoneInformation"0006FE1000000000|Reserved =00006FE1400020019|Access = KEY_READ0006FE180006FE24 pHandle=0006FE24HKEY_LOCAL_MACHINE
26、SYSTEMCurrentControlSetControlLsa"forceguest"=dword:00000001网络访问:本地帐户的共享和安全模式:仅来宾-本地用户以来宾身份验证。这时,当局域网其他机器访问本机时,不会弹出对话框,就可以直接进入。收集无线网络信息,例如WIFI网络名称、使用的加密类型、验证方法/协议。4.3 Advnetcfg.ocx模块分析Advnetcfg.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析,了解到此模块的作用为截取屏幕信息。Advnetcfg.ocx运行后会把自身和%windir%system32ccalc32
27、.sys文件的创建时间、修改时间和访问时间修改和系统中的kernel32.dll一样。Advnetcfg.ocx使用了字符串混淆技术,这和nteps32.ocx的算法是一样的。4.4 Nteps32.ocx模块分析Nteps32.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到此模块的作用为键盘记录和截取屏幕信息。Nteps32.ocx运行后会把自身和boot32drv.sys文件的创建时间、修改时间和访问时间修改,就和系统中的kernel32.dll一样。4.4.1 该模块行为一 释放临时文件"%windir%tempHLV927.tmp"&qu
28、ot;%windir%tempHLV751.tmp""%windir%tempHLV084.tmp""%windir%tempHLV473.tmp""%windir%tempHLV294.tmp"以上临时文件对应着其不同的功能记录文件并做加密处理。例如:键盘记录、截屏信息等。4.4.2 该模块行为二 查看注册表中是否有卡巴斯基的注册表项HKLMSOFTWAREKasperskyLabHKLMSOFTWAREKasperskyLabAVP6HKLMSOFTWAREKasperskyLabprotectedAVP7如有则进行对卡
29、巴斯基的关闭、卸载操作。4.4.3 该模块行为三 检查域名列表信息,用来监视等操作以下为部分域名列表信息:.hotmail.mail.yahoo.co4.5 Msglu32.ocx模块分析Msglu32.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到此模块是遍历系统中的各种类型的文件,读取特定文件类型文件的信息,将其写入到sql数据库中,同时也可以收集文件中与地域性相关的一些信息。4.5.1 该模块行为一 检查卡巴斯基注册表项HKLMSOFTWAREKasperskyLabAVP6HKLMSOFTWAREKasperskyLabprotectedAVP74.5.2
30、该模块行为二 检测进程中的如下进程列表,并将之结束AntiHook.exe、EngineServer.exe、FAMEH32.exe、FCH32.exe、Filemon.exe、FPAVServer.exe、FProtTray.exe、FrameworkService.exe、fsav32.exe、fsdfwd.exe、fsgk32.exe、fsgk32st.exe、fsguidll.exe、FSM32.exe、FSMA32.exe、FSMB32、fspc.exe、fsqh.exe、fssm32.exe、jpf.exe、jpfsrv.exe、mcagent.exe、mcmscsvc.exe、M
31、cNASvc.exe、McProxy.exe、McSACore.exe、Mcshield.exe、mcsysmon.exe、McTray.exe、mcupdmgr.exe、mfeann.exe、mfevtps.exe、MpfSrv.exe、naPrdMgr.exe、procexp.exe、PXAgent.exe、PXConsole.exe、shstat.exe、sp_rsser.exe、SpywareTerminator.exe、SpywareTerminatorShield.exe、UdaterUI.exe、VsTskMgr.exe4.5.3 该模块行为三 遍历以下格式的文件office各种
32、格式文档(包括docx、xlsx、pptx等)Autocad文件Visio文件Pdf文件所有格式的图片文件病毒在对上述的各个类型的文件进行遍历时,将会记录文件的下列信息创建时间、修改时间、作者、创建者、注释、公司、版权、标题、信息、版本编号、关键字数量等。上面的这些信息将会存储到数据库中。4.6 Wusetupv.exe模块分析Wusetupv.exe是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到,此模块是用来收集本机各个接口的信息,进程信息,注册表键值信息。该样本使用MITM方法,利用了微软的数字签名漏洞。Wusetupv.exe运行后创建互斥量"WPA_NT
33、OS_MUTEX"。查找"C:DOCUME1ADMINI1LOCALS1TempDHF593.tmp"文件,并读取文件内容。尝试下载文件存储为"C:WINDOWStempZFF042.tmp" 并且,从操作系统的MIB库中读出本机各个接口的当前信息,如接口数目、类型、速率、物理地址、接收/发送字节数、错语字节数等。4.7 Browse32.ocx模块分析Browse32.ocx是“火焰”病毒运行后从远程服务器下载的模块,我们通过对此模块的分析了解到,些模块是用来删除恶意软件所有痕迹,防止取证分析。Browse32.ocx运行后会把恶意软件创建的
34、所有文件写入垃圾字符覆盖,然后再删除这些文件,以防止任何人获得感染有关的信息的磁盘。4.7.1 该模块行为一 获取系统版本信息,遍历系统进程信息4.7.2 该模块行为二 清理文件痕迹操作获取文件属性,然后设置文件属性为normal,获取文件大小,如果不为空,则根据文件大小,写入同样字节数的垃圾数据覆盖,然后再写入00数据覆盖(防止文件恢复)。4.7.1 该模块行为三 创建进程执行命令"C:WINDOWSsystem32cmd.exe" /crd /s /q "C:Program FilesCommon FilesMicrosoftSharedMSSecurityM
35、gr""C:WINDOWSsystem32cmd.exe" /crd /s /q "C:Program FilesCommon FilesMicrosoftSharedMSAudio"""C:WINDOWSsystem32cmd.exe" /crd /s /q "C:Program FilesCommon FilesMicrosoftSharedMSAuthCtrl"""C:WINDOWSsystem32cmd.exe" /crd /s /q "C:Pro
36、gram FilesCommon FilesMicrosoftSharedMSSndMix"""C:WINDOWSsystem32cmd.exe"/cdel/q /fC:DOCUME1ADMINI1LOCALS1Temp*" "C:WINDOWSsystem32cmd.exe" /cdel /q /f C:WINDOWSsystem32ssi*""C:WINDOWSsystem32cmd.exe" /cdel /q /f C:WINDOWSsystem32aud*""C:WI
37、NDOWSsystem32cmd.exe" /cdel /q /f C:WINDOWSsystem32tok*""C:WINDOWSsystem32cmd.exe" /cdel /q /f C:WINDOWSsystem32lrl*"4.7.2 该模块行为四 清理注册表操作动态调用注册表相关函数函数查看并删除注册表键值HKEY_LOCAL_MACHINESYSTEMControlSet001ControlLsa:AuthenticationPackages:”mssecmgr.ocx”重复设置随机键值(A开头字母数字结合9位),并删除。HKEY_LOCAL_MACHINESYSTEMControlSet001ControlTimeZoneInformation:StandardSize:4.8 Jimmy.dll模块分析Jimmy.dll是“火焰”病毒运行后从146资源文件中释放出来的,我们通过对此模块的分析了解到,此模块的作用为收集用户计算机信息,包括窗体标题、注册表相关键值信息,计算机名,磁盘类型等。4.8.1 模块所有行为列表1.判断当前是否在调试模式,如果是则结束当前进程。2.查找资源0xA3(163)、0xA4(164)并加载。3.遍历C盘目录下文件,并判断文件类型,获取文件大小。4.查找文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源汽车推广合同协议
- 跨国影视项目联合拍摄及发行合同
- 个体股东协议合同范本
- 乡村出租平房合同范本
- 刷油漆维护合同范例
- 农村老宅出售合同范例
- 三合作伙伴合同范例
- 1984劳动合同范例
- 分期销售合同范例
- 中日合资日文合同范例
- 浙江省杭州市2024年中考英语真题(含答案)
- 《课程理论-课程的基础、原理与问题》施良方
- DB13-T 5996-2024 公路基层病害聚合物注浆处治技术规程
- 2024-2025学年高中美术美术鉴赏(2019)人教版(2019)教学设计合集
- GB/T 15568-2024通用型片状模塑料(SMC)
- SolidWorks-2020项目教程全套课件配套课件完整版电子教案
- 云原生应用的混沌工程
- DL∕T 742-2019 湿式冷却塔塔芯塑料部件质量标准
- 2024年银屑病诊疗指南(修订版)解读课件
- 2024年江苏省苏州市中考语文试题
- (正式版)JTT 1496-2024 公路隧道施工门禁系统技术要求
评论
0/150
提交评论