ブラウザ通知スパムの裏側

ブラウザ通知スパムの背景とか、あまりよく分かっていなかったので、勉強のつもりで書いてみた。
# ブラウザ通知スパムについて
インターネットを使って色んなサイトを巡っている時に、このようなものが表示されたことがないだろうか。
![スクリーンショット 2024-01-23 21.58.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/738860c3-c7d5-9ebc-f7e5-0aadd292a8a7.png)

ブラウザ通知の許可を求めてきて、許可を押すと、サポート詐欺サイトに誘導する通知が表示される。
・マカフィーを装ったサポート詐欺サイトへ誘導
![sample01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/be5130b6-40c9-a8c2-89a4-cb6d1b31b5fa.png)
![スクリーンショット 2024-01-23 22.00.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/7dc47b8a-d0fd-d93b-481b-44089f8347e5.png)

・マイクロソフトを装ったサポート詐欺サイトへ誘導
![スクリーンショット 2024-01-27 18.28.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/c24a7a75-f3bb-2a46-f467-aafa9caa94c3.png)
![スクリーンショット 2024-01-27 18.29.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/e1dae6ce-d37c-e74f-0195-a87e6216a451.png)

また、マカフィーの正規サイトに誘導して、商品を購入させようと誘導している例もある。
![sample02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/5fb359e1-fcd6-9151-da0e-930c669604b2.png)
![スクリーンショット 2024-01-23 22.24.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/cd8b4c56-f3fb-ceef-0905-a8c3282f7f6e.png)

このように、ブラウザの通知機能を悪用して、偽の広告や警告メッセージを表示し、詐欺に誘導する手口をブラウザ通知スパムという。

# ブラウザ通知スパムサイトの例
![スクリーンショット 2024-01-23 22.16.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/e812ab0f-d5e2-ad05-2a09-05e5d38420e3.png)
![スクリーンショット 2024-01-23 21.58.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/dcf2e6dd-756a-ecac-43e8-35068d2fdfa4.png)
![スクリーンショット 2024-01-27 17.59.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/19d63046-f148-e64d-a430-a5da1ef9c3a6.png)
![スクリーンショット 2024-01-23 22.10.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/1bd5b787-55f0-0cc0-7384-9014628a1025.png)
![スクリーンショット 2024-01-27 18.00.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/50a3ec09-8a91-6dab-308a-9364d6ea3a77.png)
![スクリーンショット 2024-01-27 18.04.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/f1e7026c-676f-31d7-0f38-e8fd045d107c.png)

# なぜブラウザ通知スパムが存在するのか
主な理由は、以下の通り。
・アフィリエイトで収益を稼いでいる攻撃者が、クリック数を稼ぐため。
・他の攻撃者の悪性Webサイトにトラフィックを流すことで、手数料をもらうため。

ブラウザ通知スパムを使って、正規のセキュリティ製品の購入ページや詐欺サイトなどにアクセスさせることで、広告収入を得ているようです。

この記事では、以下の2つの事例を紹介する。
・Webサイトを改ざんして誘導する例
・誘導サイトからリダイレクトする例

### Webサイトを改ざんして誘導する例
Webサイトにアクセスした際に、不正なスプリクトを読み込ませるように改ざんすることで、ブラウザ通知スパムに誘導させる。
WordPressなどのCMSの脆弱性をついて、不正なスプリクトを埋め込む例がよく観測されている。

ここでは、VexTrioという攻撃者のアフィリエイトネットワークの例を紹介する。

https://thehackernews.com/2024/01/vextrio-uber-of-cybercrime-brokering.html

VexTrioは、大規模なトラフィック配信システム(TDS)を運営しており、他のサイトから流れてきたトラフィックをフィルタリングしたり、ロードバランサーとして機能したりしている。
改ざんしたサイトからのトラフィックを捌いて、詐欺サイトやマルウェア配布サイトなどの悪性Webサイトにリダイレクトさせることで、広告収入を得たり、他の攻撃者から手数料を得たりして稼いでいる。
その悪性Webサイトの中には、ブラウザ通知スパムも含まれている。

以下のサンプルにおいて、VexTrioが埋め込んだ不正スクリプトの一例は以下の画像のようになっている。

https://urlscan.io/result/922af0b7-052e-47d6-80af-67730333aa48

※難読化を解除したスクリプトは下の段に表示されている。
![スクリーンショット 2024-01-27 22.55.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/3ea80419-d5c4-d4fd-4f70-e340e473bf8d.png)
VexTrioが使っているドメイン(logsmetrics[.]com)をGoogleのDNSサービスを使って名前解決しようとしていることがわかる。
※「host」は改ざんされたサイトのドメイン、「ip」はIPアドレスとなっている。
![スクリーンショット 2024-01-27 23.17.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/5a917dec-99e3-a75a-c39e-59d73465a2f5.png)
そして、リダイレクト先として、lookup-domain[.]comが返ってきている。
![スクリーンショット 2024-01-28 12.38.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/81651e5a-779f-9f47-b937-094349fe3fea.png)

