【CS学习笔记】25、邮件防御


0x00 前言

Cobalt Strike 不是什么工作情况都能胜任的工具,因此就需要我们根据不同的情况去做一些辅助工作。

最后这几节将学习免杀部分的东西,这一节将主要介绍邮件防御方面的相关概念。

0x01 介绍

1、SPF、DKIM、DMARC

SPF、DKIM、DMARC 都是邮件用于帮助识别垃圾信息的附加组件,那么作为一个攻击者,在发送钓鱼邮件的时候,就需要使自己的邮件能够满足这些组件的标准,或者发送到未配置这些组件的域。

在理解这些防御标准前,需要先理解如何在因特网上通过 SMTP 发送邮件。

2、SMTP

发送一封邮件的过程大概是下面这个样子,这里以QQ邮箱为例。

> telnet smtp.qq.com 25
HELO teamssix
auth login
base64编码后的邮箱名
base64编码后的授权码
MAIL FROM: <[email protected]>
RCPT TO: <[email protected]>
DATA
邮件内容
.
QUIT

0x02 防御策略

1、SPF

SPF Sender Policy Framework 发送人策略框架,SPF 主要用来防止随意伪造发件人。其做法就是设置一个 SPF 记录,SPF 记录实际上就是 DNS 的 TXT 记录。

如果邮件服务器收到一封来自 IP 不在 SPF 记录里的邮件则会退信或者标记为垃圾邮件。

我们可以使用以下命令查看目标的 SPF 记录。

dig +short TXT target.com
> dig +short TXT qq.com
"v=spf1 include:spf.mail.qq.com -all"

上面的 include:spf.mail.qq.com 表示引入spf.mail.qq.com域名下的 SPF 记录。

> dig +short TXT spf-a.mail.qq.com
"v=spf1 ip4:203.205.251.0/24 ip4:103.7.29.0/24 ip4:59.36.129.0/24 ip4:113.108.23.0/24 ip4:113.108.11.0/24 ip4:119.147.193.0/24 ip4:119.147.194.0/24 ip4:59.78.209.0/24 ip4:113.96.223.0/24 ip4:183.3.226.0/24 ip4:183.3.255.0/24 ip4:59.36.132.0/24 -all"

上面的 ip4:203.205.251.0/24 ip4:103.7.29.0/24 表示只允许这个范围内的 IP 发送邮件。

2、DKIM

DKIM DomainKeys Identified Mail 域名密钥识别邮件,DKIM 是一种防范电子邮件欺诈的验证技术,通过消息加密认证的方式对邮件发送域名进行验证。

邮件接收方接收邮件时,会通过 DNS 查询获得公钥,验证邮件 DKIM 签名的有效性,从而判断邮件是否被篡改。

3、DMARC

DMARC Domain-based Message Authentication, Reporting & Conformance 基于域的消息认证,报告和一致性。

它用来检查一封电子邮件是否来自所声称的发送者。DMARC 建立在 SPF 和 DKIM 协议上, 并且添加了域名对齐检查和报告发送功能。这样可以改善域名免受钓鱼攻击的保护。

可以使用下面的命令查看目标的的 DMARC 记录。

dig +short TXT _dmarc.target.com
> dig +short TXT _dmarc.qq.com
"v=DMARC1; p=none; rua=mailto:[email protected]"

也有一些在线网站支持检测 SPF、DKIM、DMARC 的记录,比如 https://dmarcly.com/tools/

关于这些记录查询返回结果的解释可参考文章末的参考链接。

0x03 发送钓鱼邮件的一些注意事项

1、检测目标是否有 SPF 记录,如果有则可能会被拦截

2、检测目标 DMARC 记录的 p 选项是否为 reject ,如果有则可能会被拒绝

3、模板中嵌入的 URL 地址,不要使用 IP 地址,要保证使用完整的 URL地址

4、邮件的附件中不能附上一些可执行文件,比如 exe 格式的文件,因为一些邮件过滤器可能会将这些可执行文件删除

参考链接:

https://www.bilibili.com/video/BV16b411i7n5

https://segmentfault.com/a/1190000019290085

https://www.cnblogs.com/cthon/p/9151467.html

https://www.renfei.org/blog/introduction-to-spf.html

https://blog.csdn.net/qq_34101364/article/details/108062913

更多信息欢迎关注我的微信公众号:TeamsSix


文章作者: TeamsSix
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC 4.0 许可协议。转载请注明来源 TeamsSix !
评论
 上一篇
【CS学习笔记】26、杀毒软件 【CS学习笔记】26、杀毒软件
这一节将来看看杀毒软件相关的概念,毕竟知己知彼才能百战不殆,最后会介绍一下常见的免杀方法。
下一篇 
【CS学习笔记】24、C2lints实例演示 【CS学习笔记】24、C2lints实例演示
续上一节,在GitHub 上有一些配置文件的示例,这一节将使用该项目中的 `Malleable-C2-Profiles/APT/havex.profile` 配置文件作为示例。
  目录