Evilginx 3.3とEvilgophishの検証

このブログは、株式会社Armorisアルバイトのseigo2016が書いています。

あるもりすぶろぐの内容は個人の意見です

はじめに

検証には自身で管理する環境を使用し、自己責任でお願いします。また、この情報を悪用することは絶対に行わないでください。
今回は、中間者攻撃フレームワークのEvilginxのアップデートで追加された機能についての調査を行いました。

概要

EvilginxはセッションCookieと共にログイン認証情報をフィッシングする中間者攻撃フレームワークです。Go言語で独自のHTTP及びDNSサーバーが実装されています。

2024年4月にEvilginx 3.3がリリースされ、Evilginx公式でGophishとの連携がサポートされました。 今回は新しくリリースされたEvilginx 3.3の特徴や新機能の紹介と、特に、Gophishとの連携機能について、Evilgophishとの比較・検証を行いました。

Gophishは、ペネトレーションテスト等向けに設計された、オープンソース(MIT License)のフィッシングツールキットです。 こちらもGo言語で実装されています。

Evilgophishは、fin3ss3g0d氏によって開発されている、中間者攻撃フレームワークのEvilginxと、フィッシングツールキットのGophishを組み合わせたソフトウェアです。
ソーシャルエンジニアリングや標的型攻撃メールの訓練やテストの目的で利用されています。

Evilgophishについては、以前のブログをご覧ください。

環境

Evilginx 3.3の新機能

公式HP https://breakdev.org/evilginx-3-3-go-phish/

リバースプロキシ利用時の送信元IPアドレスのサポート

リバースプロキシの背後にEvilginxが存在する場合、デフォルトでEvilginxに到達するリクエストのアクセス元のIPアドレスはすべてリバースプロキシのアドレスとなってしまいます。その際ProxyはX-Forwarded-Forヘッダーなどの追加のHTTPヘッダーに元のアクセス元IPアドレスを格納します。EvilginxがこれらのHTTPヘッダーを認識するようになったことで、リバースプロキシが挟まっていても、正しくアクセス元のIPアドレスが取得できるようになりました。 以下のヘッダーに対応しています。

X-Forwarded-For
X-Real-IP
X-Client-IP
Connecting-IP
True-Client-IP
Client-IP

Evilginx3.3とEvilgophishの違い

データ連携方法

Evilgophish

Gophishのdbファイルを指定して連携します。

./evilginx3 -g ../gophish/gophish.db -p legacy_phishlets/ --developer

Evilginx 3.3

GophishのAPI キーを用いて連携するため、それぞれの管理ツール内で連携が完結します。

以降の手順

  • GophishのコントロールパネルのAccount SettingsからAPIキーを取得 image

  • Evilginxの設定画面でGophishの管理画面のURL(admin_url)と取得したAPI キーを設定

config gophish admin_url https://172.16.0.99:3333
config gophish api_key (api_key)
config gophish insecure true

Phishlets URLの指定

Evilginx 3.3、Evilgophishともに基本的な設定方法は変わりません。

手順

  • Campaigns -> New CampaignのEvilginx Lure URL(Evilginx 3.3), evilginx URL(Evilgophish)の入力欄に指定
  • Email Templatesの本文中で{{.URL}}と記述することで参照

Evilgophish独自の機能

SMS Campaignsの作成

外部サービスのTwilioのAPIを連携することで、SMSを介したキャンペーンの作成が可能です。
https://fin3ss3g0d.net/index.php/2024/03/04/smishing-with-evilgophish/

QRコードの生成

設定したEvilginxのURLをQRコードとしてメール本文に挿入できる機能です。
QRコードは既存のテキストベースのフィルタリングを回避できます。 - Campaigns -> New CampaignのQR Code Size に画像サイズの値を指定 - Email Templatesの本文中で{{.QR}}と記述することで画像が表示される https://fin3ss3g0d.net/index.php/2024/02/24/qr-code-phishing-with-evilgophish/

Cloudflare Turnstileへの対応

Cloudflare Turnstileは、Cloudflareによって提供されている、Botからのアクセスかどうかを判別できるサービスです。これと連携することで、BotのEvilginxのLureへのアクセスをブロックできます。 https://fin3ss3g0d.net/index.php/2024/04/08/evilgophishs-approach-to-advanced-bot-detection-with-cloudflare-turnstile/

Evilginx 3.3の新機能について

Gophishとのデータ連携については、一部違いが存在しますが、それ以降の手順やブラウザ上の操作に大きな違いはありません。
一方で、EvilgophishにはQRコードの生成やSMS Campaignsの作成・Cloudflare Turnstileへの対応など、特徴的な機能が備わっています。これらの機能について、Evilginxの作者もコメントしています(X)が、現状Evilginxには実装されていません。
一方で、Evilgophishについては、最新版の機能やサポートがGitHub スポンサーのみのPrivate Repositoryに限定公開されているようです。 そのため、GophishとEvilginxの基本的な連携のみで十分の場合はどちらを利用しても特に優劣はなく、Evilginx・Gophish公式にないいくつかの機能を利用したい場合はEvilgophishを選択する事になります。一方で、Evilginx標準の方がセットアップがシンプルなようにも思えました。

おわりに

今回は新しくリリースされたEvilginx 3.3の特徴や新機能の紹介と、特に、Gophishとの連携機能について、Evilgophishとの比較・検証を行いました。 Evilginx公式でGophishが連携されたことで、ソーシャルエンジニアリングや標的型攻撃メールの訓練やテストがより容易に行えるようになりました。
また、Evilgophishでは、様々な外部サービス等との連携を可能にする機能追加が意欲的に行われているようです。また、公開バージョンでも先述の独自機能は利用できます。一方で、QRコード生成のような機能はクイッシングに悪用される可能性もあり注意が必要です。