伪造邮件钓鱼,要知道的秘密!

news/2024/11/29 10:49:39/

微信搜索逆锋起笔关注后回复编程pdf

领取编程大佬们所推荐的 23 种编程资料!

邮件钓鱼入门到入土

在大型企业边界安全做的越来越好的情况下,不管是 APT 攻击还是红蓝对抗演练,钓鱼和水坑攻击被越来越多的应用。

一、邮件安全的三大协议

1.1 SPF

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

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

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

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

查询是否开启 SPF

nslookup-type=txtqq.comdig-ttxtqq.com

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

但是一般甲方是没有设置此协议的。

1.2 DKIM

DKIM,电子邮件验证标准——域名密钥识别邮件标准。DomainKeys Identified Mail的缩写。

一般来说,发送方会在电子邮件的标头插入DKIM-Signature及电子签名资讯。而接收方则透过DNS查询得到公开密钥后进行验证。

1.3 DMARC

dmarc,2012年1月30号由Paypal,Google,微软,雅虎等开发,相关内容有DMARC协议。

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

二、环境搭建

  • 准备与目标相关联相似域名

  • 公网VPS

  • Gophish

  • EwoMai

2.1 Gophish 搭建

我用的是ubuntu

下载

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/

修改config.json 中 127.0.0.1 为 0.0.0.0 。

80端口代表钓鱼网站开放的端口;后台管理页面开放的端口是3333,默认的账号和密码是 admin/gophish。

