【2023年9月6日 追記】

より新しい&詳しい検査方法
の記事を公開しました

【上級】スマホのハッキング確認方法
~ C&C検査法 ~

C&Cビーコンの確認
パソコンにも有効な調査方法です
所要時間目安:初めての場合はたぶん4時間以上かかると思います

はじめに

上級編の検査は作業量がとても多いです

「自分でやるのは面倒/自信がない」という場合は、当社の検査サービスをご検討下さい。

→ 検査サービス
システムを用いての検査となるため、検出漏れや人的ミスを抑制して精度高く検査可能です。

予備知識と概要

確認方法の説明のまえに、まずは予備知識と検査の概要をご説明します。

C&Cとは?

C&Cの図
C&C(コマンド&コントロール)サーバは、分かりやすく言うと「遠隔操作の司令塔」です。
被害端末を操る不正司令を送るとか、盗んだデータを受け取るなどの役割を持つものです。

C&C遠隔操作とは?

C&C遠隔操作の図
C&Cから端末に不正司令を送りつけて遠隔操作することを言います。
情報窃盗、設定やデータの改竄、盗聴・盗撮など被害に繋がります。
他、マルウェア感染拡大の発信源にされたり、他人に対するサイバー攻撃の「踏み台」にされるケースも多くあります。

C&Cビーコンとは?

C&Cビーコンの図
被害端末とC&Cがリアルタイムに通信できるよう、ネットワーク接続を維持するために発せられる信号を「ビーコン」と言います。
C&Cビーコン(または同様の役割を持つ信号)は、リアルタイムの遠隔操作や監視・盗聴など被害を受けている端末では必ず発生します。

逆に、ハッキングされていないスマホからは絶対に発生しません。

そのため、ビーコン信号の有無見れば
ハッキング被害の有無がわかる!

C&Cビーコン信号がある場合はハッキングの可能性大!
それでは次から、
確認方法をご説明します

必要な物は3つ

パソコン、エクセル、LANケーブル

確認の流れ

  1. パソコンに記録用アプリをインストール
  2. 記録用アプリで通信を記録する
  3. Excelでデータを整形する
  4. Googleの無料ツールで確認する

インストールする記録用アプリ

Wiresharkロゴ
名前
Wireshark
概要
パケット解析ツール
備考
ネットワーク関連の開発・保守における定番ツールです。

有線LANケーブルでパソコンをネットに接続して下さい

パソコンを有線でネット接続
※インターネットへの接続は有線LANケーブルを使用して下さい。(Wi-Fiはこの後の検査でスマホとの接続に使用します)

Wiresharkをダウンロード

公式サイトから Wireshark をダウンロードしてください。
Wireshark 公式サイト
※この見本のバージョン「stable Release 4.0.0」は、この記事を作成した2022年10月時点のものです。
ソフトのバージョンアップに伴って表示が変更されますのでご了承下さい。

ダウンロードしたインストーラーを実行して下さい

Wireshark のインストーラー
Next で次に進む
Noted で次に進む
「Next」で先に進む
これ以降に何回か設定画面が表示されますが、全て標準設定でインストールしますので全部「Next」ボタンで先に進んで良いです。
インストール開始
Nmap をインストール
パソコンに Nmap が未だ入っていない場合はこの画面が表示されますので、全て標準設定のまま Nmap をインストールして下さい。
(既に Nmap が入っている場合はこの画面は表示されません)
インストール完了
Finish をクリックして画面を閉じる

記録を取る準備をします

今インストールしたWiresharkを起動して、記録を取るための設定をおこないます。
Wiresharkを起動します
パソコンの画面下側にある Windowsマーク をクリックしてスタートメニューを開き、その中から Wireshark を探して起動させて下さい。
Wiresharkの画面
※この見本はバージョン 4.0.0 の画面です。ソフトのバージョンアップに伴って画面の見た目が変わる場合がありますのでご了承下さい。
折れ線グラフの有るもの・無いものがあります
折れ線グラフが「有るもの」の表示名をメモして下さい
この見本では「イーサネット」と「Adapter for ・・・」をメモします。

メモが面倒な場合は“記憶”でも良いです。どの表示名に折れ線グラフが表示されていたかを覚えておいて下さい。

Wiresharkを起動させたまま
一旦次の作業に移ります

