【实战】记一次企业钓鱼演练

admin 2023年3月13日01:56:46评论43 views字数 6773阅读22分34秒阅读模式


作者:小王
原文链接:https://xz.aliyun.com/t/11400
排版:释然IT杂谈
前言:

钓鱼演练伊始:

公司要求做一次钓鱼演练,辗转后任务落我身上,两眼一抹黑,内心苟苟且且,但一想到今年七月份马上发布的RTX40系,我这等等党铁定必然绝对是要剁手,想到这儿,我这个打工人立马就打了鸡血动力十足。

兵马未动,粮草先行--→先有个大致思路再行动

一、思路:
着手去做这件事时候思路很乱,为此也是踩了不少坑,问了很多师傅(得重点谢谢志强大佬),看了一些文章,然后水了这篇文,错误就不写了,踩得坑会提示一下。

思路:

  1. 钓鱼演练核心是gophish,此平台联动邮件服务器可以做到对邮件的统筹下发,如果邮件中包含钓鱼链接,他还能够锁定个人并跟踪监测到该员工:“是否查看邮件”,“是否点击链接”,“是否输入数据”,并且图形化得展示出来,非常直观,平台需要对外可访问,涉及beian问题,所以还需要一台外网vps。

  2. 钓鱼一般分两种,水坑钓鱼(广撒网),鱼叉钓鱼(精准垂钓),不管怎么钓,常用的方式就是邮件钓鱼,涉及到发邮件,我们一般可以采用自己搭建邮件服务器,或者用在线发邮件,在线服务为了防止垃圾邮件泛滥会限制每日发送,大约一天上限30封左右,每发五封也会有一个冷却cd,有时候邮件会丢失,所以当你面对一个大群体时候请直接选择搭服务器。

  3. 搭建邮件服务器时候需要准备一个近似的域名,比如百度邮箱可能是[email protected],你就申请个paidu.com,或者biadu.com,域名申请可以用Namesilo(便宜),godaddy(贵),或可以用Freenom(免费),申请方法可以自己搜一下。

  4. 国内外很多厂商都把SMTP对应的25端口毙掉了,也是为了限制垃圾邮件泛滥,我这里用一台虚拟机搭建邮件服务器,再通过frp把25映射到vps上,这样我们邮件服务器问题就解决了


