Phishing Hunging Operations (PHOps)
by
phishing-hunter
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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から機密情報にアクセスするための設定は気をつけないと事故を起こしてしまう可能性がある