Wiresharkの画面は閉じずに開いたまま、次の手順に進んで下さい。
次はパソコンの
「モバイルホットスポット」
有効にする設定をおこないます。
Windowsの設定を開く
パソコンの画面下側にある Windowsマーク をクリックしてスタートメニューを開き、その中から「設定」を探して開いて下さい。
設定の「ネットワークとインターネット」を開く
設定メニューの「ネットワークとインターネット」を開いて下さい。
「モバイルホットスポット」を開く
「ネットワークとインターネット」の中の「モバイルホットスポット」を開いて下さい。
「モバイルホットスポット」をオンにする
「モバイルホットスポット」を オン(有効)にして下さい。
名前とパスワードをメモする
「プロパティ」の欄に、モバイルホットスポットの 名前(SSID)と パスワード の表示があるので、これをメモして下さい。
次に、再び Wireshark の作業に戻ります。
開きっぱなしにしていた Wireshark の画面を表示させて下さい。
先程は存在しなかった折れ線グラフが出現
モバイルホットスポットをオン(有効)にすると、新たな折れ線グラフが出現します。
もし折れ線グラフの表示が消えて見えなくなってしまった場合は、Wiresharkを一旦再起動させて、モバイルホットスポットをOFF→ONしてみて下さい。
分かりにくいかもしれないので比較写真を載せます。
比較写真
左側がモバイルホットスポットをオンにする【前】で、右側が【後】です。
この新しく出現した折れ線グラフの行が、モバイルホットスポットのインターフェースです。

このモバイルホットスポットのインターフェースを検査に使用します。
なお、この手順書では表示名が
ローカルエリア接続*3 となっていますが、
お使いのPCによって表示名の末尾の番号は異なります。
(例えば「ローカルエリア接続*10」など、番号が異なる場合があります)

表示名の番号が違う場合でも検査の手順は同じなので、適宜に読み替えて進めて下さい。
モバイルホットスポットのインターフェースをキャプチャー開始
新しく出現した折れ線グラフの行(モバイルホットスポットのインターフェース)をダブルクリックして、キャプチャー(記録)を開始して下さい。
画面が切り替わります

記録を取り続けたまま、一旦次の作業に移ります

Wiresharkの画面は閉じずに開いたまま、次の手順に進んで下さい。
次はスマホを準備します
ここではiPhoneを例にご説明しますが、Androidの場合も準備の流れは同じです。

※スマホの充電ケーブルは接続しないで下さい

スマホに充電ケーブルを繋げた状態で検査すると、自動アップデート処理が実行されて検査の邪魔になる場合がありますので、これ以降の作業は充電ケーブルを抜いた状態でおこなって下さい。
スマホの設定画面を開く
スマホのWi-FiをON(有効)にする
ご自宅のWi-Fiに自動接続された場合
ご自宅等のWi-Fiに自動接続される場合は、自動接続の設定をOFFにします。
検査ではスマホをパソコンのモバイルホットスポットに接続しておこないます。

もし検査中にご自宅のWi-Fiに繋がってしまうと検査が正常に進みませんので、予め自動接続をOFFにする必要があります。
Wi-Fiの設定画面を開く
自動接続をOFFにする
Wi-Fiを一旦OFFにし、再度ONにする
他にも自動接続されるWi-Fiがあるか確認する
全ての自動接続をOFFにしてから、スマホをモバイルホットスポットにWi-Fi接続します。
モバイルホットスポットの名前を探す
先程メモしたモバイルホットスポットの名前(SSID)を、Wi-Fiの一覧から探して接続して下さい。
パスワードを入力する
スマホがモバイルホットスポットに接続したら、次はパソコンの操作に移ります。
パソコンでWiresharkの画面を表示させて下さい。
スマホの通信が記録されています
Wiresharkで記録を取り続けたまま、
5分間待機して下さい。
通常ですと2・3分ほどで検査に必要な記録は取れるのですが、少し余裕を持って5分間記録を取ります。
5分経過しましたら、
スマホのWi-FiをOFFにして下さい。
スマホのWi-FiがOFFになった後、1分ほど時間をおいて、Wiresharkの記録を停止させます。(停止方法は次ページに記載)
Wiresharkの停止ボタンをクリック
停止ボタンがグレーアウト
停止処理完了
停止処理に時間がかかる場合があります。
記録したデータ量が少ない場合は一瞬で停止処理が完了します。
しかしデータ量が多い場合は停止処理に時間がかかる場合もあります。
そのまま何もせず放置して停止処理が終わるのをお待ち下さい。
次に、Wiresharkで記録したデータを保存します。
保存先のフォルダを作成
フォルダの名前や場所は任意です。
この手順書では、デスクトップに「kensa_test」というフォルダを作成しました。
Wireshark画面上部の「ファイル」をクリック
「保存」をクリック
任意のファイル名で保存して下さい
これで記録の元データ「pcapng形式」のファイルが保存されました。

