arkanzasfeziii/Mirage

GitHub: arkanzasfeziii/Mirage

Mirage 是一款专为红队打造的全频谱社会工程学与钓鱼模拟框架,提供页面克隆、凭据收集、邮件安全分析、MFA 绕过评估、掩饰场景生成及回调 payload 构建等模块化能力。

Stars: 0 | Forks: 0

# Mirage — 社会工程学与钓鱼模拟框架 **专为需要针对性钓鱼基础设施而非合规模板的红队操作人员打造的全频谱社会工程学工具包。** ## 威胁模型 Mirage 专注于那些被常规钓鱼模拟平台刻意回避的攻击面——即在实际入侵事件中真正导致组织被攻破的技术。 | 威胁向量 | 技术 | 影响 | MITRE ATT&CK | |---|---|---|---| | 电子邮件欺诈 | 缺失或配置错误的 SPF/DMARC 允许任意发件人冒充 | 受害者信任欺诈发件人,点击 payload | T1566.001 — 鱼叉式钓鱼附件 | | 凭据窃取 | 克隆的登录页面透明地收集凭据 | 攻击者使用有效凭据获取初始访问权限 | T1598.003 — 通过鱼叉式钓鱼服务获取信息 | | MFA 绕过 | 实时钓鱼代理在 MFA 后捕获会话 token | MFA 失效;账户被完全接管 | T1539 — 窃取 Web 会话 Cookie | | 商业电子邮件入侵 (BEC) | 通过社会工程学伪装高管实施入侵 | 电汇欺诈、数据泄露、横向移动访问 | T1534 — 内部鱼叉式钓鱼 | | Payload 投递 | 通过下载器 (download cradles) 和 HTA/宏 payload 构建回调基础设施 | 在目标工作站上执行代码 | T1204.002 — 用户执行:恶意文件 | | 身份验证滥用 | 恢复码社会工程学、推送疲劳攻击 | 无需技术利用即可绕过 MFA | T1556 — 修改身份验证过程 | **映射战术:** TA0001 初始访问,TA0043 侦察 **CWE 覆盖范围:** CWE-287 (身份验证不当),CWE-352 (跨站请求伪造),CWE-346 (来源验证错误),CWE-522 (凭据保护不足) ## 开发动机 在过去十年发布的所有威胁情报报告中,钓鱼仍然是最主要的初始访问向量。然而,大多数组织在使用通用的、供应商提供的模板来测试其防御能力,这些模板与它们实际面临的针对性攻击毫无相似之处。 合规驱动的钓鱼模拟(“点击此处更新您的密码”)与真实对手的手段(带有实时 MFA 代理的克隆 SSO 门户,特意选在开放注册期间发动,从通过 SPF 验证的域发送)之间存在着巨大的差距。Mirage 旨在消除这一差距。 这不是一个群发邮件器。它不发送电子邮件。它构建的是红队操作人员执行真实社会工程学演练所需的基础设施:克隆页面、凭据收集服务器、电子邮件安全分析、MFA 绕过剧本、带有 OSINT 要求的掩饰叙事,以及具有编码选项的回调 payload。投递机制由操作人员自行掌控。 ## 功能特性 ### PhishPage — 登录页面克隆引擎 获取目标的真实登录页面,剥离外部依赖项,并注入凭据拦截机制,将表单提交重定向到操作人员的收集服务器。内置适用于 Microsoft 365、Google Workspace 和 Okta 的像素级精准模板。生成同形异义词和 Typosquatting 域名建议以进行 URL 栏欺骗——包括 Combosquatting 和子域名欺骗技巧。 ### CredHarvest — 凭据收集服务器生成器 生成一个独立的 Python HTTP 服务器脚本,该脚本通过 GET 请求提供钓鱼页面,并捕获 POST 提交的凭据及完整元数据(时间戳、源 IP、User-Agent、表单字段)。捕获完成后,受害者会被透明地重定向到合法的登录页面——整个过程看起来就像是一次正常的身份验证故障。包含用于演练文档记录的活动报告模板。 ### SpoofCheck — 电子邮件安全态势分析 对目标的电子邮件身份验证体系进行全面的基于 DNS 的评估。查询 SPF 记录并解析每个机制和限定符。提取 DMARC 策略、执行百分比和报告地址。探测 12 个常见的 DKIM 选择器。检查 BIMI。生成综合的 A-F 安全评级,并给出明确的可欺诈性结论。仅此模块即可告知您基于电子邮件的社会工程学攻击是会直达收件箱还是被隔离。 ### MFABypass — 多因素身份验证绕过模拟 枚举五种 MFA 绕过技术,并提供每种技术的可行性评级:实时钓鱼代理(生成 Evilginx2 phishlet 骨架)、推送通知疲劳(时间和参数指导)、SIM 交换指标、MFA 后的会话 token 窃取,以及恢复码社会工程学模板。输出结构化的评估报告,直接映射到演练规划中。 ### Pretext — 社会工程学场景生成器 生成六个完整的、针对目标组织进行校准的掩饰场景:IT 服务台密码重置、HR 福利登记、安全团队紧急补丁、供应商发票、高管电汇 (BEC),以及通过承包商冒充进行的物理访问。每个场景都包含叙事、通信渠道建议、必需的 OSINT 检查清单、成功指标、检测风险级别,以及随时可定制的电子邮件模板。具备日历感知能力的时机建议会综合考虑星期几、季度边界和季节性背景。 ### C2Callback — 回调基础设施生成器 跨四个投递向量生成 payload 模板:PowerShell 下载器(IEX、WebClient、certutil、bitsadmin)、Python 反向 shell、Bash 回调(curl、wget、mkfifo),以及基于文件的 payload(嵌入 VBScript 的 HTA、用于 Office 文档的 VBA 宏存根)。包含用于带外测试的 DNS canary token 生成、独立的 HTTP 回调监听器脚本,以及编码包装器(base64、URL 编码、双重编码、PowerShell 原生 base64)。 ## 架构 ``` ┌──────────────────────────────┐ │ mirage.py │ │ CLI + Engagement Engine │ └──────────────┬───────────────┘ │ ┌──────────────────────────┼──────────────────────────┐ │ │ │ │ │ ┌────────▼──────┐ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ ┌──────▼──────┐ │ PhishPage │ │ Spoof │ │ MFA │ │ Pretext │ │ C2Callback │ │ Generator │ │ Check │ │ Bypass │ │ Engine │ │ Payloads │ └───────┬───────┘ └────┬────┘ └────┬────┘ └────┬────┘ └──────┬──────┘ │ │ │ │ │ ┌───────▼───────┐ │ │ │ │ │ CredHarvest │ │ │ │ │ │ Server Gen │ │ │ │ │ └───────┬───────┘ │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────────────┐ │ mirage_output/ │ │ phish_pages/ harvest_server/ mfa_bypass/ pretexts/ c2/ │ └─────────────────────────────────────────────────────────────────┘ ``` 单文件架构。没有包层级,除了标准的攻击性 Python 库之外,没有任何框架依赖。每个模块都会将其生成的工件写入工作目录下的 `mirage_output/` 文件夹中。 ## 攻击流程 典型的 Mirage 辅助演练遵循以下顺序: 1. **侦察** — 运行 `spoof` 以评估电子邮件安全态势,并确定发件人欺骗是否可行,或者是否需要使用外观相似的域名。 2. **基础设施设置** — 运行 `phish` 克隆目标的登录门户并生成钓鱼页面。运行 `harvest` 生成凭据收集服务器。运行 `c2` 生成用于后续漏洞利用的回调 payload。 3. **掩饰场景开发** — 运行 `pretext` 生成针对目标组织和当前日历环境定制的场景叙事和电子邮件模板。 4. **MFA 评估** — 运行 `mfa` 评估哪些 MFA 绕过技术对目标的身份验证体系可行,并生成必要的配置。 5. **投递** — 操作人员在暂存服务器上部署钓鱼页面,配置凭据收集 endpoint,并通过选定的渠道发送掩饰电子邮件。Mirage 不负责发送电子邮件——投递是操作人员的责任。 6. **收集** — 凭据收集服务器捕获凭据和会话数据。回调 payload 向监听器回连。DNS canary token 确认带外代码执行。 7. **报告** — 使用 `--output` 将所有发现导出为 JSON,以便集成到演练报告中。 ## 用法 ``` # 安装依赖 pip install -r requirements.txt # 针对目标域名的全面 engagement python mirage.py --domain corp.com --org "Corp Inc" --modules all --yes # 仅进行电子邮件安全评估 python mirage.py --domain target.io --modules spoof # 生成 phishing 页面和 credential harvesting infrastructure python mirage.py --domain example.com --modules phish,harvest --org "Example Corp" # 带 pretext 生成的 MFA bypass 评估 python mirage.py --domain target.com --modules mfa,pretext --org "Target Ltd" # 带自定义 callback host 的 C2 callback payloads python mirage.py --domain target.com --modules c2 --smtp-server callback.evil.com --port 443 # 将结果导出为 JSON python mirage.py --domain corp.com --modules all --output engagement_results.json --yes ``` ### CLI 参考 | 标志 | 描述 | |---|---| | `--domain`, `-d` | 目标域名(必填) | | `--org`, `-o` | 目标组织显示名称 | | `--modules`, `-m` | 以逗号分隔:`phish,harvest,spoof,mfa,pretext,c2,all` | | `--output` | 将结构化结果保存为 JSON | | `--yes`, `-y` | 跳过授权提示 | | `--smtp-server` | SMTP 服务器或 C2 回调主机 | | `--port`, `-p` | SMTP/回调端口(默认:25) | | `--timeout`, `-t` | 请求超时时间(秒)(默认:10) | | `--threads` | 并发级别(默认:4) | ## 输出 ``` __ ____ / |/ (_)________ _____ ____ / /|_/ / / ___/ __ `/ __ `/ _ \ / / / / / / / /_/ / /_/ / __/ /_/ /_/_/_/ \__,_/\__, /\___/ /____/ Mirage Framework v1.0.0 Social Engineering & Phishing Simulation Framework Modules: phish | harvest | spoof | mfa | pretext | c2 [INFO] Authorization prompt skipped (--yes flag) [INFO] Target: corp.com (Corp Inc) [INFO] Modules: spoof, phish, harvest MODULE: Email Spoof Feasibility Check [INFO] Querying SPF for corp.com [ OK ] SPF record found: v=spf1 include:spf.protection.outlook.com ~all [WARN] SPF soft fail (~all) — emails from unauthorized senders may still be delivered [INFO] Querying DMARC for _dmarc.corp.com [ OK ] DMARC record found: v=DMARC1; p=none; rua=mailto:dmarc@corp.com [CRIT] DMARC policy = none — no enforcement [INFO] Probing DKIM selectors for corp.com [ OK ] Found 2 DKIM selector(s) [INFO] Checking BIMI for default._bimi.corp.com [INFO] No BIMI record (cosmetic — does not affect spoofability) ╭──────────────────────────────────╮ │ Email Security Posture Grade │ │ D (score: 50/100) │ ╰──────────────────────────────────╯ [ OK ] SpoofCheck complete — SPF=present (~all) | DMARC=p=none | DKIM=2 selector(s) | Grade=D MODULE: Phishing Page Generator [INFO] Generating built-in template: m365 [ OK ] Saved mirage_output/phish_pages/m365_phish.html [INFO] Generating built-in template: google [ OK ] Saved mirage_output/phish_pages/google_phish.html [INFO] Generating built-in template: okta [ OK ] Saved mirage_output/phish_pages/okta_phish.html [INFO] Attempting live clone of https://corp.com [ OK ] Live clone saved: mirage_output/phish_pages/clone_live.html [INFO] Generating URL spoofing suggestions (homograph + typosquatting) ┌────────────────────────────────────┐ │ URL Spoofing Candidates │ │ c0rp.com homoglyph │ │ corp-login.com combosquat │ │ corp-secure.com combosquat │ │ secure-corp.com combosquat │ │ corp.com.attacker.com subdomain │ └────────────────────────────────────┘ [ OK ] PhishPage complete — 4 pages in mirage_output/phish_pages MODULE: Credential Harvesting Server Generator [INFO] Redirect URL after capture: https://login.corp.com/ [ OK ] Harvest server script: mirage_output/harvest_server/harvest_server.py [ OK ] Campaign report template: mirage_output/harvest_server/campaign_report_template.md [ OK ] CredHarvest complete — server code and report template generated ENGAGEMENT SUMMARY ┌──────────────────────────────────────────────────────────────────────┐ │ Module │ Action │ Status │ Severity │ Notes │ │ SpoofCheck │ spf-softfail │ WARN │ medium │ ~all allows ... │ │ SpoofCheck │ dmarc-none │ CRIT │ high │ DMARC p=none .. │ │ SpoofCheck │ overall-grade │ INFO │ high │ Grade=D ... │ │ PhishPage │ template-m365 │ OK │ medium │ Generated m365 │ │ PhishPage │ live-clone │ OK │ high │ Cloned with ... │ │ CredHarvest │ server-gen │ OK │ high │ Generated ... │ └──────────────────────────────────────────────────────────────────────┘ Totals: 4 OK 1 WARN 1 CRIT (6 findings) ``` ## 法律声明 此工具专为执行已授权社会工程学演练的合规红队操作人员而构建。它生成的钓鱼基础设施、凭据收集代码和攻击性 payload 如果被滥用,可能会造成严重危害。 **您需要对以下事项负责:** - 在进行任何演练之前获得书面授权 - 确保所有活动均在批准的范围内进行 - 遵守您所在司法管辖区所有适用的法律和法规 - 记录并向授权方报告所有发现 - 在演练结束后安全销毁所有捕获的凭据 在大多数司法管辖区,未经授权将此工具用于您不拥有或未获得明确测试许可的系统属于刑事犯罪。作者对滥用行为不承担任何责任。
标签:ESC8, Metasploit替代, 文档结构分析, 社会工程学, 逆向工具