首页
/ Evilginx零基础入门教程:从配置到实战的完整指南

Evilginx零基础入门教程:从配置到实战的完整指南

2026-04-12 09:40:51作者:谭伦延

一、核心功能解析:认识Evilginx

Evilginx是一款强大的网络安全工具,主要用于构建高度逼真的钓鱼页面并捕获目标凭证。它通过反向代理技术,能够无缝克隆目标网站的登录界面,同时记录用户输入的敏感信息。该工具特别适合安全研究人员在授权环境下进行渗透测试,帮助企业识别并修复安全漏洞。

主要特性

  • 多平台支持:内置对主流网站(如Facebook、Google、LinkedIn等)的模板支持
  • SSL证书管理:集成Let's Encrypt自动证书申请与续期功能
  • 灵活配置:支持自定义域名、子域名及重定向规则
  • 日志解析:自动提取并结构化存储捕获的凭证信息

二、环境准备:系统配置与依赖安装

硬件要求

  • 最低配置:1核CPU,1GB内存,10GB存储空间
  • 推荐配置:2核CPU,2GB内存,20GB SSD存储

操作系统支持

操作系统 支持程度 特殊说明
Ubuntu 18.04+ ✅ 完全支持 推荐使用LTS版本
Debian 9+ ✅ 完全支持 需要手动安装部分依赖
CentOS 7+ ⚠️ 有限支持 需额外配置EPEL源
macOS ❌ 不支持 缺少部分系统级依赖

安装步骤

# 克隆项目仓库
git clone https://gitcode.com/gh_mirrors/ev/evilginx

# 进入项目目录
cd evilginx

# 运行安装脚本
sudo bash install.sh

