ReelPhish の使い方:
このツールは FireEye のブログ記事とともに公開されています。ブログ記事は以下のリンクからご覧いただけます: https://www.fireeye.com/blog/threat-research/2018/02/reelphish-real-time-two-factor-phishing-tool.html
インストール手順
-
Python 2.7.x の最新リリースが必要です。
-
ブラウザドライバを実行するために必要な依存関係である Selenium をインストールします。
- pip install -r requirements.txt
-
使用するすべての Web ブラウザ用のブラウザドライバをダウンロードします。バイナリは、以下の命名規則に従ってこのルートディレクトリに配置する必要があります。
-
Internet Explorer: www.seleniumhq.org/download/
- 32 ビット Windows IE 用の Internet Explorer Driver Server をダウンロードします。ファイルを解凍し、バイナリの名前を IEDriver.exe に変更します。
- Internet Explorer ドライバを動作させるには、保護モードが無効になっていることを確認してください。IE11(64 ビット Windows)では、レジストリキー "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE" を作成する必要があります。このキー内に、DWORD 値 iexplore.exe を作成し、値を 0 に設定します。
- Internet Explorer の要件の詳細については、www.github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver をご覧ください。
-
Firefox: www.github.com/mozilla/geckodriver/releases/
- Windows 32 ビット用の Firefox GeckoDriver の最新リリースをダウンロードします。ファイルを解凍し、バイナリの名前を FFDriver.exe に変更します。
- Linux システムでは、Linux 版の Firefox GeckoDriver をダウンロードし、バイナリの名前を FFDriver.bin に変更します。Linux サポートは実験的です。
- Gecko Driver には特別な要件があります。FFDriver.exe を geckodriver.exe にコピーし、PATH 環境変数に配置します。さらに、firefox.exe を PATH 環境変数に追加します。
-
Chrome: https://chromedriver.storage.googleapis.com/index.html?path=2.35/
- Windows 32 ビット用の Google Chrome Driver の最新リリースをダウンロードします。ファイルを解凍し、バイナリの名前を ChromeDriver.exe に変更します。
- Linux システムでは、Linux 版の Chrome Web Driver をダウンロードし、バイナリの名前を ChromeDriver.bin に変更します。Linux サポートは実験的です。
ReelPhish の実行
ReelPhish は、フィッシングサイトを処理するコードとこのスクリプトの 2 つのコンポーネントで構成されています。フィッシングサイトは自由に設計できます。サンプルの PHP コードは /examplesitecode に用意されています。サンプルコードは、HTTP POST リクエストからユーザー名とパスワードを受け取り、それをフィッシングスクリプトに送信します。
フィッシングスクリプトはローカルポートで待機し、資格情報のパケットを待ち受けます。資格情報を受信すると、フィッシングスクリプトは新しい Web ブラウザインスタンスを開き、目的の URL(実際にユーザーの資格情報を入力するサイト)に移動します。ブラウザによって資格情報が送信されます。
フィッシングサイトとこのスクリプト間の通信を処理する推奨方法は、リバース SSH トンネルを使用することです。そのため、サンプルの PHP フィッシングサイトコードでは、資格情報を localhost:2135 に送信します。
ReelPhish の引数
- --browser パラメータを使用して、使用するブラウザを指定する必要があります。サポートされているブラウザは、Internet Explorer("--browser IE")、Firefox("--browser FF")、Chrome("--browser Chrome")です。Windows と Linux の両方がサポートされています。Chrome はセットアップ手順が最も少なくて済みます。詳細については、上記のインストール手順を参照してください。
- URL を指定する必要があります。スクリプトはこの URL に移動し、代わりに資格情報を送信します。
- その他のオプションパラメータも使用できます。
- ログパラメータを debug(--logging debug)に設定すると、詳細なイベントログが出力されます
- submit パラメータ(--submit)を設定すると、ブラウザで「クリック」される要素をカスタマイズできます
- override パラメータ(--override)を設定すると、不足しているフォーム要素を無視できます
- numpages パラメータ(--numpages)を設定すると、認証ページの数を増やすことができます(以下のセクションを参照)
複数ページ認証のサポート
ReelPhish は複数の認証ページをサポートしています。たとえば、2 要素認証コードが 2 ページ目で要求される場合があります。この機能を実装するには、--numpages が認証ページの数に設定されていることを確認してください。また、フィッシングサイトでセッション ID が適切に追跡されていることを確認してください。セッション ID は、ユーザーが認証の各ステップを進む際に追跡するために使用されます。
場合によっては、特定の認証ページから特定のコンテンツ(チャレンジコードなど)をスクレイピングする必要があるかもしれません。スクレイピング操作を実行するためのコメントアウトされたサンプルコードが ReelPhish.py に用意されています。