次に、検査に用いるための「CSV形式」に変換したファイルを保存します。
Wireshark画面上部の「ファイル」をクリック
「エキスパートパケット解析」の「CSVとして」をクリック
任意のファイル名で保存して下さい
ここまででWiresharkでの記録作業は終了です。

次はExcelを使用して、検査用データの不要なデータを削除する作業に移ります。
検査用のCSVファイルをエクセルで開きます
エクセルで不要なデータを削除します
Source と Destination の重複する値を削除します
Source のカラムを全て選択
Source のカラムを全てコピー
エクセルに新しいシートを追加する
新しいシートに、先程コピーしたSourceを貼り付ける
新しいシートにSourceが貼り付けられました
エクセルのツールバーの「データ」を開きます
「重複の削除」をクリック
「OK」ボタンを押して重複削除を実行
Source の重複するデータが削除されました
Destination のカラムを全てコピー
エクセルに新しいシートを追加する
新しいシートに、先程コピーしたDestinationを貼り付ける
Destination も「重複の削除」をおこないます
「OK」ボタンを押して重複削除を実行
Destination も重複するデータが削除されました
次に Source と Destination のデータを合体させて、その合体データで重複する値を削除する作業をおこないます。
Destination のシートを表示させて下さい
先頭のセルをクリックして下さい
先頭のセルをクリックして下さい
Destination の全部の値を選択します
全選択された状態でコピーします
Source のシートを表示させて下さい
Source の最終セルの一つ下のセルを選択して下さい
Destination のデータを貼り付け
Source と Destination のデータを合体できました
Source の先頭のセルをクリック
合体データの重複削除をおこないます
「OK」ボタンを押して重複削除を実行
合体データの重複するデータが削除されました
最後にこの合体データ(重複削除済み)を保存して、検査用データが出来上がるのですが、保存の際に注意点があります。
合体データのシートを表示した状態で保存して下さい
Excelは、CSV形式のデータを保存するとき、「表示されているシートだけが保存される」という仕様になっています。
ですので、合体データのシートを表示した状態で保存の操作をおこないます。
エクセルのツールバーの「ファイル」をクリック
上書き保存をクリックしてCSVを保存
以上でエクセルの作業は完了です。

次はいよいよ検査作業となります。

使用するツール

Wiresharkロゴ
名前
Virus Total
概要
脅威情報検索ツール
備考
Google社が無料で提供するツールです。
注意
ファイルをアップロードしてウイルススキャンする機能もありますが、これは使用しないほうが良いです。
何故かというと、アップロードしたファイルは検体としてVirusTotalで世界中に公開されてしまうからです。

ツールにアクセス

パソコンのWebブラウザでVirusTotalにアクセスして下さい。
VirusTotalの画面
VirusTotalの検索欄
重複削除済みのCSVデータをエクセルで開く
IPアドレス(IPv4)
ここではIPv4のみ検査しますので、他の値は無視して良いです。
CSVの値をコピーし、VirusTotalの検索欄にペースト
判定結果が0(ゼロ)ならば問題なしです
残りのCSVの値も全て一つずつVirusTotalで検索
全て判定結果が0(ゼロ)ならば問題なしです

続いて危険な例をご説明します。

VirusTotalでマルウェア(ウイルス)などの危険性を検知した場合は、次のページのように表示されます。
危険性の判定が複数ある
見本の左上の数値を見ますと、13と表示されています。
これは 13種類のセキュリティエンジンが危険性を検知した という意味です。
左上の数値が だった場合、
つまり一つのセキュリティエンジンだけが反応したという場合は、過剰検知の可能性があります。
ここでいう過剰検知とは、軽微な危険性に対して敏感に(過剰に)反応したことを言います。

