15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 实战 | 网络钓鱼案例,从制作到实施

实战 | 网络钓鱼案例,从制作到实施

时间:2023-06-23 22:57:01 | 来源:网站运营

时间:2023-06-23 22:57:01 来源:网站运营

实战 | 网络钓鱼案例,从制作到实施:
今天给大家分享一个自己钓自己的网络钓鱼攻击案例,我将从创建到实施做一个完整的讲解,其中会使用 docker,更方便的搭建环境,主要用到的工具包括:Gophish(一个钓鱼框架)、Mailhog(邮件发送服务)。
攻击活动


这里使用的钓鱼鱼饵是 pdf,将恶意的 js 代码注入到 pdf 文件,然后创建一个虚假登录网站,让受害者打开虚假网站,输入账号密码,或者下载附件执行恶意 js 代码。

第一步:创建恶意 pdf 文件

使用到的开源工具 JS2PDFInjector,项目地址:

https://github.com/cornerpirate/JS2PDFInjector
可以将一个简单的恶意 js 注入到 pdf 文件:







这个 js 的功能是弹出警告框,作为演示,代码:

app.alert("alter alert");使用方法:

java -jar JS2PDFInjector-1.0.jar $(pwd)/sample.pdf app.js






注意:参数中需要提供 pdf 的绝对路径,否则会报错,如图:







第二步:创建网络钓鱼服务

使用下面的 docker 配置文件,启动 docker 服务:

services:启动服务:








gophish 服务使用的是 3333 端口,默认用户名密码为 admin/gophish。由于 docker 每次启动时密码都不同,所以无法使用默认密码登录,可以在控制台看到密码:

docker run -it --rm -p 3333:3333 gophish/gophish






然后使用获得的密码登录系统:







然后首次登录需要修改密码:







登录系统之后:







第三步:自建 SMTP 服务

我们使用 mailhog 来创建 SMTP 服务,启动服务之后,绑定的地址是 0.0.0.0:1025:







可以使用 GUI 登录:







第四步:配置 gophish

1、创建发送的配置

phish-test@mail.com 是发送邮件的邮箱地址,填写 SMTP 的地址 0.0.0.0:1025 :







然后发送测试邮件,我用来接收测试邮件的地址是 hello-testme@mail.com:







点击发送按钮,看到一个报错信息:







如果我们不是使用 docker 来创建服务,可能不会存在这个问题,因为两个服务不在同一个 docker 中运行,无法链接 smtp 服务器,我们必须使用 IP 而不是绑定的本地地址。

如果两个 docker 在桥接网络中,他们是可以相互通信的,首先要注意钓鱼服务创建的网络 ID:

docker network ls






接下来查看其分配的 IP 地址,我们需要知道 mailhog 的 IP :

docker network inspect fcff01c8be6a






上图是分配的网段信息,向下翻找出 mailhob 服务的 IP:







然后返回之前的邮箱配置,再次尝试:







重复之前的测试过程发现成功发送:







去邮箱查看是否收到邮件:







接下来保存配置文件,进行后续的操作。

2、制作虚假登录页

这个页面是展示给受害者查看的,需要结合一些用户感兴趣的内容,才能提高成功率,比如彩票中奖、热点话题、紧急密码重置页面等。

作为攻击者,如果制作的登录页面太假,受害者将不会上当,按你的期望执行,我这里做了一个简单的登录页面,然后在用户登录之后,将会记录它的账号密码信息,源码:

<!DOCTYPE html>








使用 ngrok 创建一个隧道,可以设置在公网上,供任意人访问:

ngrok http 9002






我们还需要在本地创建一个服务,否则无法远程连接到本地:







本地使用 python 创建 http 服务:










我们可以通过导入网站的方式,也可以通过复制源代码的方式新建页面:










导入之后,就可以看到页面的展示:







在增加一个登录完成之后,重定向之后的页面:







页面内容如图:







保存之后,你也可以对其进行修改或者删除:







3、制作电子邮件内容

目标是否点击你的钓鱼链接,取决于你的邮件内容是否有足够的吸引力,这个环节失败,那么整个钓鱼过程就失败了,为了验证技术,我简单创建了一个,在实际钓鱼中,一定会失败,因为很假:







{{.URL}} 会自动替换为 gophish 的服务器 IP,{{.FirstName}}会自动替换为目标邮箱的名字。

