スミッシングでダウンロードさせられる不正なファイルについて

フィッシング詐欺の啓発も兼ねて書いてみた。
# スミッシング(Smishing)とは
Smishing = SMS + Phishing
SMS経由のフィッシング詐欺のことをスミッシングという。
クレデンシャルな情報を窃取したり、マルウェアなどの不正なファイルをダウンロードさせられたりする。
![smishing.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/abe21ad9-08af-7c7f-293e-357219e89db7.jpeg)

# スミッシングがなぜ流行してしまうのか
https://www.macnica.co.jp/business/consulting/columns/140841/

![dco_column01_draw06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/95bc9f1c-4e50-3c0d-a456-0e5dd66443aa.png)
1. SMS内のリンクをクリックすると、マルウェアなどの不正なファイルがダウンロードされる
2. 感染すると、電話番号などの情報が抜き取られる
3. 抜き取った情報を使って、感染端末から不正なSMSを送信する
4. 1~3を繰り返す

ボットネットのように次から次へと広がってしまうため、感染したことに気づいて除去しないと、攻撃端末として不正なSMSを送信し続けてしまう。

# スミッシングの例
https://twitter.com/naomisuzuki_/status/1722091214424654202

上の例だと、
Android → Chromeを装った不正なapkファイルをダウンロード
iOS → Appleを装ったフィッシングサイトにリダイレクト

アクセスする端末によって挙動が変化していることがわかる。

# 不正なapkファイルの機能
Androidでアクセスした際に、ダウンロードさせられるapkファイルにどんな機能があるのか見ていく。
※あくまで一例であり、すべてこうというわけではありません。

## 実行時の権限
![スクリーンショット 2023-11-12 15.35.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/9267be19-bef2-c009-13c9-8e30dc68a7be.png)
・android.permission.WRITE_EXTERNAL_STORAGE
・android.permission.READ_PHONE_STATE
・android.permission.READ_CONTACTS
・android.permission.SEND_SMS
・android.permission.CALL_PHONE
・android.permission.RECEIVE_SMS

## 多言語対応
![スクリーンショット 2023-11-10 21.32.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/e281c69e-1f61-6a22-0232-4add70d933b8.png)

日本語の文字列を抜粋すると、Chromeを装った感じの文言になっている。
・Googleアカウント危険、認証完了後使用してください
・新バージョンが発見、アップデート完了後ご使用ください
・Chromeにこの権限を与えますか？
・権限許可後、「Chrome」はより速くサイトを訪問し、そしてスマホのサーフィン体験を向上します。
・確認
・キャンセル
・[氏名]、[生年月日]を確認した後、再度入力してください。
・安全認証
・氏名
・生年月日

## ローカルサーバ
![スクリーンショット 2023-11-11 1.12.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/4b1ce76e-74db-9b59-5ed4-be78450d9c4f.png)
![スクリーンショット 2023-11-12 0.52.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/7e348647-c56b-4652-5d8c-9add5bb16e5a.png)
端末内でローカルサーバを建てている。
フィッシングのコンテンツを置けば、フィッシングサイトとして稼働する。

## デフォルトのSMSアプリとして設定するよう誘導
![スクリーンショット 2023-11-12 14.52.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/1d704317-582c-5ff7-7957-ec7c242968d7.png)
SMSを送信するために、デフォルトのSMSアプリとして設定するように誘導する

## C2の取得
赤線に書かれているvk.comのアカウントの詳細のところに意味深な文字列が書かれている。
検体によっては、InstagramやYoutubeのアカウントだったりする。
![スクリーンショット 2023-11-10 21.51.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/440f7624-6ed5-ded9-8bfa-eb88ffe80919.png)
![スクリーンショット 2023-11-10 21.49.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/c4ded7ec-b56b-15a8-8eae-71c9717b8185.png)

復号の部分は以下のようになっており、上手いこと復号すると、IPアドレスが出現する。
![スクリーンショット 2023-11-10 23.01.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/fc34bbc6-da6e-13ed-47e0-3b013f004edf.png)
![スクリーンショット 2023-11-10 22.52.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/1576f63e-cdc9-8172-c0ee-07f190900929.png)
※1年程前にも似たようなものを解析したことがあるが、復号に使うキーの文字列がまんま同じだった。
 バージョンアップでもしない限りこのまま同じ文字列を使い続けるのだろうか。

## push通知(通信キャリアを装ったフィッシングへの誘導)
使っている通信キャリアを取得して、それに合わせたpush通知をする。
![スクリーンショット 2023-11-10 23.31.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/bc3c2b25-3471-3a09-d442-3af8f72aa9b5.png)
![スクリーンショット 2023-11-10 23.13.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/dcecb15b-f145-37b4-2a74-3c9a52b9cfff.png)
![スクリーンショット 2023-11-12 13.23.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/936b0c48-9a1d-0405-5cf2-eec31a19ab0c.png)


pinterestのアカウントに、通知内容とフィッシングサイトのURLが書かれている。
![スクリーンショット 2023-11-10 21.14.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/67fba0e6-4ef4-d410-86b4-ad0576ebf36a.png)

## push通知(インストールされてるアプリのブランドを装ったフィッシングへの誘導)
使っているアプリを取得して、それに合わせたpush通知をする
先ほどと同様、pinterestのアカウントに、通知内容とフィッシングサイトのURLが書かれている。
![スクリーンショット 2023-11-10 23.36.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/f474894a-1008-0f1a-6ea5-67b9bc3373ea.png)
![スクリーンショット 2023-11-10 23.36.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/19404d40-d7d2-f630-3516-32d1663a66ed.png)

## ping
![スクリーンショット 2023-11-12 15.04.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/30ca88f5-af57-bb68-0ebc-0f0d8faec599.png)

## コマンド
![スクリーンショット 2023-11-12 0.50.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/274361/e5eebc72-4236-99dd-0ff9-7ccb2467eb75.png)
C2からの命令を実行する。
例えば、sendSmsが実行されると、SMSを送信する。

# Google Play Protectについて
不正なファイルに対して、Android側ではどう対策しているのかというと、Google Play Protectという防御機構がある。

https://support.google.com/googleplay/answer/2812853?hl=ja

https://www.android.com/intl/ja_jp/articles/239/

いろんな機能があるが、その中の一つに、有害な可能性のあるアプリを検出した場合に通知が表示されたり、アプリの無効化や削除が実行される機能がある。
これがあるから絶対に防げるというわけではないが、Android側でも色々と利用者を守るための仕組みが存在している。

# 詐欺に遭わないためにも
https://www.antiphishing.jp/consumer/abt_phishing.html

URLや送信元が正しいかどうか判断しないことが大事。
お気に入りや公式サイトなどからアクセスしましょう。

また、情報提供したい方は、下記からフィッシングの報告をしてみましょう。

https://www.antiphishing.jp/registration.html