X に蔓延る投資 bot (フィッシング詐欺)の調査と対策について - Part 2 Cloudflare 裏のサーバーIPを特定する

はじめに
こんにちは、知ってる韓国語は、「美味しい」と「天罰」です。
前回に引き続き、今回も X で蔓延っている投資スパム Bot が誘導するフィッシングサイトについて、書いてみようと思います。
Part 1 はこちらです。
前回はフィッシングサイトの特定までしましたが、調査を進めていると Cloudflare 裏のサーバー IP を特定することができたので、その方法について軽く触れつつ、実体となる IP を調査してみます。
本記事では、分かりやすさを重視しているので、実際の調査手順(時系列)と違う部分があったりしますが、ご容赦ください。
また、最後の一番肝心な部分が攻撃者に知られたく無いので、パブリックなとこに書けないです。
それと、今回は「対策!」みたいな話は無いです。(Part1 のタイトルに引っ張られてしまった)
続きを読むX に蔓延る投資 bot (フィッシング詐欺)の調査と対策について
こんにちは!ゆっくり霊夢だぜ!
今回は X でゴキブリみたいに蔓延っている投資ツイート bot(投資詐欺)の調査をしつつ、 彼らのフィッシングの手法や、詐欺の流れ、 投資詐欺用のフィッシングサイト等を調査していきます。 同時に、これらの詐欺行為に対する対策についても検討してみようと思います。

