红蓝双视角 · 本地部署指南

网络钓鱼攻防演练
系统部署手册

基于开源工具链构建本地局域网钓鱼攻防演练环境,从红队攻击模拟到蓝队检测防御,帮助成员单位、高校及企业安全团队开展可控、合规的安全意识培训与红蓝对抗演练。

1系统概述

网络钓鱼攻防演练系统是一套基于开源工具链构建的本地化安全培训平台,旨在帮助组织以可控、合规的方式开展钓鱼攻击模拟演练与防御检测训练,提升全员安全意识与应急响应能力。

演练目标

  • 安全意识提升:通过沉浸式模拟体验,让员工直观感受钓鱼攻击的真实手法与危害
  • 识别能力检验:评估员工对各类钓鱼攻击(邮件、网站、语音、二维码等)的识别准确率
  • 应急响应训练:模拟钓鱼攻击成功后的应急处置流程,检验安全团队的响应效率
  • 防御体系验证:测试组织现有邮件网关、Web防火墙、终端安全等防御措施的有效性
  • 攻击面梳理:通过OSINT侦察发现组织的暴露面,提前消除安全隐患

适用场景

企业安全培训

面向全体员工或特定部门(财务、HR、IT)开展定期钓鱼演练

高校教学实验

网络安全专业课程实验、CTF竞赛训练、红蓝对抗演练

成员单位测评

工作组成员单位间的安全能力互评、行业标准符合性测试

红蓝双视角演练架构

本系统采用红蓝双视角设计理念,不仅提供攻击模拟工具(红队),同时提供检测防御工具(蓝队),实现"以攻促防、攻防兼备"的演练效果。

红队视角(攻击模拟)

  • 模拟真实钓鱼攻击手法(邮件、网站、二维码)
  • 测试2FA/MFA绕过技术(Evilginx2、EvilnoVNC)
  • 收集点击率、捕获率等攻击效果数据
  • 评估员工安全意识薄弱环节
  • 验证现有防御措施的有效性

蓝队视角(检测防御)

  • 实时监测钓鱼域名注册(Phishing Catcher)
  • 品牌仿冒域名侦察(DNSTwist)
  • 攻击面梳理与情报收集(SpiderFoot)
  • 邮件网关策略优化验证
  • 安全事件响应流程演练
演练管理平台
Gophish
钓鱼邮件发送
SMTP服务
仿冒登录页面
Evilginx2/Modlishka
数据收集分析
报告生成

2工具选型

根据演练需求、技术难度及安全合规要求,我们从GitHub开源社区中筛选出以下工具,形成完整的钓鱼攻防演练工具链。工具按红队攻击蓝队检测扩展工具三个维度分类呈现。

红队攻击演练工具矩阵

工具名称 演练类型 难度等级 推荐场景 建议
G Gophish
邮件钓鱼 + 数据收集 + Web管理 ★★☆☆☆ 企业培训、批量演练 核心推荐
E Evilginx2
反向代理 + 2FA绕过 + 会话劫持 ★★★★☆ 高级演练、红队测试 核心推荐
V EvilnoVNC
实时浏览器劫持 + 2FA绕过 ★★★★★ 深度会话劫持演练 进阶推荐
M Modlishka
透明代理 + 会话劫持 ★★★★☆ 2FA绕过教学演示 可选
K King-Phisher
邮件钓鱼 + 社工工程 ★★★☆☆ 社工工程演练 可选
F FiercePhish
批量邮件自动化 + 活动管理 ★★☆☆☆ 大规模演练 可选
Q OhMyQR
二维码钓鱼 + QR劫持 ★☆☆☆☆ 二维码攻击演示 可选
B BlackEye
登录页克隆(30+模板) ★★☆☆☆ 快速搭建演示环境 可选
S SocialFish
社交媒体钓鱼 + 信息收集 ★★☆☆☆ 社交平台钓鱼演练 可选
C Malleable-C2
Cobalt Strike C2配置 ★★★★★ APT级攻击模拟 不推荐

