执行社会工程学渗透测试
概述
社会工程学渗透测试通过对现实欺骗技术的受控模拟,评估组织的人员攻击面。根据 Verizon DBIR 2024,人为因素涉及约 68% 的所有数据泄露,钓鱼仍是主要的初始访问向量。本技能涵盖使用 GoPhish、社会工程学工具包(SET)和 Evilginx 执行的钓鱼、语音钓鱼(Vishing)、短信钓鱼(Smishing)和物理借口活动。
前置条件
- 高级管理层(CISO/CTO)的书面授权
- 确认符合当地法律(CFAA、GDPR 等)的法律审查
- 明确的范围:目标员工群体、攻击类型、排除项
- GoPhish 服务器、钓鱼基础设施域名、VPS
- OSINT 工具:Maltego、theHarvester、LinkedIn 抓取工具
- 与 HR 和法律部门协调测试后的员工通知事宜
阶段一:OSINT 和目标画像
员工侦察
# 邮件收割
theHarvester -d targetcorp.com -b all -l 500 -f harvester_results
# LinkedIn OSINT(手动 + 工具)
# 收集:姓名、职位、部门、邮件格式
# 识别:新入职员工、IT 管理员、财务团队、高管
# 邮件格式发现
# 检查:first.last@、flast@、firstl@
# 通过 hunter.io、phonebook.cz、email-checker.net 验证
# 社交媒体 OSINT
# Twitter/X:员工发布关于工作工具/困扰的内容
# Facebook:公司活动照片、办公室布局
# GitHub:使用企业邮件地址的员工仓库
# 域名情报
dig targetcorp.com MX +short
dig targetcorp.com TXT +short
# 检查 SPF、DKIM、DMARC 记录
# 弱 DMARC = 更容易进行邮件欺骗
# 检查泄露数据库(已授权)
# 针对企业邮件的 HaveIBeenPwned API
# 识别凭据已泄露的员工
目标选择矩阵
| 群体 |
数量 |
借口 |
攻击向量 |
| 财务 |
15 |
发票审批 |
钓鱼(凭据收割) |
| IT 帮助台 |
8 |
密码重置 |
语音钓鱼 |
| 高管 |
5 |
董事会会议更新 |
鱼叉式钓鱼 |
| 新入职(< 90 天) |
12 |
HR 入职表单 |
钓鱼(载荷) |
| 全体员工 |
200 |
IT 安全更新 |
广泛钓鱼 |
阶段二:钓鱼活动
基础设施设置
# 注册仿冒域名
# targetcorp.com -> targetc0rp.com、targetcorp-secure.com、targetcorp.net
# 设置 GoPhish 服务器
sudo apt install gophish
# 编辑 config.json 配置管理端口和钓鱼服务器端口
gophish
# 在 GoPhish 中配置发送配置文件
# SMTP 服务器:mail.attackdomain.com
# 发件人:it-security@targetcorp-secure.com
# 邮件头:攻击域名的适当 DKIM/SPF
# 创建着陆页(凭据收割)
# 克隆合法登录页面(Office 365、Okta 等)
# GoPhish:导入网站 -> https://login.microsoftonline.com
# 启用:捕获凭据、捕获密码
# 捕获后重定向到真实网站
# 设置 Evilginx 进行 MFA 绕过(仅授权测试)
evilginx2
: config domain attackdomain.com
: config ipv4 <server_ip>
: phishlets hostname o365 login.targetcorp-secure.com
: phishlets enable o365
: lures create o365
: lures get-url 0
GoPhish 活动配置
{
"campaign": {
"name": "IT Security Update - Q1 2025",
"template": {
"name": "Mandatory Security Training",
"subject": "Action Required: Complete Security Awareness Training by Friday",
"html": "<html>...[带紧迫感的品牌邮件]...</html>",
"from": "IT Security Team <security@targetcorp-secure.com>"
},
"landing_page": "Office 365 登录克隆",
"sending_profile": "Phishing SMTP",
"groups": ["All Employees - Batch 1"],
"launch_date": "2025-03-10T09:00:00Z",
"send_by_date": "2025-03-10T12:00:00Z"
}
}
按借口分类的钓鱼邮件模板
模板 1 — IT 安全更新:
主题:[需要操作] 强制密码重置 - 安全事件
发件人:IT 安全 <security@targetcorp-secure.com>
亲爱的 {FirstName},
我们的安全团队检测到系统上有未经授权的访问尝试。
作为预防措施,所有员工必须立即重置密码。
请点击下方链接在 24 小时内重置您的密码:
[立即重置密码] -> {phishing_url}
未能遵守可能导致账户临时暂停。
谢谢,
IT 安全团队
模板 2 — 财务发票:
主题:发票 #INV-2025-4821 - 需要审批
发件人:应付账款 <ap@targetcorp-secure.com>
您好 {FirstName},
请审阅并批准来自我们供应商的附件发票。
金额:$47,250.00 | 到期日:2025 年 3 月 15 日
[查看发票] -> {phishing_url}
此致,
应付账款部门
阶段三:语音钓鱼活动
通话脚本模板
借口:IT 帮助台致电报告可疑登录
致电者:"您好,我是 IT 帮助台的 [姓名]。请问是 [目标姓名] 吗?"
[等待确认]
致电者:"我们检测到您的账户有来自未识别位置的异常登录活动。
为了保护您的账户安全,在我们调查之前,我需要先验证您的身份。"
致电者:"您能确认您的员工 ID 和与账户关联的邮件地址吗?"
[记录回应]
致电者:"谢谢。我将向您发送一个验证链接来确认是您本人。
您能点击它并输入凭据,这样我们就能保护您的账户了吗?"
[通话期间通过邮件/短信发送钓鱼链接]
致电者:"太好了,我看到您已经验证了。您的账户现在已安全。
如果您注意到任何其他问题,请拨打帮助台 [真实号码]。"
语音钓鱼追踪指标
| 指标 |
说明 |
| 接听电话 |
目标接听了电话 |
| 已参与 |
目标在初始问题后继续对话 |
| 信息披露 |
目标提供了凭据、员工 ID 或 PII |
| 链接点击 |
目标点击了验证链接 |
| 输入凭据 |
目标在钓鱼页面输入了凭据 |
| 已举报 |
目标向安全部门举报了电话 |
阶段四:物理社会工程学
物理借口场景
场景 1:快递员
- 携带标注给高管的包裹到达
- 请求亲自递送访问权限
- 尝试通过安全门尾随
- 在公共区域丢落 USB 驱动器
场景 2:IT 供应商
- 携带供应商徽章(打印)到达
- 声称对网络机柜进行计划维护
- 尝试访问服务器机房
- 如获得访问权限则安装流氓无线接入点
场景 3:新员工
- 声称是第一天入职培训而到达
- 申请临时徽章
- 尝试访问受限区域
- 拍摄敏感屏幕/文档
证据收集:
- 随身摄像机(如法律允许且已授权)
- 已访问区域的照片
- 来自流氓接入点的 WiFi 探测数据
- 关于绕过哪些门/检查点的笔记
阶段五:指标和分析
活动结果仪表板
钓鱼活动结果:
├── 发送邮件数:200
├── 邮件送达数:195(97.5%)
├── 邮件打开数:142(72.8%)
├── 链接点击数:68(34.9%)
├── 提交凭据数:31(15.9%)
├── MFA 绕过数:8(4.1%)[Evilginx]
├── 向 SOC 举报数:12(6.2%)
└── 无操作数:53(27.2%)
语音钓鱼活动结果:
├── 拨打电话数:23
├── 接听电话数:18(78.3%)
├── 参与对话数:15(65.2%)
├── 信息披露数:9(39.1%)
├── 提供凭据数:4(17.4%)
└── 向安全部门举报数:2(8.7%)
物理评估:
├── 尾随成功次数:3/5 次尝试
├── USB 驱动器被插入数:2/10 个丢落
├── 访问受限区域数:2/4 次尝试
└── 被员工质疑次数:1 次
风险评分
| 攻击向量 |
成功率 |
风险级别 |
优先级 |
| 钓鱼(凭据收割) |
15.9% |
高 |
P1 |
| 语音钓鱼(信息披露) |
39.1% |
严重 |
P1 |
| 物理尾随 |
60% |
高 |
P2 |
| USB 丢落 |
20% |
中 |
P3 |
| 鱼叉式钓鱼(高管) |
40% |
严重 |
P1 |
阶段六:报告和建议
修复优先级
| 优先级 |
建议 |
时间线 |
| P1 |
部署防钓鱼 MFA(FIDO2/WebAuthn) |
30 天 |
| P1 |
实施针对性安全意识培训 |
14 天 |
| P1 |
部署带 URL 重写的邮件网关 |
30 天 |
| P2 |
加强物理访问控制(安全气闸、访客徽章) |
60 天 |
| P2 |
为每个部门实施安全冠军计划 |
30 天 |
| P3 |
部署 USB 设备控制策略 |
30 天 |
| P3 |
在邮件客户端建立钓鱼举报按钮 |
14 天 |
工具参考
| 工具 |
用途 |
| GoPhish |
钓鱼活动管理平台 |
| Evilginx2 |
通过反向代理钓鱼绕过 MFA |
| Social Engineer Toolkit(SET) |
社会工程学攻击框架 |
| Maltego |
OSINT 和关系映射 |
| theHarvester |
邮件和域名 OSINT |
| King Phisher |
钓鱼活动工具 |
| Modlishka |
用于凭据拦截的反向代理 |
参考资料