ゆるいぞIT

今回は第三者のパソコンやスマホ等のデバイスから“カメラ画像”や”音声データ”、”位置情報”を取得する流れを試してみたいと思います。

※Youtubeでは動画版をご視聴いただけます。

この記事はこんな人にオススメ
  • ハッキングスキルについて知りたい
  • セキュリティの知識を学習したい
  • ITインフラの知識を学習したい

※実務や演習等を除き、インターネット上のサーバへクラッキングすることは違法行為となりますのでご注意ください。

0.使用する環境

ゆるいぞIT

Kali LinuxPCやスマホ等のデバイスへ攻撃を実行します。

ソフトウェア

  • 仮想環境 : Virtual Box
  • 攻撃用サーバ : Kali Linux
  • ターゲットホスト : PC、スマホ、タブレット等

演習環境

1.演習の流れ

STEP1
ツールのインストール

ターゲットデバイスから情報(カメラ画像、音声データ、位置情報など)を取得するためのツールをインストール

STEP2
サーバ接続用リンクの作成

インストールしたツールを使用してKali Linuxへアクセスする為のリンク(URL)を作成

STEP3
作成したリンク(URL)をターゲットホストへ送信
STEP4
ターゲットデバイスからデータを送信

ターゲットデバイスからKali Linuxへ”カメラ画像”、”音声データ”、”位置情報”を送信

2.ツールのインストール

ゆるいぞIT

今回使用する”Storm-Breaker”と”ngrok”いうツールをインストールします。

2-1.Storm-Breaker

“Storm-Breaker”はターゲットデバイスからカメラ画像、音声データ、位置情報などの情報を取得する為にサーバのような役割を果たしてくれるツールになります。

STEP1
必要なファイルをGitHubからダウンロード

※事前に適当な作業ディレクトリ(/home/kali)を作成

STEP2
インストーラーを実行
STEP3
パッケージを一括インストール

※「Successfully installed」と表示されたら完了

2-2.ngrok

“ngrok(エングロック)”はAPIゲートウェイのサービスの一つで、このサービスの機能を使用することで「構築したWebページなどを外部公開する」ということができるようになります。

例えば、通常Webページをインターネット上に公開する場合、レンタルサーバやDNSサービスなどで設定して外部公開用の諸々の対応が必要になりますが”ngrok”を使うことでそういった面倒な準備が不要になるという感じになります。

テスト等で一時的に外部公開したい時などに使うと便利な機能になっています。

アカウントの登録が必要になりますが、基本的な機能は無料で利用可能となっています。

STEP1
サイトへログイン後、Agentメニューから使用しているOSを選択

今回はKali Linuxで実行するのでLinuxを選択

STEP2
インストールの実行

Linuxの場合はcurlコマンドでngrokのインストールやアップデートを実行

STEP3
トークンの登録

ユーザ個別に払い出されるトークンをKali Linuxに登録

3.サーバ接続用リンクの作成

ゆるいぞIT

インストールしたツールを使用してターゲットデバイスから情報を取得する為のリンク(URL)を作成します。

STEP1
“Storm-Breaker”を実行
STEP2
ngrok(エングロック)を実行

Storm-Breakerの起動画面にngrokの起動コマンドが表示されるのでコピーする

別なターミナルを開いてコマンドを実行

STEP3
コンソールにアクセス

”ngrok”が起動するとコンソール用のリンク(URL)が表示されるのでWebブラウザを開いてアクセスする

※デフォルトのアカウントは「ユーザ名:admin、パスワード:admin

※ローカルホストでコンソールにアクセスする場合は「 http://localhost:2525 」を使用すればOK

STEP4
サーバ接続用リンクの確認

ログイン後に表示されているURLがPCやスマホ等のターゲットデバイスか情報を送信させる時に使うリンクになる
下の欄はデバイスからアクセスした時のログが出力されるスペース

4.作成したリンク(URL)をターゲットデバイスへ送信

ゆるいぞIT

コンソールに表示されたリンク(URL)をメールやSMS等を使ってターゲットデバイスに送信します。 ※上記Step4で確認したリンク

5.ターゲットデバイスからKali Linuxへ情報を送信

ゆるいぞIT

ターゲットデバイス上でリンク(URL)をクリックすることでKali Linuxへ接続され情報の送信が開始されます。

5-1.カメラ画像の取得

camera_temp (/camera_temp/index.html)“はデバイスのカメラで撮影した画像を送信するリンク(URL)になります。

情報を送信中は「カメラを使用中」と表示されます。

result欄にはアクセスしてきたデバイスの情報が表示されます。

送信されてきたカメラ画像はKali LinuxのStorm-Breaker配下のフォルダに保存されます。

画像サイズは変換されていますが、何をしてるのか見る分には十分なレベルですね…

5-2.マイク音声の取得

microphone (/microphone/index.html)”はデバイスのマイクで拾った音声ファイルを送信するリンク(URL)になります。

情報を送信中は「マイクを使用中」と表示されます。

画像データと同じでマイクから拾った音声データがKali LinuxのStorm-Breaker配下のフォルダに保存されます。

5-3.位置情報の取得

nearyou (/nearyou/index.html)”がデバイスの位置情報を送信するリンク(URL)になります

デバイス側のリンクをクリックするとマップのリンクが連携されて、今いる位置情報が表示されます。

6.デバイス別(OS毎)の取得結果

”カメラ画像”や”音声データ”の情報を取得できるデバイス、取得できないデバイスがあったので纏めてみました。

  • Windows11(24H2) : Chrome, Edge → Kali Linuxへの送信OK
  • Android(ver14) : Chrome → Kali Linuxへの送信OK
  • iPhone(ver18) : Safari, Chrome → Kali Linuxへの送信NG
  • iPad(ver18) : Safari, Chrome → Kali Linuxへの送信NG
  • MAC :

”Windows”や”Android”は取得可能でしたが、”iPhone”や”iPad”は情報を取得することができませんでした。

 ngrokの接続ログでは「HTTPリクエスト:200」となっていたので、Kali Linuxに接続はできているようですが、”カメラ画像”や”音声データ”は取得できていませんでした。

「OSのセキュリティによるものなのか?」、「画像や音声のフォーマット形式が対応してないのか?」原因は不明…

7.最後に…

今回はリンクをクリックすることで「Webブラウザ経由で情報取得する」という流れを実施してみましたが、自分が気づかない内に「マルウェアが実行されてて情報を抜かれた」という事例もあるようなので、セキュリティが気になる方はカメラやマイク等の機能をブラウザ側の設定を切っておいた方がいいかもしれません。

ということで、今回はここまでにしたいと思います。

それではまた次回お会いしましょう!