【Ewomail-Gophish钓鱼邮件测试】
公司准备进行企业内部钓鱼邮件测试,了解企业员工网络安全意识,由此搭建钓鱼邮件实验平台简单模拟,为项目实施提供思路。
一、前言
公司近日准备进行企业内部钓鱼邮件测试,了解企业员工网络安全意识,由此搭建钓鱼邮件实验平台简单模拟,为项目实施提供思路。
实验主要用到两个开源工具Ewomail和Gophish
EwoMail作为开源邮件服务器,安装在Centos系统;GoPhish作为开源网络钓鱼系统,安装在Ubantu系统
EwoMail GitHub地址:https://github.com/gyxuehu/EwoMail
GoPhish GitHub地址:https://github.com/gophish/gophish/releases
二、安装EwoMail邮件服务器
1.命令:
yum -y install git
cd /root
git clone https://gitee.com/laowu5/EwoMail.git
chmod -R 777 EwoMail
cd /root/EwoMail/install
sh ./start.sh hptmm.com
这里安装会用到域名,作用是邮件服务器后缀。我们可以不需要购买域名,这里我们先随意使用 hptmm.com 作为后缀。只是这样的话只能发送邮件,无法接收邮件,在钓鱼这个应用场景下,我们不需要接收邮件。
如果你有自己的域名也可以设置为自己的域名,配置好IP地址解析即可正常使用。
安装完成后
访问地址(将IP更换成你的IP即可)
邮箱管理后台:http://IP:8010 (默认账号admin,密码ewomail123)
邮箱管理后台ssl端口 https://IP:7010
web邮件系统:http://IP:8000
web邮件系统ssl端口 https://IP:7000
web数据库管理页面:https://IP:8020/
2.这里要注意:
要访问web邮件系统和其他数据库系统的话,要修改hosts文件解析
命令:
vim /etc/hosts
添加
127.0.0.1 mail.hptmm.com smtp.hptmm.com imap.hptmm.com
3.然后登录邮箱服务器创建账户
同时也可以在邮箱域名处修改域名,达到仿真效果
接着用创建好的用户去登录web邮件系统
至此EwoMail邮件服务器就搭建好了
三、安装GoPhish网络钓鱼系统
1.根据上面的项目地址下载安装包,打开kali到根目录解压
unzip gophish-v0.11.0-linux-64bit.zip -d gophish
2.修改配置文件
vim config.json
这样的话,我们在虚拟机搭建后,就可以在本机通过https://IP:3333去访问了
3.增加gophish权限
chmod 777 gophish
4.运行,访问管理界面
./gophish
注意要用https协议,第一次登陆时的密码时随机生成的,就在运行窗口的前面几排,注意看username,password单词。我这里是后面登陆了,就没有了。
成功登陆后:
至此GoPhish网络钓鱼系统搭建完成
四、钓鱼邮件测试
1.gophish面板
2.设置sending profiles,邮件发送设置
测试邮件发送
这里不得不说一个悲伤的消息,由于我发的邮件可能过多,应该是被拉入黑名单了,不能发送邮件了
没有发送成功在邮件系统会搜到这样一封邮件
更新:
后面查原因,不是因为拉黑了,错误原因:10024端口跑的服务主要用于ewomail中反垃圾反病毒作用,然而docker镜像中没有集成,所以会无法接收到邮件。
解决方法:
注释 /etc/postfix/main.cf中的
// 在最下面
content_filter = smtp-amavis:[127.0.0.1]:10024
还有可能会遇到下面这个问题:
解决方案:
把这个配置加到/etc/postfix/main.cf末尾就可以了
smtp_host_lookup = native
那现在就先用之前的图吧,正常测试你的输入的qq会收到邮件
总之这东西被拉黑的几率蛮大
但是你也可以使用的你另一个qq开启smtp服务,进行授权测试,参考链接:实验整理(一)——钓鱼邮件攻击实验
但这样就不能伪造了,总之除了后续项目的话肯定还是使用自己的服务器和授权的域名比较好
3.创建邮件文案
这个可以随便设置,自己编辑,可以先编辑好再发送给另一个qq号,再复制邮件原文过去
选择import 导入即可
Envelope Sender:设置邮件发送人,这里填写的并非是真实的发送者,而是随意伪造的邮箱,可更好的伪造真实邮箱
4.设置钓鱼页面
这里就是你自己构造一个提交页面,通常就是用户名和密码,将html代码粘贴在这儿。
html代码里必须要含有标签,同时form 标签内的属性只保留两个。action 必须为空。
<form method="post" action="">
redirect to表示你提交数据后调转到哪个页面,这里其实随便,我是构造了一个返回404的错误页面,诱导用户再次点击输入账户密码的页面。
可以分享一下代码和效果图
钓鱼页面代码:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>企业微信登录</title>
<style type="text/css">body {
font-family: Arial, sans-serif;
text-align: center;
padding: 50px;
}
h1 {
font-size: 24px;
color: #333333;
margin-bottom: 20px;
}
.login-form {
display: inline-block;
text-align: left;
border: 1px solid #dddddd;
padding: 20px;
background-color: #f5f5f5;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
font-weight: bold;
margin-bottom: 5px;
}
input[type="text"],
input[type="password"] {
width: 100%;
padding: 8px;
font-size: 14px;
}
.submit-btn {
display: block;
width: 100%;
padding: 10px;
font-size: 16px;
font-weight: bold;
text-align: center;
background-color: #337ab7;
color: #ffffff;
border: none;
cursor: pointer;
}
.submit-btn:hover {
background-color: #286090;
}
</style>
</head>
<body>
<h1>企业微信登录</h1>
<div class="login-form">
<form action="" method="post">
<div class="form-group"><label for="username">用户名:</label> <input id="username" name="username" required="" type="text" /></div>
<div class="form-group"><label for="password">密码:</label> <input id="password" name="password" required="" type="password" /></div>
<input class="submit-btn" type="submit" value="登录" /> </form>
</div>
</body>
</html>
//写的很简单
效果图:
重定向页面代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404 Error</title>
<style>
body {
text-align: center;
padding: 50px;
font-family: Arial, sans-serif;
}
h1 {
font-size: 28px;
color: #ff0000;
}
p {
font-size: 18px;
color: #333333;
}
</style>
</head>
<body>
<h1>404 Error!</h1>
<p>账户或密码输入错误,请返回界面重新输入密码!</p>
</body>
</html>
效果图:
弄得都很简单,只是提供思路
5.添加用户和组
这个不用说了,很简单,也可以下载scv格式文件批量导入
6.发送钓鱼邮件,开始测试
首先QQ会收到邮件
然后点击链接跳转到钓鱼页面
提交信息后重定向到错误页面
此时gophish数据面板记录下了数据
测试成功
五、总结
大致的一个实验思路就是这样,如果在企业内部进行测试的话可以构造自己的邮件服务器,也就不需要域名和公网服务器,内部能够访问即可。
这里面仍然有些问题,比如很容易造成邮件退回发不出去,还有多种钓鱼形式可以探索,不仅仅局限于提交用户账号密码等。
更多推荐
所有评论(0)