蓝队检测防御工具矩阵

工具名称 检测类型 难度等级 推荐场景 建议
P Phishing Catcher
TLS证书透明度实时监测 ★★☆☆☆ 钓鱼域名早期预警 核心推荐
D DNSTwist
域名变体生成 + 钓鱼检测 ★★☆☆☆ 品牌仿冒域名发现 核心推荐
S SpiderFoot
OSINT自动化侦察(200+模块) ★★★☆☆ 攻击面梳理、情报收集 推荐
P Pafish
虚拟机/沙箱检测测试 ★★☆☆☆ 沙箱环境Hardening验证 可选

选型建议:对于初次搭建演练环境的组织,推荐以 Gophish 为核心开展邮件钓鱼演练,配合 Evilginx2 进行高级场景(2FA绕过)演练。EvilnoVNC 可作为进阶的实时浏览器劫持演示工具,展示"即使开了2FA也能被绕过"的震撼效果。Modlishka 适合2FA绕过技术的教学演示。Phishing CatcherDNSTwist 则可用于蓝队侧的钓鱼域名监测与预警演练,实现"以攻促防"的闭环。

扩展工具库

以下工具可根据特定演练需求选用,涵盖更多攻击面和检测维度:

🎣 钓鱼页面克隆类
BBlackPhish NNexPhisher WWeeman AAdvPhishing ZZphisher
📧 邮件社工类
PPhishMailer TPhishingTemplates FPhishing Frenzy
📷 辅助信息收集类
SSayCheese II-See-You LLinkedInt
🐳 容器化部署类
DDocker-Blackeye

推荐工具组合方案

根据演练复杂度与团队技术能力,提供三套工具组合方案:

基础方案

邮件钓鱼入门演练

适合首次开展钓鱼演练的组织,快速搭建邮件钓鱼环境,收集点击率数据,配合蓝队检测工具验证防御效果。

Gophish SMTP服务 DNSTwist
进阶方案

凭证捕获 + 2FA绕过 + 域名监测

在基础方案上增加反向代理能力,演示如何捕获真实凭证并绕过双因素认证,同时部署域名监测发现仿冒。

Gophish Evilginx2 域名 + SSL Phishing Catcher
高级方案

全链路红蓝对抗 + OSINT侦察

模拟完整攻击链,从钓鱼邮件到会话劫持,配合OSINT侦察和实时浏览器劫持,适合红队演练和安全竞赛。

Gophish Evilginx2 EvilnoVNC SpiderFoot DNSTwist

3部署指南

以下部署指南以 Ubuntu 22.04 LTS 为例,其他 Linux 发行版可参照调整包管理命令。所有操作须在授权测试环境中进行。工具按红队核心、红队进阶、蓝队检测三个维度分别部署说明。

Gophish 部署 红队核心

Gophish 是一款开源的钓鱼模拟框架,提供 Web 管理界面,支持邮件模板编辑、目标分组、活动调度及数据报表生成。是红队钓鱼演练的首选核心工具。

1
环境准备

确保系统已安装必要依赖,建议使用 Docker 方式部署以简化环境配置。

bash
# 更新系统并安装 Docker
$ sudo apt update && sudo apt upgrade -y
$ sudo apt install -y docker.io docker-compose

# 启动 Docker 服务
$ sudo systemctl enable docker
$ sudo systemctl start docker

# 验证 Docker 安装
$ docker --version
2
拉取并运行 Gophish

使用官方 Docker 镜像快速启动 Gophish 服务。

bash
# 拉取最新镜像
$ docker pull gophish/gophish:latest

# 运行容器(映射管理端口3333和钓鱼页面端口80)
$ docker run -d \
    --name gophish \
    -p 3333:3333 \
    -p 80:80 \
    -v gophish_data:/opt/gophish \
    gophish/gophish:latest

# 查看初始管理员密码
$ docker logs gophish | grep "password"
3
配置管理后台

首次登录后修改默认密码,并根据需要调整配置文件。

