钓鱼测试:EwoMail 邮件服务器搭建及使用教程


前言

在之前的文章中已经搭建好了 Gophis 钓鱼平台,本篇文章接着介绍如何搭建 EwoMail 邮件服务器,EwoMail邮件服务器配合Gophish钓鱼平台,可以高效完成钓鱼攻击测试。

0x01 Ewomail 系统介绍

EwoMail是基于Linux的开源邮件服务器软件,集成了众多优秀稳定的组件,是一个快速部署、简单高效、多语言、安全稳定的邮件解决方案,帮助你提升运维效率,降低 IT 成本,兼容主流的邮件客户端,同时支持电脑和手机邮件客户端。

0x02 EwoMail 部署环境

官方文档建议使用 centos7 安装 EwoMail 系统,并且要求是全新干净系统服务器,不能安装在已有的nginx、mysql的环境中,最低配置要求(服务器的最低建议配置)。

本文使用 VMware 虚拟机搭建 centos7 进行演示操作,镜像地址如下:

因为Gophish钓鱼平台适合搭建在Ubuntu系统上,而EwoMail邮件系统适合搭建在centos7上,两者系统冲突,在上一篇文章《Gophish 钓鱼平台搭建及使用教程》中我们在云服务器上搭建了Gophish钓鱼平台,现在只需要在本地VMware虚拟机使用centos7搭建好EwoMail邮件服务器后,将本地EwoMail邮件系统对应端口映射到云服务器公网IP上,即可实现在一个公网IP上同时使用Gophish平台和EwoMail邮件系统。

将centos7镜像下载到本地电脑,使用VMware虚拟机创建启动,建议内存分配2g及以上。

创建过程中,centos7需要安装邮件服务器功能,点击软件选择最小安装。

点击带GUI的服务器,选择电子邮件服务器,点击完成。

完成后开始安装,点击设置root密码。

软件安装完后重启,点击许可证同意,点击网络链接打开,完成配置。

接着根据提示又创建新账号,系统默认使用该新建账号登录centos7桌面,需要注销新建账号登录,切换root账号登录,方便后续操作。

centos7搭建完成后,设置关闭防火墙

# 查看防火墙状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

关闭selinux

vi /etc/sysconfig/selinux
将SELINUX=enforcing 改为 SELINUX=disabled

替换centos7的yum源,如果不替换的话,后续安装EwoMail会出现报错。

将yum源文件下载并传到centos7中,再执行下面命令进行覆盖原有的yum源。

