关于邮件钓鱼那点事儿,记录一次邮件钓鱼演练的详细搭建过程
本文仅用于学习交流,切莫用于非法用途
关于邮件钓鱼
在大型企业边界安全做的越来越好的情况下,不管是 APT 攻击还是红蓝对抗演练,钓鱼和水坑攻击被越来越多的应用,记录一下邮件钓鱼应急演练模拟的整个过程。
准备工具
-
一台公网vps
-
Gophish
-
Ewomail
环境搭建
1、Gophish搭建
我的vps是centos7,直接下载就可以了
wget https://github.com/gophish/gophish/releases/download/v0.11.0/gophish-v0.11.0-linux-64bit.zip
找好目录直接解压就可以
unzip gophish-v0.11.0-linux-64bit.zip
解压后得到这些文件:
这里要注意一下,config.json里面有个参数要改(如果是本地使用可以不改)listen_url参数127.0.0.1改为 0.0.0.0
vi ./config.json
这里还要设置一下权限:
chmod +x gophish./gophish &
然后运行,注意运行后窗口不要关闭
./gophish
运行后是这个样子的,这个窗口不要关闭,第一次运行的时候,登录的用户名和密码会在这里,随机的,有一行是什么xxxxx admin password xxxxxxx。拿到后直接访问:
https://ip:3333(这里是htpps)
第一次登录需要强制修改密码,部署在公网建议删除默认用户名,使用强口令。
2、Ewomail搭建
官方是要求centos7/8系统,一步步跟着文档来就行:
http://doc.ewomail.com/docs/ewomail/install
不想安装centos也可以选择用docker来部署。网上很多教程这里都写得很模糊,这里浪费了很多时间,我尝试过用docker但是好像有点问题,代码还是贴出来吧,这里是修改过的可以直接复制。
apt install docker.io
docker search ewomail
docker pull bestwu/ewomail
创建并且启动容器:(把命令中mail.ewomail.com 替换成你自己的域名 mail.*.格式)
docker run -d-h mail.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/ \
--name ewomail bestwu/ewomail
我还是建议跟着官方文档来,一般不会出错哦。
安装后的常规配置
将你安装的域名,例如安装的域名时 xxx.com,就将这行加在服务器的hosts文件里 /etc/hosts
vi /etc/hosts
127.0.0.1 mail.xxx.com smtp.xxx.com imap.xxx.com
访问地址(将IP更换成你服务器IP即可)
邮箱管理后台:http://IP:8010 (默认账号admin,密码ewomail123)
邮件系统:http://IP:8000
忘记密码了可以查看官方文档,里面有找回方式,很简单
在这里添加钓鱼用的邮箱即可,也就是刚才创建的时候邮箱后缀名,也可以自己再添加邮箱域名
然后访问邮件系统:http://IP:8000即可登录邮箱
可以发一封邮件到公网邮箱测试是否可以正常发信
可以正常收到邮件表示搭建成功。
3、也可以使用其他企业邮箱
比如腾讯企业邮箱,是免费的,但是要去注册一个域名,1块钱搞一个相似的就可以了。
需要实名认证
钓鱼实战演练
1、Gohish功能介绍
下面功能模块顺序根据配置顺序排
回到gohish,启动服务,登录到后台,左边的栏目即代表各个功能,分别是Dashboard仪表板、Campaigns钓鱼事件、Users & Groups用户和组、Email Templates邮件模板、Landing Pages钓鱼页面、Sending Profiles发件策略六大功能:
功能 | 描述 |
---|---|
Dashboard | 仪表板,在此页面生成钓鱼事件,查看整体测试情况 |
Campaigns | 钓鱼事件,每次攻击前需要配置一次 |
Users & Groups | 用户和用户组(添加需要进行钓鱼的邮箱和相关基础信息) |
Email Templates | 邮件模板 |
Landing Pages | 需要伪造的钓鱼页面 |
Sending Profiles | 钓鱼邮箱发送配置 |
2、Sending Profiles
这里配置发送邮箱,用到刚才搭建的ewomail
都填好了以后发个测试邮件给自己公网邮箱试试,比如qq邮箱
可以正常收到邮件表示可以了。
3、Users & Groups
4、Landing Pages
配置伪造页面,即诱使“鱼儿”点击跳转到的假的钓鱼网站页面。
import导入效果,有些需要交换数据的是不会加载出来的
4、Email Templates
邮件模板配置
可以在邮箱里写好了然后导出源码,在这里直接导入,也可以自己写,例:
邮件导入,以Foxmail为例:
5、Campaigns
配置完以后可以看到这里的任务:
6、Dashboard
这里可以查看所有任务的情况,包括用户打开邮件、点击链接、数据提交之类的统计,也可以到Campaigns点击单个任务查看详情。
踩过的坑
尽量自己搭建邮件服务器,搭建邮件服务器选择方式最好是用centos7根据官方文档照着做,docker部署我搞了2次报错就放弃了。
公网搭建环境下,gophish后能访问ip:80的404页面代表部署成功,如果没法访问ip:3333端口可能是防火墙的原因,可以尝试防火墙开放3333端口:
查看防火墙状态:
systemctl status firewalld或者 firewall-cmd --state
查看端口:
firewall-cmd --permanent --list-port
开启端口:
firewall-cmd --zone=public --add-port=3333/tcp --permanent
重启防火墙:
firewall-cmd --reload 或者 service firewalld restart
如果是用其他邮箱,如腾讯邮箱的话,25端口好像是用不了,在gophish填服务器的时候要填465端口。企业邮箱下面还是填用户名和密码,如果是普通QQ邮箱,则需要去邮箱获取smtp的授权码。
一点点建议(copy来的)
-
加强账户口令整改
定期提醒员工修改过期密码;定期梳理邮箱账户,对长期未使用的账户进行封禁;定期进行口令安全测试,避免弱口令。 -
安全意识提升
通过多种方式不断进行信息安全意识宣传(宣传刊物+培训+钓鱼测试+警示)。 -
定期进行安全测试
定期进行不同部门具有针对性场景的不同方式的钓鱼测试活动,通过检验来促进安全意识提升。
THE END