环境:

  1. 一台国外的vps,我这边选用了Ubuntu
  2. 一台新的centos虚拟机,因为ewomail邮件服务器要求搭建环境干净。
  3. 工具:
    gophish(https://github.com/gophish/gophish)、
    ewomail邮件服务器(https://github.com/gyxuehu/EwoMail)
    frp(https://github.com/fatedier/frp)
    mip22(https://github.com/makdosx/mip22)
  4. 域名一枚,用了godaddy
二、工具安装与调试:


1.gophish搭建

下载解压缩,解压缩到当前一个叫gophish文件夹中
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  -d gophish
给予文件777权限,cd进目录后我们可以看到config.json,这个是gophish配置文件,
chmod -R 777 gophish
cd gophish
ls

【实战】记一次企业钓鱼演练

解读一下配置文件,gophish会主起两个端口,一个3333是后台管理端口,我们把127.0.0.1改成0.0.0.0方便我们从公网发起访问,第二个端口为80,我这边因为还起了其他服务怕端口有冲突,所以改成了0.0.0.0:8888。大家改配置之前可以先netstat
-anp 看下端口是否冲突,否则启动时候会报错
vim config.json
【实战】记一次企业钓鱼演练

启动gophish,运行gophish,运行后注意运行界面会显示一个password参数,是后台登录密码,默认账号是admin,此时我们访问:https://服务器ip:3333 /注意是https/

./gophish
如图,填写密码即可登录

【实战】记一次企业钓鱼演练

随后我们继续访问另一个页面:https://服务器ip:80 ,注意依旧是https,如果配置文件改了端口,就按照改了的来,如下图显示即为成功。
【实战】记一次企业钓鱼演练
到此,我们的gophish钓鱼平台即搭建完毕,具体操作使用后续讲解


2.ewomail邮件服务器搭建

环境按照ewomail要求选择了centos,因为记忆中本地没有centos镜像,跑到centos官方下载镜像源,看到很多国内下载节点,一开始很欣慰,但实际测试下来发现最快的清华源也就1.2m/s,一想到我这千兆网,憋屈,龟速了15分钟后,打开everything搜了下centos,!我*....【实战】记一次企业钓鱼演练
很好,我们先装一下centos,导入vm启动,建议内存给2g以上,这里我推荐大家选一下GUI,顺路点上邮件服务器功能【实战】记一次企业钓鱼演练
【实战】记一次企业钓鱼演练
磁盘可以自行配一下,其他默认就好了,安装好后我这边遇到一个问题就是ping主机不通但是反之可以的问题,且没法访问外网,关了主机防火墙后可以ping通了,但是还是没法访问外网,我只好给他设了一个静态地址,便可以通外网了,具体操作如下:
vi /etc/sysconfig/network-scripts/ifcfg-ens33

/修改之前建议保留一份原始配置,具体配置文件如下/

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="1f39ba1e-e095-48dd-ab0e-81cf76f2103f"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.31.213   /*静态地址*/
NETMASK=255.255.255.0
GATEWAY=192.168.31.1    /*网关,即所使用的网卡地址*/
DNS1=8.8.8.8
ZONE=public
~

【实战】记一次企业钓鱼演练

关闭selinux

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

【实战】记一次企业钓鱼演练

安装伊始

yum -y install git
cd /root
git clone https://gitee.com/laowu5/EwoMail.git
chmod -R 777 EwoMail
cd /root/EwoMail/install

/这里安装会用到域名,作用是邮件服务器后缀,题外话,如果是内网的话,大可不必再买域名,搭建个dns服务器就可以,外网的话,不申请也行,可以做到发出去,但是没办法接收/

sh ./start.sh xxxx.com

我这儿报错:installation failed,dovecot is installed,查明原因是因为已安装的dovecot导致冲突,解决办法比较简单直接干掉就好了:

yum -y remove dovecot.x86_64

ps:如果在执行安装时报错 ewomail-lamp install failed 解决办法:./start.sh xxx.com -f
【实战】记一次企业钓鱼演练

再跑一次安装程序,需要敲个 y,大概五七分钟,看了一下以太坊降没降,安装就好了,显示红框就是成功了。【实战】记一次企业钓鱼演练

简单总结一下ewomail的一些服务页

访问地址(将IP更换成你的IP即可)
邮箱管理后台:http://IP:8010 (默认账号admin,密码ewomail123
ssl端口 https://IP:7010
web邮件系统:http://IP:8000
ssl端口 https://IP:7000
域名解析完成后,可以用子域名访问,例如下面
http://mail.xxx.com:8000 (http)
https://mail.xxx.com:7000 (ssl)
web数据库管理页面:https://IP:8020/

/查看安装的域名和数据库密码:cat /ewomail/config.ini /
【实战】记一次企业钓鱼演练

到这一步时,安装已经完成了,还有一个事情要做,添加个解析,把下边那一条加进去,这里我认为vps上也可以加一下

vim /etc/hosts
127.0.0.1   mail.xxxx.com smtp.xxxx.com imap.xxxx.com

我们访问一下后台,默认账号密码admin/ewomail123,进去先改一下密码。【实战】记一次企业钓鱼演练

已经绑定好后缀域名了,我们首先添加邮箱用户,这块可以自己看着起名,[email protected],或者[email protected],设置好账号密码后可以去http://IP:8000登录看看,到此我们的搭建任务就结束了,联动调试后续讲解。

【实战】记一次企业钓鱼演练

有时候我们搭建好了发现需要换域名的办法,需要替换两个地方,第一个是web管理平台绑定的域名,第二个是配置文件如下图,马赛克部分便是需要改的域名:

vim /ewomail/www/ewomail-admin/core/config.php

【实战】记一次企业钓鱼演练


3. mip22搭建

先简单介绍一下mip22这个工具,集钓鱼网页、邮件服务、隧道技术于一身,通过网页访问可以捕获不少东西,是一套完整的网页钓鱼工具,但是缺少一点图形化展示,数据结果不够直观,不适合做演练,也因为我菜(根本原因)。这里我们主要是用他的钓鱼页面,可以直接套进gophish使用。

【实战】记一次企业钓鱼演练

好的,话不多说我们直接上手

sudo su 
cd ~
git clone https://github.com/makdosx/mip22.git
chmod -R 777 mip22 
cd mip22
bash mip22.sh
启动后如图,【1】Attack Default:是他的内置的钓鱼页面,九十多个,网页惟妙惟肖,可以直接用于钓鱼,而且最重要的整体格式都是<form method="post".....><....type="submit"....>...,因为gophish只有在这种样式下才能获取到钓鱼网页中的数据。

/*不得不说一下我的血泪史,我一开始用gophish克隆网页,无数网站中挑了一个合适的网页克隆,然后调完内容调样式,有的还能用他的样式,有的还得自己写,调完样式换图片,最后咔咔上线,点击上传发现没数据,师从百度,一问发现是表单问题,行我改,改完发现以前的样式不能用了,还得从头再来,我 **。

【实战】记一次企业钓鱼演练

我们选“1”,进去后挑一个自己中意的,不知道选中的是什么样式对吧,请看下一步

【实战】记一次企业钓鱼演练

哈无所谓中意,可以随便选一个,回车,这时候需要注意一下,选好克隆网页后之后,他会让你选一下是本地访问(localhost),还是对外(localhostrun),或者cf(cloudflared)还有ngrok,我们选第二个,他生成的链接是一个临时链接。这边需要注意下,有时候选择完没有生成链接的话,需要在你敲”2“之后,手动敲一个yes ,再回车,原因可能是有的字段没显示出来,操作如图

【实战】记一次企业钓鱼演练

生成链接成功
【实战】记一次企业钓鱼演练

访问测试,成功抓到访问信息,IP地址,设备信息等,如果你属于提交数据的话,也会显示出来,然后会自动跳转到真的官网,数据会记录在两个txt文本中。

【实战】记一次企业钓鱼演练

我们的搭建与调试就结束了

三、联动与利用:


1.邮件服务器与gophish

邮件服务器是部署在内网的,我们想让他跑起来需要映射出去,这里我们用到frp去做一个映射,需要在vps与虚拟机上都安装,代码如下:
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
frp分客户端和服务端,vps是服务端server,虚拟机是客户端client。双方需要配置的文件分别是frps.ini,frpc.ini,我们先配一下服务端,比较简单。
vim frp_0.42.0_linux_amd64/frps.ini

[common]
bind_addr = 0.0.0.0
bind_port = 7000
bind_udp_port = 7001
kcp_bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_addr = 0.0.0.0
dashboard_port = 7777   /*管理页面*/
dashboard_user = admin
dashboard_pwd = !@#$QWER....

【实战】记一次企业钓鱼演练

启动服务端服务,调试完成后可以nohup ./frps -c frps.ini & 后台运行。
./frps -c frps.ini
客户端配置, 各位在配置映射端口时候,建议netstat -anp先查一下你的vps端口使用,别冲突了,然后开始配置:
[common]
server_addr = 你的vps
server_port = 7000
[smtp]
type = tcp
local_ip = 127.0.0.1
local_port = 25
remote_port = 9999  /*大于1000的端口不冲突的都可以*/
[web1]
type = http
local_ip = 127.0.0.1
local_port = 8010
remote_port = 8010
custom_domains=mail.xxx.com:8010 /*邮件服务器,xxx.com是你的邮件服务器域名*/
[web2]
type = http
local_ip = 127.0.0.1
local_port = 8000
remote_port = 8000
custom_domains=mail.xxx.com:8000

【实战】记一次企业钓鱼演练

启动服务端,调试完成后可以nohup ./frpc -c frpc.ini & 后台运行.
./frpc -c frpc.ini
这时候我们已经可以通过vps的IP去访问邮件服务器了,可以尝试VPSIP:8000/8010,测试访问,可以直接登陆进去给自己的qq邮箱发邮件测试一下,域名做dns解析后,访问的时候便可以用域名访问。接下来我们就需要配置gophish了,配置前我先简介一下涉及到的功能模块。

【实战】记一次企业钓鱼演练

我们先看发送配置,一些重要的点:from中:”别名[email protected]“写法是带别名的写法,X-mailer 是发送端名字,改一下可能会绕过一些拦截规则,host便是邮件服务器映射的服务器和端口,如果dns解析了也可以写smtp.xxx.com:端口。

【实战】记一次企业钓鱼演练

配置完可以点左下角测试发送邮件。然后我们来配置一下文案,有一些需要注意的点 :{{.URL}}可以自动替换为钓鱼链接。打对勾处会自动添加一个图片,当打开邮件时候会自动加载图片用以反馈邮件状态,outlook禁止图片加载,可能会影响数据读取。需要做超链接的话,可以在其他邮件客户端设置一个包含超链接的邮件,再导入gophish,平台会自动把超链接转换为钓鱼网页,导入方法:把导出的eml文件以文本打开,复制文本到ImportEmail,之后想修改文案的话,在HTML模式下修改即可

【实战】记一次企业钓鱼演练


2.mip22与gophish

mip22功能刚刚简单介绍了,我主要是用它自带的网页,减少工作量,生成网页之后复制链接到gophish这里直接克隆一下,如图

【实战】记一次企业钓鱼演练

克隆好之后会出现在你的html框中,然后自定义改一些格式还有css,加一些表单也都可以,我这里不演示了,我们可以通过点击source来查看修改后的页面,这两个框记得打对勾,分别是抓取数据和抓取密码,这些抓取的数据最终都会出现在数据面板中【实战】记一次企业钓鱼演练


3.整合利用

事已至此,我们只差小白兔来上钩了,新建组,在组中添加小白兔邮箱,它自带导入模板,如果数量大,可以用导入。【实战】记一次企业钓鱼演练
一切准备好,我们便可以钓鱼了,新建事件,配置一下我们的参数就启动吧,图中少写一个字,什么时候发送完。不想截图改了,手动狗头。
【实战】记一次企业钓鱼演练


4.猎杀时刻

一个字,等。gophish在发送邮件时候,会给每一个邮箱用户启一个rid,rid是唯一的,所以谁点击,谁上传,都可以追踪到,最后锁定到安全意识差的小白兔身上。
【实战】记一次企业钓鱼演练

总结:

还是有点问题没考虑好,就是发送邮件时候,没考虑拦截机制,解决办法,邮件服务器映射IP还有邮箱名多换几个,发送数量匀一下,发送速度调慢,gophish在新建事件时候配合send email by,发快了容易被拦截。


声明:

仅作技术交流,请勿用于非法用途。


【实战】记一次企业钓鱼演练

【实战】记一次企业钓鱼演练

【实战】记一次企业钓鱼演练

原文始发于微信公众号(释然IT杂谈):【实战】记一次企业钓鱼演练

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月13日01:56:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【实战】记一次企业钓鱼演练http://cn-sec.com/archives/1228312.html

发表评论

匿名网友 填写信息