ブラウザ通知スパムを表示する際に読み込まれている二つのスクリプト(trls.js,static-pl.js)を見てみる。

https://urlscan.io/search/#filename%3A%22trls.js%22

https://urlscan.io/search/#filename:%22static-pl.js%22

また、ブラウザ通知スパムのURLパスの一例を記載する。
```
/eyes-robot/?pl=CHiI7Gh3GUyTa8XGgNqDyQ&sm=eyes-robot&click_id=cmq7r32jvq3d7n36pu3g&nrid=50b20c71cf714b378c0cbff479727c9d&hash=i7FeLA4ekC-brYGgnn43IQ&exp=1706327737
```

trls.jsは、アダルトコンテンツやブラウザ通知スパムを表示するのに使われており、表示させるコンテンツによって、スクリプトに書かれている内容が異なっている。
また、同じコンテンツでも、対応している言語が異なっているものも存在している。(おそらくバージョン違いだと思われる)
ブラウザ通知スパムを表示するものを見てみると、サイトを見てる人の言語に合わせて、コンテンツを翻訳しているように見えた。
![スクリーンショット 2024-01-28 0.59.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/0441e3b5-2c7a-eb7f-bc2a-7ef46f30ade7.png)
![スクリーンショット 2024-01-28 1.00.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/b135aeb0-557e-97df-7758-5c7e53a00bf3.png)

static-pl.jsは、URLパスから値を取得し、リダイレクト先にあるスクリプト(ps.js)のURLを指定する。
![スクリーンショット 2024-01-28 1.03.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/d39b333a-1e85-273d-26f4-02c4942db00d.png)
![スクリーンショット 2024-01-28 1.04.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/eee53b78-6836-c4d8-ef76-89f8c649aff3.png)
![スクリーンショット 2024-01-28 1.04.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/e36ebef6-e67d-7cbb-946d-f912d9b6d1ee.png)
サンプルの例だと、以下のファイルが読み込まれている。
![スクリーンショット 2024-01-28 1.11.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/3c3a6576-405f-9ec6-7777-48e462ba036e.png)

ps.jsでは、コンテンツの生成を行なっているように見えた。
![スクリーンショット 2024-01-28 1.23.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/4e99617d-8f9b-49af-ab58-becae72a88d5.png)

ブラウザ通知スパムが表示されるまで、何回かリダイレクトする攻撃チェーンがあるので、中間のドメインでブロックすることが重要だと思われる。
![スクリーンショット 2024-01-28 12.38.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/ba3c029c-bed7-ca6d-e72e-cc4b5461a7ad.png)

### 誘導サイトからリダイレクトする例
インターネット上には、ブラウザ通知スパムサイトに誘導するために作られたサイトが存在している。

https://www.trendmicro.com/en_us/research/21/g/browser-notification-spam-tricks-clicks-for-ad-revenue.html

ユーザの関心を引くように、様々なコンテンツの誘導サイトが存在しており、スクリプトを読み込ませて、ブラウザ通知スパムサイトに誘導することで、広告収入を得ようとしている。

誘導サイトのサンプルは以下のようになる。

https://urlscan.io/result/323d2f03-54a6-43df-8f93-1666db5f128c

サンプルを見ていくと、外部のスクリプト(invoke.js)が読み込まれていることがわかる。
![スクリーンショット 2024-01-28 14.13.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/e11a258d-c4d8-4c20-c83f-d869b8b11d3d.png)
![スクリーンショット 2024-01-28 14.11.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/579acc4a-9e8d-37fb-689c-36bf98263d5f.png)

中身を見ていくと、難読化されているため、読みにくくなっているが、ブラウザやOSの情報を取得している様子が見られる。
![スクリーンショット 2024-01-28 14.27.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/3e3da079-6477-caef-5576-e58118fdecf6.png)
![スクリーンショット 2024-01-28 14.28.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/63c72534-55e2-fd4a-8c00-6a51ac1e7011.png)
また、リダイレクト先のURLが書かれていた。
URLパスの部分は、広告の識別番号みたいになっていて、keyの値によっては、ブラウザ通信スパムにリダイレクトする。
![スクリーンショット 2024-01-28 14.36.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/28ebbbf3-fabe-5d52-2c0c-d7732f585372.png)

# 最後に
インターネット上の詐欺といえば、フィッシングサイトや偽ECサイトなどが話題になっていたりするが、ブラウザ通知スパムサイト、怪しいアダルトサイト、アンケート詐欺サイトなどの脅威も猛威を振るっている。
そして、それらのコンテンツの裏では、様々なアフィリエイトアクター達が、広告収入を得るために暗躍している。
こうした攻撃者のアフィリエイトネットワークにも気をつけていく必要がある。

# 関連記事

https://unit42.paloaltonetworks.jp/dangers-of-clickbait-sites/

https://unit42.paloaltonetworks.jp/apateweb-scareware-pup-delivery-campaign/


https://thehackernews.com/2024/01/balada-injector-infects-over-7100.html