开源 Evilginx 衍生套件规模化 M365 钓鱼攻击链路与分层防御体系研究

发布时间:2026/7/16 18:01:30
开源 Evilginx 衍生套件规模化 M365 钓鱼攻击链路与分层防御体系研究 摘要针对 2026 年 7 月 Lexfo 安全机构披露的服务器配置泄露事件本文以暴露的三套 Evilginx 定制钓鱼套件为核心研究样本完整还原两类可绕过多因素认证MFA的 Microsoft 365 钓鱼攻击技术链路基于反向代理的 AiTM 中间人劫持攻击、基于 OAuth 2.0 设备代码流协议滥用的原生授权劫持攻击。论文梳理攻击者依托公开 GitHub 开源框架、AI 辅助开发、PhaaS 黑色产业链实现低门槛规模化钓鱼的完整生态剖析攻击者因python3 -m http.server 8080错误配置造成全量工具、日志、会话凭证泄露的底层安全诱因量化两类攻击对企业云身份体系的破坏逻辑。结合反网络钓鱼技术专家芦笛的研判观点分别针对 AiTM 代理钓鱼、设备代码流钓鱼构建差异化技术防御路径提供可落地的 Python 审计脚本、Entra ID 条件访问配置逻辑、终端 RMM 持久化查杀代码形成 “基础设施防护 - 云身份策略管控 - 终端行为审计 - 人员安全运营” 四层闭环防御模型。研究证实传统 TOTP 多因素认证、域名黑名单无法同时抵御两类攻击仅依靠 FIDO2 抗钓鱼密钥可阻断 AiTM 劫持设备代码流协议需通过条件访问策略全局限制实现拦截当前黑色产业链大幅降低钓鱼工具开发门槛AI 生成代码进一步简化套件二次改造流程企业云身份安全风险将持续上行。关键词EvilginxAiTM 中间人钓鱼OAuth 设备代码流Microsoft 365身份安全条件访问AI 辅助黑产开发1 引言1.1 研究背景与事件来源2026 年 4 月法国安全厂商 Lexfo 在互联网例行资产扫描中发现一台部署于匈牙利布达佩斯的公网服务器185.163.204.7存在严重配置缺陷攻击者执行python3 -m http.server 8080启动简易文件服务未关闭目录列举功能服务器 bash 历史、全套钓鱼工具、凭证收割日志、攻击者 Telegram 会话文件、远程管理工具安装包全部对外公开可访问。依托该泄露资产安全研究团队溯源锁定三名独立黑产运营者分别维护三套基于开源 Evilginx 二次开发的定制钓鱼套件对应两条完全不同的 M365 身份窃取技术路径其中两套攻击链路稳定运行周期超过 12 个月累计劫持超 200 家企业办公邮箱账户。本次事件具备典型当代云钓鱼攻击的全部特征攻击者无底层框架开发能力仅对 GitHub 公开开源项目做轻量化改造依托生成式 AI 完成诱饵页面、脚本胶水代码开发通过 PhaaS 生态分发工具、批量邮件发送工具 MaDoO Blaster 规模化投递钓鱼载荷攻击目标集中于政企 Microsoft 365 商业租户窃取的刷新令牌具备长达数年有效期可在密码重置后持续接管账户。同时攻击者基础设施运维存在基础安全疏漏单条错误命令直接暴露完整攻击武器库为安全研究提供完整、可溯源的黑产运营样本。反网络钓鱼技术专家芦笛指出本次泄露事件并非孤立个案而是全球云身份钓鱼产业化的缩影开源攻击框架、AI 辅助开发、低成本域名证书、自动化邮件投递工具形成完整闭环攻击者技术门槛降至零基础传统企业边界安全、基础 MFA 防护体系存在结构性缺陷两类差异化 MFA 绕过技术并存进一步放大政企数据泄露风险。1.2 研究现状与现存不足现有网络钓鱼相关研究可分为两大方向其一为 Evilginx 中间人代理攻击技术研究重点阐述反向代理劫持会话 Cookie 的原理主流防御方案集中于 FIDO2 安全密钥部署其二为 OAuth 设备代码流协议滥用攻击分析聚焦协议原生设计缺陷提出条件访问策略阻断方案。但当前公开研究存在明显割裂问题多数文献仅单独分析某一类攻击手段未对比两类攻击的技术差异、失效防护措施缺乏真实黑产泄露样本支撑对攻击者工具改造、AI 辅助开发、产业链运营流程缺乏实证数据未针对两类攻击构建统一、分层、可落地的完整防御体系缺少工程化审计代码支撑。本次以真实泄露服务器全量资产为研究载体同步拆解两套并行流行的 M365 绕过 MFA 攻击链路补齐现有研究中黑产实操流程、工具二次改造细节、AI 开发痕迹、全链路防御落地代码等缺失内容。1.3 研究内容与行文结构本文整体分为六个核心章节第 2 章梳理漏洞服务器暴露资产与三名攻击者完整溯源链路分析http.server错误配置引发大规模信息泄露的底层安全机制第 3 章分模块拆解两套 Evilginx 衍生套件技术架构分别还原 AiTM 中间人钓鱼、OAuth 设备代码流钓鱼完整杀伤链嵌入对应代码示例第 4 章分析黑产产业链运作模式包含开源框架复用、AI 辅助恶意代码开发、PhaaS 工具分发、持久化 RMM 后门部署第 5 章结合反网络钓鱼技术专家芦笛的研判结论针对两类攻击分别设计差异化分层防御方案提供 Python 审计脚本、Entra ID 策略配置逻辑、终端查杀代码第 6 章总结研究结论预判未来钓鱼攻击演化趋势。2 漏洞服务器资产泄露与攻击者溯源分析2.1 服务器错误配置泄露机制与风险拆解本次事件核心泄露源头为攻击者执行的简易文件共享命令python3 -m http.server 8080该工具为 Python 标准库内置静态文件服务仅适用于本地临时调试存在多项原生安全缺陷也是本次完整武器库泄露的直接诱因。2.1.1 http.server 原生安全缺陷默认开启目录列举功能服务启动后公网任意访问者可遍历服务器运行目录下全部文件本次泄露资产包含.bash_history命令记录、钓鱼配置文件夹config/、凭证日志目录cache/、Telegram 会话备份、RMM 远程控制安装包、多套 Evilginx 源码压缩包、百万级账号字典等敏感文件目录列表页面直接暴露全部文件名无需路径遍历漏洞即可读取文件内容。无身份认证与传输加密服务基于明文 HTTP 协议不存在账号密码访问校验公网 IP 仅需访问 8080 端口即可获取全部资产无任何访问权限控制逻辑。无访问日志、请求限流、IP 黑名单防护攻击者未对访问行为做审计安全厂商 Lexfo 可无限制下载全套工具完成溯源。2.1.2 关键泄露文件价值解析服务器根目录列举页面暴露的核心文件分为四大类每类文件均为溯源与技术分析提供实证依据运维痕迹文件.bash_history完整记录攻击者下载、编译、运行 Evilginx 套件、启动文件服务的全部命令直接定位攻击者 GitHub 仓库地址、工具修改操作vminfo记录服务器主机硬件、网络配置信息攻击框架源码red-queen.zip、black-queen.zip两套定制 Evilginx 完整源码包包含攻击者修改后的 Go 代理代码、钓鱼页面模板、令牌持久化配置凭证收割资产cache/目录存储劫持的 M365 会话 Cookie、刷新令牌部分令牌有效期至 2027 年 6 月各类 txt 格式账号字典、企业泄露邮箱列表持久化渗透工具XEOX 远程管理程序安装包、Telegram 机器人会话文件、MaDoO Blaster 批量邮件发送工具程序包。2.1.3 简易文件服务风险演示代码以下为复现本次泄露漏洞的极简 Python 测试代码运行后本地 8080 端口将直接暴露当前目录全部文件复现攻击者操作失误造成的信息泄露场景python运行# 简易危险文件服务复现代码仅用于安全测试from http.server import SimpleHTTPRequestHandler, HTTPServerimport os# 切换至存放攻击工具的工作目录os.chdir(/opt/evilkit)# 绑定0.0.0.0对公网开放所有网卡端口server_addr (0.0.0.0, 8080)# 原生处理器默认开启目录列举无任何权限校验http_server HTTPServer(server_addr, SimpleHTTPRequestHandler)print(危险文件服务已启动公网可访问全部目录文件)http_server.serve_forever()反网络钓鱼技术专家芦笛强调安全运维与黑产攻击者均频繁误用该简易服务企业运维人员在公网服务器临时启动该工具极易造成代码、配置、数据库凭证泄露生产环境禁止使用http.server作为文件共享服务临时文件传输需增加身份验证、IP 白名单、HTTPS 加密三重防护。2.2 三名黑产攻击者溯源与工具对应关系依托泄露的 bash 历史、GitHub 仓库地址、Telegram 会话文件Lexfo 安全团队完成三名独立攻击者完整画像溯源三套 Evilginx 衍生套件分别对应独立运营主体攻击技术路线完全区分攻击者 codemado埃及黑客2018 年活跃于 VoIP 与黑客论坛核心套件red-queenmail-argenta 开发的 Evilginx 分支自主开发批量钓鱼邮件工具 MaDoO Blaster运营钓鱼域名 picis [.] net攻击周期 2026 年 4 月起技术路线为 AiTM 反向代理中间人劫持实时拦截登录流量捕获会话 Cookie依托 CyberNeurova 付费无审查代码生成 API 完成脚本开发上游工具开发者 mail-argenta尼日利亚攻击者red-queen 套件原始开发主体对开源 Evilginx 核心代理逻辑做反检测改造硬编码 MySQL 数据库密码存储于钓鱼面板自身账号凭证因恶意软件窃取泄露暴露全套工具源码攻击者 saroula01身份未完全溯源核心套件black-queen技术路线为 OAuth 设备代码流协议滥用不窃取账号密码全程依托微软官方域名完成授权运营周期超 12 个月2025 年 6 月至 2026 年 7 月累计劫持 218 家企业账户94% 为企业商业邮箱代码提交记录存在 Claude 大模型共同作者标识全套后端自动化脚本由 AI 辅助生成。三者运营模式相对独立但工具流通于同一黑色产业链codemado 直接从 mail-argenta 的 GitHub 仓库克隆 red-queen 套件所有工具均在地下论坛、Telegram 钓鱼渠道公开流转形成 “框架开发者 - 二次改造者 - 批量钓鱼运营者” 三级分工体系。2.3 攻击基础设施生命周期分析本次事件中两套钓鱼域名 picis [.] net、romnor [.] ca 在安全厂商披露报道前已下线Lexfo 研判并非监管关停而是攻击者主动轮换基础设施规避追踪2026 年 5 月攻击者仍在持续为 picis [.] net 申请新泛域名 SSL 证书批量生成子域名投放钓鱼载荷服务器 IP 185.163.204.7 仅短期临时部署工具运行完成后攻击者会销毁服务器资产、更换 IP 与域名。黑产基础设施轻量化、快速轮换特性大幅提升传统 IP / 域名黑名单检测的防御局限性反网络钓鱼技术专家芦笛指出仅依靠威胁情报拦截已知恶意 IP、域名无法实现长效防护防御核心必须转移至云身份协议、终端行为、访问策略层面。3 两类 Evilginx 衍生套件攻击技术全链路拆解三套泄露套件分为两类完全不同的 MFA 绕过技术red-queen 对应 AiTM 反向代理中间人攻击black-queen 对应 OAuth 设备代码流授权劫持攻击二者绕过 MFA 的底层逻辑、杀伤链、防御手段无交集是当前针对 Microsoft 365 最主流的两类规模化钓鱼手段。3.1 red-queen 套件AiTM 反向代理中间人劫持攻击3.1.1 Evilginx 核心代理原理Evilginx 是开源 Adversary-in-the-MiddleAiTM代理框架核心逻辑为透明反向代理攻击者搭建仿冒域名用户访问仿冒域名时服务器将全部 HTTP/HTTPS 流量实时转发至微软官方登录页面页面原样返回至受害者浏览器攻击者在流量中转环节捕获账号、密码、TOTP/MFA 验证结果、长期会话 Cookie。传统静态钓鱼仅伪造登录页面无法处理实时 MFA 校验AiTM 代理直接对接微软官方身份服务受害者完成全部官方验证流程标准 TOTP、短信 MFA 完全失效。3.1.2 mail-argenta 对 red-queen 套件的反检测改造代码分析mail-argenta 为规避企业网页安全检测、子资源完整性SRI校验修改http_proxy.go核心代理代码增加 URL 重写引擎、篡改 HTML 安全校验标签关键改造逻辑如下简化代码片段// 原始Evilginx未修改SRI校验浏览器会拦截篡改后的页面资源// mail-argenta新增函数清除页面integrity、crossorigin安全属性func stripSriAttributes(html []byte) []byte {// 正则匹配清除integrity、crossorigin标签绕过SRI校验reIntegrity : regexp.MustCompile(integrity[^])reCrossOrigin : regexp.MustCompile(crossorigin[^])result : reIntegrity.ReplaceAll(html, []byte())result reCrossOrigin.ReplaceAll(result, []byte())return result}// URL重写引擎替换页面内官方域名链接为攻击者仿冒域名规避路径检测func rewritePageUrl(body []byte, fakeDomain string) []byte {replaceMap : map[string]string{login.microsoftonline.com: fakeDomain,account.microsoft.com: fakeDomain,}for origin, proxy : range replaceMap {body bytes.ReplaceAll(body, []byte(origin), []byte(proxy))}return body}同时套件修改会话 Cookie 生命周期配置将劫持的微软会话 Cookie TTL 设置为 31536000 秒1 年即使受害者修改账户密码未部署 CAE持续访问评估策略的租户中攻击者仍可凭借 Cookie 长期登录账户泄露仓库中捕获的有效 Cookie 有效期至 2027 年 6 月。3.1.3 AiTM 钓鱼完整杀伤链载荷投递codemado 使用自主开发 MaDoO Blaster 批量邮件工具发送仿微软办公通知、发票、文件共享钓鱼邮件内置仿冒域名链接代理接入受害者点击链接跳转至 picis [.] net 子域名流量接入 red-queen Evilginx 反向代理流量中转代理转发请求至login.microsoftonline.com将真实登录页面返回用户同步记录输入的账号密码MFA 中继用户提交 TOTP / 短信验证代理将 MFA 数据同步转发微软身份服务器完成合法认证凭证持久化代理拦截服务器下发的会话 Cookie、刷新令牌存入服务器cache/日志目录同步推送至攻击者 Telegram 机器人账户接管攻击者导入 Cookie 至本地浏览器无需再次验证 MFA访问受害者邮箱、OneDrive、Teams 全部资源横向渗透利用劫持账户向企业内部全员发送同源钓鱼邮件同时部署 XEOX RMM 远程控制工具实现终端持久驻留。3.1.4 传统防护手段失效原因反网络钓鱼技术专家芦笛指出企业当前普遍部署的基础防护无法拦截该攻击域名黑名单仅拦截已知恶意域名攻击者每周批量生成新泛子域名情报更新存在滞后TOTP、短信、App 推送类标准 MFA 可被代理实时中继无法抵御中间人劫持密码重置无法失效长 TTL 会话 Cookie无 CAE 策略时令牌可持续使用数月。3.2 black-queen 套件OAuth 2.0 设备代码流协议滥用攻击该套件攻击逻辑与 AiTM 代理完全区分全程不伪造微软登录页面依托 RFC 8628 设备授权协议原生流程劫持令牌是当前防护盲区最大的新型钓鱼手段。3.2.1 OAuth 设备代码流合法原生流程协议设计初衷为无输入设备智能电视、会议室硬件、IoT 终端登录云服务标准流程硬件设备向微软 Entra ID 发起授权请求获取设备短码、官方授权页面microsoft.com/devicelogin用户在手机 / 电脑访问官方页面输入短码用户完成账号密码 MFA 验证微软向发起请求的硬件下发访问令牌、自动刷新的长期刷新令牌。saroula01 改造 black-queen 套件将恶意程序伪装为合法硬件设备全程复用微软官方域名与授权页面。3.2.2 black-queen 自动化攻击核心 Python 代码示例后端自动化脚本由 Claude 大模型辅助生成实现动态设备码申请、轮询令牌接口、自动刷新劫持会话核心代码片段import requestsimport time# 微软官方设备代码授权接口DEVICE_CODE_URL https://login.microsoftonline.com/common/oauth2/devicecodeTOKEN_POLL_URL https://login.microsoftonline.com/common/oauth2/token# 攻击者注册的恶意OAuth应用IDMAL_APP_ID fake-app-registered-by-attackerdef get_device_code():# 向微软申请有效设备短码params {client_id: MAL_APP_ID,scope: https://graph.microsoft.com/Mail.ReadWrite Files.ReadWrite.All}resp requests.post(DEVICE_CODE_URL, dataparams)data resp.json()# 返回展示给受害者的短码、验证页面、轮询间隔return data[user_code], data[verification_uri], data[interval], data[device_code]def poll_token(device_code, interval):# 持续轮询令牌接口等待受害者完成授权while True:time.sleep(interval)token_req {grant_type: urn:ietf:params:oauth:grant-type:device_code,client_id: MAL_APP_ID,device_code: device_code}token_resp requests.post(TOKEN_POLL_URL, datatoken_req)token_data token_resp.json()# 受害者完成授权获取长期刷新令牌if refresh_token in token_data:# 存储劫持令牌开启自动刷新循环save_stolen_token(token_data[refresh_token])auto_refresh_session(token_data[refresh_token])return token_data# 自动刷新会话维持账户长期控制def auto_refresh_session(refresh_token):refresh_params {grant_type: refresh_token,client_id: MAL_APP_ID,refresh_token: refresh_token}# 循环刷新令牌泄露样本中单一会话最高刷新25次while True:resp requests.post(TOKEN_POLL_URL, datarefresh_params)new_token resp.json()save_stolen_token(new_token[refresh_token])time.sleep(3600)3.2.3 设备代码流钓鱼杀伤链诱饵分发攻击者发送仿微软验证器更新、账户安全校验钓鱼邮件页面展示生成的设备短码诱导跳转诱饵页面提示用户访问microsoft.com/devicelogin微软官方域名无域名伪造官方授权验证用户在微软原生页面输入短码完成账号、密码、MFA 多重验证令牌下发微软向攻击者后台 black-queen 服务器下发访问令牌与刷新令牌会话持久化脚本循环调用刷新接口持续维持账户访问权限无需受害者二次交互数据窃取攻击者调用 Microsoft Graph API 读取企业邮件、云盘文件批量导出通讯录。3.2.4 防护失效核心逻辑FIDO2、Passkey 抗钓鱼密钥无法拦截用户在微软官方域名完成验证密钥签名绑定合法 origin无法识别攻击者恶意授权请求标准 MFA 完全无效MFA 校验在微软官方页面完成等同于受害者主动为攻击者授权传统网页钓鱼检测工具失效无仿冒域名、无篡改登录页面流量全部访问微软官方资产。4 新型云钓鱼黑色产业链运作模式分析本次泄露服务器完整暴露从工具开发、AI 辅助编码、载荷投递、账户变现、持久化渗透全链路黑产分工体系产业链各环节高度标准化大幅降低攻击准入门槛。4.1 开源框架复用与二次改造分工产业链顶层为工具开发者如 mail-argenta、saroula01基于 GitHub 公开 Evilginx 开源项目完成定制改造增加反检测、令牌持久化、自动化轮询功能编译预打包二进制程序evilginx2.exe无需下游攻击者配置编译环境中层运营者codemado直接克隆开源仓库仅修改钓鱼邮件模板、域名配置、Telegram 推送机器人参数无需底层开发能力底层购买者通过地下论坛、Telegram 渠道付费获取套件仅填写域名即可启动规模化钓鱼活动。反网络钓鱼技术专家芦笛认为开源攻击框架无门槛流通是当前钓鱼泛滥核心诱因GitHub 等代码平台缺少恶意钓鱼工具自动化识别机制大量 Evilginx 衍生分支长期公开存储黑产可零成本获取成熟攻击代码。4.2 生成式 AI 辅助恶意代码开发实证分析泄露资产中三套套件均存在明确 AI 开发痕迹分为三类应用场景底层代理逻辑改造mail-argenta 留存完整 AI 对话日志instructions.txt记录使用大模型生成 URL 重写、SRI 标签清除 Go 代码直接复制模型输出整合进 Evilginx 源码自动化后端脚本saroula01 的 black-queen 仓库 Git 提交记录标注 Claude 模型共同作者设备码轮询、令牌刷新 Python 脚本全部由生成式 AI 输出轻量辅助脚本codemado 调用付费无审查代码生成 API CyberNeurova一键生成键盘记录器、日志批量导出小工具嵌入整套攻击工具链。Lexfo 安全团队分析结论显示AI 未重写 Evilginx 核心代理框架主要负责周边胶水代码、自动化运维脚本、钓鱼诱饵页面开发大幅压缩攻击者开发周期零基础人员可依托 AI 完成全套工具定制。微软官方安全报告同步证实全球多起设备代码流钓鱼活动均采用 AI 生成钓鱼邮件、诱导页面。4.3 PhaaS 钓鱼即服务生态联动2026 年 6 月 SOCRadar 披露名为 “The Quarry” 的大型 PhaaS 生态由开发者 RockyBelling 运营服务近 200 名钓鱼攻击者codemado 开发的 MaDoO Blaster 批量邮件工具作为第三方配套软件在生态 Telegram 频道推广形成 “钓鱼框架 批量投递工具 恶意域名售卖 RMM 持久化后门” 一体化黑产服务体系。生态内分工清晰平台提供域名、证书、服务器租赁配套工具负责批量发送钓鱼邮件Evilginx 套件完成身份劫持XEOX 等 RMM 工具实现终端持久控制攻击者仅需付费订阅即可开展完整攻击技术门槛完全消除。4.4 终端持久化渗透链路两套套件均内置 XEOX 远程管理工具安装包劫持账户完成邮箱入侵后攻击者会向企业内部发送携带 RMM 安装程序的钓鱼附件终端执行后实现长期驻留安装路径固定为C:\Program Files (x86)\XEOX\xeox-agent_x64.exe创建匹配*XEOX*Agent*Watchdog*命名规则的定时任务开机自启动远程读取本地文件、截取屏幕、横向扫描内网资产实现从云账户入侵到终端内网渗透的完整链路。5 分层闭环防御体系构建针对两类差异化攻击两类攻击技术底层原理不同不存在通用单一防护手段反网络钓鱼技术专家芦笛提出分层防御思路以 FIDO2 密钥阻断 AiTM 中间人代理攻击以 Entra ID 条件访问策略全局管控 OAuth 设备代码流叠加持续访问评估 CAE、终端行为审计、日志异常监控形成四层闭环防护。5.1 第一层云身份基础策略管控阻断设备代码流攻击设备代码流滥用唯一核心管控手段为 Entra ID 条件访问策略禁止非可信场景下设备授权流程配套日志审计监控异常设备码申请行为。5.1.1 条件访问策略配置逻辑资产盘点通过 Entra 登录日志梳理企业合法使用设备代码流的资产会议室 Teams 硬件、CLI 运维工具形成白名单全局阻断策略针对所有用户、所有云应用拦截设备代码授权流程仅对白名单设备 / IP 放行补充网络位置管控添加基于 IP 的位置策略仅允许企业办公网、可信 VPN 网段完成设备授权启用 CAE 持续访问评估针对 Exchange Online、SharePoint 开启令牌实时重校验劫持令牌跨 IP 使用时立即失效。5.1.2 设备代码流异常日志审计 Python 脚本脚本读取 Entra 登录日志筛选异常设备代码授权事件识别陌生客户端 ID、境外 IP、批量设备码申请行为import jsonfrom datetime import datetime# 合法设备代码流客户端白名单WHITELIST_CLIENT [TeamsRoomDevice, AzureCLI]# 微软Office桌面客户端ID异常设备码劫持高频标识OFFICE_CLIENT_ID d3590ed6-52b3-4102-aeff-aad2292ab01cdef detect_device_code_risk(log_path):risk_events []with open(log_path, r, encodingutf-8) as f:logs json.load(f)for event in logs:# 筛选原始认证方式为设备代码流的事件auth_method event.get(OriginalTransferMethod, )client_id event.get(ClientAppId, )ip_addr event.get(IpAddress, )location event.get(Location, {}).get(Country, )if auth_method DeviceCodeFlow:# 非白名单客户端标记高风险if client_id not in WHITELIST_CLIENT:risk_events.append({time: event[CreatedDateTime],user: event[UserPrincipalName],ip: ip_addr,country: location,client_id: client_id,risk_level: 高风险-非可信设备码授权})# 桌面客户端发起设备码申请企业正常场景极少标记预警if client_id OFFICE_CLIENT_ID:risk_events.append({time: event[CreatedDateTime],user: event[UserPrincipalName],ip: ip_addr,risk_level: 预警-桌面客户端发起设备码流程})# 输出风险事件报告for risk in risk_events:print(json.dumps(risk, ensure_asciiFalse, indent2))return risk_eventsif __name__ __main__:detect_device_code_risk(entra_signin_logs.json)反网络钓鱼技术专家芦笛强调审计时必须读取OriginalTransferMethod字段仅依靠当前认证协议字段会遗漏历史设备代码流授权的刷新令牌行为。5.2 第二层抗钓鱼身份认证部署阻断 AiTM 中间人代理攻击标准 TOTP、短信 MFA 无法抵御 Evilginx AiTM 代理唯一结构性防护手段为全域部署 FIDO2/WebAuthn Passkey 安全密钥核心原理为公钥签名绑定访问源域名中间人代理无法篡改签名完成验证。全域强制 FIDO2 策略在条件访问中配置所有用户登录 M365 邮箱、云盘、Teams 必须使用硬件密钥或平台通行密钥启用 Microsoft Authenticator 数字匹配功能拦截恶意 MFA 推送批准禁用遗留认证协议IMAP、POP3、旧版 SMTP缩小攻击面。简化 WebAuthn 密钥注册前端验证代码用于企业门户二次校验// FIDO2通行密钥注册简化示例绑定可信域名抵御AiTM代理async function registerPasskey(userId) {const publicKeyOptions {challenge: crypto.getRandomValues(new Uint8Array(32)),rp: { name: 企业Microsoft 365租户, id: company.com },user: {id: Uint8Array.from(userId.split().map(c c.charCodeAt(0))),name: userId,displayName: userId},pubKeyCredParams: [{ type: public-key, alg: -7 }],authenticatorSelection: {userVerification: required, // 强制本地生物/硬件验证residentKey: required}};// 密钥签名绑定租户域名Evilginx代理仿冒域名无法通过校验const credential await navigator.credentials.create({ publicKey: publicKeyOptions });return credential;}5.3 第三层终端安全审计与 RMM 后门查杀针对攻击者投放的 XEOX 持久化远程控制工具部署终端检测脚本批量扫描可疑文件与定时任务powershell# Windows终端XEOX RMM后门查杀脚本# 检测默认安装路径$xeoxPath C:\Program Files (x86)\XEOX\xeox-agent_x64.exeif (Test-Path $xeoxPath) {Write-Host 检测到恶意XEOX远程控制程序立即隔离Stop-Process -Name xeox-agent_x64 -ForceMove-Item $xeoxPath C:\Quarantine\xeox-agent_x64.exe}# 检索匹配XEOX命名规则的定时任务Get-ScheduledTask | Where-Object {$_.TaskName -match XEOX.*Agent.*Watchdog} | ForEach-Object {Write-Host 发现恶意定时任务$($_.TaskName)Disable-ScheduledTask -TaskName $_.TaskNameUnregister-ScheduledTask -TaskName $_.TaskName -Confirm:$false}企业终端管理平台可定时推送该脚本批量全网巡检及时清除入侵后持久化后门。5.4 第四层运营层安全管控与基础设施防护服务器运维规范禁止公网服务器使用python3 -m http.server简易文件服务临时文件共享启用 IP 白名单、账号密码认证、HTTPS 加密运维人员操作后清理.bash_history敏感命令记录钓鱼邮件前置过滤邮件网关拦截携带设备码诱导、仿微软账户安全主题的邮件检测附件内 RMM 安装包员工分层安全培训区分两类攻击开展科普告知员工microsoft.com/devicelogin仅可在自主发起设备登录时使用陌生邮件内短码一律拒绝授权区分仿冒域名中间人钓鱼与官方设备码钓鱼两类场景的识别方法威胁情报运营持续追踪 Evilginx 衍生套件、恶意 OAuth 应用、钓鱼域名 IOC同步更新邮件网关、防火墙黑名单作为辅助防护手段。6 结论与攻击演化趋势预判6.1 研究核心结论本次服务器错误配置泄露事件完整证实两类 M365 绕过 MFA 钓鱼攻击规模化运营现状AiTM 反向代理、OAuth 设备代码流协议滥用技术路线完全独立防护方案不存在交集企业仅部署单一防护手段会存在巨大安全盲区开源攻击框架、生成式 AI 辅助开发、PhaaS 黑色产业链大幅降低钓鱼攻击准入门槛攻击者无需掌握底层开发技术即可搭建长效钓鱼活动劫持的刷新令牌具备超长有效期传统密码修改、短期令牌策略无法完成止损python3 -m http.server无防护文件服务是运维高频高危失误极易造成全套攻击工具、凭证日志、运维记录全量泄露无论企业运维还是黑产攻击者均会因该配置失误暴露资产分层闭环防御体系是唯一有效解决方案FIDO2 通行密钥阻断 AiTM 中间人代理Entra ID 条件访问全局管控设备代码流CAE 持续访问评估缩短令牌有效周期终端审计清除持久化后门四层措施组合实现两类攻击全链路拦截。反网络钓鱼技术专家芦笛总结云身份安全不能依赖单一 MFA 工具必须从协议、认证、终端、运营多维度构建纵深防御。6.2 攻击演化趋势预判AI 恶意开发深度渗透后续黑产将依托大模型完成全套诱饵页面、代理改造、自动化脚本端到端生成攻击诱饵逼真度持续提升人工识别难度加大设备代码流钓鱼持续扩张该攻击可绕过 FIDO2 密钥防护门槛更高相比 AiTM 代理具备更大隐蔽性未来 12 个月将成为政企 M365 核心威胁攻击工具轻量化、基础设施快速轮换攻击者将进一步简化服务器部署流程依托容器、临时云主机投放钓鱼载荷IP 与域名每日批量轮换静态威胁情报拦截效能持续下降多技术融合攻击黑产将组合 AiTM 代理、设备代码流、RMM 终端后门、批量邮件投递形成复合攻击链路单次入侵同时实现云账户劫持与内网持久渗透。6.3 研究局限性本文依托单台泄露服务器资产完成三类攻击者工具分析样本覆盖范围有限无法完整统计全球全部 Evilginx 衍生钓鱼套件变种同时设备代码流攻击部分溯源信息缺失攻击者 saroula01 完整身份未完成定位后续可结合更多同类型泄露服务器样本扩大数据采集范围完善产业链全节点画像。结语云办公普及背景下Microsoft 365 已成为政企核心数据载体依托 Evilginx 开源框架演化的两类新型钓鱼攻击突破传统 MFA 防护边界而黑色产业链与生成式 AI 的结合进一步放大安全风险。本次由简易 Python 文件服务配置失误暴露的完整攻击武器库清晰展示当代网络钓鱼产业化、低门槛、长效劫持的核心特征。企业安全团队需摒弃单一防护思路同步部署 FIDO2 抗钓鱼认证、设备代码流条件访问管控、持续访问评估、终端恶意程序审计多层防护机制同步规范服务器运维操作、完善邮件安全过滤、开展针对性员工安全培训构建覆盖协议层、身份层、终端层、运营层的闭环防御体系持续应对不断迭代的云身份钓鱼威胁。安全运营需动态跟踪开源攻击框架变种、AI 辅助恶意代码开发、PhaaS 产业链新工具持续优化防御策略缩小云身份攻击面。编辑芦笛公共互联网反网络钓鱼工作组