实验整理(一)——钓鱼邮件攻击实验_qq邮箱结合gophish-程序员宅基地

技术标签: linux  网络安全  

声明

        本文仅限于技术讨论和分享,是之前所做的一个课程设计整理,严禁用于非法途径。如果利用本文所提供的信息造成了不良结果,与本文作者无关。

一.实验介绍简介

        本次课程实验中主要是通过发送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代码如下:

<html>
    <head>
        <title></title>
    </head>
    <body>
        <h3>
            请输入学号&amp;密码,验证后系统将自动跳转到密码修改页面
        </h3>
        <form action="" method="post" name="input" id="input">
            学号: <input name="user" type="text"><br>
            密码: <input name="password" type="password"><br>
            <input type="submit" value="提交">&nbsp;
        </form>
    </body>
</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的后台,可以实时查看钓鱼邮件的统计信息 。

 到此为止,这次实验就已经全部结束了。在这次实验中,成功完成了钓鱼测试并且获得了钓鱼邮件的数据信息。

 四:防范建议

        在做了这次钓鱼测试实验之后,我意识到了防范意识的重要性。我做的只是学号密码的盗取,而真正的钓鱼邮件是指利用伪装的电子邮件,欺骗受骗人将账号、口令等信息回复给指定的接收者,做一些以假乱真的网站迷惑人,会引导受骗人信以为真,输入银行卡或者银行卡号码、账号名称等,造成财产的损失。

  1. 技术层面,部署专业邮件安全网关,实时识别和拦截骗术套话、恶意链接、病毒附件,结合威胁情报,将攻击IP、恶意邮箱加入黑名单。边界技术防护是企业的第一道防线。
  2. 管理层面,加强安全意识培训,多开展内部演练,提升员工对钓鱼邮件的甄别和防范能力:不要将企业邮箱用于第三方平台注册,减少暴露面;不要轻信邮件内容,提供敏感信息时要先电话确认;不要点击可疑链接,不要去扫邮件中的二维码;不要轻易打开运行附件,电脑要安装杀毒软件等。

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_57882885/article/details/125430861

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

推荐文章

热门文章

相关标签