【FOFA 5.0】 资产拓线新范式:Contagious Interview 恶意 IOC 高效识别与验证
![]()
![]()
▌背景概述
“Contagious Interview” 为朝鲜关联威胁组织,自 2023 年起持续活跃,其核心目标为通过网络攻击活动为所属政权攫取经济利益,长期针对主流系统开发者(覆盖 Windows、Linux、macOS 平台)及加密货币、Web3 领域从业者实施定向社工钓鱼攻击。
该组织的攻击活动与技术演进已被多家安全机构持续披露:
![]()
此前报道中的IOC均已失效。本文基于该组织最新变种样本的 IOC 开展深度研判后,发现了当前仍有恶意IP依旧存活,说明该组织的攻击活动并未因为曝光而停止,我们将其技战法与 FOFA 5.0网络空间测绘能力相结合,开展关联资产排查拓线寻找该组织还存活的IOC信息。
▌IOC分析思路/FOFA拓线
初步检索
历史域名与URL特征(C2 & 分发)
我们将从该组织历史活动与近期活动两个维度进行IOC线索的收集。首先我们先总结一下历史活动的IOC特征。
| 域名 | 伪装类型 | 备注 |
|---|---|---|
| api[.]github-npm[.]com | 仿冒NPM包管理 | GitHub与NPM组合的仿冒域名 |
| visualstudio-code[.]id | 仿冒VS Code | 开发工具仿冒,针对开发者 |
| gitlab-org[.]io | 仿冒GitLab | 代码托管平台仿冒 |
| manage-npm[.]com | 仿冒NPM管理 | NPM包管理服务仿冒 |
| k-video[.]site | 视频面试软件 | 常用于伪装视频会议面试 |
| hire-dev[.]net | 招聘平台 | 开发人员招聘相关 |
| meet-jit[.]si | 仿冒Jitsi Meet | 视频会议平台仿冒 |
BeaverTail / InvisibleFerret 相关C2地址:
| 类型 | 地址/域名 | 用途说明 |
|---|---|---|
| IP地址 | 95[.]164[.]17[.]24:1244 | BeaverTail C2服务器 |
| IP地址 | 172[.]93[.]201[.]253:1244 | InvisibleFerret 命令与控制 |
| 域名 | node-js[.]site | 仿冒Node.js相关服务 |
| 域名 | pyp-install[.]com | 仿冒Python包安装服务 |
历史恶意软件哈希特征(File Hashes)
可疑文件列表:
| 文件类型 | 常见文件名 | 潜在位置 | 关联恶意软件 |
|---|---|---|---|
| 脚本文件 | payload.js | 用户目录/项目目录 | BeaverTail |
| 脚本文件 | deploy.js | Node.js项目目录 | BeaverTail |
| 脚本文件 | invisible.py | Python环境目录 | InvisibleFerret |
| 脚本文件 | config.json | 隐藏目录内 | 通用配置 |
可疑目录路径:
| 路径模式 | 说明 | 相关威胁 |
|---|---|---|
| ~/.npl/ | 隐藏目录,npl可能为"Node Package Loader"缩写 | InvisibleFerret 常用目录 |
| ~/.pyp/ | 伪装Python包管理目录 | BeaverTail Python变种 |
| ~/.cache/modules/ | 缓存模块目录,可能被滥用 | 通用载荷存储 |
| 用户目录/Downloads/ | 下载目录中的可疑文件 | 初始入侵点 |
| # 浏览器数据窃取路径 | ||
| ~/Library/Application Support/Google/Chrome/~/AppData/Local/Google/Chrome/User Data/~/.config/google-chrome/包含以下关键词的目录:- browser_store- keychain_store - credential_store- session_data | ||
最新样本特征分析
2025年11月13日NVISO 发布了一篇关于 “Contagious Interview” 组织利用 JSON 存储服务实施恶意软件传播的专题分析文章。该文章对该组织的恶意软件传播手段及加载机制进行了系统且清晰的梳理总结,其恶意软件加载机制可参考下图:
![]()
https://blog.nviso.eu/wp-content/uploads/2025/11/image-24.png
最初该组织会伪装成招聘人员主动联系受害者,交谈几轮下来会发送托管在Gitlab上的演示项目,通过演示项目中的Node.JS来执行面试代码任务,经过分析发现在项目的server/config/.config.env文件里包含一个伪造成API密钥的变量。
![]()
通过ba se64解码,发现是托管在JSON Keeper上的混淆ja vasc ript代码的URL。
![]()
演示项目会请求URL并加载被混淆的ja vasc ript代码。经过去混淆,最终发现是BeaverTail的变种(BeaverTail是Contagious Interview组织使用的ja vasc ript恶意软件),BeaverTail会访问如下两个地址下载下一阶段的攻击载荷。
hxxp[://]146[.]70[.]253[.]107:1224/pdownhxxp[://]146[.]70[.]253[.]107:1224/client/99/81在文章末尾,NVISO 同步披露了一批关联 IOC。基于该批 IOC 的网络暴露特征与通信行为,我们可批量提炼出端口、应用指纹、响应头字段等核心关联特征。
![]()
![]()
通过对已知关联资产的特征提炼,我们发现该组织的攻击基建存在两大核心共性:一是高频采用 XAMPP 搭建 Web 服务、通过 SoftEther-VPN 构建网络通信通道;二是固定开放 80、443、5985、47001 等关键端口。后续将围绕 “应用组件特征 + 核心开放端口” 这两条核心线索,开展深度关联分析与资产拓线。
资产筛选
![]()
通过分析这28条资产统计得到如下信息:
开放端口:445、3306、1245、49668、47001、5985、135、139、49665、49666、49667、49670、49664、49671、22、1194、5555、992、443、80
采用的应用
1、使用XAMPP建站。
2、使用SoftEther VPN Server搭建VPN。
3、x-ui
4、nps
5、strapi-Headless-CMS
6、AUTOMATTIC-WordPress
7、vmware-ESXi
8、Hestia-Control-Panel
9、n8n结合资产聚合统计结果,XAMPP 应用与 47001 端口是该组织高频暴露的核心特征,下文将针对这两类特征展开深度拆解分析。
通过对已知IOC 关联资产的批量校验发现,所有搭载 XAMPP 应用的目标,其 HTTP 响应头中均固定携带统一 Etag 标识:"1443-60a7f35bd80c0",该特征具备极强的唯一性与辨识度,可作为XAMPP 应用归属该组织攻击基建的关键判定依据。
经过对已知IOC 关联资产的批量交叉验证与特征比对,我们提炼出 47001 端口的核心识别特征:该端口开放的服务,其 HTTP 响应头中会稳定携带两组关键字段 ——Content-Type: text/html; charset=us-ascii 与 Microsoft-HTTPAPI/2.0。
![]()
![]()
根据对该组织恶意代码分析的概述图可得知C2会通过winRM进行远程命令下发,根据端口统计情况可得知5985(winRM默认端口)banner=”WinRM NTLM Info:”对我们来说是有用线索。
![]()
(5985 端口返回 WinRM NTLM 信息)
除此之外我们通过将恶意url输入到VT分析详细情况得到如下网络通信数据包结果:
![]()
其中可以得到关于该网站的一些网络响应字段我们注意到网站标题为Error。现在我们总结一下分析发现的重点线索。
开放端口:47001、5985
采用的应用:
1、使用XAMPP建站 并且header= "1443-60a7f35bd80c0"。
2、port=47001 && header=Content-Type: text/html; charset=us-ascii 和Microsoft-HTTPAPI/2.0。
3、banner=”WinRM NTLM Info:” && port=5985
网站信息:
Hxxp[://]146[.]70[.]253[.]107:1224 对应的网站title==”Error”特征匹配
本次特征匹配依托FOFA 5.0 版本开展,该版本新增的ip_filter语法为资产拓线提供了核心支撑—— 其支持多维度特征组合查询,能够精准定位同时满足 “指定端口、响应头、应用指纹、组织归属” 等复合条件的目标 IP,大幅降低单一特征检索的误报率,显著提升了攻击基建关联资产的排查效率与精准度。
线索一
根据前文我们对BeaverTail 多个IOC分析得到高频出现的特征汇总为FOFA语法如下:
ip_filter(header="1443-60a7f35bd80c0") && ip_filter(port="47001" && header="Content-Type: text/html; charset=us-ascii" && header="Microsoft-HTTPAPI/2.0") && ip_filter(port="5985" && protocol="wsman") && ip_filter(title="SoftEther VPN Server" || port="1224")![]()
初始检索共返回16 条结果,与我们初始收集到的IOC相比少了很多。为解决这一问题,我们进一步拓展溯源维度,最终在 Censys 于 7 月 30 日发布的专题报告中捕捉到关键线索,原文核心内容如下:
![]()
该组织常用的VPS提供商是cloudzy,在FOFA上组织为ROUTEHOSTING 对应asn号为14956。
![]()
我们对历史IOC进行验证也同样验证了这条线索。
![]()
将asn=14956”与我们之前的语法拼接得到51条结果并经过VT验证大部分资产已经被标记为恶意软件。
ip_filter(header="1443-60a7f35bd80c0") && ip_filter(port="47001" && header="Content-Type: text/html; charset=us-ascii" && header="Microsoft-HTTPAPI/2.0") && ip_filter(port="5985" && protocol="wsman") && ip_filter(title="SoftEther VPN Server" || port="1224" || asn="14956") ![]()
Censys语法:
services: (port: 5985 and service_name: WINRM) and services: (port: 47001 and http.response.headers: (key: "Content-Type" and value.headers: "text/html; charset=us-ascii") and extended_service_name: HTTP) and services.http.response.headers: (key: "ETag" and value.headers: "1443-60a7f35bd80c0")
下表对得到的所有IP通过VT进行验证,在验证过程中发现有些IP样本免杀性较高仅被1-2个杀软识别。部分 IP 地址暂未被主流杀毒软件识别,我们对此类资产高度存疑,相关信息仅供参考。
| IP | VT |
|---|---|
| 104[.]234[.]46[.]115 | |
| 107[.]189[.]24[.]80 | √ |
| 107[.]189[.]25[.]109 | √ |
| 107[.]189[.]20[.]152 | √ |
| 144[.]172[.]100[.]142 | √ |
| 107[.]189[.]16[.]122 | √ |
| 138[.]128[.]242[.]152 | |
| 118[.]101[.]53[.]225 | |
| 140[.]99[.]98[.]141 | |
| 107[.]189[.]16[.]176 | √ |
| 144[.]172[.]106[.]133 | √ |
| 144[.]172[.]105[.]189 | √ |
| 144[.]172[.]104[.]113 | √ |
| 144[.]172[.]103[.]97 | √ |
| 144[.]172[.]102[.]148 | √ |
| 144[.]172[.]106[.]7 | √ |
| 144[.]172[.]105[.]235 | √ |
| 144[.]172[.]109[.]98 | √ |
| 144[.]172[.]109[.]155 | √ |
| 147[.]50[.]240[.]176 | √ |
| 144[.]172[.]111[.]63 | √ |
| 146[.]70[.]253[.]107 | √ |
| 144[.]172[.]96[.]80 | √ |
| 144[.]172[.]112[.]106 | √ |
| 167[.]88[.]160[.]106 | |
| 149[.]56[.]154[.]91 | |
| 144[.]172[.]86[.]27 | √ |
| 147[.]50[.]240[.]47 | |
| 144[.]172[.]95[.]226 | √ |
| 172[.]86[.]73[.]198 | √ |
| 144[.]172[.]113[.]70 | √ |
| 172[.]86[.]106[.]119 | √ |
| 172[.]86[.]116[.]90 | √ |
| 172[.]86[.]84[.]38 | √ |
| 45[.]128[.]233[.]115 | |
| 172[.]86[.]123[.]55 | |
| 43[.]228[.]124[.]109 | |
| 23[.]227[.]202[.]244 | √ |
| 195[.]85[.]205[.]201 | |
| 172[.]86[.]113[.]115 | √ |
| 45[.]61[.]150[.]30 | √ |
| 45[.]140[.]167[.]218 | √ |
| 45[.]61[.]151[.]174 | √ |
| 45[.]61[.]128[.]61 | √ |
| 45[.]61[.]150[.]67 | √ |
| 45[.]61[.]128[.]110 | √ |
| 45[.]61[.]135[.]4 | √ |
| 45[.]61[.]149[.]222 | √ |
| 45[.]61[.]165[.]45 | √ |
| 45[.]61[.]160[.]28 | √ |
| 87[.]107[.]164[.]23 |
尽管部分IP 在 VirusTotal(VT)平台的检测结果为 0(未被安全厂商标记),但结合技术研判发现,这些 IP 均具备 Contagious Interview 组织核心恶意软件 BeaverTail 的攻击基建关键特征 —— 包括匹配 XAMPP 应用固定 Etag 标识、47001 端口双响应头字段、与组织常用 VPS 提供商 ROUTERHOSTING 的归属关联等,符合其攻击基建的典型配置与暴露规律。因此,这类 IP 仍存在潜在威胁,建议纳入持续监控名单,后续需结合流量特征、样本关联等维度进一步验证,避免遗漏存活恶意资产。
线索二
结合之前的线索该组织会使用1224端口并且1224端口对应的网站title为Error将title==”Error” && port=”1224”进行组合在FOFA搜素得到22条结果。
![]()
接下来我对这22条数据逐一分析,我们通过VT或者使用之前总结出的特征XAMPP、47001端口、org="ROUTERHOSTING"对这些IP一一进行验证发现还是存在误报。再次结合该组织使用的技战法来进行分析我们发现,该组织会使用Node.js来加载攻击载荷并且我们也发现已知IOC的1224端口会使用node_JS-Node.js产品
![]()
那我们构造语法为title=="Error" && port="1224" && app="node_JS-Node.js" 可以得到14条结果。
![]()
经VirusTotal 平台核验,上述以下 4 个 IP 均被 10 + 安全厂商标记为恶意资产无,验证了‘title==”Error”+Node.js+1224 端口’特征组合的有效性,说明我们使用的判断方法是准确的。
VT查询为恶意IP:
23[.]227[.]202[.]244
144[.]172[.]100[.]142
144[.]172[.]103[.]97
216[.]126[.]229[.]166依旧存活并或者可以下载恶意文件的IP:
138[.]201[.]36[.]60
46[.]202[.]82[.]69
167[.]86[.]74[.]63
222[.]122[.]81[.]178
185[.]246[.]209[.]172
23[.]227[.]202[.]52(可下载)
88[.]218[.]0[.]78(可下载)
45[.]140[.]167[.]218(可下载)![]()
其余资产虽暂无法下载恶意文件,但访问后呈现的页面与已确认的恶意IOC 页面完全一致,且均开放 1224 端口这一核心攻击链路端口,与该组织攻击基建的特征高度契合。
![]()
将拓线出可下载的资产到奇安信威胁情报平台发现IP被标记为Lazarus,通过调查发现Contagious Interview与Lazarus整体的TTPs(战术、技术和程序)一致,包括使用Beaver Tail。
![]()
线索三
经过对新拓线出的IOC进行分析我们发现IP为23[.]227[.]202[.]244还开放1245端口,censys在一篇文章中提到过该组织的IOC有些会暴露通信服务另一些会暴露控制感染主机的登录后台。
![]()
我们发现23[.]227[.]202[.]244还开放1245 对应的后台和censys提到的一致,所以我们构造FOFA语法为title="L-Administrator"得到5条资产,且两条资产在VT均已经被标记为恶意软件。
![]()
恶意IOC:
23[.]227[.]202[.]51
88[.]21[.]0[.]78
23[.]227[.]202[.]52使用相同的条件在censys进行搜索发现同样具有5条结果并且5条资产完全一致。
![]()
▌总结
基于Contagious Interview 组织已知 IOC,我们依托 FOFA 5.0 版本核心能力开展深度资产拓线,通过其新增的ip_filter复合语法,将该组织攻击基建的“XAMPP 应用固定 Etag”“47001 端口双响应头”“5985 端口 WinRM 指纹”“1224 端口 Node.js 环境” 等多维度特征进行组合校验,成功突破单一特征检索的误报瓶颈,经过去重后精准拓线出58条关联恶意IOC。整个过程中,FOFA 5.0 的资产聚合统计、多条件交叉匹配与高效指纹识别能力,成为穿透攻击组织伪装、挖掘存活攻击基建的关键技术支撑,既验证了 “特征组合 + 组织归因” 研判思路的有效性,也为针对朝鲜 APT 组织的常态化威胁狩猎提供了可复用的技术范式与检索模板。
特征语法:
1:ip_filter(header="1443-60a7f35bd80c0")&&ip_filter(port="47001"&&header="Content-Type:text/html;charset=us-ascii"&&header="Microsoft-HTTPAPI/2.0")&&ip_filter(port="5985" && protocol="wsman") && ip_filter(title="SoftEther VPN Server" || port=1224 || org="ROUTERHOSTING")
2:title=="Error" && port="1224" && product="node_JS-Node.js"
3:title="L-Administrator"▌引用
参考文章:
https://unit42.paloaltonetworks.com/two-campaigns-by-north-korea-bad-actors-target-job-hunters/
https://blog.sekoia.io/clickfake-interview-campaign-by-lazarus/
https://medium.com/@henrique4win/analyzing-north-korean-malware-95dc3325d943
https://censys.com/blog/2025-state-of-the-internet-malware-investigations▌附录
拓线出的IP:
104[.]234[.]46[.]115
107[.]189[.]24[.]80
107[.]189[.]25[.]109
107[.]189[.]20[.]152
144[.]172[.]100[.]142
107[.]189[.]16[.]122
138[.]128[.]242[.]152
118[.]101[.]53[.]225
140[.]99[.]98[.]141
107[.]189[.]16[.]176
144[.]172[.]106[.]133
144[.]172[.]105[.]189
144[.]172[.]104[.]113
144[.]172[.]103[.]97
144[.]172[.]102[.]148
144[.]172[.]106[.]7
144[.]172[.]105[.]235
144[.]172[.]109[.]98
144[.]172[.]109[.]155
147[.]50[.]240[.]176
144[.]172[.]111[.]63
146[.]70[.]253[.]107
144[.]172[.]96[.]80
144[.]172[.]112[.]106
167[.]88[.]160[.]106
149[.]56[.]154[.]91
144[.]172[.]86[.]27
147[.]50[.]240[.]47
144[.]172[.]95[.]226
172[.]86[.]73[.]198
144[.]172[.]113[.]70
172[.]86[.]106[.]119
172[.]86[.]116[.]90
172[.]86[.]84[.]38
45[.]128[.]233[.]115
172[.]86[.]123[.]55
43[.]228[.]124[.]109
23[.]227[.]202[.]244
195[.]85[.]205[.]201
172[.]86[.]113[.]115
45[.]61[.]150[.]30
45[.]140[.]167[.]218
45[.]61[.]151[.]174
45[.]61[.]128[.]61
45[.]61[.]150[.]67
45[.]61[.]128[.]110
45[.]61[.]135[.]4
45[.]61[.]149[.]222
45[.]61[.]165[.]45
45[.]61[.]160[.]28
87[.]107[.]164[.]23
23[.]227[.]202[.]244
144[.]172[.]100[.]142
144[.]172[.]103[.]97
216[.]126[.]229[.]166
138[.]201[.]36[.]60
46[.]202[.]82[.]69
167[.]86[.]74[.]63
222[.]122[.]81[.]178
185[.]246[.]209[.]172
23[.]227[.]202[.]52
88[.]218[.]0[.]78
45[.]140[.]167[.]218
23[.]227[.]202[.]244依旧存活并可以下载恶意文件的IP:
23[.]227[.]202[.]52
88[.]218[.]0[.]78
45[.]140[.]167[.]218
23[.]227[.]202[.]244样本HASH(HASH256):
73a49114bfef6b820c3fe2a3c6542336f055dc95b34e2d0ca5912948e8022b17
b0fec5f5293aa896666a9312d0027f917a41c69030d32745c171340ec4ac57c3
119f090b6364eff90a7fa8a5da68e9f1fd15c0af1c6476bce6da14b8386a2e1d
34946ac2fce4895986b2093a7e7906b929e0b118e7d8457cb422fd5cc77f992d
1df65fbfda7b7312cb60734f071142871d45deaa8701d6020573692c7aea49fb
7ac8500d10fe1fcc1606dbed61076c921e2422954ff8a67c43ea36c7ddc67ec5以下为各安全平台对本次拓线的恶意IOC 的标记情况汇总,为资产威胁等级判定提供参考依据。
| IP | VT | 奇安信威胁情报平台 | 微步 |
|---|---|---|---|
| 104[.]234[.]46[.]115 | |||
| 107[.]189[.]24[.]80 | |||
| 107[.]189[.]25[.]109 | √ | √ | |
| 107[.]189[.]20[.]152 | √ | √ | |
| 144[.]172[.]100[.]142 | √ | √ | |
| 107[.]189[.]16[.]122 | √ | √ | |
| 138[.]128[.]242[.]152 | |||
| 118[.]101[.]53[.]225 | |||
| 140[.]99[.]98[.]141 | |||
| 107[.]189[.]16[.]176 | √ | √ | |
| 144[.]172[.]106[.]133 | √ | √ | |
| 144[.]172[.]105[.]189 | √ | √ | √ |
| 144[.]172[.]104[.]113 | √ | √ | √ |
| 144[.]172[.]103[.]97 | √ | ||
| 144[.]172[.]102[.]148 | √ | √ | |
| 144[.]172[.]106[.]7 | √ | √ | |
| 144[.]172[.]105[.]235 | √ | √ | √ |
| 144[.]172[.]109[.]98 | √ | √ | √ |
| 144[.]172[.]109[.]155 | √ | √ | |
| 147[.]50[.]240[.]176 | √ | ||
| 144[.]172[.]111[.]63 | √ | ||
| 146[.]70[.]253[.]107 | √ | √ | √ |
| 144[.]172[.]96[.]80 | √ | √ | √ |
| 144[.]172[.]112[.]106 | √ | √ | √ |
| 167[.]88[.]160[.]106 | |||
| 149[.]56[.]154[.]91 | |||
| 144[.]172[.]86[.]27 | √ | √ | |
| 147[.]50[.]240[.]47 | |||
| 144[.]172[.]95[.]226 | √ | √ | |
| 172[.]86[.]73[.]198 | √ | √ | |
| 144[.]172[.]113[.]70 | √ | ||
| 172[.]86[.]106[.]119 | √ | ||
| 172[.]86[.]116[.]90 | √ | ||
| 172[.]86[.]84[.]38 | √ | √ | |
| 45[.]128[.]233[.]115 | |||
| 172[.]86[.]123[.]55 | √ | ||
| 43[.]228[.]124[.]109 | |||
| 23[.]227[.]202[.]244 | √ | √ | √ |
| 195[.]85[.]205[.]201 | |||
| 172[.]86[.]113[.]115 | √ | √ | √ |
| 45[.]61[.]150[.]30 | √ | √ | √ |
| 45[.]140[.]167[.]218 | √ | √ | √ |
| 45[.]61[.]151[.]174 | √ | √ | |
| 45[.]61[.]128[.]61 | √ | √ | √ |
| 45[.]61[.]150[.]67 | √ | √ | √ |
| 45[.]61[.]128[.]110 | √ | √ | |
| 45[.]61[.]135[.]4 | √ | √ | |
| 45[.]61[.]149[.]222 | √ | √ | √ |
| 45[.]61[.]165[.]45 | √ | √ | √ |
| 45[.]61[.]160[.]28 | √ | √ | |
| 87[.]107[.]164[.]23 | |||
| 216[.]126[.]229[.]166 | |||
| 138[.]201[.]36[.]60 | |||
| 46[.]202[.]82[.]69 | |||
| 167[.]86[.]74[.]63 | |||
| 222[.]122[.]81[.]178 | |||
| 185[.]246[.]209[.]172 |
▌End
欢迎各位白帽师傅们加入我们的社区大家庭,一起交流技术、生活趣事、奇闻八卦,结交无数白帽好友。
也欢迎投稿到 FOFA,审核通过后可获得F点奖励,快来加入微信群体验吧~~~
微信群:扫描下方二维码,加入 FOFA 社群!获取更多一手信息!

匿名者 3小时前
最新评论