【過剰検知の例】
広告のトラッキング機能など、軽微な問題点を「マルウェアかも知れない」と過剰に検知することがあります。
ほか、過去には危険性があったけれど、現在は危険が排除されて安全となっている、という場合でも過剰検知する場合があります。
過剰検知の場合は無視して良いです。

しかし先程の見本のように、複数のセキュリティエンジンが反応している場合は、相当な確度で「危険だ」と考えられます。

複数の危険判定があった場合

  1. 初期化しないで下さい。
  2. 電源をOFFにしない、かつバッテリー切れにならないようにして下さい。
  3. Wi-FiをOFF(無効)にして下さい。
  4. 機内モードをON(有効)にして下さい。
インターネットから完全に隔離した上で、警察に相談するか、または当社のような民間の「デジタル・フォレンジック専門企業」にご相談下さい。

なお当社にご相談頂く場合は、「スマホのC&C検査で異常を検出した」という旨をお知らせ頂くとスムーズです。
以上で VirusTotal を用いた検査の説明は終了です。

【補足①】

2022年現在、サイバー攻撃のほとんどは IPv4 に対応するかたちで実行されています。その理由は単純で、世界的に IPv4 に対応する機器の割合が多いので、それに合わせてサイバー攻撃も IPv4 がメインで悪用されています。

【補足②】

先程の検査では IPv4 に対しておこない、かつ世界一有名な VirusTotal というツールを用いましたので、ここで異常が見つからなかった場合は概ね安全だろうと思って良いかと思います。

ちなみに、当社のサービスの場合

(株)LTセキュリティの調査代行(検査サービス)では、今回ご紹介した確認方法(IPアドレスだけの検査)よりもさらに2段階も深く調査しますので、より精度が高いです。

具体的には、IPアドレスだけでなくOSI第3層(ネットワーク層)/第4層(トランスポート層)をIoC検査しますので、IPアドレスだけの検査よりも更に高精度です。
今回のセルフチェックだけでもかなり検出率は高いのですが、更に精度が求められる場合には LTセキュリティの調査代行をご検討下さい。
→ 検査サービス
システムを用いての検査となるため、検出漏れや人的ミスを抑制して精度高く検査可能です。

続いて、VirusTotalでは検査しなかった形式の値に関して、別のツールを使用した検査方法をご説明します。

重複削除済みのCSVデータをエクセルで開く
VirusTotalでは検査しなかった形式の値を検査していきます
CSVの中には無視して良い値(検査する必要が無い値)が混じっています。

まずは無視して良いものについて説明します。

無視する値 - 1つ目

「::」や「0.0.0.0」は無視して良いです

無視する値 - 2つ目

コロン記号(:)で6つに区切られた値も無視して良いです
前の説明だけだと分かりにくいかも知れませんので、念のためもう少し詳しく説明します。
MACアドレスの説明
上記のように、2文字の値が、コロン記号で 6つに区切られたものは「MACアドレス」というものです。
MACアドレスは、LANの内部で機器を識別するためのものです。

今回おこなっている検査は、外部の攻撃者によるハッキングの有無を確認する検査なので、MACアドレスは無視して良いです。
そしてもう1種類、無視して良い値があります。

無視する値 - 3つ目

先頭の文字が「f」で始まる値も無視して良いです
ざっくりした説明になってしまいますが、
1文字目が f で始まる値も、ネットワークの内部で使用する値なので、無視して良いです。
【例】fe80 / ff02 / fc00 など

無視する値のおさらい

①「::」「0.0.0.0」

② MACアドレス(:で6つに区切られた値)

③ 1文字目が「f」の値

無視しない値の例

例① 2404:6800:4004:821::2003

例② 2a03:2880:f00f:1:face:b00c:0:1

例③ 2600:3c03::f03c:91ff:fe69:aaa2

このような値(IPv6)の検査例をご説明します。

それでは IPv6 を検査していきます

タスクバーの検索アイコンをクリック
検索欄に「cmd」と入力
コマンドプロンプトで「nslookup」を実行
通信先のホスト名(FQDN)が判明

ホストの危険性を調べます

nslookupで得られたホスト名の通信先が、危険なホスト(遠隔操作の司令塔など)かどうか、Web検索をして調べます。
Google検索で、キーワードの前後に「”」記号を付加して検索
この手順書の見本では
"nrt12s35-in-x03.1e100.net" を検索します。
このホストの情報は何も見つかりませんでした
何も見つからなかった場合は、ドメイン名で再検索。
当該ドメインはGoogle社のもののようです
Googleのものならば危険性は低そうですね。
ただし検索結果のWebページに書いてあることが、必ずしも真実であるとは限らない点に留意してください。

