2024年最新钓鱼邮件从入门到放弃(1),2024年最新实战解析

写在最后

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

需要完整版PDF学习资源私我

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

mail from: test1@domain.com

#递送给地址 test2@domain.com
rcpt to: test2@domain.com

#使用DATA命令指定邮件正文,以[.]结束
data

#结束连接
quit


然后我们可以发现上面的发送邮件流程中,涉及到域名后缀的有三个地方:


* 与接收者MTA打招呼时的EHLO命令
* 指定发送人的MAIL FROM命令
* 正文里的From头部


所以原理上,我们可以按照上面讲述原理的过程,直接与对端MTA交互,自定义以上三个部分,就可以模拟任何地址发送邮件了,因为MTA之间没有任何认证的过程。当然这个过程我们可以利用工具去替代,swaks就是这样的一款工具(该工具下文会介绍)。


### 1.2 三个邮件安全协议


#### 1.2.1 SPF


SPF 是 Sender Policy Framework 的缩写,中文译为发送方策略框架。


主要作用是防止伪造邮件地址。


由于发送电子邮件的传统规范 - 1982年制定的《简单邮件传输协议(SMTP)》对发件人的邮件地址根本不进行认证,导致垃圾邮件制造者可以随意编造寄件人地址来发送垃圾信,而接收者则毫无办法,因为你无法判断收到的邮件到底是谁寄来的。


在SPF体系中,每个需要发送电子邮件的企业在其对外发布的DNS域名记录中,列出自己域名下需要发送邮件的所有IP地址段;而接收到邮件的服务器则根据邮件中发件人所属的域名,查找该企业发布的合法IP地址段,再对照发送邮件的机器是否属于这些地址段,就可以判别邮件是否伪造的。


查询是否开启 SPF



#windows:
nslookup -type=txt qq.com
#linux:
dig -t txt qq.com


