mcpField
E
email-security

email-security

github.com/uphiago安全1.3k42 次安装8 周前更新
代码仓库

关于 email-security

用于检查域名 DMARC、SPF 和 DKIM 记录并评估邮件伪造风险的安全测试技能,提供 DNS 检查、SMTP 中继测试及邮件头验证说明。

主要功能

  1. 01检查 DMARC、SPF 和 DKIM 记录
  2. 02解读邮件认证配置
  3. 03测试 SMTP 中继可用性
  4. 04说明相关邮件头字段
  5. 05列出常见 DNS 与选择器问题

适用场景

  1. 01在侦察阶段检查邮件安全
  2. 02评估域名遭邮件伪造的风险
  3. 03检查 SMTP 中继是否接受测试连接
  4. 04通过邮件头验证认证结果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/uphiago/recon-skills --skill email-security

安装后在 Claude Code 中输入/email-security确认已加载。

详细介绍

电子邮件安全——DMARC、SPF、DKIM

使用时机

  • 被动侦察期间(阶段 1)
  • 初步 DNS 枚举之后
  • DMARC p=none 表示域名可能完全被伪造
  • 对识别钓鱼和商务电子邮件入侵风险至关重要

DMARC/SPF/DKIM 检查命令

# SPF
dig +short TXT $target | grep "v=spf1"

# DMARC
dig +short TXT _dmarc.$target

# DKIM (common selector: google)
dig +short TXT google._domainkey.$target

# MX
dig +short MX $target

结果解读

配置含义风险
v=spf1 ~all (softfail)SPF 建议拦截,但未强制执行伪造邮件可能通过
v=spf1 ?all (neutral)SPF 不执行任何操作完全不设限制
v=spf1 include:amazonses.com ~allSES 可以使用该域名发送邮件任何 AWS SES 账户都可以伪造邮件
v=DMARC1; p=noneDMARC 已禁用完全没有防伪造保护
v=DMARC1; p=quarantine验证失败的邮件会进入垃圾邮件文件夹部分保护
v=DMARC1; p=reject拒绝验证失败的邮件全面保护
缺少 DKIM没有加密签名邮件可以被伪造

通过 SMTP 伪造电子邮件

# Test SMTP relay
timeout 3 bash -c 'exec 3<>/dev/tcp/TARGET/25; head -1 <&3'

# Send spoofed email via open relay (swaks)
swaks --to [email protected] --from [email protected]   --server TARGET --body "Spoofed email"

表明安全级别的标头

标头值含义
Authentication-Resultsspf=passSPF 验证通过
Authentication-Resultsspf=failSPF 验证失败
Authentication-Resultsdmarc=passDMARC 验证通过
Authentication-Resultsdmarc=failDMARC 验证失败
Authentication-Resultsdkim=passDKIM 验证通过
Received-SPFPass发件人已获授权
Received-SPFSoftfail发件人未获完全授权
Received-SPFFail发件人未获授权
ARC-Authentication-Results身份验证链

AWS SES 伪造(SPF 包含 amazonses.com 时)

使用 v=spf1 include:amazonses.com ~all:

  1. 创建 AWS 账户
  2. 使用自己的域名配置 SES(已验证)
  3. 使用 From: [email protected] 发送电子邮件
  4. SPF 验证通过(因为包含 amazonses.com)
  5. DMARC p=none——邮件服务提供商会正常投递邮件

真实案例

真实案例(严重):某政党——两个域名(DOMAIN_PLACEHOLDER_A、DOMAIN_PLACEHOLDER_B)的 DMARC 均为 p=none。SPF 包含 include:amazonses.com(任何 SES 账户都可以使用该域名发送邮件)。电子邮件可以被完全伪造。

注意事项

问题解决方案
SPF 查询次数限制DNS 对 SPF include 的查询次数上限为 10 次
未知 DKIM 选择器尝试常见选择器:google、selector1、selector2、2022、2023
DMARC 报告rua=mailto: 可能会向第三方泄露身份验证结果

验证

# Verify email spoofing is possible
# Send test email and check headers:
dig +short TXT _dmarc.target.com
# If p=none -> confirmed spoofable

评论

支持 Markdown