cp repos/* /etc/yum.repos.d/

0x03 EwoMail 搭建教程

3.1 修改系统配置

将虚拟机centos7的hostname换成 mail.你的域名

hostnamectl set-hostname mail.luckysec.net

执行命令 vi /etc/hosts 编辑文件,把 luckysec.net 全换成你的域名。

3.2 下载运行程序

使用git下载EwoMail文件并运行程序。

yum -y install git
cd /root
git clone https://github.com/gyxuehu/EwoMail.git
chmod -R 777 EwoMail
cd /root/EwoMail/install
#下面的luckysec.net请换成你注册的域名
sh ./start.sh luckysec.net

注意:国内git克隆下载EwoMail可能会失败,这里有备用下载地址,下载完后手动传到虚拟机centos7里面,链接: https://pan.baidu.com/s/1PE8lJ0uVnQIVTzQYPVdAkQ 提取码: gq1f 。

如果遇到报错:installation failed,dovecot is installed,则使用下面的命令进行修复:

yum -y remove dovecot.x86_64

出现 complete installation 则表示安装成功。

3.3 服务端口映射

使用frp隧道工具将本地VMware虚拟机的邮件服务器smtp服务端口映射到云服务器公网IP上。

在本地虚拟机centos7和云服务器ubuntu上都要安装frp工具,两边执行以下操作下载好frp文件。

wget https://github.com/fatedier/frp/releases/download/v0.42.0/frp_0.42.0_linux_amd64.tar.gz
tar zxvf frp_0.42.0_linux_amd64.tar.gz

云服务器

本地虚拟机centos7

frp各配置文件作用:

  • frps:frp服务器端启动文件
  • frpc:frp客户端启动文件
  • frps.ini:frp服务器端配置文件
  • frpc.ini:frp客户端配置文件
  • frpc_full.ini:客户端全配置文件
  • frps_full.ini:服务器端全配置文件

frp分客户端和服务端,云服务器是服务端server,只需要配置的文件frps.ini;本地centos虚拟机是客户端client,只需要配置的文件frpc.ini

(1)云服务器Ubuntu上部署

服务端配置 frps.ini

vi frp_0.42.0_linux_amd64/frps.ini
# 编辑frps.ini文件内容如下
[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
kcp_bind_port = 7000
vhost_http_port = 8080
vhost_https_port = 443
token = EwoMail@frp

赋予执行权限: chmod -R 777 frp_0.42.0_linux_amd64
服务端启动程序方式一:./frps -c frps.ini
后台启动程序的方式二:nohup ./frps -c frps.ini &

云服务器Ubuntu

(2)本地虚拟机centos7部署

客户端配置frpc.ini

做钓鱼攻击测试的话一般用EwoMail邮件服务器来发送邮件就够了,只要将smtp服务端口、EwoMail前台系统端口、EwoMail后台系统端口,映射到公网IP即可,其他的端口可以不映射。注意:不要将本地虚拟机centos7的smtp服务25端口映射到云服务器公网IP的25端口,像国内阿里云或是腾讯云,对公网IP的25端口是默认禁止的,需要单独找云厂商开放,可以映射到其他未被占用的端口(例如:9999端口),不影响EwoMail发送邮件功能。

vi frp_0.42.0_linux_amd64/frpc.ini
# 编辑frpc.ini文件内容如下
[common]
server_addr = 云服务器公网IP
server_port = 7000
token = EwoMail@frp

[smtp]
type = tcp
local_ip = 127.0.0.1
local_port = 25
remote_port = 9999

[web1]
type = tcp
local_ip = 127.0.0.1
local_port = 8010
remote_port = 8010

[web2]
type = tcp
local_ip = 127.0.0.1
local_port = 8000
remote_port = 8000

赋予执行权限: chmod -R 777 frp_0.42.0_linux_amd64
客户端启动程序方式一:./frpc -c frpc.ini
后台启动程序的方式二:nohup ./frpc -c frpc.ini &

映射成功后,就可以使用云服务器公网IP访问EwoMail邮件服务器端口。

  • 前端系统:http://云服务器公网IP:8000/
  • 后端系统:http://云服务器公网IP:8010/

3.4 邮件后端系统

访问后端系统地址:http://云服务器公网IP:8010/

使用默认初始账号密码登录: admin/EwoMail123

在系统设置中设置邮件站点信息。

在邮箱域名处添加绑定域名。

在邮箱系统设置处绑定邮件服务。

在邮箱添加处新增邮箱用户的账号密码,用于前端系统登录。

添加成功后,页面显示用户列表。

3.5 邮件前端系统

访问前端系统地址:http://云服务器公网IP:8000/

使用后端系统创建的用户登录前端系统。

0x04 EwoMail 域名解析

目前主流的邮件服务器(例如:163邮箱、QQ邮箱等)都存在垃圾邮件和伪造邮件检测机制,为了避免EwoMail发送的邮件被接收方平台过滤掉,需要给Ewomail绑定的邮件域名增加合法的域名解析配置。

4.1 邮件伪造之 DKIM 配置

DKIM是一种防范电子邮件欺诈的验证技术,通过消息加密认证的方式对邮件发送域名进行验证。邮件发送方发送邮件时,利用本域私钥加密邮件生成DKIM签名,将DKIM签名及其相关信息插入邮件头。邮件接收方接收邮件时,通过DNS查询获得公钥,验证邮件DKIM签名的有效性。从而确认在邮件发送的过程中,防止邮件被恶意篡改,保证邮件内容的完整性。

在安装EwoMail邮件服务器的虚拟机centos7中,执行命令获取 DKIM 值。

amavisd -c /etc/amavisd/amavisd.conf showkeys

复制输出的信息,打开 http://www.EwoMail.com/list-20.html 整理 DKIM 信息。

然后在购买域名的云控制台上添加 DKIM 的域名解析。

然后等待10分钟后测试是否设置正确,执行测试命令:

amavisd  -c /etc/amavisd/amavisd.conf testkeys

命令结果显示pass则表示正确生效。

设置好 DKIM 的域名解析后,EwoMail发送的邮件就可以通过接收方邮件服务器的安全检测。

4.3 邮件伪造之 SPF 设置

SPF是为了防范伪造发件人地址发送垃圾邮件而提出的一种开放式标准,是一种以IP地址认证电子邮件发件人身份的技术。域名所有者通过在DNS中发布SPF记录来授权合法使用该域名发送邮件的IP地址。当在DNS中定义了域名的SPF记录后,为了确认邮件声称发件人不是伪造的,邮件接收方首先检查邮件域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录中,若包含,则认为是一封正确的邮件,否则认为是一封伪造的邮件并退回,或将其标记为垃圾/仿冒邮件。设置正确的SPF记录可以提高邮件系统发送外域邮件的成功率,也可以一定程度上防止被假冒域名发送邮件。

域名解析中SPF的IP4为EwoMail服务器所在的IP地址,可以在搭建EwoMail邮件系统的centos7虚拟机上执行命令 curl ifconfig.me 查看IP地址,如果有中继服务器,可以添加多个IP地址,格式如下:

v=spf1 a mx ip4:X.X.X.X ip4:X.X.X.X ip4:X.X.X.X ~all

然后在购买域名的云控制台上添加 SPF 的域名解析。

设置好 SPF 的域名解析后,等待一段时间生效,EwoMail发送的邮件就可以通过接收方邮件服务器的安全检测。

如果发件服务器的IP地址不在SPF记录里,那么发送给QQ邮箱或者163邮箱,即使发送成功了,QQ和163邮件官方也会出现“发送者邮件地址未通过验证,存在风险”的提示。

QQ邮箱风险提示

163邮箱风险提示

当只有发件服务器的IP地址在SPF记录里,发送给qq邮箱或者163邮箱,发送成功了才不会有任何风险提示。

QQ邮箱通过认证

163邮箱通过认证

4.2 邮件伪造之 DMARC 设置

DMARC是一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议,在邮件收发双方建立了邮件反馈机制,便于邮件发送方和邮件接收方共同对域名的管理进行完善和监督。DMARC要求域名所有者在DNS记录中设置SPF记录和DKIM记录,并明确声明对验证失败邮件的处理策略。邮件接收方接收邮件时,首先通过DNS获取DMARC记录,再对邮件来源进行SPF验证和DKIM验证,对验证失败的邮件根据DMARC记录进行处理,并将处理结果反馈给发送方。DMARC能够有效识别并拦截欺诈邮件和钓鱼邮件,保障用户个人信息安全。

可以使用 DMARC 工具直接生成域名解析值。

然后在购买域名的云控制台上添加 DMARC 的域名解析。

设置好 DMARC 的域名解析后,等待一段时间生效,EwoMail发送的邮件就可以通过接收方邮件服务器的安全检测。

4.4 邮件伪造解析配置汇总

注意:经过测试,域名设置解析后,163邮件平台更新域名解析的速度较快,而QQ邮箱平台可能需要等几个小时或者半天以上才更新域名解析。如果在QQ邮箱域名解析没更新之前使用EwoMail发送邮件,那么可能会被QQ邮件退信,或者直接进入QQ的垃圾邮箱里。因此在进行正式钓鱼攻击测试前,提前调整好域名解析,可以先拿QQ和163邮箱实验一下,确保发送的钓鱼邮件不会进入邮件垃圾箱,不会有风险提示信息。

结合EwoMail官方提供的域名解析模板,最终需要配置的域名解析列表如下。

0x05 EwoMail 使用教程

访问前端系统地址:http://云服务器公网IP:8000/ ,登录后端创建好的账号。

下面是一个可以测试你发出邮件是否为垃圾邮件匹配度的工具。

复制垃圾邮件测试工具提供的邮箱地址,使用EwoMail发送一封邮件。

垃圾邮件测试工具接收到邮件后,可以对你发送到邮件进行垃圾邮件匹配度。

EwoMail 邮件服务器搭建完毕,配合 Gophish 钓鱼平台发送邮件。
登录 Gophish 平台,在Sending Profile功能模块中配置 EwoMail 发件人邮件信息。

点击 Send Test Email 功能,填写受害者邮箱地址,发送测试邮件。

受害者邮箱成功接收到Gophsih钓鱼平台发送到邮件,且未被识别为垃圾邮箱。

至此,EwoMail邮件服务器搭建成功,配合Gophis钓鱼平台完成联动。

0x06 EwoMail 常见问题

6.1 EwoMail 忘记密码找回

如果忘记了EwoMail后端系统 http://云服务器公网IP:8010/ ,可以按照 EwoMail 官方的提供的方法找回。

6.2 EwoMail 服务重新启动

当虚拟机centos7重启,或者修改完EwoMail配置后想要生效,可以使用以下命令使EwoMail服务重启。

systemctl restart nginx php-fpm mysqld postfix dovecot amavisd

6.3 CentOS 虚拟机网络不通

本地VMware虚拟机搭建的 centos7 操作系统,在每次挂起或者切换网络的时候,centos7 操作系统容易出现断网的情况,可以检查一下右上角网络是否已连接,设置一下即可恢复网络。

参考文章


文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 本篇
钓鱼测试:EwoMail 邮件服务器搭建及使用教程 钓鱼测试:EwoMail 邮件服务器搭建及使用教程
EwoMail是基于Linux的开源邮件服务器软件,集成了众多优秀稳定的组件,是一个快速部署、简单高效、多语言、安全稳定的邮件解决方案,帮助你提升运维效率,降低 IT 成本,兼容主流的邮件客户端,同时支持电脑和手机邮件客户端。
2025-03-13
下一篇 
钓鱼测试:Gophish 钓鱼平台搭建及使用教程 钓鱼测试:Gophish 钓鱼平台搭建及使用教程
Gophish 是一个开源的钓鱼模拟平台,主要用于测试和评估组织的安全意识。它可以帮助安全团队模拟真实的钓鱼攻击,以识别潜在的漏洞并提高员工的安全意识。
2025-03-09
  目录