{"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 &

访问https://IP:3333/

可能会提示证书不正确,依次点击高级—继续转到页面,输入默认账密进行登录:admin/gophish

也有可能不是默认密码,在vps启动./gophish之后,会在命令行中给出一个临时密码,用临时密码登录之后再设置新的密码。

访问钓鱼界面:

打开浏览器,访问http://ip:80/由于我们还未配置钓鱼页面,提示小段的404 page not found说明运行正常。

Gophish搭建完成。

2.2 EwoMail搭建

官方文档:

http://doc.ewomail.com/docs/ewomail/install

ewomail要求 centos ,但是此时并不像重装系统,所以使用docker 进行搭建。

apt install docker.iodocker search ewomaildocker pull bestwu/ewomail

创建并且启动容器:(把命令中mail.ewomail.com 替换成你自己的域名 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

账号 admin 密码 ewomail123

添加邮箱:

2.3 Gophish 功能介绍

进入后台后,左边的栏目即代表各个功能,分别是Dashboard仪表板、Campaigns钓鱼事件、Users & Groups用户和组、Email Templates邮件模板、Landing Pages钓鱼页面、Sending Profiles发件策略六大功能:

功能

简述



Dashboard

仪表板,查看整体测试情况

Campaigns

每次攻击前需要配置一次

Users & Groups

用户和用户组(添加需要进行钓鱼的邮箱和相关基础信息)

Email Templates

电子邮件模板

Landing Pages

需要伪造的钓鱼页面

Sending Profiles

钓鱼邮箱发送配置

Sending Profiles 发件策略

Sending Profiles的主要作用是将用来发送钓鱼邮件的邮箱配置到gophish。

点击New Profile新建一个策略,依次来填写各个字段。填写刚才新建的发送邮箱地址和用户名。

Name:Name字段是为新建的发件策略进行命名,不会影响到钓鱼的实施。

Interface Type:Interface Type 是接口类型,默认为SMTP类型且不可修改,因此需要发件邮箱开启SMTP服务,但是大部分机器 smtp 的 25 端口被禁用了,因此需要配置成 465 端口。

From:From 是发件人,即钓鱼邮件所显示的发件人。(在实际使用中,一般需要进行近似域名伪造)。

Host:Host 是smtp服务器的地址,格式是smtp.example.com:25

Username:Username 是smtp服务认证的用户名.Password:Password 是smtp服务认证的密码。

(可选)Email Headers:Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer字段,若不修改此字段的值,通过gophish发出的邮件,其邮件头的X-Mailer的值默认为gophish。

设置好以上字段,可以点击Send Test Email来发送测试邮件,以检测smtp服务器是否认证通过。

但是QQ 邮箱收不到,啊.....

先用qq邮箱转发吧:

用户和from 都填 qq 邮箱账号。

密码填授权码:

成功页面。

1. Landing Pages 钓鱼页面

配置好钓鱼邮件后,就可以通过LandingPages模块来新建钓鱼网站页面,此处支持手写 html文件,也可通过导入网站功能。

Name:Name 是用于为当前新建的钓鱼页面命名。

Import Site:gophish为钓鱼页面的设计提供了两种方式,

第一种则是Import Site,点击Import Site后,填写被伪造网站的URL,再点击Import,即可通过互联网自动抓取被伪造网站的前端代码。

这里测试百度。

内容编辑框是编辑钓鱼页面的第二种方法,但是绝大多数情况下,它更偏向于用来辅助第一种方法,即对导入的页面进行源码修改以及预览。

(重点)Capture Submitted Data:

通常,进行钓鱼的目的往往是捕获受害用户的用户名及密码,因此,在点击Save Page之前,记得一定要勾选Capture Submitted Data当勾选了Capture Submitted Data后,页面会多出一个Capture Passwords的选项,显然是捕获密码。通常,可以选择勾选上以验证账号的可用性。如果仅仅是测试并统计受害用户是否提交数据而不泄露账号隐私,则可以不用勾选另外,当勾选了Capture Submitted Data后,页面还会多出一个Redirect to,其作用是当受害用户点击提交表单后,将页面重定向到指定的URL。可以填写被伪造网站的URL,营造出一种受害用户第一次填写账号密码填错的感觉(一般来说,当一个登录页面提交的表单数据与数据库中不一致时,登录页面的URL会被添加上一个出错参数,以提示用户账号或密码出错,所以在Redirect to中,最好填写带出错参数的URL)。

填写好以上参数,点击Save Page,即可保存编辑好的钓鱼页面。

1. Email Templates 钓鱼邮件模板

创建相应的钓鱼邮件模板 此处钓鱼模板可直接进行编辑,也可导入其他邮箱的模板。

Name:同样的,这个字段是对当前新建的钓鱼邮件模板进行命名。

Import Email:gophish为编辑邮件内容提供了两种方式,

第一种就是Import Email,用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送给自己或其他伙伴,收到设计好的邮件后,打开并选择导出为eml文件或者显示邮件原文,然后将内容复制到gophish的Import Email中,即可将设计好的钓鱼邮件导入。

这里直接在 QQ 邮箱打开一封信,点击显示原文们就可以复制,导入,粘贴进去。

效果:

需要注意,在点击Import之前需要勾选上Change Links to Point to Landing Page,该功能实现了当创建钓鱼事件后,会将邮件中的超链接自动转变为钓鱼网站的URL。

Subject:Subject 是邮件的主题,通常为了提高邮件的真实性,需要自己去编造一个吸引人的主题。

内容编辑框:内容编辑框是编写邮件内容的第二种模式,内容编辑框提供了Text和HTML两种模式来编写邮件内容,使用方式与正常的编辑器无异。其中HTML模式下的预览功能比较常用到,在编辑好内容后,点击预览,就可以清晰看到邮件呈现的具体内容以及格式。

Add Tracking Image:Add Tracking Image 是在钓鱼邮件末添加一个跟踪图像,用来跟踪受害用户是否打开了收到的钓鱼邮件。默认情况下是勾选的,如果不勾选就无法跟踪到受害用户是否打开了钓鱼邮件(注:跟踪受害用户是否点击钓鱼链接以及捕捉提交数据不受其影响)Add Files:Add Files 是在发送的邮件中添加附件,一是可以添加相关文件提高邮件真实性,二是可以配合免杀木马诱导受害用户下载并打开。

当填写完以上字段后,点击Save Template,就能保存当前编辑好的钓鱼邮件模板。

1. User & Groups 用户和组

Users & Groups的作用是将钓鱼的目标邮箱导入gophish中准备发送点击New Group新建一个钓鱼的目标用户组。

Name:Name 是为当前新建的用户组命名。

Bulk Import Users:Bulk Import Users是批量导入用户邮箱,它通过上传符合特定模板的CSV文件来批量导入目标用户邮箱点击旁边灰色字体的Download CSV Template可以下载特定的CSV模板文件。其中,模板文件的Email是必填项,其余的Frist Name、Last Name、Position可选填。

Add:除了批量导入目标用户的邮箱,gophish也提供了单个邮箱的导入方法,这对于开始钓鱼前,钓鱼组内部测试十分方便,不需要繁琐的文件上传,直接填写Email即可,同样其余的Frist Name、Last Name、Position可选填。

编辑好目标用户的邮箱后,点击Save Changes即可保存编辑好的目标邮箱保存在gophish中。

1. Campaigns 钓鱼事件

Campaigns 的作用是将上述四个功能Sending Profiles、Email Templates、Landing Pages、Users & Groups联系起来,并创建钓鱼事件。

在Campaigns中,可以新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户。

点击New Campaign新建一个钓鱼事件。

Name:Name 是为新建的钓鱼事件进行命名。

Email Template:Email Template 即钓鱼邮件模板,这里选择刚刚上面编辑好的钓鱼邮件模板。

Landing Page:Landing Page 即钓鱼页面,这里选择刚刚上面编辑好的。

(重点)URL:URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的url网址。

简单来说,这里的URL需要填写当前运行gophish脚本主机的ip。因为启动gophish后,gophish默认监听了3333和80端口,其中3333端口是后台管理系统,而80端口就是用来部署钓鱼页面的。当URL填写了http://主机IP/,或者[http://mail.xxx.xxx/](http://mail.xxx.xxx/)并成功创建了当前的钓鱼事件后。gophish会在主机的80端口部署当前钓鱼事件所选定的钓鱼页面,并在发送的钓鱼邮件里,将其中所有的超链接都替换成部署在80端口的钓鱼页面的url。

Launch Date:Launch Date 即钓鱼事件的实施日期,通常如果仅发送少量的邮箱,该项不需要修改。如果需要发送大量的邮箱,则配合旁边的Send Emails By效果更佳。

(可选)Send Emails By:Send Emails By 配合Launch Date使用,可以理解为当前钓鱼事件下所有钓鱼邮件发送完成的时间。Launch Date作为起始发件时间,Send Emails By作为完成发件时间,而它们之间的时间将被所有邮件以分钟为单位平分。

Sending Profile:Sending Profile 即发件策略,这里选择刚刚编辑好的:

填写完以上字段,点击Launch Campaign后将会创建本次钓鱼事件(注意:如果未修改Launch Date,则默认在创建钓鱼事件后就立即开始发送钓鱼邮件)。

1. Dashboard 仪表爬

当创建了钓鱼事件后,Dashboard 会自动开始统计数据。统计的数据项包括邮件发送成功的数量及比率,邮件被打开的数量及比率,钓鱼链接被点击的数量及比率,账密数据被提交的数量和比率,以及收到电子邮件报告的数量和比率。另外,还有时间轴记录了每个行为发生的时间点。

需要注意的是,Dashboard统计的是所有钓鱼事件的数据,而非单个钓鱼事件的数据,如果仅需要查看单个钓鱼事件的统计数据,可以在Campaigns中找到该钓鱼事件,点击View Results按钮查看。

三、邮箱打点

邮件钓鱼信息收集:

  • 信息刺探

  • 信息验证

  • 邮箱定位

  • 内容伪造

  • 文件伪造

3.1 寻找目标开放的邮件服务端口和Web端邮箱入口

  1. 通过扫描c段找到入口

    首先要先从MX记录域名找到他的真实ip地址。

    然后针对这个ip地址的c段进行扫描(25、109、110、143、465、995、993端口),一般情况下都很容易找到目标的邮件服务器入口。

  2. 通过子域名的方式找到邮件入口

    Sublist3r、TeeMO、LangSrcCurise、挖掘机等。

  3. 通过搜索引擎爬取

    Google hack 搜索;

    百度、搜狗、360、bing。

    site:target.com intitle:”Outlook Web App”

    site:target.com intitle:”mail”

    site:target.com intitle:”webmail”

    Shodan、fofa、zoomeye搜索等。

3.2 批量收集目标邮箱

  • https://hunter.io/

  • http://www.skymem.info/

  • https://www.email-format.com/i/search/

  • https://github.com/bit4woo/teemo

  • https://github.com/laramies/theHarvester

3.3 验证邮箱

在收集邮箱之后,我们要对邮箱进行验证,因为有些邮箱目标企业人员已经放弃或不用(离职,职位调动等)。

  1. 通过mailtester.com可以查询邮箱地址是否存在

    https://mailtester.com/testmail.php
    
  2. verifyemail这款工具可批量验证邮箱

    https://github.com/Tzeross/verifyemail
    
  3. mailtester.py

    https://github.com/angusluk/MailTester
    

    这款工具可以自动组合邮箱地址再根据组合的结果逐个验证。

    脚本的好处在于,它会根据 First / Last Name 中的名字随意拼装组合,然后再对其进行逐个验证。

    当我们在对邮箱用户进行枚举的时候,尽量多找一些字典,如中国人姓名拼音、字母缩写top100,1000,10000,此处我们需要更多的鱼叉,多一个邮箱就多一份成功率。

    当然可以把搜集到疑似网络管理员、运维人员、安全部门的人员提取出来,这些人单独写邮箱或者不发,因为这些人安全意识相对较高,容易打草惊蛇,我们需要对一些非技术员工安全意识薄弱的人下手,挑软柿子捏。

    这里可以配合这个网址https://www.aies.cn/pinyin.htm根据收集到的目标信息制定对应人名字典进行组合。

3.4 邮箱爆破

这种方式的弱口令爆破只适用于目标企业自己的邮件服务器如owa等 像百度腾讯阿里网易的邮箱不优先考虑。

用到的工具medusa、hydra、SNETCracker、APT34组织 owa爆破工具等。

另外邮箱用户名与密码往往还会使用公司简称+2019,2020等社工口令,多一个字典就多一份成功率。

四、邮箱伪造

一般情况下没有SPF可以 直接用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文件,再作为正常邮件发送;

在线伪造:

http://tool.chacuo.net/mailanonymous

匿名邮件:

http://tool.chacuo.net/mailsend

五、绕过 SPF

绕过 sendgird, mailgun

在有SPF的情况下,就需要绕过SPF,可以使用swaks+smtp2go,需要借助到邮件托管平台来绕过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

六、钓鱼域名注册

有了文案,怎么能让邮件看起来真实性更高呢?最简单的就是用超链接,把元素内容改成想要仿冒的域名,在邮箱页面上,就会直接显示元素的内容,我们可以使用一些与目标相似的域名。比如用0代替o,用1代替l,用vv代替w等等,这就需要发挥你的想象来寻找相似的域名:如果找不到这样形似的域名或者这种域名比较贵的情况下,可以尝试一些更骚的操作。。例如使用国际域名这样的域名是怎么注册的呢?在了解怎么注册一个这样的域名前,需要先了解什么是国际域名IDN。

6.1什么是IDN?

是指在域名中包含至少一个特殊语言字母的域名,特殊语言包括中文、法文、拉丁文等。在DNS系统工作中,这种域名会被编码成ASCII字符串,并通过Punycode进行翻译。Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。

目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode码。其实目前所说的各种主流浏览器都完美支持IDN域名,浏览器里面会自动对IDN域名进行Punycode转码,而地址栏依旧显示的是原始输入的IDN域名。

看看这两个域名,

www.biṇaṇce.comwww.binance.com

乍一看,这一样的把。可是当把第一个域名复制到浏览器后就成了其他字符了。仔细看看,第一个域名 n 下面有个点 ,哈哈哈,这就是区别,他其实是经过punycode转码后的域名

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.1 APT小技能

  1. 伪造扩展名 kilerrat 工具

  2. 文件捆绑

传统宏文件

CHM钓鱼

CVE-2018-2174

Windows 快捷键

构造DDE钓鱼文档

word 中插入外部对象(OLE)方式欺骗

IQY特性钓鱼

PPT 动作按钮特性构造 PPSX钓鱼

RAR解压钓鱼

逆锋起笔是一个专注于程序员圈子的技术平台,你可以收获最新技术动态最新内测资格BAT等大厂大佬的经验增长自身学习资料职业路线赚钱思维,微信搜索逆锋起笔关注!

一款微信小程序商城项目(附源码)

Python 中有 3 个不可思议的返回功能

程序员才能懂的 22 张高度内涵图!!

手把手教程:实现王者荣耀自动刷金币

大公司病,太TM形象了!


http://www.ppmy.cn/news/451429.html

相关文章

成也IP败也IP,中日美盲盒经济背后不变的商业逻辑

2020年泡泡玛特传出要上市的消息&#xff0c;这也将盲盒经济推向风口。 除了泡泡玛特&#xff0c;今年刚上市的零售"新贵"名创优品就在近日推出品牌TOPTOY&#xff0c;正式进军潮玩市场。更不用说聚集了大量Z时代和二次元爱好者的b站以及拥有大量知名漫画、动漫IP的…

Spring5最新完整教学 (IDEA)

目录 1、Spring 1.1、简介 1.2、优点 1.3、组成 1.4、拓展 2、IOC理论推导 2.1、IOC本质 3、HelloSpring 3.1、编写一个Hello实体类 3.2、编写我们的spring文件&#xff0c;这里我们命名beans.xml 3.3、实例化容器 4、IOC创建对象的方式 4.1、使用无参构造创建对象…

浅谈决策树

引言 本文需要些许信息论的知识&#xff0c;不了解的可以去看下相关博文&#xff0c;还是比较容易的&#xff0c;虽然本科学过信息与编码的相关知识&#xff0c;但也是没有实际应用过&#xff0c;所以并不懂其真正的内涵所在&#xff0c;学习了决策树&#xff0c;补了下信息论相…

【学术相关】好文:新手小白如何准备考研?

刚有同学问考研事宜&#xff0c;找到一篇好文章&#xff0c;给大家分享下&#xff1a; 新手小白如何准备考研&#xff1f; 作者&#xff1a;十五 来源&#xff1a;https://www.zhihu.com/question/283284100/answer/1671418066 本文目录 第一&#xff0c;到底要不要考研 第二…

Spring快速入门

1 Spring 1.1 简介 Spring 春天–>给软件行业带来了春天 2002 首次推出了spring框架的雏形&#xff0c;interface21框架 spring框架即以interface21框架为基础&#xff0c;经过重新设计 &#xff0c;并不断丰富其内涵&#xff0c;与2004年3月24日&#xff0c;发布了11.0正…

微信小程序推荐大全之201~300个

本文摘要&#xff1a;小程序商店-极乐小程序商店推荐100个微信小程序&#xff0c;包含各行业的微信小程序大全&#xff0c;你需要的小程序都在极乐小程序商店。 201、爱奇艺视频 爱奇艺视频小程序简介&#xff1a;爱奇艺视频小程序为用户提供了正版、高清的热门电视剧资源&…

2019年3月互联网行业热点盘点

1、聊天宝团队解散 3月6日消息&#xff0c;快如科技旗下聊天宝&#xff08;原子弹短信&#xff09;于昨天下午正式宣布解散&#xff0c;从 200 多人的团队精简剩下二三十人&#xff0c;这些被解散的员工中&#xff0c;有部分来自社招&#xff0c;还有一部分来自锤子科技&#…

传奇手游漏洞获取gm权限_传奇技能第二祭:获取GM权限及管理员命令,调爆率和刷怪...

原标题:传奇技能第二祭:获取GM权限及管理员命令,调爆率和刷怪 技能献祭,Get 新技能:传奇技能——GM权限 跟航家学技能,用干货带你飞,现学现用,底部有配套学习资源 传奇技能系列-第二技 通过上一篇内容,成功运行单机并进入游戏,先走通单机,后面内容会陆续更新线上连…