AI摘要:本文介绍了鱼叉式钓鱼攻击的步骤,包括目标选择、信息收集、伪造邮件和内容设计、钓鱼链接与页面创建、执行攻击并捕获数据、隐匿与持久化等,旨在帮助红队进行合法的渗透测试和网络安全研究。
免责声明:本文仅供合法的渗透测试和网络安全研究使用,请勿用于非法活动,否则后果自负。
一、鱼叉式钓鱼攻击概述
鱼叉式钓鱼(Spear Phishing)是一种高度定制化的社会工程攻击,攻击者通过收集目标的详细信息,伪装成目标信任的联系人或组织,发送特制的钓鱼邮件,诱导目标执行恶意操作,例如点击恶意链接、下载恶意附件或泄露敏感信息。
与传统的广泛钓鱼攻击不同,鱼叉式钓鱼攻击具有针对性,目标信息通常通过社交工程手段收集,攻击者会利用目标的兴趣、职务等个性化信息来制定邮件内容,从而提高攻击成功率。
我第一次了解到鱼叉式钓鱼是在AV-Comparatives 2022年度的测试环境中,它使用了以下场景进行测试(机翻):
1.这种威胁是通过鱼叉式钓鱼链接引入的。恶意二进制文件执行 x86 shellcode 以通过 http 打开 meterpreter C2 通道。
2.这种威胁是通过鱼叉式钓鱼链接引入的。恶意 JavaScript 文件执行 x64 shellcode 以通过 http 打开 meterpreter C2 通道。
3.这种威胁是通过鱼叉式钓鱼链接引入的。恶意混淆的 JavaScript 将 x64 shellcode 注入 Office 进程以通过 http 打开
meterpreter C2 通道。
10.这种威胁是通过鱼叉式钓鱼附件引入的。带有欺骗性文件扩展名的恶意二进制文件执行 Empire payload,以使用非标准端口通过 http 打开 Empire C2 通道。
11.这种威胁是通过鱼叉式钓鱼附件引入的。具有一些防御规避功能的恶意 JavaScript 文件可以通过控制面板应用程序执行恶意代码,并通过 https 打开一个到商业 C2 框架的 C2 通道。
12.这种威胁是通过鱼叉式钓鱼附件引入的。具有一些防御规避功能的恶意二进制文件通过 https 打开一个通向商业 C2 框架的 C2 通道。
在15个场景内,鱼叉式钓鱼占了整整6个,占比40%,可见其攻击的广泛性。且大部分APT组织在初期经常大规模使用。
二、鱼叉式钓鱼攻击的步骤
- 目标选择与信息收集
- 伪造邮件和内容设计
- 钓鱼链接与页面创建
- 执行攻击并捕获数据
- 隐匿与持久化
三、目标选择与信息收集
鱼叉式钓鱼攻击的成功依赖于对目标的精准分析和信息收集。攻击者通过多种方式获取目标的个人和工作相关信息,进而制定个性化的攻击计划。
1. 收集目标个人信息
攻击者需要通过公开信息源收集目标的个人信息。常见的信息源包括:
- 社交媒体:如 LinkedIn、Twitter、Facebook 等,通过这些平台了解目标的职位、职责、兴趣爱好、联系人的基本情况等。
- 公司网站:获取目标的工作职责、所在部门、办公地址、联系方式等。
- 行业报告和新闻:从行业相关网站、新闻报道中获取目标的工作进展、公司动态等信息。
工具推荐:
- Maltego:用于从公开数据中提取目标相关信息。
- theHarvester:收集目标的电子邮件、子域名、IP 地址等信息。
- LinkedIn:直接获取目标的工作历史和技能信息。
2. 分析目标的工作环境
通过信息收集,攻击者能够了解目标的工作环境和常用工具,包括:
- 常用的办公软件、企业邮箱系统(如 Outlook、Google Workspace)、云服务平台(如 Office 365、SharePoint 等)。
- 目标是否有过安全意识培训,是否使用 MFA(多因素认证)等安全措施。
- 目标使用的操作系统、浏览器、网络环境等。
工具推荐:
- Censys:扫描目标的公共资产,找出潜在漏洞。
- Shodan,FOFA:探测公司使用的网络设备和服务,寻找安全漏洞。
四、伪造邮件和内容设计
邮件是鱼叉式钓鱼攻击的最为核心部分。攻击者需要设计一封具有高可信度的邮件,使目标相信邮件是由可信的来源发送的。也是社会工程学的核心一部分。说白了,就是骗人(被打)
之前遇到过一个非法组织钓鱼的链接极其巧妙,刷新我的三观,简直了,举例做个演示(由于那次非法组织是针对某个企业的,所有举例中的域名是我编的):
dajuhdee.com
dajuhdee.com
veżfrvds.com;
vezfrvds.com;
ahwfeaef.com;
ahwfeaef.com;
这三组网址中有一个不一样哦,你一定看出来了吧(滑稽),这种类型的网址我试了下国内域名厂商是无法注册的,但在国外域名厂商是能够注册的,所以这种钓鱼方式就更加隐蔽了。
1. 伪造发件人地址
为了提高邮件的可信度,攻击者会伪装成目标信任的公司或同事。常见的伪造方式包括:
- 利用子域名伪造:例如,目标公司使用
example.com
,攻击者可能注册example-secure.com
或example-corp.com
来伪装成公司内部邮件。 - 邮件地址拼接伪造:通过改变邮件地址的拼写(如
support@compnay.com
改为support@compnany.com
)伪装成可信发件人。
工具推荐:
- GoPhish:开源钓鱼框架,支持伪造发件人地址和发送定制化邮件。
- Mail Spoofing Tools:如
sendmail
,可以伪造发件人地址发送邮件。
2. 设计邮件内容
根据收集到的信息,攻击者设计一封个性化邮件,通常包括以下几种形式:
- 伪装成内部通知:例如“请更新密码”、“账户异常登录检测”等。
- 伪装成财务部门的邮件:例如“请查看附件中的财务报表”、“请完成发票审核”等。
- 伪装成紧急安全警告:例如“您的账户存在安全风险,请尽快修复”等。
邮件内容示例:
主题:请确认您的账户安全
尊敬的 [目标姓名],
我们检测到您的公司账户存在异常登录行为。为了保障账户安全,请点击以下链接重置密码并确认您的身份:
[恶意链接]
如果您未进行此操作,请立即联系 IT 部门。
此致,
公司 IT 安全团队
邮件附件与恶意链接
攻击者可以在邮件中附带恶意附件或嵌入钓鱼链接,诱导目标执行恶意操作。常见的附件类型包括:
恶意 Office 文档(如 Word、Excel)附带宏脚本。
伪装成 PDF 的恶意文件。
恶意链接:将钓鱼链接嵌入邮件正文,诱导目标点击。
工具推荐:
Evilginx2:可以用于创建中间人钓鱼攻击,劫持用户的登录凭据。
Cloakify:将恶意链接进行伪装,减少被识别的风险。五、钓鱼链接与页面创建
一旦目标点击恶意链接,攻击者需要将其引导到伪造的钓鱼页面,获取其凭据或其他敏感信息。
- 创建钓鱼页面
钓鱼页面应该尽量模仿目标公司或常用服务的登录界面,常见的钓鱼页面包括:
伪造登录页面:例如伪装成 Google、Microsoft 365 或公司内部的单点登录页面。
伪造文件查看页面:例如伪装成 Google Drive、OneDrive 文件查看页面。
工具推荐:
Evilginx2:一个开源中间人框架,可以用来创建高仿的登录页面,并通过 HTTPS 捕获用户的凭据信息。
Modlishka:用于多协议钓鱼,模拟多个平台的登录页面,捕获用户凭据。
- 部署钓鱼页面
将钓鱼页面部署到攻击者控制的服务器,并确保该页面能够正常工作。为了防止被追踪,攻击者可以使用以下技术:
使用 CDN 隐匿真实 IP。
利用动态 DNS:通过频繁更换 IP 地址绕过防火墙和入侵检测系统。
工具推荐:
ngrok:提供一个临时的 HTTPS URL,用于部署钓鱼页面。
Cloudflare:隐藏攻击者真实 IP,保护钓鱼页面。
六、执行攻击并捕获数据
一旦目标点击邮件中的链接并访问钓鱼页面,攻击者就可以捕获目标的凭据或执行恶意软件。
- 凭据收集
通过钓鱼页面收集目标的用户名和密码,并在后台通过 Web 钩子或 API 进行数据上传。 - 执行恶意软件
如果邮件中包含恶意附件,目标下载并运行后,攻击者可以通过远程访问工具(RAT)获取系统控制权限。
七、隐匿与持久化
为了确保攻击成功,攻击者需要进行隐匿处理,并确保后续能够重新访问目标系统。
- 隐匿痕迹
删除钓鱼页面的访问记录和系统日志。
使用反向代理和 TOR 网络隐匿攻击源。 - 保持持久访问
通过 PowerShell 脚本或 Windows 任务计划实现持久化。
在目标系统中植入 WebShell,随时获取远程访问权限。
工具推荐:
PowerShell Empire:用于通过 PowerShell 脚本保持访问权限。
Netcat:通过创建反向连接保持对目标的远程访问。
问题:鱼叉式网络钓鱼看起来像什么(由Trend Micro的安全研究人员分享)
和传统撒大网,希望达到受害者数量最大化的网络钓鱼方式不同,鱼叉式网络钓鱼针对的是公司内部的个人或团体。电子邮件会包含目标对象的相关信息,想办法尽可能看起来真实。在大多数情况下,这些邮件不包含恶意软件,也不包含我之前提过的网络钓鱼邮件的特征。因此通常可以逃避大多数垃圾邮件和网络钓鱼过滤软件的检测。
如果你在安全或业务相关的博客上读过鱼叉式网络钓鱼,可能会让你认为这种攻击只限于公司内部的人。但趋势科技的垃圾邮件威胁研究员 – Jon Oliver 跟我分享了一些鱼叉式网络钓鱼的有趣案例,将会让你有新的想法。第一个是来自 Verizon 的通知邮件,第二个似乎是来自美国国税局的通知。