给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
由于发送电子邮件的传统规范 - 1982年制定的《简单邮件传输协议(SMTP)》对发件人的邮件地址根本不进行认证,导致垃圾邮件制造者可以随意编造寄件人地址来发送垃圾信,而接收者则毫无办法,因为你无法判断收到的邮件到底是谁寄来的。
在SPF体系中,每个需要发送电子邮件的企业在其对外发布的DNS域名记录中,列出自己域名下需要发送邮件的所有IP地址段;而接收到邮件的服务器则根据邮件中发件人所属的域名,查找该企业发布的合法IP地址段,再对照发送邮件的机器是否属于这些地址段,就可以判别邮件是否伪造的。
查询是否开启 SPF
#windows:
nslookup -type=txt qq.com
#linux:
dig -t txt qq.com
spf可以配置四种规则:
“+” Pass(通过)
“-” Fail(拒绝)
“~” Soft Fail(软拒绝)
“?” Neutral(中立)
记录中有spf1说明使用了 spf ,这个时候所谓伪造邮件的时候是发送不到qq邮箱的。
再看看spf.mail.qq.com
,它也是引用了其它域名的SPF策略,继续查询,可以看到有很多的ip段,我们在使用qq邮箱发邮件时,收件方会查询到这些IP,如果发件人的源IP不在这些IP列表里,则说明是一封伪造的邮件。
但是一般甲方是没有设置此协议的。如果甲方没有开启spf的话,我们就可以进行伪造
一般情况下没有SPF可以直接用swaks伪造,通过swaks修改发件邮箱进行发送即可。
-t –to 目标地址 -t test@test.com
-f –from 来源地址 (发件人) -f "text<text@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即可获取解密密钥。
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策略。
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
然后我们选择Social-Engineering Attacks,
然后我们再选择选择Website Attack Vectors
再选择Credential Harvester Attack Method
最后选择Site Cloner,输入要克隆的网址,然后它克隆好之后就会返回克隆后的地址。
填写需要监听的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
下载完成后,使用压缩工具解压到文件夹中
(可选)修改配置文件:
如果有远程访问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发件策略六大功能
由于实际使用中并不是按照该顺序来配置各个功能,因此下面通过实际使用顺序来详细介绍各功能的使用方法
2.2.2.1 Sending Profiles
作用:设置发件人的邮箱
点击New Profile新建一个策略,依次来填写各个字段。(可选)Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer字段,若不修改此字段的值,通过gophish发出的邮件,其邮件头的X-Mailer的值默认为gophish。
Send Test Email测试邮箱验证是否通过
password需要填写邮箱的授权码
可以看到发送成功,成功送达目标邮箱
还可以伪造任意x-mailer头 (如果不设置的话默认是gophish)
x-mailer头表示邮件从哪个客户端发出来的
wlmhymexqpljchcb
2.2.2.2 Users & Groups
作用:设置收件人的邮箱
这个是用来设置攻击目标,即你要发送邮件的收件人地址,可以导入csv文档
2.2.2.3 Email Templates
作用:创建钓鱼邮件模版
设置好钓鱼邮件的发送方和接收方,便可以设置钓鱼邮件的模板。gophish支持手动编辑生成钓鱼邮件,也支持导入现有邮件内容。现有邮件eml导入:(QQ邮件)下载eml文件,打开导入即可。
首先我先导出了qq邮件的一个eml文件保存到本地,然后用记事本打开
然后点击import email导入相应的模板
2.2.2.4 Landing Page
作用:伪造钓鱼页面
gophish支持手动编辑生成钓鱼邮件,Import Site填写被伪造网站的URL即可通过互联网自动抓取被伪造网站的前端代码。也支持导入现有邮件内容,配置时勾选捕获提交的数据和捕获密码,服务器会把相关数据保存下来。
https://personalbank.cib.com.cn/pers/main/login.do
2.2.2.5 Campaign
作用:发送钓鱼邮件
填写好攻击的名称,选择钓鱼邮件模板,选择相应的钓鱼页面,目标邮箱,和发送邮箱。需要填上GoPhish服务端的地址,在钓鱼开始前,这个地址会将先前钓鱼邮件模板中的链接替换。
2.3 利用EwoMail搭建邮箱服务器
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](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb) (默认账号admin,密码ewomail123)
ssl端口 [https://IP:7010](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)
web邮件系统:[http://IP:8000](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)
ssl端口 [https://IP:7000](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)
域名解析完成后,可以用子域名访问,例如下面
[http://mail.xxx.com:8000](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb) (http)
[https://mail.xxx.com:7000](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb) (ssl)
然后我们就可以通过http://域名:8080
,访问管理平台,利用admin/ewomail123登录
然后配置邮箱系统设置
2.4 利用腾讯域名邮箱
2.4.1 注册并配置腾讯企业邮箱
利用https://mail.qq.com/cgi-bin/loginpage?t=dm_loginpage&c=1,该链接直接创建你的域名邮箱
如果你的域名是在腾讯注册的话,可以直接在域名管理这里进行开通即可,更加方便
然后按照他的流程完成企业邮箱的开通即可,开通之后会进入到这样的页面
学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!