json
// config.json 关键配置项
{
  "admin_server": {
    "listen_url": "0.0.0.0:3333",
    "use_tls": true,
    "cert_path": "gophish_admin.crt",
    "key_path": "gophish_admin.key"
  },
  "phish_server": {
    "listen_url": "0.0.0.0:80",
    "use_tls": false
  },
  "db_name": "sqlite3",
  "db_path": "gophish.db",
  "migrations_prefix": "db/db_"
}
admin_server.listen_url
管理后台监听地址,0.0.0.0 表示允许远程访问,生产环境建议限制为内网IP
phish_server.listen_url
钓鱼页面服务监听地址,默认80端口,若被占用可改为8080等其他端口
4
配置邮件发送服务

在 Gophish 管理界面中配置 SMTP 发送配置(Sending Profile),支持企业邮箱、第三方SMTP服务。

注意:云厂商通常限制25端口出站,建议使用587或465端口。发送测试邮件前,请确保发件域名已配置正确的SPF、DKIM、DMARC记录,避免邮件被拦截。

5
创建演练活动

依次完成邮件模板(Email Template)、钓鱼页面(Landing Page)、目标群组(Groups)配置后,创建演练活动(Campaign)。

最佳实践:使用 {{.URL}} 变量插入钓鱼链接,使用 {{.FirstName}}{{.LastName}} 实现邮件个性化,提升仿真度。设置 "Send Emails By" 分散发送时间,避免触发邮件网关告警。

Evilginx2 部署 红队进阶

Evilginx2 是一款开源的中间人攻击框架,通过反向代理目标网站的真实登录页面,捕获用户凭据、2FA令牌及会话Cookie,实现双因素认证绕过。

安全警示:Evilginx2 具有极强的攻击能力,仅限在完全隔离的测试环境中使用。部署前须确保已获得组织书面授权,且演练范围明确限定。

1
安装 Go 语言环境

Evilginx2 基于 Go 语言开发,需先安装 Go 1.14 以上版本。

bash
# 安装 Go(以 Ubuntu 为例)
$ sudo apt update
$ sudo apt install -y golang-go git

# 验证 Go 版本
$ go version
2
克隆并编译
bash
# 克隆仓库
$ git clone https://github.com/kgretzky/evilginx2.git
$ cd evilginx2

# 编译安装
$ make
$ sudo make install