接下来可以添加一个图片,用来记录用户是否打开邮件并查看内容,何时打开的:







这里我已经创建了一个电子邮件模板:







忘记添加附件了,我们来编辑一下,点击增加文件的功能,添加恶意附件:







4、用户和组

我们可以在 gophish 上导入受害者列表:







我们添加了一个测试用户 john wick,可以修改,也可以删除。

5、攻击尝试

创建一个新的钓鱼活动,选择我们之前创建的电子邮件模板、登录页面和用户组,用户访问的 URL 是 gophish 的监听端口,服务器 IP 是 172.18.0.2,直接用 IP 可能不那么可信,可以注册域名并配置解析,这里我简单用 host 来修改:







由于邮件模板中使用的是 {{.URL}},所以需要配置 gopher 的监听 URL:







启动攻击之后,可以在仪表盘看到邮件发送成功,是否打开邮件,是否点击链接等行为:







我们再次进入 mailhog 的控制面板,可以看到收件箱有一封电子邮件:







打开之后,内容如图:







我们在 MIME 中可以看到我们添加的附件:







下载 pdf 附件,当我们打开邮件内容中的 URL 时,会看到登录页面:







填写信息后登录:







会跳转到我们预定义好的页面:







再来看看仪表盘,我们看到信息有变化,记录了详细的信息:







点击查看详情的按钮:







结果如图:







我们看到了获得的用户名和密码,接下来尝试打开我们制作好的 pdf,发现 js 执行成功,弹出了警报框:







当然,执行 js 不只是这个,还能做很多其他的事儿,需要大家自己去拓展。脚本中还有链接远程服务器的代码,执行如图:







点击允许之后,会在 burp 的协作服务器收到 DNS 和 HTTP 的请求记录:







这就是一次完整的钓鱼攻击活动记录。

如何分析

分析钓鱼邮件或者附件,需要在沙盒中完成,不然自己就成了受害者,偷鸡不成蚀把米。

查看钓鱼邮件分析可可疑内容

1、分析来源

2、尝试查找电子邮件的来源,例如发件人的 IP,分析电子邮件标题

两个消息头分析的网站:

https://toolbox.googleapps.com/apps/messageheader/analyzeheader
https://mha.azurewebsites.net/
3、提取分析 URL

https://gchq.github.io/CyberChef/#recipe=Extract_URLs%28false%29Defang_URL%28true,true,true,%27Valid%20domains%20and%20full%20URLs%27%29&input=aHR0cDovL2dvb2dsZS5jb20
4、检查可疑 URL 或 IP 地址的 DNS 记录

5、截取可疑 URL 或 IP 地址的屏幕截图

https://www.url2png.com/
6、检测 URL 或者 IP 是否已被加黑

https://www.ipvoid.com/ip-blacklist-check/
7、检测 URL 或者 IP 是否存在恶意

https://www.virustotal.com/gui/home/upload
8、下载附件,上传分析,看是否是已知威胁

https://www.virustotal.com/gui/home/upload
https://talosintelligence.com/talos_file_reputation
9、最后使用手工或者工具分析恶意软件

以 pdf 为例做恶意分析

REMnux 是一个用于逆向工程和分析恶意软件的 Linux 工具包。REMnux 提供由社区创建的精选免费工具集合。分析师可以使用它来调查恶意软件,而无需查找、安装和配置工具。

使用 docker 来安装部署该工具:

docker pull remnux/remnux-distro进入 docker 之后:














首先检查 pdf 是否具有正确的 magic 数:







检查方式,可以参考:

https://en.wikipedia.org/wiki/List_of_file_signatures
接下来使用一个名为 pdfid 的工具来分析 pdf 文件:

pdfid lastone.pdf






可以看到 pdf 中包含了 javascript 内容,而且不能打开 pdf,因为 /OpenAction 也是 1 ,这个意思是打开 pdf 文件时会执行一些操作。其他内容的意思:

/Page - pdf 的页数我还发现一个工具 peepdf 比 pdfid 更好,因为 peepdf 可以提供相同的信息:


peepdf lastone.pdf






接下来,我们提取 pdf 中的 js 代码,首先将下面的内容保存到 extract.txt:

extract js > extracted.txt然后执行命令:


peepdf -s extract.txt malicouspdf.pdf






到这里,整个分析就结束了。






关键词:实施,网络,实战

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