![image-20211201150825636](https://img-blog.csdnimg.cn/img_convert/76ec67b373fd567a6bb2af1a64487420.png)



> 
> spf可以配置四种规则:
> 
> 
> "+" Pass(通过)
> 
> 
> "-" Fail(拒绝)
> 
> 
> "~" Soft Fail(软拒绝)
> 
> 
> "?" Neutral(中立)
> 
> 
> 


记录中有spf1说明使用了 spf ,这个时候所谓伪造邮件的时候是发送不到qq邮箱的。


![image-20211201163555360](https://img-blog.csdnimg.cn/img_convert/330e2a5ed3a9270a8dd15532538bef2e.png)


再看看`spf.mail.qq.com`,它也是引用了其它域名的SPF策略,继续查询,可以看到有很多的ip段,我们在使用qq邮箱发邮件时,收件方会查询到这些IP,如果发件人的源IP不在这些IP列表里,则说明是一封伪造的邮件。


但是一般甲方是没有设置此协议的。如果甲方没有开启spf的话,我们就可以进行伪造


一般情况下没有SPF可以直接用[swaks](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)伪造,通过swaks修改发件邮箱进行发送即可。



-t –to 目标地址 -t test@test.com
-f –from 来源地址 (发件人) -f “texttext@text.com
–protocol 设定协议(未测试)
–body “http://www.baidu.com” //引号中的内容即为邮件正文;
–header “Subject:hello” //邮件头信息,subject为邮件标题
-ehlo 伪造邮件ehlo头
–data ./Desktop/email.txt //将正常源邮件的内容保存成TXT文件,再作为正常邮件发送;


#### 1.2.2 DKIM


DKIM是一种在邮件中嵌入数字签名的技术,DKIM签名会对邮件中的部分内容进行HASH计算,最后在邮件头中增加一个DKIM-Signature头用于记录签名后的HASH值,接收方接收到邮件后,通过DNS查询得到公开密钥后进行验证, 验证不通过,则认为是垃圾邮件。


DKIM 的基本工作原理同样是基于传统的密钥认证方式,他会产生两组钥匙,公钥(public key)和私钥(private key),公钥将会存放在 DNS 中,而私钥会存放在寄信服务器中。私钥会自动产生,并依附在邮件头中,发送到寄信者的服务器里。公钥则放在DNS服务器上,供自动获得。收信的服务器,将会收到夹带在邮件头中的私钥和在DNS上自己获取公钥,然后进行比对,比较寄信者的域名是否合法,如果不合法,则判定为垃圾邮件。


那么我们如何获取到发件方的DKIM的密钥呢?在DKIM中有一个选择器(selector)的概念,通过此功能可以为不同的用户提供不同的签名,想要找到发件方的DKIM服务器,首先需要找到selector,在邮件的DKIM头中,s字段的值即为DKIM的selector,获取到selector后,我们就可以在如下域名中找到密钥。



selector._domainkey.xxxxxxxx.com


以阿里云的邮件为例,查看邮件源文件,通过s字段可以得到selector的值为s1024,因此阿里云的DKIM服务器域名为s1024.\_domainkey.aliyun.com,同样通过dig或者nslookup即可获取解密密钥。


![image-20211201172925293](https://img-blog.csdnimg.cn/img_convert/9e812008dc81a5b8032659944f08b412.png)


#### 1.2.3 DMARC


DMARC是2012年1月30号由Paypal,Google,微软,雅虎等开发的。DMARC是基于SPF和DKIM协议的可扩展电子邮件认证协议,通常情况下,它与SPF或DKIM结合使用,并告知收件方服务器当未通过SPF或 DKIM检测时该如何处理。


DMARC由Mail Sender方(域名拥有者Domain Owner)在DNS里声明自己采用该协议。当Mail Receiver方(其MTA需支持DMARC协议)收到该域发送过来的邮件时,则进行DMARC校验,若校验失败还需发送一封report到指定[URI](常是一个邮箱地址)。


以阿里云为例,获取\_dmarc.aliyun.com的txt记录即可获取DMARC策略。


![image-20211201173142268](https://img-blog.csdnimg.cn/img_convert/6358694f061809daf513c0cb3d6da565.png)


v=DMARC1:版本


p=:接收者根据域名所有者的要求制定的策略,取值和含义如下:


* quarantine : 邮件接收者将DMARC验证失败的邮件标记为可疑的。
* reject : 域名所有者希望邮件接收者将DMARC验证失败的邮件拒绝


pct:域名所有者邮件流中应用DMARC策略的消息百分比。


rua:用于接收消息反馈的邮箱。


### 1.3 钓鱼邮件的利用方式


#### 1.3.1 链接钓鱼邮件


你收到一封系统升级的通知,点开链接立刻升级;或者账号被冻结,点击链接解冻等等,这类钓鱼邮件其实也很常见,攻击者在邮件内直接嵌入了钓鱼链接,点开链接是攻击者做的以假乱真的钓鱼网站,这类网站通常会要求用户输入账户信息之类以获取用户敏感信息;另一种链接指向的网页暗藏木马程序,用户点开的同时就中招了。


#### 1.3.2 附件钓鱼邮件


顾名思义,这类钓鱼邮件的风险点在附件,很多人看到邮件中有附件时,就习惯性的点开查看。附件钓鱼邮件以Exe/Scr后缀的附件的风险程度最高,一般是病毒执行程序。其他常见的还有Html网页附件、Doc附件、Excel附件、PDF附件等。


#### 1.3.3 鱼叉式钓鱼邮件


鱼叉式钓鱼邮件是一种只针对特定目标进行攻击的网络钓鱼攻击,由于鱼叉式网络钓鱼锁定之对象并非一般个人,而是特定公司、组织之成员,故受窃之资讯已非一般网络钓鱼所窃取之个人资料,而是其他高度敏感的资料。


#### 1.3.4 BEC钓鱼邮件


BEC诈骗(Business Email Compromise),又被叫商务邮件诈骗,攻击者通过将邮件发件人伪装成你的领导、同事、商业伙伴,以此骗取商业信息、钱财、或者获取其他重要资料。


#### 1.3.5 二维码钓鱼邮件


当用户处于内网,无法向外网发送信息时,骗子就会引诱收件人扫描二维码钓鱼邮件进行攻击~


## 二、钓鱼环境的搭建


### 2.1 网站克隆工具setoolkit


既然要发送钓鱼邮件了,那么我们就会需要搭建一个钓鱼网站,而这个一般是并不需要我们自己去从头搭建一个网站的,可以利用相应的网站克隆工具,这种工具也有不少,我就用kali自带的这个setoolkit举一个例子吧


我们直接在kali上打开setoolkit


![image-20211202160815929](https://img-blog.csdnimg.cn/img_convert/90260ba3956536e0fea338705d078210.png)


然后我们选择**Social-Engineering Attacks**,


![img](https://img-blog.csdnimg.cn/img_convert/10d0c31780217e7606765a5ae69e1e9c.png)


然后我们再选择选择**Website Attack Vectors**


![img](https://img-blog.csdnimg.cn/img_convert/6a131fab0b4761c4eda98d905ecd7049.png)


再选择**Credential Harvester Attack Method**


![img](https://img-blog.csdnimg.cn/img_convert/188d1c4fd6006acb2c2a2b0c2ad3571b.png)


最后选择**Site Cloner**,输入要克隆的网址,然后它克隆好之后就会返回克隆后的地址。


![image-20211202161728574](https://img-blog.csdnimg.cn/img_convert/c3ec32a78f253d25e011d29dfc13aa44.png)



> 
> 填写需要监听的IP,默认直接回车  
>  填写需要克隆的网站地址
> 
> 
> 


然后我们就可以在kali看到输入的账号和密码


### 2.2 钓鱼平台gophish


当然现在还有一些专门用来钓鱼的平台工具,集成了邮件发送、网站克隆、邮件追踪、数据统计等功能,其中gophish是比较成熟的一个。


* Gophish项目地址:<https://github.com/gophish/gophish>
* Gophish官网地址:<https://getgophish.com/>


Gophish:开源网络钓鱼工具包


Gophish是为企业和渗透测试人员设计的开源网络钓鱼工具包。 它提供了快速,轻松地设置和执行网络钓鱼攻击以及安全意识培训的能力。


gophish自带web面板,对于邮件编辑、网站克隆、数据可视化、批量发送等功能的使用带来的巨大的便捷,并且在功能上实现分块,令钓鱼初学者能够更好理解钓鱼工作各部分的原理及运用。


#### 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


若需要远程访问后台管理界面,将listen\_url修改为0.0.0.0:3333,端口可自定义。(这项主要针对于部署在服务器上,因为一般的Linux服务器都不会安装可视化桌面,因此需要本地远程访问部署在服务器上的gophish后台)  
 如果仅通过本地访问,保持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



./gophish


**访问后台管理系统:**  
 本地打开浏览器,访问`https://ip:3333/` (注意使用https协议)  
 可能会提示证书不正确,依次点击 `高级` — `继续转到页面` ,输入默认账密进行登录:`admin/gophish`



> 
> 最新版本的gophsih(v0.11.0)删除了默认密码“ gophish”。取而代之的是,在首次启动Gophish时会随机生成一个初始密码并将其打印在终端中
> 
> 
> 


##### 2.2.1.2windows安装


关于gophish的Windows平台安装包仅有64位的,如果是32的win可能会不兼容(未测试),不过现在的PC大多数都是64位了,因此还是具有普遍性


下载安装包:[gophish-v0.11.0-windows-64](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)  
 下载完成后,使用压缩工具解压到文件夹中


![image-20211102145205414](https://img-blog.csdnimg.cn/img_convert/5ed550e1c749c683847b107e43f3452a.png)


(可选)修改配置文件:  
 如果有远程访问gophish的后台管理系统的需求,则修改配置文件。具体参考Linux下修改gophish配置文件  
 使用编辑器打开config.json文件,修改字段listen\_url的值为0.0.0.0:3333 (默认为127.0.0.1:3333,仅本地访问),端口可自定义


运行gophish:  
 双击目录下的gophish.exe启动gophish,这里需要保持小黑框不被关闭,关闭则脚本终止(如果看着碍眼可以自行搜索后台运行的方法)


**访问后台管理系统:**  
 本地浏览器访问:`https://127.0.0.1:3333` 或 `https://远程ip:3333` (注意使用https协议)  
 输入默认账密进行登录:`admin/gophish`



> 
> 最新版本的gophsih(v0.11.0)删除了默认密码“ gophish”。取而代之的是,在首次启动Gophish时会随机生成一个初始密码并将其打印在终端中
> 
> 
> 


#### 2.2.2功能介绍


进入后台后,左边的栏目即代表各个功能,分别是Dashboard仪表板 、Campaigns钓鱼事件 、Users & Groups用户和组 、Email Templates邮件模板 、Landing Pages钓鱼页面 、Sending Profiles发件策略六大功能  
 由于实际使用中并不是按照该顺序来配置各个功能,因此下面通过实际使用顺序来详细介绍各功能的使用方法


![image-20211102150749362](https://img-blog.csdnimg.cn/img_convert/70cd400298ddc854a588c01692b23c4d.png)


##### 2.2.2.1 Sending Profiles


作用:设置发件人的邮箱  
 点击New Profile新建一个策略,依次来填写各个字段。(可选)Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer字段,若不修改此字段的值,通过gophish发出的邮件,其邮件头的X-Mailer的值默认为gophish。


![image-20211102164128466](https://img-blog.csdnimg.cn/img_convert/9d8a87999a8a1c9eb7153094d8153287.png)


Send Test Email测试邮箱验证是否通过


password需要填写邮箱的授权码


![image-20211103105917081](https://img-blog.csdnimg.cn/img_convert/2b612bfe7645e2e8c6f37d768470511f.png)



> 
> 可以看到发送成功,成功送达目标邮箱  
>  还可以伪造任意x-mailer头 (如果不设置的话默认是gophish)  
>  x-mailer头表示邮件从哪个客户端发出来的
> 
> 
> 



wlmhymexqpljchcb


##### 2.2.2.2 Users & Groups


作用:设置收件人的邮箱


这个是用来设置攻击目标,即你要发送邮件的收件人地址,可以导入csv文档


![image-20211103110522510](https://img-blog.csdnimg.cn/img_convert/19309adc32d8eea4bc7f54ed717e56c5.png)


##### 2.2.2.3 Email Templates


作用:创建钓鱼邮件模版


设置好钓鱼邮件的发送方和接收方,便可以设置钓鱼邮件的模板。gophish支持手动编辑生成钓鱼邮件,也支持导入现有邮件内容。现有邮件eml导入:(QQ邮件)下载eml文件,打开导入即可。


![image-20211103110801078](https://img-blog.csdnimg.cn/img_convert/7c30e42fee8ce483a23de8e1da4afb60.png)


首先我先导出了qq邮件的一个eml文件保存到本地,然后用记事本打开


![image-20211103111058096](https://img-blog.csdnimg.cn/img_convert/f238d70aaf4a414f11a9d0a70a1aa6e5.png)


然后点击import email导入相应的模板


##### 2.2.2.4 Landing Page


作用:伪造钓鱼页面  
 gophish支持手动编辑生成钓鱼邮件,Import Site填写被伪造网站的URL即可通过互联网自动抓取被伪造网站的前端代码。也支持导入现有邮件内容,配置时勾选捕获提交的数据和捕获密码,服务器会把相关数据保存下来。


![image-20211102162326489](https://img-blog.csdnimg.cn/img_convert/1fa64fc7256a1d3f2c1cf846ae37eca7.png)


<https://personalbank.cib.com.cn/pers/main/login.do>


##### 2.2.2.5 Campaign


作用:发送钓鱼邮件  
 填写好攻击的名称,选择钓鱼邮件模板,选择相应的钓鱼页面,目标邮箱,和发送邮箱。需要填上GoPhish服务端的地址,在钓鱼开始前,这个地址会将先前钓鱼邮件模板中的链接替换。


![image-20211102163851415](https://img-blog.csdnimg.cn/img_convert/b91fb25257e23b18822e59b840b7be2b.png)


### 2.3 利用EwoMail搭建邮箱服务器


* [官方网站](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)
* [github项目地址](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)
* [官方docker教程](https://bbs.youkuaiyun.com/forums/4f45ff00ff254613a03fab5e56a57acb)


#### 2.3.1 利用docker安装ewomail


然后在vps中安装EwoMail,ewomail要求 centos ,但是此时并不需要重装系统,使用docker 进行搭建即可。



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直接搭建


如果你使用的是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 (默认账号admin,密码ewomail123)
ssl端口 https://IP:7010

web邮件系统:http://IP:8000
ssl端口 https://IP:7000

域名解析完成后,可以用子域名访问,例如下面

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值