随着大型企业边境安全水平的提高,无论是APT攻击还是红蓝对抗演练,网络钓鱼、水坑攻击的使用越来越多。
1. 三大电子邮件安全协议 1.1 SPF
SPF是中文发件人策略框架的缩写。
主要功能是防止伪造电子邮件地址。
由于发送电子邮件的传统标准——1982年建立的简单邮件传输协议(SMTP)——根本不验证发件人的电子邮件地址,垃圾邮件发送者可以任意编造发件人地址来发送垃圾邮件,而收件人却束手无策,因为你无法识别发件人的电子邮件地址。告知收到的电子邮件来自谁。
在SPF系统中,每个需要发送电子邮件的公司都会在其对外发布的DNS域名记录中列出自己域名下所有需要发送电子邮件的IP地址段。 接收邮件的服务器根据邮件中发件人的域名查找公司公布的合法IP地址段,然后检查发送邮件的机器是否属于这些地址段,从而判断邮件是否是伪造的。
检查SPF是否开启
nslookup-type=txtqq.comdig-ttxtqq.com
记录中出现 spf1 表示使用了 spf。 所谓的伪造邮件是无法发送到QQ邮箱的。
但甲方一般不设立此协议。
1.2 DKIM
DKIM, Mail 的缩写。
一般来说,发件人在电子邮件标头中插入 DKIM 和电子签名信息,收件人通过 DNS 查询获取公钥后验证电子邮件。
1.3 DMARC
dmarc由微软、雅虎等于2012年1月30日开发,其相关内容包括DMARC协议。
[DMARC]协议基于现有的两大电子邮件安全协议[DKIM]和[SPF]。 邮件方(域名所有者)声明其在 [DNS] 中使用此协议。 当邮件方(其 MTA 必须支持 DMARC 协议)收到来自域的电子邮件时,它会执行 DMARC 检查。 如果检查失败,则需要向指定的[URI](通常是电子邮件地址)发送另一封电子邮件。
2. 环境建设 2.1 建设
我用
下载
wgethttps://github.com/gophish/gophish/releases/download/v0.11.0/gophish-v0.11.0-linux-64bit.zip
解压
mkdir-p/gophishunzip gophish-v0.11.0-linux-64bit.zip -d/gophish/cd/gophish/
将.json中的127.0.0.1修改为0.0.0.0。
80端口代表钓鱼网站开放的端口; 后台管理页面开放端口为3333,默认帐号和密码为admin/。
{"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": ""}}
在后台运行,设置当前环境。
chmod+x gophish./gophish &
访问:3333/
可能会提示证书不正确。 点击高级-继续页面,输入默认账号和密码登录:admin/
它可能不是默认密码。 vps启动后,命令行中会给出一个临时密码。 使用临时密码登录,然后设置新密码。
进入钓鱼界面:
打开浏览器并访问:80/。 由于我们还没有配置钓鱼页面,因此出现简短的 404 page not find 消息表明操作正常。
施工已完成。
2.2 施工
官方文档:
http://doc.ewomail.com/docs/ewomail/install
要求,但又不像此时重装系统,所以用它来构建。
apt install docker.iodocker search ewomaildocker pull bestwu/ewomail
创建并启动容器:(将命令替换为自己的域名mail.*.格式)。
docker run -d-hmail.ewomail.com --restart=always \-p25:25 \-p109:109 \-p110:110 \-p143:143 \-p465:465 \-p587:587 \-p993:993 \-p995:995 \-p81:80 \-p8080: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/ \--nameewomail bestwu/ewomail
域名系统:
最终搭建效果:
http://域名:8080
帐号 管理员 密码
添加电子邮件地址:
2.3 功能介绍
进入后台后,左边的栏目代表各个功能,分别是仪表板、钓鱼事件、用户和用户和组、电子邮件模板、页面钓鱼页面和发送策略。
功能说明
查看总体测试状态的仪表板
每次攻击前需要配置一次
用户&
用户和用户组(添加需要钓鱼的邮箱地址及相关基本信息)
电子邮件
电子邮件模板
页数
需要伪造钓鱼页面
钓鱼邮件发送配置
出货策略
主要功能是配置用于发送钓鱼邮件的邮箱。
单击“新建”创建新策略并一一填写各个字段。 填写新创建的发送电子邮件地址和用户名。
名称:名称字段用于为新创建的发送策略命名,不会影响钓鱼的实施。
Type:Type是接口类型。 默认为 SMTP 类型,不可修改。 因此,需要在发送邮箱中启用SMTP服务。 不过大多数机器的SMTP 25端口被禁用,所以需要配置为465端口。
From:From为发件人,即钓鱼邮件中显示的发件人。 (实际使用中,一般需要伪造类似的域名)。
Host:Host是SMTP服务器的地址,格式为:25
:是SMTP服务认证的用户名。 :为SMTP服务认证密码。
(可选)电子邮件:电子邮件是自定义电子邮件标头字段,例如电子邮件标头中的 X 字段。 如果不修改该字段的值,则发送的电子邮件的邮件头中的X-值默认为 。
设置完以上字段后,您可以单击“发送测试电子邮件”发送测试电子邮件,以检查 SMTP 服务器验证是否成功。
但是我收不到邮件啊……
先用QQ邮箱转发:
填写用户和发件人的电子邮件帐户。
密码填写授权码:
成功页面。
1. 页面钓鱼页面
配置钓鱼邮件后,您可以使用该模块创建新的钓鱼网站页面。 这里支持手写HTML文件,也可以使用导入网站功能。
名称:名称用于为新创建的钓鱼页面命名。
Site:提供了两种设计钓鱼页面的方法。
第一个是站点。 点击Site后,填写假冒网站的URL,再次点击即可通过互联网自动抓取假冒网站的前端代码。
在这里百度一下测试一下。
内容编辑框是编辑钓鱼页面的第二种方法,但大多数情况下,它更倾向于辅助第一种方法,即修改源代码并预览导入的页面。
(要点)数据:
通常,网络钓鱼的目的是捕获受害者的用户名和密码。 因此,在点击“保存页面”之前,记得检查“数据”。 勾选Data后,页面会出现一个选项,显然是要捕获密码。 通常,您可以选择检查它来验证帐户的可用性。 如果您只想测试统计受害用户是否提交数据而不泄露账户隐私,则可以不勾选。 另外,Data检查完毕后,页面上会多出一个to,用于当受害用户点击提交表单时,将页面重定向到指定的URL。 可以填写伪造网站的URL,营造受害用户第一次填写账号密码错误的感觉(一般来说,当登录页面提交的表单数据与数据库不一致时,会报错参数会被添加到登录页面的URL中,以提示用户帐户或密码错误,因此在to中,最好在URL中填写错误参数)。
填写以上参数,点击保存页面即可保存编辑好的钓鱼页面。
1. 电子邮件网络钓鱼电子邮件模板
创建相应的钓鱼邮件模板。 这里的钓鱼模板可以直接编辑,也可以从其他邮箱导入模板。
名称:同样,该字段用于为新创建的钓鱼邮件模板命名。
电子邮件:提供两种编辑电子邮件内容的方式。
第一个是电子邮件。 用户可以先在自己的邮箱系统中设计一封钓鱼邮件,然后发送给自己或其他合作伙伴。 收到设计好的邮件后,打开它选择导出为eml文件或者显示邮件原文,然后将内容复制到邮件中即可导入设计好的钓鱼邮件。
在这里您可以直接打开邮箱中的一封信,点击显示原文,然后复制、导入、粘贴进去。
影响:
请注意,点击之前您需要检查指向页面的链接。 当钓鱼事件发生时,该功能会自动将电子邮件中的超链接转换为钓鱼网站的URL。
: 这是电子邮件的主题。 通常,为了提高电子邮件的真实性,您需要自己编一个有吸引力的主题。
内容编辑框:内容编辑框是编写电子邮件内容的第二种模式。 内容编辑框提供了文本和HTML两种模式来编写电子邮件内容。 使用方法与普通编辑器相同。 HTML模式下的预览功能比较常用。 编辑完内容后,点击“预览”即可清楚地看到邮件的具体内容和格式。
添加图片:添加图片是在钓鱼邮件末尾添加跟踪图片,以跟踪受害用户是否打开了收到的钓鱼邮件。 默认情况下会选中它。 如果不勾选,将无法追踪受害用户是否打开钓鱼邮件(注:追踪受害用户是否点击钓鱼链接以及捕获提交的数据不受其影响) Add Files:添加文件就是给发送的邮件添加附件。 一是可以添加相关文件,提高邮件的真实性,二是可以配合反杀木马,诱导受害用户下载打开。
填写完上述字段后,单击“保存”保存当前编辑的钓鱼邮件模板。
1. 用户&用户和组
Users &的作用是导入钓鱼的目标邮箱并准备发送。 单击“新建组”以创建新的网络钓鱼目标用户组。
名称:名称是新创建的用户组的名称。
批量用户:批量用户是批量导入用户邮箱。 通过上传符合特定模板的CSV文件,批量导入目标用户邮箱。 单击旁边的灰色字体 CSV 可下载特定的 CSV 模板文件。 其中,模板文件的Email为必填项,其他First Name、Last Name、 为可选项。
补充:除了批量导入目标用户邮箱外,还提供导入单个邮箱的方法。 这对于钓鱼组在开始钓鱼之前进行内部测试非常方便。 无需上传繁琐的文件,只需填写Email即可。 同样,其余的名字、姓氏等都是可选的。
编辑目标用户的电子邮件地址后,单击“保存”,将编辑后的目标电子邮件地址保存在 .
1. 钓鱼事件
的作用就是连接以上四个功能,Email、Pages、Users&,并创建钓鱼事件。
在 中,您可以创建新的钓鱼事件,选择编辑好的钓鱼邮件模板和钓鱼页面,通过配置的发送邮件地址将钓鱼邮件发送给目标用户组中的所有用户。
单击“新建”以创建新的钓鱼事件。
名称:名称用于为新创建的钓鱼事件命名。
电子邮件:电子邮件是网络钓鱼电子邮件模板。 在这里,选择您刚刚在上面编辑的网络钓鱼电子邮件模板。
页面:页面是钓鱼页面。 选择您刚刚在上面编辑的那个。
(重要)URL:URL是用于替换所选钓鱼邮件模板中的超链接的值,该值指向部署所选钓鱼页面的URL。
简单来说,这里的URL需要填写当前脚本主机的IP地址。 因为启动后默认监听端口为3333和80,其中3333端口为后端管理系统,80端口用于部署钓鱼页面。 当URL填写主机IP/,或[]()并成功创建当前钓鱼事件时,当前钓鱼事件选择的钓鱼页面将部署在该主机的80端口上,并发送钓鱼邮件中的所有超链接将替换为部署在端口 80 上的网络钓鱼页面的 URL。
日期:日期是网络钓鱼事件发生的日期。 通常,如果只发送少量电子邮件,则此项不需要修改。 如果需要发送大量电子邮件,最好使用旁边的“发送方式”选项。
(可选)发送时间:发送时间与日期一起使用,表示当前钓鱼事件中所有钓鱼邮件的发送时间。 Date 是发送电子邮件的开始时间,Send By 是发送电子邮件的完成时间,它们之间的时间将除以所有电子邮件(以分钟为单位)。
:即发送策略。 在这里选择您刚刚编辑的:
填写完以上字段后,点击创建该钓鱼事件(注意:如果不修改日期,则默认为创建钓鱼事件后立即开始发送钓鱼邮件)。
1、仪表攀爬
当网络钓鱼事件创建时,将自动收集统计信息。 统计项目包括成功发送邮件的数量及比例、打开邮件的数量及比例、点击钓鱼链接的数量及比例、提交账户及密码数据的数量及比例、收到邮件举报的数量及比例。 此外,还有一个时间线,记录每个行为发生的时间点。
需要注意的是,统计的是所有钓鱼事件,而不仅仅是单个钓鱼事件。 如果您只需要查看单个钓鱼事件的统计数据,可以找到该钓鱼事件,点击查看按钮进行查看。
3. 邮箱管理
邮件钓鱼信息收集:
3.1 找到目标开放邮件服务端口和Web邮箱入口
通过扫描c段找到条目
首先,你需要从MX记录域名中找到他的真实IP地址。
然后扫描该IP地址的C段(端口25、109、110、143、465、995、993)。 一般来说,很容易找到目标邮件服务器入口。
通过子域查找电子邮件条目
、TeeMO、、挖掘机等
通过搜索引擎爬行
黑客搜索;
百度、搜狗、360、bing。
站点::“Web 应用程序”
站点::“邮件”
地点: :””
、fofa、搜索等
3.2 批量采集目标邮箱 3.3 验证邮箱
收集到电子邮件地址后,我们需要对其进行验证,因为其中一些电子邮件地址已被目标公司人员放弃或未使用(辞职、调动等)。
您可以通过以下方式检查电子邮件地址是否存在
https://mailtester.com/testmail.php
该工具可以批量验证邮箱地址
https://github.com/Tzeross/verifyemail
.py
https://github.com/angusluk/MailTester
该工具可以自动组合电子邮件地址,然后根据组合结果一一验证。
该脚本的好处是它会根据名字/姓氏中的名字随机组合组合,然后一一验证。
当我们枚举电子邮件用户时,尝试查找更多的词典,例如中文姓名拼音、缩写、1000、10000。这里我们需要更多的鱼叉。 多一个电子邮件地址意味着更高的成功率。
当然,我们可以提取出可疑的网络管理员、运维人员、安全部门的人员。 这些人可以单独发送电子邮件,也可以根本不发送,因为这些人的安全意识比较高,很容易惊动敌人。 我们要从一些安全意识薄弱的非技术人员入手,挑薄补短。
这里,您可以使用该URL根据收集到的目标信息制定相应的姓名词典。
3.4 邮箱利用
这种弱口令暴力破解方法仅适用于目标公司自有的邮件服务器如OWA等,百度、腾讯、阿里巴巴、网易等邮箱不予优先。
使用的工具有Hydra、APT34组织owa爆破工具等。
另外,电子邮件用户名和密码往往使用公司缩写+社工密码如2019、2020等,字典越多,成功率越高。
4. 电子邮件伪造
一般来说,如果没有SPF,就可以直接使用swaks来伪造。
-t –to 目标地址 -t test .com
-f –from 来源地址 (发件人) -f "text
" –protocol 设定协议(未测试)
--body "http://www.baidu.com" //引号中的内容即为邮件正文;
--header "Subject:hello" //邮件头信息,subject为邮件标题
-ehlo 伪造邮件ehlo头
--data ./Desktop/email.txt //将正常源邮件的内容保存成TXT文件,再作为正常邮件发送;
网上伪造:
匿名电子邮件:
5.绕过SPF
旁路,
如果有SPF,则需要绕过SPF。 您可以使用 swaks+,它需要电子邮件托管平台的帮助来绕过 SPF 监控。
swaks --to xxx@163.com
--from admin@gov.com
--ehlo xxx
dan--body “hello ,i'm 007"
--server mail.smtp2go.com -p 2525 -au user -ap pass
6. 钓鱼域名注册
有了文案,我们怎样才能让邮件看起来更真实呢? 最简单的方法是使用超链接,将元素内容更改为您要模仿的域名。 在邮箱页面,会直接显示元素内容。 我们可以使用一些与目标相似的域名。 比如用0代替o,用1代替l,vv代替w等。这就需要你发挥想象力来寻找相似的域名:如果你找不到这样相似的域名或者这样的域名价格昂贵,你可以尝试一些更刺激的操作。 例如,如何注册一个像国际域名一样的域名? 在了解如何注册此类域名之前,您需要首先了解什么是国际域名IDN。
6.1 什么是 IDN?
它是指域名中至少包含一种特殊语言字母的域名,包括中文、法文、拉丁文等。在DNS系统的工作中,这个域名会被编码成ASCII字符串并进行翻译。 它是根据RFC 3492标准制定的编码系统,主要用于将域名从本地语言使用的编码转换为DNS系统可以使用的编码。
目前,由于操作系统的核心是由英文组成的,DNS服务器的解析也是通过英文代码交换的,因此DNS服务器不支持直接中文域名解析。 所有的中文域名解析都需要转换成代码,然后通过DNS进行解析。 事实上,目前提到的主流浏览器都完美支持IDN域名。 浏览器会自动对IDN域名进行转码,地址栏仍显示原来输入的IDN域名。
看看这两个域名。
www.biṇaṇce.com
www.binance.com乍一看,它们看起来一样。 但是当你将第一个域名复制到浏览器中时,它就变成了其他字符。 仔细一看,第一个域名n下面有一个点。 哈哈哈,这就是区别。 它实际上是一个转码后的域名。
www.xn--biace-4l1bb.com
试
www.ąliyun.com
您可以在这里找到类似的,然后对它们进行编码。
punycode在线转换工具:http://tools.jb51.net/punycode/index.php
UniCode编码表:https://www.cnblogs.com/csguo/p/7401874.html不管模仿得多么相似,如果浏览器上直接出现不安全警告或者红色斜杠,很容易引起目标的警惕。 所以如果条件允许的话,尽量把事情做全。
7. 钓鱼文件制作 7.1 APT提示
假冒扩展工具
文件捆绑
传统宏文件
CHM钓鱼
CVE-2018-2174
快捷键
构建DDE钓鱼文档
在word中插入外部对象(OLE)进行作弊
IQY特色钓鱼
PPT动作按钮功能构建PPSX钓鱼
RAR减压钓鱼
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。