0x00 安装:

kali中自带,或者从作者网页下载

http://www.jetmore.org/john/code/swaks/

 

0x01 基本用法:

 

swaks –to <要测试的邮箱>      用来测试邮箱的连通性

 

Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

前面都返回250ok,说明该邮箱存在,并且可以正常收信。最后可以看到qq邮箱返回550错误,qq官方给出的出错原因:该邮件内容涉嫌大量群发,并且被多数用户投诉为垃圾邮件。

我们可以继续对邮件进行伪造,来绕过qq邮箱的判断

 

比如:

swaks --body "test" --header "Subject:testT" -t rcfkve06917@chacuo.net -f admin@local.com

 

Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

 

swaks --to rcfkve06917@chacuo.net --from info@freebuf.com --ehlo freebuf.com --body hello --header "Subject: hello"

 

其中:

–from <要显示的发件人邮箱>

–ehlo <伪造的邮件ehlo头>

–body <邮件正文>

–header <邮件头信息,subject为邮件标题>

–data <源邮件>

 

0x02 高级用法:

 

使用swaks其实还可以进行更高级的邮件伪造,几乎可以伪造邮件中的每一个参数。

 

首先,我们需要一份正常的邮件

点击显示邮件原文,把原文复制出来,保存为email.txt

其中的received可以都删除,该项为接收信息,发信中不需要。to项也可以删除,可以直接用swaks –to来代替。

注意不要忘了加–from 否则qq邮箱会报由kali代发……

swaks --data ./Desktop/email.txt --to xxxx@qq.com --from services@tophant.com

 

发送成功,qq邮箱没报垃圾邮件,也没报有害。

注意在发送的时候没有加–from参数,因为在测试中我发现收到邮件时,邮件内容与文件内容显示完全一样,与参数无关

 Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

这里能看到,收件人和发件人都不是靠–to和—from,这里应该需要修改文本的内容,达到隐藏效果

 Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

这里略作修改,成功伪造了邮箱,

在测试中,我修改了时间,但事实证明时间是不能被指定的,

这里还有很多地方可以伪造,十分钟邮箱不显示,就没有继续测试。

 Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

 

邮件伪造结合钓鱼网站,免杀程序,在加上一点社工技巧,是比较主动的APT攻击方式,需要多加注意。

 

0x03 邮件头格式 :

 

Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

Received: 由每个中继服务站添加,用于帮助追踪传输中出现的错误。字段内容包括,发送、接收的主机和接收时间。参数via 用于记录信息发送后经过的物理站点,”with” 指示了使用的邮件、连接的协议。参数 id 用于标识邮件。参数for 用于记录发送者的分发的目的地址。
Reply-To: 发件人地址是在发件人标题中实际找到的值。这应该是信息的来源。在大多数邮件客户机中,这就是您所看到的“发件人”。如果一封电子邮件没有回复头,那么所有的人工(邮件客户端)回复都应该返回到“发件人”地址。
Date: 表示建立信件的时间
From:发件人
To:收件人
cc:抄送人
Subject:邮件标题
Sender:发件人名称
Message-ID:SMTP协议发邮件自动生成的
X-Priority:邮件优先级
X-mailer:代理发信的客户端
MIME-Version: 所使用的网络邮件格式标准版本
Content-Type: 邮件内容数据的类型,包括类型标识(type)和子类型标识(subtype),前者类型标识(type)声明了数据的类型,后者子类型标识(subtype)为这种数据类型指定了特定的格式。
Return-Path: 退信地址,该字段由信息的最后发送者添加,是关于信息原始来源的地址和回朔路径。
X-MS-Exchange-Organization-AuthSource:该 X-header 指定代表组织对邮件的身份验证进行评估的服务器计算机的 FQDN。

Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

 

邮件头示例

Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

Received: from unic0rn.com.cn (IP) by 01.unic0rn.cn(IP) with Microsoft SMTP Server id 14.3.123.3; Fri, 23 Dec 5189 14:46:28 +0800
Reply-To: <Reply@qq.com>
Date: Fri, 23 Dec 5189 14:46:28 +0800
From: IT_Sytem <From@unic0rn.cn>
To: <To@unic0rn.cn>
cc: <cc@unic0rn.cn>
Sender: Sender
Subject: Subject
Message-ID: <51891223094431836868@unic0rn.cn>
X-Priority: 1 (Highest)
X-mailer: Foxmail 6, 13, 102, 15 [cn]
MIME-Version: 1.0
Content-Type: multipart/related; type="multipart/alternative";boundary="=====003_Dragon301638870326_====="
Return-Path: Return@unic0rn.cn
X-MS-Exchange-Organization-AuthSource: 01. unic0rn.cn
X-MS-Exchange-Organization-AuthAs: Anonymous

Swaks-smtp瑞士军刀(smtp邮件)-编程知识网

 

 

 

0x04 解决办法:

遇到可疑邮件要查看源邮件,判断发信人ip是否为可信任的ip。

 

 

0x05 10分钟邮箱:

 

http://24mail.chacuo.net/ 不可接收附件(txt)

https://10minutemail.net/ 可接收附件(eml后缀)

http://www.linshiyouxiang.net/

https://docs.microsoft.com/zh-cn/previous-versions/office/exchange-server-2010/bb232136(v=exchg.141)?redirectedfrom=MSDN