Slide 1

Slide 1 text

Phishing Hunging Operations (PHOps) フィッシングハンティングの自動化

Slide 2

Slide 2 text

はじめに ● 内容はあくまで自組織に関わる不正なコンテンツの検出やテイクダウンを目的とし ており、不正なコンテンツに含まれるセンシティブな情報の利用や拡散を目的とす るものではありません ● 収集するプログラムには外部にメールや情報を送信する機能が含まれていること があり、注意深く取り扱う必要があります。

Slide 3

Slide 3 text

フィッシング攻撃の流れ ● 攻撃者はホスティングサーバーを購入する
 ● 購入したサーバにフィッシングキットをアップロードしセットアップする
 ● 動作確認を完了させた攻撃者は潜在的な被害者に大量のフィッシングメールを送信する
 ● 被害者はフィッング ページにアクセスして資格情報を入力する
 ● フィッシング キットは資格情報を処理し、外部の電子メール アカウントに送信する
 ● 最後に、攻撃者はこの電子メール アカウントにアクセスし、資格情報を収集する

Slide 4

Slide 4 text

フィッシングキットを入手してみた Zipファイルダウンロード後にもう一度アクセスしたら接続拒否されました。

Slide 5

Slide 5 text

実際に入手したフィッシングキットの解説 index.php ● サイトにアクセスするためにはパスワードが必要になるオプションが用意されている ● パスワードがないと本物のサイトに自動的にリダイレクトされます。 ● サイト構築中にアクセスしてきたipアドレスをbotと判断しリストに記録している

Slide 6

Slide 6 text

実際に入手したフィッシングキットの解説 killbot.php ● botとして判定されたIPアドレスはhttps://killbot.orgに登録される ● botを複数のフィッシングキットで共有するための仕組みだと思われる

Slide 7

Slide 7 text

実際に入手したフィッシングキットの解説 antibot.php ● botとして判定されたIPアドレスはhttps://antibot.pwに登録される ● こちらもbotを複数のフィッシングキットで共有するための仕組みだと思われる

Slide 8

Slide 8 text

アンチウイルスベンダをブロックする仕組み killbot.org antibot.pw フィッシングサイトA フィッシングサイトB アンチウイルスベンダ リサーチャーなど フィッシングサイト間でブロックリストを共有 している状態

Slide 9

Slide 9 text

実際に入手したフィッシングキットの解説 submit_email.php ● 被害者が入力したemailアドレスやパスワード、IP情報が攻撃者の用意したemail アドレスに転送されるようになっている

Slide 10

Slide 10 text

実際に入手したフィッシングキットの解説 ● メールの送信に成功したか失敗したかどうかを記録している

Slide 11

Slide 11 text

実際に入手したフィッシングキットの解説 lang.php ● IPアドレスから国を判定して、表示言語を切り替えている

Slide 12

Slide 12 text

一般的なフィッシングキットの動作フロー フィッシングサイト フィッシングサイトへ誘導するメールを送信 フィッシングサイトに認 証情報を入力 認証情報がメールで送 信される

Slide 13

Slide 13 text

SSL証明書を取得すると履歴が残る ● まず最初に攻撃者はホスティングサーバ購入する必要があります ● ホスティング業者は攻撃者との契約が完了するとSSLの証明書と専用のドメインの 取得を行います。 ● この段階でCertificate Transparencyの仕組みによって、証明書取得のログがイン ターネット上に公開されます。 ログが公開される サーバを契約 攻撃者

Slide 14

Slide 14 text

フィッシングサイトを構築段階で検出する方法 ● 公開されたログのビッグデータ解析を行い、フィッシングに使われる手法が含まれ たドメインを抽出しサーバ上のコンテンツを確認します。 ● タイミング良くアクセスできれば、攻撃者がサーバに置いたばかりのフィッシング キットを入手することができます。 ● 構築段階ではアクセス元を制御する設定がされていない場合が多いため、フィッシ ングキットのログに残らないようにアクセスすることができます キットのアップロード キットのダウンロード 攻撃者