安装脚本会自动处理以下依赖:

  • Python 2.7环境
  • Nginx web服务器
  • Certbot(Let's Encrypt客户端)
  • 必要的系统工具(curl、wget等)

三、配置实战:从基础到高级

3.1 目录结构详解

Evilginx的核心目录结构如下:

evilginx/
├── sites/              # 各网站模板配置
│   ├── dropbox/        # Dropbox网站模板
│   ├── facebook/       # Facebook网站模板
│   ├── google/         # Google网站模板
│   └── ...             # 其他网站模板
├── evilginx.py         # 主程序
├── install.sh          # 安装脚本
└── update.sh           # 更新脚本

3.2 核心配置参数解析

Evilginx的配置主要通过命令行参数和模板文件实现,以下是关键参数说明:

参数 默认值 推荐值 作用说明
--domain your-phish-domain.com 指定钓鱼域名
--crt /path/to/cert.pem SSL证书路径
--key /path/to/key.pem SSL私钥路径
--enable site-name 启用指定网站模板
--disable site-name 禁用指定网站模板

3.3 配置实例:启用Google钓鱼模板

# 列出所有可用的网站模板
sudo python evilginx.py setup -l

# 启用Google模板(替换为你的域名)
sudo python evilginx.py setup --enable google -d your-domain.com

# 生成钓鱼链接
sudo python evilginx.py genurl -s google -r https://google.com

执行上述命令后,系统会自动:

  1. 配置Nginx反向代理规则
  2. 申请/配置SSL证书
  3. 设置自动日志解析任务
  4. 生成可直接使用的钓鱼链接

3.4 高级配置:自定义子域名

# 修改Google模板配置文件
nano sites/google/config

# 在配置中添加自定义子域名
# 找到"phish_subdomains"项,添加:["login", "secure", "account"]

# 重新启用配置使修改生效
sudo python evilginx.py setup --enable google -d your-domain.com

四、场景应用:实战案例分析

4.1 企业安全测试

某安全团队使用Evilginx对内部员工进行钓鱼意识培训,步骤如下:

  1. 部署Evilginx服务器并配置公司内部系统模板
  2. 生成伪装成公司内网门户的钓鱼链接
  3. 向员工发送钓鱼邮件
  4. 分析日志数据评估员工安全意识水平
  5. 根据结果制定针对性安全培训计划

4.2 红队演练

在授权的红队评估中,Evilginx可用于:

  • 获取目标组织的有效凭证
  • 绕过双因素认证机制
  • 建立持久化访问通道
  • 收集内部网络信息

五、配置参数解析:深入理解配置项

5.1 全局配置参数

Evilginx的核心配置通过evilginx.py中的全局变量控制:

参数 默认值 修改建议 作用
SSL_CERT_PATH /etc/letsencrypt/live/ 保持默认 Let's Encrypt证书存储路径
SITES_AVAILABLE_PATH /etc/nginx/sites-available/ 保持默认 Nginx站点配置路径
LOGS_DIR ./logs 建议修改为/var/log/evilginx 日志存储目录
CERTBOT_BIN certbot-auto 如已安装certbot可改为certbot Certbot可执行文件路径

5.2 网站模板配置

每个网站模板包含以下关键配置文件:

  • config:主配置文件,定义网站名称、目标主机等
  • *.conf:Nginx配置模板
  • *.creds:凭证提取规则

以Google模板为例,config文件中的关键配置:

[site]
name = google
log_name = google_access.log
creds_conf = google.creds
site_conf = ["accounts.google.com.conf", "ssl.gstatic.com.conf"]
target_hosts = ["accounts.google.com", "ssl.gstatic.com"]
phish_subdomains = ["accounts", "mail"]
phish_paths = ["/signin", "/login"]
redir_arg = "continue"
success_arg = "success"

六、常见问题排查

6.1 Nginx启动失败

症状:执行setup命令后Nginx无法启动
排查步骤

  1. 检查Nginx错误日志:tail -f /var/log/nginx/error.log
  2. 验证配置文件语法:nginx -t
  3. 确认端口未被占用:netstat -tulpn | grep :80

解决方案

# 检查配置语法
sudo nginx -t

# 如端口冲突,修改Nginx端口配置
sudo nano /etc/nginx/nginx.conf

6.2 SSL证书申请失败

症状:Let's Encrypt证书申请超时
排查步骤

  1. 确认80/443端口开放:ufw status
  2. 检查域名解析是否正确:dig your-domain.com
  3. 查看Certbot日志:tail -f /var/log/letsencrypt/letsencrypt.log

解决方案

# 手动申请证书
sudo certbot certonly --standalone -d your-domain.com

6.3 钓鱼链接无法访问

症状:生成的钓鱼链接显示404或连接超时
排查步骤

  1. 检查Nginx站点是否启用:ls -l /etc/nginx/sites-enabled/
  2. 确认域名A记录指向正确服务器IP
  3. 检查防火墙规则:sudo ufw allow 443/tcp

七、开源项目使用规范声明

⚠️ 重要法律声明 ⚠️

本工具仅用于合法的安全研究和授权渗透测试。未经授权使用Evilginx攻击计算机系统可能违反《计算机信息网络安全保护条例》及相关法律法规,使用者需承担相应法律责任。

合法使用边界

  • 仅在获得明确书面授权的系统上使用
  • 不得用于获取未授权访问权限
  • 测试完成后立即清除所有测试数据
  • 遵守所在国家/地区的网络安全法律

请始终牢记:技术本身无善恶,关键在于使用方式。作为安全从业者,我们有责任维护网络安全生态,遵守道德与法律规范。

八、总结与进阶学习

通过本教程,你已经掌握了Evilginx的基本配置和使用方法。要进一步提升技能,建议:

  1. 研究官方文档了解高级功能
  2. 尝试自定义网站模板
  3. 学习Nginx配置优化
  4. 了解反钓鱼技术及防御措施

Evilginx作为一款强大的安全工具,不仅是渗透测试的利器,也是学习Web安全的良好实践平台。通过深入理解其工作原理,你将能更好地保护系统免受类似攻击。

登录后查看全文
热门项目推荐
相关项目推荐