# 复制 phishlet 模板到系统路径
$ sudo mkdir -p /usr/share/evilginx/phishlets
$ sudo cp -r phishlets/* /usr/share/evilginx/phishlets/
3
配置域名与 DNS

需要准备一个域名,并配置 DNS 记录指向演练服务器 IP。

bash
# 启动 Evilginx2
$ sudo evilginx2

# 在交互式控制台中配置
[evilginx2] > config domain your-lab-domain.com
[evilginx2] > config ip 192.168.1.100

# 启用并配置 phishlet(以 Office365 为例)
[evilginx2] > phishlets enable o365
[evilginx2] > phishlets hostname o365 login.your-lab-domain.com

# 生成钓鱼链接
[evilginx2] > lures create o365
[evilginx2] > lures get-url 0

DNS 配置要点:添加一条 A 记录将主域名指向服务器 IP,添加一条 NS 记录将子域名解析权交给主域名。Evilginx2 会自动为子域名申请 Let's Encrypt SSL 证书。

4
查看捕获数据

当目标用户访问钓鱼链接并输入凭据后,在 Evilginx2 控制台中查看捕获结果。

bash
# 查看所有会话
[evilginx2] > sessions

# 查看特定会话详情(含凭据和Cookie)
[evilginx2] > sessions 1

# 将会话导出为 JSON
[evilginx2] > sessions export 1 /tmp/session.json

EvilnoVNC 部署 红队进阶

EvilnoVNC 是一款基于 noVNC 的实时浏览器钓鱼平台,通过 VNC/X11 虚拟桌面环境加载真实登录页面,可实时查看受害者操作、捕获凭据、下载文件及浏览器完整Profile(含Cookie、密码、历史记录),实现更隐蔽的2FA绕过。

安全警示:EvilnoVNC 代表了最新的2FA绕过技术方向,攻击隐蔽性极高。仅限在完全隔离的测试环境中使用,且须获得组织最高级别书面授权。

1
环境要求

EvilnoVNC 基于 Docker 运行,需预先安装 Docker 和 Chromium 浏览器。

bash
# 确保 Docker 已安装
$ docker --version

# 安装 Chromium(如未安装)
$ sudo apt update
$ sudo apt install -y chromium-browser
2
克隆并构建 Docker 镜像
bash
# 克隆仓库
$ git clone https://github.com/JoelGMSec/EvilnoVNC
$ cd EvilnoVNC

# 设置权限并构建镜像
$ sudo chown -R 103 Downloads
$ sudo docker build -t joelgmsec/evilnovnc .

# 验证镜像构建
$ docker images | grep evilnovnc
3
启动服务
bash
# 运行 EvilnoVNC 容器
$ sudo docker run -d \
    --name evilnovnc \
    -p 8080:8080 \
    -p 5900:5900 \
    -v $(pwd)/Downloads:/home/user/Downloads \
    joelgmsec/evilnovnc

# 查看服务日志
$ docker logs -f evilnovnc
-p 8080:8080
noVNC Web 访问端口,通过浏览器访问 http://服务器IP:8080 即可进入虚拟桌面
-p 5900:5900
VNC 直连端口,可使用 VNC 客户端直接连接
4
核心功能说明
  • 实时浏览器劫持:受害者通过 noVNC 访问的页面完全在攻击者控制的虚拟浏览器中运行
  • 2FA 自动绕过:受害者输入的验证码实时传递给攻击者,攻击者同步登录真实服务
  • 文件下载捕获:受害者在浏览器中下载的文件自动保存到攻击者服务器
  • 浏览器 Profile 导出:Cookie、保存的密码、浏览历史等完整导出
  • 基础键盘记录:记录受害者在虚拟浏览器中的所有键盘输入

DNSTwist 部署 蓝队检测

DNSTwist 是一款域名变体生成与钓鱼检测工具,通过多种模糊算法(同形异义字、比特翻转、连字符插入等)生成目标域名的变体,检测已注册的仿冒域名,支持模糊哈希和感知哈希进行内容相似度比对。

1
安装 DNSTwist
bash
# 安装依赖
$ sudo apt update
$ sudo apt install -y python3-pip python3-venv

# 使用 pip 安装 dnstwist
$ pip3 install dnstwist[full]

# 验证安装
$ dnstwist --version
2
基础扫描
bash
# 基础域名变体扫描
$ dnstwist example.com

# 仅显示已注册的域名
$ dnstwist --registered example.com

# 使用特定模糊算法
$ dnstwist --fuzzers "homoglyph,hyphenation" example.com

# 启用钓鱼检测(模糊哈希)
$ dnstwist --lsh example.com

# 启用视觉相似度检测(感知哈希)
$ dnstwist --phash example.com
3
自动化监控脚本

将 DNSTwist 集成到定时任务中,实现每日品牌域名监控。

bash
# 创建监控脚本
$ cat > /opt/dnstwist-monitor.sh << 'EOF'
#!/bin/bash
DOMAIN="your-company.com"
OUTPUT="/var/log/dnstwist/$(date +%Y%m%d).json"
mkdir -p /var/log/dnstwist
dnstwist --registered --lsh --format json "$DOMAIN" > "$OUTPUT"
# 如有新注册域名,发送告警
if [ -s "$OUTPUT" ]; then
    echo "发现可疑域名变体" | mail -s "DNSTwist Alert" security@company.com
fi
EOF

# 添加定时任务(每日凌晨2点执行)
$ chmod +x /opt/dnstwist-monitor.sh
$ (crontab -l 2>/dev/null; echo "0 2 * * * /opt/dnstwist-monitor.sh") | crontab -

SpiderFoot 部署 蓝队检测

SpiderFoot 是一款开源 OSINT 自动化侦察框架,集成 200+ 数据模块,支持从 100+ 数据源(Shodan、VirusTotal、Have I Been Pwned 等)收集情报,用于攻击面梳理、威胁情报富化和品牌监控。

1
安装 SpiderFoot
bash
# 安装依赖
$ sudo apt update
$ sudo apt install -y python3-pip python3-venv git

# 克隆仓库
$ git clone https://github.com/smicallef/spiderfoot.git
$ cd spiderfoot

# 创建虚拟环境并安装
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt

# 验证安装
$ python3 ./sf.py --version
2
启动 Web 服务
bash
# 启动 SpiderFoot Web 界面(默认端口5000)
$ python3 ./sf.py -l 0.0.0.0:5000

# 后台运行
$ nohup python3 ./sf.py -l 0.0.0.0:5000 > /var/log/spiderfoot.log 2>&1 &

# 访问 http://服务器IP:5000
3
配置 API 密钥

在 Web 界面 Settings 中配置各数据源的 API 密钥,以获取更丰富的侦察结果。推荐配置以下关键模块:

Shodan API
获取目标 IP 的开放端口、服务指纹和漏洞信息
VirusTotal API
检测域名/IP 的恶意软件关联和信誉评分
Have I Been Pwned
检查目标邮箱是否在已知数据泄露事件中
SecurityTrails
获取域名的历史 DNS 记录和子域名信息
4
执行侦察扫描
bash
# CLI 方式启动扫描(以域名为例)
$ python3 ./sf.py -s your-company.com -m sfp_shodan,sfp_virustotal,sfp_censys

# 导出结果为 JSON
$ python3 ./sf.py -s your-company.com -o json -f /tmp/spiderfoot-result.json

# 导出为 GEXF 图格式(用于可视化分析)
$ python3 ./sf.py -s your-company.com -o gexf -f /tmp/spiderfoot-graph.gexf

4演练场景

结合红蓝双视角工具链,可开展以下典型攻防演练场景。每个场景均包含红队攻击路径和蓝队检测响应路径。

红队演练场景

红队 场景A:邮件钓鱼 + 假登录页

使用 Gophish 发送伪造的办公邮件,链接指向 Evilginx2 代理的仿冒登录页,捕获凭据。演练目标:测试员工对钓鱼邮件的识别能力和邮件网关的拦截效果。

Gophish Evilginx2 SMTP服务
红队 场景B:OAuth钓鱼 + 会话劫持

利用 Evilginx2 的 phishlet 功能,劫持 OAuth 登录流程,获取用户授权令牌。演练目标:演示 OAuth 钓鱼的隐蔽性和危害性。

Evilginx2 phishlet
红队 场景C:实时浏览器劫持(2FA绕过)

使用 EvilnoVNC 搭建虚拟浏览器环境,受害者通过 noVNC 访问真实登录页面,攻击者实时捕获凭据和2FA验证码。演练目标:展示即使启用2FA也可能被绕过的现实风险。

EvilnoVNC Docker
红队 场景D:二维码钓鱼

使用 OhMyQR 生成恶意二维码,扫码后跳转至钓鱼页面,适合线下演练场景。演练目标:测试员工对二维码来源的警惕性。

OhMyQR Gophish
红队 场景E:社交媒体钓鱼

使用 SocialFish 克隆社交媒体登录页面,结合社工信息构造个性化钓鱼链接。演练目标:测试员工对社交平台钓鱼的识别能力。

SocialFish LinkedInt

蓝队演练场景

蓝队 场景F:钓鱼域名早期预警

使用 Phishing Catcher 监控 TLS 证书透明度日志,实时发现针对本组织的仿冒域名注册。演练目标:验证蓝队从证书层面提前发现钓鱼基础设施的能力。

Phishing Catcher CertStream
蓝队 场景G:品牌仿冒域名发现

使用 DNSTwist 生成组织域名的所有可能变体,检测已注册的仿冒域名并进行内容相似度比对。演练目标:发现攻击者针对本组织的域名抢注和钓鱼页面克隆。

DNSTwist 模糊哈希
蓝队 场景H:攻击面梳理与暴露面发现

使用 SpiderFoot 对组织域名、IP、邮箱进行全面的 OSINT 侦察,发现公开暴露的服务、子域名、员工信息泄露等安全隐患。演练目标:在攻击者发现之前,主动消除暴露面。

SpiderFoot Shodan VirusTotal
蓝队 场景I:邮件网关策略验证

配合红队的钓鱼邮件发送,验证邮件网关对各类钓鱼邮件(含附件、链接、个性化内容)的拦截率和误报率,优化安全策略。

Gophish 邮件网关 Splunk/ELK

紫队协同场景

红队 蓝队

场景J:红蓝对抗日

红队使用完整工具链发起多向量钓鱼攻击,蓝队使用检测工具实时发现攻击并应急响应。演练结束后双方复盘,共同优化防御策略。

Gophish Evilginx2 DNSTwist SpiderFoot
红队 蓝队

场景K:钓鱼演练闭环

先通过蓝队工具发现仿冒域名,再由红队模拟利用该域名发起攻击,最后蓝队验证检测告警和响应流程的完整性。

Phishing Catcher DNSTwist Gophish
红队 蓝队

场景L:安全意识竞赛

各部门组成红蓝两队,红队设计钓鱼方案,蓝队设计检测方案,通过竞赛形式提升全员安全意识和协作能力。

全部工具链

演练报告模板:每次演练结束后,建议生成包含以下内容的报告:演练目标与范围、参与人员统计、红队攻击成功率/蓝队检测率数据、识别准确率分析、防御薄弱环节、改进建议。报告模板可在下方资源下载区获取。

5安全合规

钓鱼演练涉及模拟攻击行为,必须严格遵守法律法规和组织内部规范。以下是关键合规要求,覆盖红队攻击侧和蓝队检测侧:

授权管理

  • 演练前须获得组织书面授权,明确演练目的、范围、时间、目标人群
  • 授权文件应经法务部门审核,确保符合《网络安全法》《数据安全法》《个人信息保护法》等法规要求
  • 演练范围限定在组织自有网络或明确授权的测试环境中
  • 涉及外部域名扫描(如 DNSTwist、SpiderFoot)时,须确保不违反目标网站的 ToS 条款

数据保护

  • 演练过程中收集的凭据、Cookie、个人信息等数据须加密存储,访问权限严格限制
  • 蓝队工具(SpiderFoot)收集的OSINT数据须遵守数据源的使用条款和隐私政策
  • 演练结束后立即销毁所有测试数据,包括数据库记录、日志文件、临时配置文件
  • 禁止将演练数据用于非授权目的,禁止外传或留存

演练后清理

bash
# ===== 红队工具清理 =====

# Gophish 数据清理
$ docker stop gophish && docker rm gophish
$ docker volume rm gophish_data

# Evilginx2 数据清理
$ rm -rf ~/.evilginx
$ rm -rf /usr/share/evilginx

# EvilnoVNC 数据清理
$ docker stop evilnovnc && docker rm evilnovnc
$ docker rmi joelgmsec/evilnovnc
$ rm -rf ~/EvilnoVNC/Downloads/*

# Modlishka 数据清理
$ rm -rf ~/Modlishka

# ===== 蓝队工具清理 =====

# DNSTwist 扫描结果清理
$ rm -f /var/log/dnstwist/*.json

# SpiderFoot 扫描数据清理
$ rm -f /tmp/spiderfoot-*.json
$ rm -f /tmp/spiderfoot-*.gexf

# ===== 系统日志清理 =====
$ sudo rm -f /var/log/evilginx*.log
$ sudo rm -f /var/log/modlishka*.log
$ sudo rm -f /var/log/spiderfoot.log

演练后通知与培训

重要提醒:若演练涉及真实员工邮箱,须在演练结束后发送澄清通知,说明演练目的、结果及后续培训安排,避免造成恐慌或信任危机。对于演练中"中招"的员工,应提供针对性的安全培训而非惩罚。蓝队发现的仿冒域名应及时通报相关机构和域名注册商。

6常见问题

可以。Gophish 提供 Windows 二进制发行版,可直接下载运行。Evilginx2 和 EvilnoVNC 基于 Go/Docker 开发,在 Windows 上可通过 WSL2(Windows Subsystem for Linux)运行。DNSTwist 和 SpiderFoot 基于 Python,在 Windows 上可直接通过 pip 安装。建议使用 WSL2 + Ubuntu 以获得最佳兼容性。

这是预期现象,说明邮件网关正在发挥作用。解决方法:① 将演练发件域名加入邮件网关白名单;② 使用内部 SMTP 服务器发送;③ 调整邮件内容降低触发概率(如避免使用敏感词汇、添加合规声明)。若测试防御效果,可保留拦截状态以评估网关策略。蓝队可通过此场景验证邮件网关的检测能力。

纯内网演练无需公网资源。Gophish 的钓鱼页面可通过内网 IP 访问。若需模拟公网钓鱼场景,可使用内网 DNS 解析自定义域名到演练服务器。Evilginx2 和 EvilnoVNC 的 SSL 证书功能在内网环境中可使用自签名证书替代 Let's Encrypt。蓝队工具(DNSTwist、SpiderFoot)在监测公网域名时需要网络出站权限。

建议采取以下措施:① 部署在物理隔离的测试网络中,与生产环境完全分离;② 限制工具访问权限,仅授权安全团队使用;③ 建立使用审计日志,记录每次操作;④ 定期审查演练环境,确保无遗留配置;⑤ 在组织内部明确演练工具的使用规范与问责机制;⑥ 演练结束后严格执行数据清理脚本。

DNSTwist 和 SpiderFoot 均使用公开数据源(DNS记录、WHOIS、证书透明度日志等),属于被动信息收集,通常不违反法律。但需注意:① 仅扫描本组织自有域名或已获得授权的域名;② 遵守各数据源服务条款;③ 不将收集的数据用于商业目的或对外泄露;④ 扫描频率应合理,避免对目标服务造成负担。

官网的演练场景(drill.html)提供前端交互式模拟体验,适合公众快速了解钓鱼手法。本地部署的演练系统(本页面所述工具)则提供真实的邮件发送、页面代理、数据捕获、域名监测能力,适合企业内部深度演练。两者互补:可先通过官网场景进行科普教育,再通过本地系统开展实战演练,最后用蓝队工具验证防御效果。

两者实现2FA绕过的技术路径不同:Evilginx2 采用反向代理方式,拦截并转发用户的登录请求和2FA验证码,攻击者获得的是用户的会话Cookie;EvilnoVNC 采用实时浏览器劫持方式,受害者在攻击者控制的虚拟浏览器中操作,攻击者可以实时看到并操控整个登录过程,包括输入2FA验证码,获得的是完整的浏览器会话。EvilnoVNC 更加隐蔽,但部署复杂度更高。

7资源下载

以下资源文件可辅助您快速搭建演练环境,点击下载即可获取。资源按红队工具、蓝队工具、通用资源分类。

Gophish 配置模板

包含 config.json 模板、邮件模板示例、钓鱼页面示例

ZIP · 约 30KB · 红队

Evilginx2 phishlet 合集

常用 phishlet 配置文件(Office365、Google、GitHub等)

ZIP · 约 9KB · 红队

演练报告模板

Word 格式报告模板,包含数据图表、分析框架、改进建议

DOCX · 约 46KB · 通用

快速启动脚本

一键安装 Docker、Gophish、Evilginx2 的 Bash 脚本

SH · 约 9KB · 红队

DNSTwist 监控脚本

自动化品牌域名监控脚本,含定时任务配置示例

SH · 约 3KB · 蓝队

SpiderFoot 扫描配置

预配置的扫描模块组合和 API 密钥配置模板

JSON · 约 5KB · 蓝队