Slide 15

Slide 15 text

悪質なサイトは報告しないと生き続ける サイトの構築・設定 継続的な監視 通知 関係組織 コミュニティ 攻撃者 テイクダウン

Slide 16

Slide 16 text

悪質なサイトは報告しないと生き続ける

Slide 17

Slide 17 text

構築したシステム Pull Request ルールのパフォーマ ンスを検証 ルールのリリース スコアリング結果の保存 フィッシングキットの保存 Google Safe Browsingへ報告 承認 CI/CD ダウンロード スコアリング&キット収集 score > 150 通知

Slide 18

Slide 18 text

スコアが高いドメインはDiscordで公開 Discord招待URL: https://discord.gg/c2WWJDpnAw

Slide 19

Slide 19 text

構築したシステム このシステムは、AWS上で動作しており、Certstreamから収集した証明書の更新履歴を収集しています。収集している履歴は定義さ れたルールに基づいてスコアリングされGoogleドライブへと保存して公開しています。
 スコアが閾値を超えたドメインについてはurlscanを使ってスキャンを行います。コンテンツが取得できる場合はYaraルールを使ってス キャンを実施し、結果をDiscordに通知しています。
 フィッシングサイトと判定された場合にはGoogleセーフブラウジングとTwitterに詳細を投稿しています。
 スコアリングルールやYaraルールについてもGithubに公開してるので、プルリクエスト経由で誰でも修正することが可能です。 Githubリポジトリ: phishing-hunter/PHOps PRお願いします

Slide 20

Slide 20 text

データのパイプライン処理 AWS EventBridige Pipesを使う 証明書の情報をSourceに送信するプログラムは別に用意する データのエンリッチメントはlambda(Docker)で実装 Certstreamから データを受け取る スコアリング Yaraルールで検査 重複排除 通知

Slide 21

Slide 21 text

バッチ処理 ● バッチ処理はGithubActionsを使う ○ dockerイメージのビルド ○ バックエンドのデプロイ ○ ルールの動作を検証 ● 2000分/月まで無料で使える ● ルールは公開しているので認証情報の取扱に注意する イベント (push, pull_request,..) workflow実行

Slide 22

Slide 22 text

Github Actionsを利用する場合の注意点 ● pull_request triggerはforkからのpull requestを受け取ったときにはfork先のリポジトリの設定で github actions が動く ○ fork元で設定している secrets にアクセスできない
 ○ テストに時間がかかる場合はfork先のアカウントでクレジットが消費される


Slide 23

Slide 23 text

Github Actionsを利用する場合の注意点 ● trigger を pull_request の代わりに pull_request_target を使うようにすると、fork先からのリポジトリからの pull request で も fork元の設定で github actions が動くのでsecrets にアクセスできる
 ○ pull request のauthorにsecretsをダンプするようなコードを pull request で送りつけられてしまう
 ○ テストに時間がかかる場合はfork元のアカウントでクレジットが消費される


Slide 24

Slide 24 text

Github Actionsを利用する場合の注意点 トリガー: schedule
 build用リポジトリ 検証用リポジトリ docker push docker pull トリガー: push 個人リポジトリ トリガー: push
 1.Fork 3.Pull Request ・サービスアカウント ・Dockerhub認証情報 2. Git push 検証用リポジトリのworkflowはPRが承認されマー ジが行われたタイミングで実行される secrets (機密情報) トリガーがpushなので、リポジトリの所有者が workflowを実行する(クレジットを消費する ) リクエスト レスポンス

Slide 25

Slide 25 text

まとめ ● フィッシングハンティングにクラウドサービスを活用する一例としてAWSとGithubを活用した 
 ● スコアリング等のデータパイプライン処理はAWS Eventbridge Pipesを使って実装した 
 ● GithubActionを使えばバッチ処理をクラウド上で実行できる(2000分/月まで無料) 
 ● Githubから機密情報にアクセスするための設定は気をつけないと事故を起こしてしまう可能性がある