声明
本文仅限于技术讨论和分享,是之前所做的一个课程设计整理,严禁用于非法途径。如果利用本文所提供的信息造成了不良结果,与本文作者无关。
一.实验介绍简介
本次课程实验中主要是通过发送qq邮件来进行的一个钓鱼邮件实验。我是通过在kali上部署好的gophish工具向自己的一个QQ邮箱发送一个简单的电子邮件来模拟操作这次实验,并且还可以通过gophish来监测收到钓鱼邮件的收件人的状态。
本次实验中使用的时kali-Linux-2021.2 -vnware-amd64,以及Windows 10 还有用到了QQ邮箱。还有部署在kali下的gophish钓鱼工具。
二.gophish的安装
1.下载地址:https://github.com/gophish/gophish/releases
2.在网站中找到下载界面,下载64位的最新版本的安装包到桌面。
3.打开kali虚拟机,把gophish安装包传到kali的根目录下,解压安装包。
unzip gophish-v0.11.0-linux-64bit.zip -d gophish
4.网盘下载
链接:链接:https://pan.baidu.com/s/1MmecGcD0rSBomSvjg-vGRw
提取码:uozs
三:gophish的部署
1.修改配置文件
在kali中,在cd gophish/的目录下,vim config.json.如果需要远程访问后台管理界面,将Listen_url修改为0.0.0.0:3333,端口可以自定义。(这项主要是针对于部署在服务器上,因为一般的Linux服务器都不会安装可视化桌面,因此需要本地远程访问部署在服务器上的gophish后台)。如果是通过本机访问的话,保持127.0.0.1:3333就可以。在本次测试中,因为需要远程控制,所以要将listen_url:改为0.0.0.0:3333。
2.修改运行脚本权限以及运行脚本
由于权限不够,无法执行脚本。在kali中,用命令chmod 744 ./gophish命令修改脚本权限,然后再输入命令./gophish就可以执行脚本了。(注意:最新版的密码是在首次启动gophish时会随机生成一个初始密码并将其打印在终端里。然后执行./gophish就可以看到出是账号和密码了。)
3.访问后台的管理界面
在浏览器中访问https://ip:3333。(注意一定要使用https协议,这里的地址是kali 的地址,可以在kali中输入ifconfig来查看自己的kali地址)。第一次访问时会提示说网站不安全。这时候就选高级,然后继续访问。这时候就可以看到gophish的登录页面了。
这里的账号密码是上一步中执行./gophish脚本时显示账号和密码。提示修改密码后可以自行修改密码。
4.访问钓鱼页面
在浏览器中输入http://ip:80。
因为还没有配置钓鱼页面,所以显示404是正确的。
到现在为止,在kali下的gophish的安装和部署已经完成了。
四:对实验结果的部署测试
1.对于gophish后台的功能测试
在后台中,有Dashboard仪表板;Compaigns钓鱼事件;Group用户和组;Email Templates邮件模板;landing Pages钓鱼页面;Sending Profiles发件策略六大功能模块。
2.在gophish中进行发件邮箱与收件的配置
(1)使用一个QQ邮箱,并开启远程邮件收发功能。在本次实验中,需要用到两个邮箱号,一个是开启远程邮件收发功能之后来发送邮件的,一个是用来接受邮件的。如果要开启远程邮件收发功能的话,在网页版的QQ邮箱里,设置-账号-里面,开启SMTP服务。然后会获得一个授权码。
(2)配置一个发件邮箱。在左侧功能里选取Sending Profiles,打开,点击New Profile,新建一个策略,然后再填写每个信息。Name字段是为了新建的发送策略进行命名,这个命名不会影响到钓鱼实验的实施,所以我取了个qq.com。Interface Ty是默认为SMTP的,这个不用修改。From表示的是钓鱼邮件所显示的发件人。Host是SMTP的服务器的地址,所以QQ邮箱的格式应该为stmp.qq.com。Username是SMTP服务认证的用户名,因为是QQ邮箱,所以就是自己的QQ邮箱Password就是开启SMTP服务时获得的授权码。将这些信息全部填好之后,就可以发送邮件了。填好的信息显示效果是这样的。
点击sent Tset Email后会弹出一个信息框询问将信息邮件发送给谁,这个我填上了自己的邮箱号。然后点击发送。就可以收到来自小号发送的一个邮件。
到这里为止,发送邮箱的配置已经完成了。但是,在实际的钓鱼实验过程中,大家都不会使用自己的QQ邮箱去发送钓鱼邮件。一方面是容易暴露身份,而且现在人们的安全意识已经有了显著的提高,大家都不认可这种邮件的真实性;另一方面是QQ邮箱这类第三方邮箱对每个用户每日发送数存在限制。所以,如果需要大批量的去发送钓鱼邮件,最好的方式就是使用自己的服务器,申请和正规网址的近似域名,搭建邮件服务器来发送邮件。
4.配置钓鱼页面
在Landing Pages->这个功能中,点击New Pages,然后新建一个钓鱼页面。Name我取的是钓鱼页面。在HTML中,写了一段html代码。想做一个简单点的实验,所以没写那么复杂。点击Source可以在HTML代码和显示页面切换。写好代码后,勾选Capture Submitted Data,和Capture Passwords来获取提交的数据,在本次测试中,也就是账号和密码。Redirct to:页面url。填好之后Save Page。
HTML代码如下:
请输入学号&密码,验证后系统将自动跳转到密码修改页面
5.配置钓鱼邮件模板
在mail Templates这个功能中,新建一个新的邮件正文模板。Name中我取了一个名字是转钓鱼页面,然后点击import Email。gophish为编辑邮件内容提供了import Email这种方式。用户可以先在自己的邮箱里放送一份设计好的邮件,打开并选择导出eml文件或者显示邮件原文,然后把内容复制到import Email里。在本次实验中,我选择了显示邮件原文,将邮件原文复制到了import Email里。写完之后,勾选上add tracking image。然后可以点击save template就能保存了。
6.配置收件人
点击左侧Users&Groups用户和组这个功能模块,新建一个收件人组。当我们完成以上三个功能的内容编辑后,钓鱼准备工作就完成了一大半了。在gophish中,Users$Groups的作用就是将钓鱼的目标邮箱导入gophish中准备发送。点击New Group后新建一个钓鱼的目标用户组。在Name里,取名users。看到Bulk Import Users后,Bulk Import Users是批量导入用户邮箱,它通过上传符合特定模板的CSV文件来批量导入目标用户邮箱。写入收件人组又两种方法。一种是上传符合特定模板的CSV文件,另一种是直接add添加收件人组。如果要上传CSV文件的话,需要在Bulk Import Users旁边的有一行小字可以用来下载特定的CSV模板文件。下载到主机桌面上后,可以用Excel表打开,然后可以向表里填数据。其中除了表里的Email是必须要填的,剩下的其余项可以填也可以不填。填好保存后上传到Bulk Import Users里。测试实验时,我使用的时add直接增加。Add这种方法时一种单个邮箱的导入方法。这对于开始钓鱼前,钓鱼组内部测试十分方便,不需要繁琐的文件上传,直接填写Email就可以。跟Bulk Import Users一样,除了Email其它项可填可不填。由于这次实验没有大面积的发送邮件,所以Users组里只写了一个邮箱号来做的测试。做完这些后点击save changes保存就可以了。
7.发起钓鱼攻击
Compaigns是钓鱼事件。做到这一步时,当我们完成以上四个功能的内容编辑后,钓鱼准备工具就基本完成了。现在就是一种“撒网捞鱼,等待鱼上钩”的状态。为了让实验能尽量快速的顺利进行,我把自己的一个QQ邮箱当作那条“鱼”,发送钓鱼邮件。然后访问。点开左侧的Users & Groups用户和组,再点击New Group新建一个钓鱼攻击。Name就是当前新建用户组的命名,在Email Template:选择转钓鱼页面。在Landing Page:选择钓鱼页面。URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的url网址。简单来说,这里的URL需要填写当前运行gophish脚本主机的ip。因为启动gophish后,gophish默认监听了3333和80端口,其中3333端口是后台管理系统,而80端口就是用来部署钓鱼页面的。。当URL填写了http://主机IP/,并成功创建了当前的钓鱼事件后。gophish会在主机的80端口部署当前钓鱼事件所选定的钓鱼页面,并在发送的钓鱼邮件里,将其中所有的超链接都替换成部署在80端口的钓鱼页面的url所以,这里的URL填写我本地当前运行gophish主机的IP对应的url。实际上,URL为钓鱼页面的访问地址,如果想要访问效果更好一点,可以搭建自己的邮件服务器,并注册一个与目标相似的域名Launch Date不用动,Sending Profile:选择qq邮箱,Groups 选择users。然后点击“Launch campaign”就可以发起一次钓鱼邮件攻击 。
提交之后,发送钓鱼邮件。收件人收到了钓鱼邮件。此时,可以通过compaigns查看钓鱼邮件的统计信息。因为只是发送了还没有打开钓鱼邮件。所以只统计了一个数据信息。
8.打开钓鱼邮件
收件人收到了钓鱼邮件并且打开邮件,然后点击邮件里的链接,出现设置界面,点击设计界面中的提交跳转界面到伪页面。当收件人在这个伪造的恶意网站上输入自己的用户名和密码等信息,这些信息就会反馈到攻击者手上。
此时,我们再看Campaign的后台,可以实时查看钓鱼邮件的统计信息 。
到此为止,这次实验就已经全部结束了。在这次实验中,成功完成了钓鱼测试并且获得了钓鱼邮件的数据信息。
四:防范建议
在做了这次钓鱼测试实验之后,我意识到了防范意识的重要性。我做的只是学号密码的盗取,而真正的钓鱼邮件是指利用伪装的电子邮件,欺骗受骗人将账号、口令等信息回复给指定的接收者,做一些以假乱真的网站迷惑人,会引导受骗人信以为真,输入银行卡或者银行卡号码、账号名称等,造成财产的损失。