今回の例ではGoogleのサポートページもヒットしているので間違いないと判断して良いかと思いますが、ネットには誤情報や嘘などが溢れていますので、情報の信憑性にご注意下さい。
検査例の2つ目も「nslookup」で調査
通信先のホスト名が判明
nslookupの結果:
edge-star6-shv-01-nrt1.facebook.com
検索するまでもなく facebook.com のドメインだと分かりますので、これも安全だと判断して良いかと思います。
Google検索しても、本当にfacebook のようです。
最後に検査例の3つ目を「nslookup」で調査
通信先のホスト名が判明
ホスト名をGoogle検索すると、公式サイトらしきものがヒット
そのサイトにアクセスすると、なにやら不穏な警告が表示されました。

実はこれ、監視アプリ/ストーカーアプリ と言われる悪質アプリに関係するものです。

過去に流行した「Cerberus(ケルベロス)」という有名な監視アプリの通信を観測したときのものです。
このようなスマホ用の監視アプリの場合ですと、今おこなっている上級版の検査をするまでもなく、スマホのアプリ一覧や、アイコン、アプリDL履歴などを見るだけで検知できます。

そのため、このような低レベルな監視アプリに対して上級の調査をするのはナンセンスだと思いましたが、ここでは分かりやすい一例としてお見せしました。

最後にIPv6の検査方法をもう一つ。

IPv6のセルフチェックの精度を高めるために、もう一段階深く調べる検査方法をご説明します。
Wiresharkで記録した pcapng データを開いて下さい
ここでは、先程にご案内したIPv6
例① 2404:6800:4004:821::2003
を深掘りしてみます。
Wiresharkの表示フィルタに「ipv6.addr == 検査する値」を入力
一覧ペインの表示内容が絞り込まれます
ドメイン名らしきものが含まれるデータが見つかることがあります
crashlytics.comというドメインが確認できる
IPv6「2404:6800:4004:821::2003」をWiresharkで分析すると crashlytics.com との通信だと分かりました。

Crashlytics はアプリの不具合を検知するためのシステムですので、これが検出されても問題ナシと判断して良いかと思います。
ところで・・・
先程おこなった nslookupでの調査 を思い出してください。
先程のnslookupの調査では「Googleのサーバー」だと判明していたはずです
しかし今回のWiresharkの分析ではcrashlytics.comのドメインが見つかりました
Wiresharkで分析すると、crashlytics.comとなる。

nslookupで調査すると、Googleのサーバーとなる。

調べ方によってドメインが異なる理由

ざっくり大雑把に言いますと、
Google社のシステムの中にある、crashlytics.comの領域と通信した。というイメージで理解すると分かりやすいかと思います。
例えば、
A社が貸し出しているAAAサーバを、
B社がレンタル契約した。

AAAサーバの中に、BBBシステムを構築した。

そしてスマホがAAAサーバBBBシステムと通信した。
この例のような場合、調べ方の違いによって調査の対象部分が異なるため、AAAという情報が出る場合と、BBBという情報が出る場合とがあるのです。
さて、ここまでの説明をご参考にして頂き、ご自身のスマホのデータを調べてみて下さい。

そしてもし異常なものが見つかった場合は、インターネットから完全に隔離した上で、警察に相談するか、または当社のような民間の「デジタル・フォレンジック専門企業」にご相談下さい。

PR

全部調べるのは相当に骨が折れることですし、時間も大幅にかかるでしょう。
沢山のアプリをインストールしているスマホの場合ですと、丸一日かけても終わらないかも知れません。

もしご自身でセルフチェックするのが面倒だと感じた場合は、LTセキュリティの調査代行(検査サービス) をご検討下さい。

以上で確認作業は完了です

→ 検査サービス
「自分でやるのは面倒/自信がない」という場合は、当社の検査サービスをご検討下さい。
システムを用いての検査となるため、検出漏れや人的ミスを抑制して精度高く検査可能です。

【2023年9月6日 追記】

より新しい&詳しい検査方法
の記事を公開しました
ハッキング確認方法の記事ページへ戻る