你还敢随便点陌生邮件链接吗,浅谈黑客是如何利用SPF机制进行邮件钓鱼的

SPF介绍

spf是一种用于防止电子邮件伪造得技术,旨在确保只有授权的发送者才能适用特定的域名发送电子邮件,它也是邮件系统的一种安全机制,它的内容被写入DNS的TXT类型记录中。通过SPF记录,域名所有者可以指定哪些IP地址或服务器被授权代表该域名发送电子邮件。

  1. 防止伪造邮件地址:SPF通过验证发件人的IP地址是否被包含在SPF记录中,来防止他人伪造你的邮件地址发送垃圾邮件或进行网络钓鱼攻击。
  2. 提升邮件可信度:对于通过了SPF验证的邮件,接收邮件的服务器会将其视为更可信的邮件,从而提高邮件的送达率和打开率。
  3. 减少垃圾邮件:通过SPF验证,可以有效地过滤掉大量伪造邮件地址的垃圾邮件,减轻邮件服务器的负担。

判断是否使用了spf

Windows:

  1. 输入nslookup -type=txt 域名命令,其中“域名”是你想要查询SPF记录的域名。例如,如果你的邮件地址是example@test.com,那么你应该查询的域名就是test.com
  2. 执行命令后,命令提示符会返回该域名的TXT记录,其中就包含了SPF记录(如果有的话)。SPF记录通常以v=spf1开头。

image-20240711151401979

Linux:dig -t txt 域名

image-20240711161405947

在线spf检查,工具示例

https://powerdmarc.com/zh/spf-record-lookup/

image-20240711162625259

机制(Mechanisms)

可以看到之前的图片的v=xxxx include:xxx ,这些都是SPF记录通过一系列机制来指定哪些邮件服务器或IP地址被授权发送邮件的机制。以下是一些常用的机制:

  1. include
    • 用途:允许一个SPF记录包含(引用)另一个域名的SPF记录。
    • 示例include:spf.example.com
  2. a
    • 用途:根据域名的A记录(IPv4地址)来验证发件人IP地址。
    • 示例aa:example.com
  3. mx
    • 用途:根据域名的MX记录来验证发件人IP地址。MX记录通常指向接收邮件的服务器。
    • 示例mxmx:example.com
  4. ip4 和ip6
    • 用途:直接指定IPv4或IPv6地址段,用于验证发件人IP地址。
    • 示例ip4:192.0.2.0/24ip6:2001:db8::/32
  5. ptr
    • 用途:较少使用,因为它依赖于反向DNS查找,这可能不够可靠。
  6. exist
    • 用途:验证指定的域名是否存在。这通常与其他机制结合使用。

修饰符(Modifiers)

SPF记录还可以包含修饰符,用于改变SPF检查的结果处理方式:

  1. +(pass):表示SPF检查通过。
  2. (fail):表示SPF检查失败。
  3. ~(softfail):表示“软失败”,即SPF检查没有明确通过,但也没有完全失败。
  4. ?(neutral):表示SPF记录对该IP地址没有明确的允许或拒绝立场。

终止符(all)

  • 用途all 机制用于终止SPF记录,并指定默认的处理方式。
  • 示例-all 表示如果前面的机制都没有匹配,则视为SPF检查失败;~all 表示软失败;?all 表示中立。

示例:

v=spf1 mx a:mail.example.com ip4:192.0.2.1/32 include:spf.anotherservice.com ~all

SPF记录指定了多种机制和修饰符,包括使用MX记录、指定A记录、直接指定IPv4地址段、包含另一个域名的SPF记录,并以软失败作为默认处理方式。

邮件钓鱼演练

无SPF攻击利用方式

这里推荐一个没有spf的邮箱网站便于演练

https://www.linshi-email.com/

nslookup -type=txt iubridge.com,对邮件系统的站点此时也没有

image-20240712143720299

使用nslookup -type=txt linshi-email.com对站点进行检测,也没有spf验证

image-20240711164805308

使用kali的swaks进行伪造发送邮件 ,由于该临时邮箱没有使用spf,所以可以直接使用该邮箱发送邮件

命令举例:

swaks --to 10xxxxxxx9@qq.com(需要钓鱼的邮箱)  --from wangdun@iubridge.com(临时邮件)  --ehlo qq.com  --body '由于系统故障,导致密 码丢失,请 点击如下链接登录平台修改密码。https://xiaoyus.cc'  --header "Subject: 系统故障"

其中

–to //收件人邮箱地址

–from test@qq.com //发件人邮箱;

–ehlo qq.com //伪造邮件ehlo头,即是发件人邮箱的域名。提供身份认证,比如目标是qq邮箱,那么就是qq.com,目标是163那么就是163.com

–body “http://www.baidu.com” //引号中的内容即为邮件正文;

–header “Subject:hello” //邮件头信息,subject为邮件标题

–data ./Desktop/email.txt //将正常源邮件的内容保存成TXT文件,再作为正常邮件发送

发送成功

image-20240711202014542

qq邮箱会提醒这个身份不安全(也可以绕过),此时你点击了这个链接,你就危险了

image-20240711201320234

163网易邮箱大师没有安全提示,各个厂商算法不同吧

image-20240711201741854

Tips:添加附件

--attach   XX.docx

有SPF(绕过)

案例,使用xxx2333@qq.com (临时qq邮箱)向对目标xxxxxx9999@163.com进行钓鱼

swaks --to xxxxxx9999@163.com  --from xxx2333@qq.com   --ehlo qq.com  --body '由于系统故障,导致密 码丢失,请点击如下链接登录平台修改密码。https://xiaoyus.cc'  --header "Subject: 系统故障"

–au : 使用这个参数指定你发送邮件的用户名(一般就是发送者的邮箱账号)

–ap : 你的授权码

image-20240712141213384

此时你就需要把你的钓鱼邮箱开启POP3/SMTP服务,如下图

image-20240712141331270

注意开启这些服务之后会出现一个授权码,用到-ap参数,此时就可以进行发送了进行测试,payload如下:

swaks -from  xxxxxxx@163.com --body 'this is a hacker email!' --to xxxxxx@qq.com --server smtp.163.com -p 25 -ap 你的密码/授权码 -au yxy350488@163.com

image-20240712141832381

发送成功,查看该邮件

image-20240712142356920

可见如果你泄露了自己的SMTP授权码,那么黑客就可以用这个授权码模拟你的qq/163/腾讯邮箱,这些有spf的官方邮箱对你进行邮件钓鱼,如果你点了这个链接,那么你就危险了

image-20240712142939251

下面是常见的邮件服务器

发信邮箱 服务器地址
qq / foxmail smtp.qq.com:465
网易 POP3服务器: pop.126.com
SMTP服务器: smtp.126.com:465
IMAP服务器: imap.126.com
新浪 pop.sina.com
smtp.sina.com
imap.sina.com
电信189 smtp.189.cn:465
电信21cn smtp.21cn.com:465

企业应该如何防护?

除了使用SPF等技术来防止伪造邮件外,还可以采取以下措施来防御钓鱼邮件:

  1. 用户教育:教育员工识别钓鱼邮件的特征,如拼写错误、紧急请求、来自未知发件人的邮件等。
  2. 邮件网关安全:使用先进的邮件网关安全解决方案来过滤垃圾邮件和钓鱼邮件。
  3. 多因素身份验证:在关键账户上启用多因素身份验证,即使攻击者获得了用户的密码,他们仍然需要第二个验证因素才能访问账户。
  4. 安全软件:在终端设备上安装反病毒和反间谍软件,以防止恶意软件通过钓鱼邮件传播。

个人该如何防护?

个人网络安全防护需提升安全意识,采用强密码并定期更换,保持系统及软件更新,警惕电子邮件风险,利用VPN保护公共网络下的数据传输,确保移动设备安全,定期备份并加密重要数据,同时重视物理安全,锁好设备并锁屏以防未授权访问。

免责声明:

本文所提供的信息、技术示例、操作指导及任何相关内容均旨在教育和分享目的,并不构成专业法律、技术或安全建议。本教程仅供钓鱼演练,请误对真实邮箱进行钓鱼,所造成的任何后果和法律责任,自行承担,与作者无关

网安学习不迷路,人海茫茫来相见

39c7a82c03a7df920535cd517a1a6ea

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