本記事では、フィッシング被害までの流れをなぞりながら、それぞれに登場するドメインやサイト・アカウントなどを調べていきます。 最後には、調査の内容をもとに、対策や犯罪者たちが嫌がりそうなことを考えてみます。
さて、いきなりですが、彼らは以下のフローに沿って詐欺(フィッシング詐欺)を行います。
- インプレッションの高いツイートに対して、投資関連のツイートをする
- 被害者は (1) のツイートを見て犯罪者のアカウントをフォローする
- (2) でフォローしたアカウントから、DM で LINE グループに招待を送る
- LINE グループ内で、投資詐欺に引っ掛けるための「心理的な障壁」を時間をかけながら取り払う (2週間 - 1ヶ月くらいかけるらしい)
- フィッシング詐欺用のサイトに誘導する
- 銀行などの情報を盗む
※自分は (5) の部分を体験できなかったのですが、とあるリサーチャーの方が同一の話を発表されていたのでこのように記載しています。
続きを読むCodeBlue 2023 の登壇資料等が公開されました
公開されたのに宣伝忘れてました。
英語タイトル:
"filename" in Content-Disposition is a landmine vulnerability caused by ambiguous requirements
日本語タイトル:
Content-Disposition の "filename" という地雷 -曖昧な要件が原因となる脆弱性-
動画: www.youtube.com
ちなみに最終的な脆弱性発見数は以下になりました。
- 1 Browser
- 2 Programming Lang
- 6 Web Framework
- 5 HTTP Client
- 2 Mailer Library
今年はフィッシングか脅威インテリジェンス的な研究ができたらいいなって思ってます。
CodeBlue 2023 に登壇します。
発表します。 11/09 9:00 からです。
SQL Injection を探せ! 文字列テンプレートリテラル と Raw Query によるやらかし探し
はじめに
失敗記事です(SQLI 一個も見つかりませんでした)。
前回の記事では GitHub に漏れ出たコードを GitHub Code Search を使って検索しました。
今回は少し特殊な SQL Injection を前回同様に GitHub Code Search の力を借りて探そうと思います。
特殊な SQLI とは、一般的な文字列結合ではなく、 文字列テンプレートリテラルを使った結合による SQLI です(後述)
失敗記事ではあるのですが、観点的には結構面白いと思うので、軽くまとめてみます。
また、今回は ORM に限定して探しましたが、限定しなければ結構見つかるのかもなーと思ってます。
続きを読むGitHub に漏れ出た内部コードを探す ~ 上場企業 3900社編 ~
全1回、このシリーズは今回で最後です!
TL;DR
- 上場企業 3900 社程に対して、すごく大雑把な「内部コード等の漏洩調査」を GitHub 上で行った
- 結果としては、重要度の高いものから低いものまで 10社ほどで漏洩が確認された
- 重要度の高いものとして、社外秘っぽそうなスプレッドシート、社員のハッシュ化パスワード(BCrypt)、 AWS Credential 等
- 「大雑把な」調査を行ったが、より精度の高い方法等について記事内にて触れていく
- 脅威インテルとか DLP みたいなエリアとかも、外部企業とかに頼るだけじゃなく「自分たちでも」頑張ってみるのがいいんだと思います
- GitHub Code Search ... すげえぜ!
- Google Dorks ならぬ、 GitHub Dorks + GitHub Code Search でまだまだいろいろできるはず。
はじめに
チャオ!
今回は「内部資料を誤って公開している人 / 会社って結構いるよね」という前提をベースに 「GitHub 上に内部コード(またはその他の機微情報等)を上げてる社員 / 会社がいるんじゃないか?」という観点で、漏洩してしまっている会社を探してみようと思います。
調査の切っ掛けとしては以下です。
GitHub API を使って、大量のリポジトリから「脆弱性をもつコード」を探すという研究記事があった
- 記事: GitHub Actionsにおけるサプライチェーン攻撃を介したリポジトリ侵害 - RyotaK's Blog
- この記事最高。めっちゃ Cool。俺も Cool になりたいって思っていたので、GitHub API を使って何かしたかった
- この研究が終わったあとくらいに、GitHub でクレデンシャル大量に検知する記事が海外で出てた。 Inside Threat: Developers Leaked 10M Credentials, Passwords in 2022
GitHub の新しい Code Search 機能を活かしたかった
- GitHub Code Search: https://GitHub.com/features/code-search
- マジで最高なので、皆さっさと Try it now するべき
- リポジトリを横断的に検索でき、その際に Regex なども使える
- 脅威インテリジェンスの記事などでは、コンピューターを中心としたリスクがメインになりがちだけど「人間的なリスクの評価も大切だよね」って思い続けていた
- 脅威インテリジェンスなどの記事では「会社としてリスクを適切に認識しようね」と言った言及は普通にされている
- ただ MITRE ATT&CK みたいなのを活用する話が 99% になっており、「内部の脅威をしっかり分析しよう」みたいなのは1ページで終わるみたいなやつ
- 内部の脅威なんてのは記事にしにくいから当たり前ではあるのだが...
- MITRE ATT&CK : https://attack.mitre.org/
- ちょっと別視点(人間的なリスク)で一回考えてみようかな?と思って今回の調査手法を閃いた
- このあと登場する調査手法を記事にしているところは多分ないのでやってみようと思った
内容自体はひどく簡単で、 Google Dorks みたいなものを GitHub でやってみるというものです。
このあたりの GitHub Dorks のパターンも、 Bug Bounty とかで成熟してきています。
ただ、新しい GitHub Code Search を活用した GitHub Dorks は、まだまだ発展途上だと思うので、今回チャレンジしてみます。
Google Dorks って?
「Google の検索エンジンのパワーを使って、漏洩情報等を検索しよう」みたいな手法です。
例えば、
filetype:pdf 社外秘 等で調べることで、 PDF でファイル内に"社外秘"が入っているファイルを検索できるみたいな感じです。
Google Dorks に関しては、調べればいっぱい出てくると思います。
気になる方は各自で調べてみてください。
(失敗した)CT LogのSANが大量に結びついた証明書を見つけてフィッシングサイトを検知する方法
年末にツイッターに書いたけど、特に記事にしていなかったので供養として一応記事に書いてみます。
CT Log の SAN が異常に多い CT Log は9割 Malicious なんじゃないか?と思って今 CT Log Streaming しながらフィルタかけてみてるけど普通のやつがかかりまくってきて推測が外れた。
— もつに (@akroasis5150) 2022年12月23日
失敗した内容ではあるんですが、おそらくこの観点で調査してる人が国内にいないだろうし、 (多少関連する内容について記載するので) ほんの少しは需要があると思って記載しておきます。
一応以下のやつを考慮に入れて検知を考えたけど失敗したって話です。
- censys で SAN の数を元にした検索(検索がそもそもできない)
- crt.sh で、 SAN の数を元にした検索 (検索がそもそもできない)
- crt.sh が公開している PostgreSQL にアクセスして SAN の数を元に検索する方法(試してすらいない。大変。)
- Certstream を使って SAN の数を元にフィルタする方法(最終的に実施して、このアプローチ自体が失敗したやつ)