作者:tomyyyyy https://www.cnblogs.com/tomyyyyy/p/15648358.html
钓鱼邮件从入门到放弃
一、钓鱼邮件的基本概念
1.1 钓鱼邮件的伪造方式
1.1.1 购买域名搭建邮箱服务器
#工具在kali里面是预安装的
urlcrazy -i weibo.com
valid为false的就是没有人使用的,我们就可以挑一个便宜的注册一个。然后利用域名搭建一个邮箱服务器,这里推荐ewomail,下文有具体的搭建方式。
1.1.2 伪造发件人
发件MUA -> QQ MTA-> SINA MTA ->收件MUA。
#telnet到邮件服务器的25端口
telnet smtp.mysun.org 25
# 用ehlo申明,表示自己需要身份验证,MTA将返回一些元信息
EHLO + 域名
#进行用户身份认证
auth login
#然后服务器会返回base64加密过的user和pass字段,你也需要输入base64加密过的账号和密码
#发到本系统中域名下的账户可跳过身份认证。
#接下来进入邮件发送部分,使用mail from命令指定邮件由谁发出:
mail from: <[email protected]>
#递送给地址 [email protected]
rcpt to: <[email protected]>
#使用DATA命令指定邮件正文,以[.]结束
data
#结束连接
quit
-
与接收者MTA打招呼时的EHLO命令 -
指定发送人的MAIL FROM命令 -
正文里的From头部
1.2 三个邮件安全协议
1.2.1 SPF
#windows:
nslookup -type=txt qq.com
#linux:
dig -t txt qq.com
spf可以配置四种规则: "+" Pass(通过) "-" Fail(拒绝) "~" Soft Fail(软拒绝) "?" Neutral(中立)
spf.mail.qq.com
,它也是引用了其它域名的SPF策略,继续查询,可以看到有很多的ip段,我们在使用qq邮箱发邮件时,收件方会查询到这些IP,如果发件人的源IP不在这些IP列表里,则说明是一封伪造的邮件。-t –to 目标地址 -t test@test.com
-f –from 来源地址 (发件人) -f "text<[email protected]>"
–protocol 设定协议(未测试)
--body "http://www.baidu.com" //引号中的内容即为邮件正文;
--header "Subject:hello" //邮件头信息,subject为邮件标题
-ehlo 伪造邮件ehlo头
--data ./Desktop/email.txt //将正常源邮件的内容保存成TXT文件,再作为正常邮件发送;
1.2.2 DKIM
selector._domainkey.xxxxxxxx.com
1.2.3 DMARC
-
quarantine : 邮件接收者将DMARC验证失败的邮件标记为可疑的。 -
reject : 域名所有者希望邮件接收者将DMARC验证失败的邮件拒绝
1.3 钓鱼邮件的利用方式
1.3.1 链接钓鱼邮件
1.3.2 附件钓鱼邮件
1.3.3 鱼叉式钓鱼邮件
1.3.4 BEC钓鱼邮件
1.3.5 二维码钓鱼邮件
二、钓鱼环境的搭建
2.1 网站克隆工具setoolkit
填写需要监听的IP,默认直接回车
填写需要克隆的网站地址
2.2 钓鱼平台gophish
-
Gophish项目地址:https://github.com/gophish/gophish -
Gophish官网地址:https://getgophish.com/
2.2.1 安装教程
2.2.1.1 Linux安装
#使用wget下载安装包
wget https://github.com/gophish/gophish/releases/download/v0.11.0/gophish-v0.11.0-linux-64bit.zip
#解压
mkdir gophish
unzip gophish-v0.10.1-linux-64bit.zip -d ./gophish
#修改配置文件
cd gophish
vim config.json
如果仅通过本地访问,保持127.0.0.1:3333即可
{
//后台管理配置
"admin_server": {
"listen_url": "0.0.0.0:3333", // 远程访问后台管理
"use_tls": true,
"cert_path": "gophish_admin.crt",
"key_path": "gophish_admin.key"
},
"phish_server": {
"listen_url": "0.0.0.0:80",
"use_tls": false,
"cert_path": "example.crt",
"key_path": "example.key"
},
"db_name": "sqlite3",
"db_path": "gophish.db",
"migrations_prefix": "db/db_",
"contact_address": "",
"logging": {
"filename": "",
"level": ""
}
}
./gophish
本地打开浏览器,访问
https://ip:3333/
(注意使用https协议)可能会提示证书不正确,依次点击
高级
— 继续转到页面
,输入默认账密进行登录:admin/gophish
最新版本的gophsih(v0.11.0)删除了默认密码“ gophish”。取而代之的是,在首次启动Gophish时会随机生成一个初始密码并将其打印在终端中
2.2.1.2windows安装
gophish-v0.11.0-windows-64
下载完成后,使用压缩工具解压到文件夹中
如果有远程访问gophish的后台管理系统的需求,则修改配置文件。具体参考Linux下修改gophish配置文件
使用编辑器打开config.json文件,修改字段listen_url的值为0.0.0.0:3333 (默认为127.0.0.1:3333,仅本地访问),端口可自定义
双击目录下的gophish.exe启动gophish,这里需要保持小黑框不被关闭,关闭则脚本终止(如果看着碍眼可以自行搜索后台运行的方法)
本地浏览器访问:
https://127.0.0.1:3333
或 https://远程ip:3333
(注意使用https协议)输入默认账密进行登录:
admin/gophish
最新版本的gophsih(v0.11.0)删除了默认密码“ gophish”。取而代之的是,在首次启动Gophish时会随机生成一个初始密码并将其打印在终端中
2.2.2功能介绍
由于实际使用中并不是按照该顺序来配置各个功能,因此下面通过实际使用顺序来详细介绍各功能的使用方法
2.2.2.1 Sending Profiles
点击New Profile新建一个策略,依次来填写各个字段。(可选)Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer字段,若不修改此字段的值,通过gophish发出的邮件,其邮件头的X-Mailer的值默认为gophish。
可以看到发送成功,成功送达目标邮箱
还可以伪造任意x-mailer头 (如果不设置的话默认是gophish)
x-mailer头表示邮件从哪个客户端发出来的
wlmhymexqpljchcb
2.2.2.2 Users & Groups
2.2.2.3 Email Templates
2.2.2.4 Landing Page
gophish支持手动编辑生成钓鱼邮件,Import Site填写被伪造网站的URL即可通过互联网自动抓取被伪造网站的前端代码。也支持导入现有邮件内容,配置时勾选捕获提交的数据和捕获密码,服务器会把相关数据保存下来。
2.2.2.5 Campaign
填写好攻击的名称,选择钓鱼邮件模板,选择相应的钓鱼页面,目标邮箱,和发送邮箱。需要填上GoPhish服务端的地址,在钓鱼开始前,这个地址会将先前钓鱼邮件模板中的链接替换。
2.3 利用EwoMail搭建邮箱服务器
-
官方网站 -
github项目地址 -
官方docker教程
2.3.1 利用docker安装ewomail
docker search ewomail
docker pull bestwu/ewomail
#把命令中mail.ewomail.com 替换成你自己的域名 mail.*.格式
docker run -d -h mail.tomyyyyy.xyz --restart=always
-p 25:25
-p 109:109
-p 110:110
-p 143:143
-p 465:465
-p 587:587
-p 993:993
-p 995:995
-p 80:80
-p 8080:8080
-v `pwd`/mysql/:/ewomail/mysql/data/
-v `pwd`/vmail/:/ewomail/mail/
-v `pwd`/ssl/certs/:/etc/ssl/certs/
-v `pwd`/ssl/private/:/etc/ssl/private/
-v `pwd`/rainloop:/ewomail/www/rainloop/data
-v `pwd`/ssl/dkim/:/ewomail/dkim/
--name ewomail bestwu/ewomailserver
2.3.2 centos直接搭建
git clone https://github.com/gyxuehu/EwoMail.git
cd ./EwoMail/install
##需要输入一个邮箱域名,不需要前缀,列如下面的ewomail.cn
#国外网络 请在安装域名后面加空格加en,例如 sh ./start.sh ewomail.cn en
sh ./start.sh ewomail.cn
cat /ewomail/config.ini
2.3.3 安装后的常规配置
邮箱管理后台:[http://IP:8010](http://ip:8010/) (默认账号admin,密码ewomail123)
ssl端口 [https://IP:7010](https://ip:7010/)
web邮件系统:[http://IP:8000](http://ip:8000/)
ssl端口 [https://IP:7000](https://ip:7000/)
域名解析完成后,可以用子域名访问,例如下面
[http://mail.xxx.com:8000](http://mail.xxx.com:8000/) (http)
[https://mail.xxx.com:7000](https://mail.xxx.com:7000/) (ssl)
http://域名:8080
,访问管理平台,利用admin/ewomail123登录2.4 利用腾讯域名邮箱
2.4.1 注册并配置腾讯企业邮箱
2.4.2 gophish配置腾讯企业邮箱
三、各种方式绕过邮箱的安全机制
3.1 邮件伪造工具
3.2 利用swaks发送邮件
kali自带
官方网站:http://www.jetmore.org/john/code/swaks/
3.2.1 基本使用
#测试邮箱连通性可以成功发送。
swaks -to [email protected]
#可以添加的参数
-t –to 目标地址 -t test@test.com
-f –from 来源地址 (发件人) -f "text<[email protected]>"
–protocol 设定协议(未测试)
--body "http://www.baidu.com" //引号中的内容即为邮件正文;
--header "Subject:hello" //邮件头信息,subject为邮件标题
-ehlo 伪造邮件ehlo头
--data ./Desktop/email.txt //将正常源邮件的内容保存成TXT文件,再作为正常邮件发送;
swaks --data readmail.txt --header "Subject:标题" --to [email protected] --from "[email protected]" --attach qq.txt #qq.txt 为附件。
3.3 利用IDN伪造域名(又称Punycode钓鱼攻击)
bücher.example
这个域名来说明它的编码过程。bücher
部分通过Punycode编码转换为bcher-kva
,然后以xn--
作为前缀,因此DNS记录将会变成xn--bcher-kva.example
。浏览器里面会自动对IDN域名进行Punycode转码,Chrome团队将修补程序包含在Chrome 58之后的版本中,但Firefox仍然未解决这个问题,因为这一问题的具体范围仍然未定。'a'
字符构建一个apple.com
的同态域名,最后浏览器只显示了编码后的域名。访问https://www.apple.com,实际上该链接地址是https://www.xn--80ak6aa92e.com/
,但是浏览器显示的却是https://www.apple.com
,a、e、o
,之类的,然后利用IDN转码工具查看一下转码之后的效果-
https://idn.bmcx.com/ -
https://www.cha127.com/cndm/
www.apple.com
,如果我们只替换字母a
的话,就是这样的3.4 绕过邮件网关域名检测
[email protected]
,通常此类业务邮箱是在白名单中的,因此在伪造发件人时,可选择一些白名单关键字来尝试匹配防护设备的白名单正则策略,比如[email protected]
、[email protected]
等,当然这只是一个思路,具体能不能成功还需要在实战中多尝试。四、钓鱼邮件主题参考
4.1 重置密码
xxx,您好
我是xx部门的信息,我的oa系统账号密码忘记了,麻烦帮我重置一下我的oa帐号密码,然后将新的账号密码发到这个邮箱,十分感谢!
大家好:
近期由于我们公司的邮箱密码泄露,为防止不法分子利用,影响到我们的数据安全,各位员工的密码均需要及时更新修改,在收到邮件的第一时间,请登录如下平台,立即修改自己邮箱的账号密码。
4.2 账号解冻
您好!
上网行为管理近几日发现您的账号存在异常行为,为了防止您的账号被不法分子盗取,我们暂时将您的账号进行了冻结,如果不是您本人的操作的话,可以点击下面的链接进行解冻。
4.3 升级补丁
各位同事,大家好!
近日微软发布了本月安全更新补丁,其中包含一个RDP(远程桌面服务)远程代码执行漏洞的补丁更新,对应CVE编号为CVE-2019-0708,现需要所有员工的电脑都打上补丁,漏洞补丁直接下载附件即可
4.4 信息收集
各位同事,大家好:
近日,在xx的来往人员中进行核算检查时,又发现了核酸检测呈阳性的人员。
为了更好的配合政府的疫情防控工作的顺利展开,我们公司主动承担了内部人员的信息收集工作,需要员工填写一些个人基本信息、核酸检测信息、行程信息等信息。
可以扫描二维码填写基本信息
各位同事,大家好:
为落实“xx市疫情防控策略”的工作要求,推进疫情防控相关的数据共享,提升排查效率。我司开发人员设计出一个“疫情防控信息公示系统”,将个人基本信息,行程信息,温度信息,是否打疫苗等相关信息整合到一个公示平台之上,员工可以在线查看有关信息,享受”一站式”服务,同时推进疫情防控工作的展开。
目前该系统处于推广阶段,开发人员将根据用户体验,不断优化业务流程,继续完善平台共功能,欢迎各位领导、同事提出宝贵意见。
平台网址:http:xx.xx.com
4.5 节假日礼包
各位同事好:
春节临近,旧的一年即将过去,崭新的一年即将到来,我们将为各位员工准备春节大礼包,现在需要填写一下家庭住址等基本信息
免责声明
郑重声明:本号所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途,否则后果自行承担!
版权声明:关于转载非原创文章
安全初心转载的第三方文章,仅用于学习交流,且版权归原作者所有。如转载稿涉及版权等问题,请立即联系,我们会予以更改或删除相关文章,保证您的权利。
觉得不错点个“赞”、“在看”哦~~~
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论