朝鲜APT组织使用Nim语言恶意软件对macOS发起隐秘Web3与加密货币攻击
朝鲜黑客组织正利用一种罕见且高度先进的恶意软件家族"NimDoor",针对Web3和加密货币初创企业的macOS系统发起新一轮网络攻击。SentinelLABS详细分析显示,该攻击活动融合了社会工程学、新型持久化策略以及Nim编程语言的非常规使用,标志着朝鲜网络间谍与金融窃取手段的显著升级。
攻击链分析
攻击始于典型的朝鲜式社会工程手段:攻击者通过Telegram冒充可信联系人,诱骗受害者通过Calendly加入虚假Zoom会议。目标用户会收到要求运行"Zoom SDK更新脚本"的消息,该脚本托管在伪装成Zoom支持页面的攻击者控制域名上。
SentinelLABS指出:"在公开恶意软件库中可以找到该脚本的变体,其明显特征是存在'Zook SDK Update'而非'Zoom SDK Update'的拼写错误。"
该AppleScript文件包含10,000行空白字符,最后三行代码会从support.us05web-zoom[.]forum等域名静默下载并执行恶意负载。执行后会释放两个二进制文件至/private/var/tmp目录:
- a- 采用C++编写的二进制文件,负责初始系统指纹识别并将shellcode注入良性进程
- installer- Nim编译的通用二进制文件,用于建立持久化机制并投放后续负载(GoogIe LLC和CoreKitAgent)
技术突破点
值得注意的是,macOS平台上使用Nim语言编译的恶意软件极为罕见。SentinelLABS强调:"攻击者广泛部署AppleScript...并使用包含加密配置处理、异步执行以及信号驱动持久化机制的Nim编译二进制文件,这些技术在macOS恶意软件中前所未见。"
该恶意软件采用独特的macOS持久化技术——仅在进程终止时激活。CoreKitAgent二进制文件为SIGINT和SIGTERM(进程终止信号)设置处理程序,在收到终止信号时立即部署持久化组件。这种设计实现了防御规避,当安全团队尝试终止可疑进程时,反而会触发核心组件的部署。
通信与数据窃取
核心后门通过WSS(WebSocket Secure)协议与firstfromsep[.]online等C2服务器通信,采用RC4加密和多层base64编码。每个受害者拥有唯一的Build ID,命令通过包含加密cmd和data字段的JSON对象下发。支持的命令包括:
- execCmd- 执行任意shell命令
- getSysInfo- 提取系统信息
- getCwd/setCwd- 文件系统操作
两个Bash脚本(upl和tlgrm)负责数据窃取:
- upl窃取Chrome、Firefox、Edge、Brave和Arc等浏览器的数据,以及钥匙串文件和shell历史记录
- tlgrm窃取Telegram加密的本地数据库和密钥块用于潜在解密
所有数据均上传至共享端点:https[:]//dataupload[.]store/uploadfiles。嵌入的AppleScript作为轻量级后门,每30秒向writeup[.]live等C2服务器发送心跳信号,并在收到响应时执行命令。该脚本使用长十六进制字符串和随机字符列表进行混淆以规避检测。
攻击特征总结
此次攻击活动代表了迄今为止观察到的最复杂的朝鲜关联macOS威胁,具备完整攻击套件:
- Nim与C++混合负载
- WSS加密C2通信
- 信号驱动持久化机制
- AppleScript后门
- 浏览器/钥匙串/Telegram数据窃取
- 反调试与虚拟机逃逸技术
SentinelLABS警告称:"我们根据其功能特性和开发特征,将该恶意软件家族统称为NimDoor。这并非一次性攻击,而是经过演练的模块化攻击手册,很可能在未来针对Web3、加密货币等领域macOS用户的攻击中重复使用。"