ゆるいぞIT

今回はリバースシェルという攻撃手法(通信方法の一つ)も用いてWindows PCをハッキングする流れを試してみたいと思います。

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

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

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

0.使用する環境

ゆるいぞIT

Kali Linux → Windows10・Windows11のPC へ攻撃(クラッキング)を実行します。

ソフトウェア

  • 仮想環境 : Virtual Box
  • 攻撃用サーバ : Kali Linux
  • ターゲットPC① : Windows10(仮想ホスト/ゲストPC)
  • ターゲットPC② : Windows11(物理ホスト/ホストPC)

演習環境

1.演習の流れ

STEP1
ペイロードの作成

WindowsPCに設置するリバースシェルのペイロードを作成

STEP2
ペイロードの設置

作成したペイロードをWindowsPCに設置

STEP3
Kali Linuxの事前準備

Kali Linuxでexploitを実行(待ち受け状態にする)

STEP4
ペイロードの実行

WindowsPCに設置したペイロードを実行してKali Linuxとのセッションを確立

2.用語の説明

ゆるいぞIT

まずは今回使用する”リバースシェル“と”ペイロード“について簡単に説明します。

リバースシェルとは?

リバースシェルとはターゲット(サーバやPC等)としているのホストから攻撃用のサーバにアクセスするという通信方法の一つになります。

一般的な攻撃は「攻撃サーバからターゲットホストに対してセッションを張って何かしらの攻撃を実行する」という流れになりますが、通常であれば通信経路上のFWやUTM製品、アンチウィルスソフトによって怪しい通信は遮断されてしまいます。

それを回避する為にターゲットホスト側に設置した悪意のあるプログラム(ペイロード)を用いて攻撃サーバに対して通信を張る攻撃方法のことをリバースシェルといいます。

ペイロードとは?

ペイロードとはエクスプロイト(攻撃)が成功した後に実行されるコードのことになります。

今回実施する演習であれば「ターゲットホストに設置したペイロードを実行することで攻撃サーバに対して通信を張る」という使い方になります。

簡単にいうと「ターゲットホストに仕込む悪意のあるプログラム」のことですね。

3.ペイロードの作成

ゆるいぞIT

前段で説明した内容も踏まえて、まずはKali Linuxでリバースシェルのペイロードを作成しましょう。

ペイロードを作成するためには「msfvenom」というコマンドを使用します。

msfvenomはシェルやペイロードをコマンド形式で作成できる便利なツールになっています。

      Saved as: /<任意のフォルダ>/win10_payload.exe」ということでペイロードが作成されました。

      “-p”で指定するペイロードはlistコマンドで確認することができます。

      今回使用したWindows以外にAndroid、IOS、LinuxといったようにOS毎でそれぞれ用意されています。

      4.ペイロードの設置

      ペイロードの作成が完了後、WindowsPCから取得できるようにアクセスできるディレクトリにファイルを移動します。

      ※本来であればメールやSMSなどを利用してターゲットホストに送り付けることになりますが、今回は演習ですので省略します。

      Kali LinuxのHTTPサーバを起動します。

      ターゲットホストであるWindowsPCからKali Linuxのディレクトリにアクセスしてexeファイルをダウンロードします。

      ブラウザを起動し「http://<Kali LinuxのIPアドレス>/share」にアクセスして”win10_payload.exe“をダウンロードします。

      Windows Defenderによりダウンロードが停止した場合は「リアルタイム保護」をオフにします。

      5.Kali Linuxの事前準備

      ゆるいぞIT

      ペイロード(.exe)を実行するとWindowsPCからKali Linuxにセッションが張られますので、それを受け取れるように待ち受け用のexplloit(プログラム)を実行します。

      STEP1
      Metasploitを起動
      STEP2
      待ち受け用のexploitを設定

      使用するエクスプロイトをセットします。

      Kali LinuxのIPアドレスをセットします。

      待ち受け側のペイロードをセットします。

      セットした設定を確認します。

      STEP3
      exploitの実行

      下記のようなメッセージが表示されたら成功です。

      6.ペイロードの実行

      ゆるいぞIT

      WindowsPCにダウンロードしたペイロード(.exe)を実行することでKali Linuxから操作可能な状態(操作権限の奪取)となります。

      ペイロードを実行(ダブルクリック)します。

      Windowsディフェンダーでブロックされた場合は「実行」をクリックします。

      Kali Linuxのプロンプトにセッションが確立したログが表示されたら接続成功となります。

      接続後はセッション一覧で状態を確認することができます。

      接続後にmeterpreter(メタプリタ)というツールを実行します。

      Meterpreterとは?
      Metasploitコンポーネントの1つで、エクスプロイトを実行した後にMeterpreterに遷移することでリモートシェル以上の機能を使用することができるようになります。
      ファイル操作、キーロガーの実行、スクリーンショットの取得、プロセス管理、ネットワークスキャンといった高度な操作が可能となります。

      先ほどセッション一覧で確認した「session 1」を指定することでmeterpreter(メタプリタ)に遷移します。

      meterpreterに遷移することでコマンドの実行が可能となります。

      デスクトップのスクリーンショットも撮影できたりします。

      スクショしたファイルはKali Linuxに保存されます。

      今は”Windows10”での実施でしたが、”Windows11”で実行する場合も流れとしては同じになります。

      ペイロードも同じものが使えるので作成したペイロードをWindows11上に配置して、今実施した流れと同じようにKali LinixとホストOSでセッションを張れば完了です。

      7.最後に

      今回の流れを見てもらった通り、WindowsPCの操作を奪うためには「仕込んだペイロードをPC側で実行する」という手間があるので簡単に実施できるものではありませんが、このペイロード(プログラム)ををアプリケーションやツールの中に仕込んだり、何かしらの方法で上手く誘導されて実行してしまうと、PCのセッションを奪われる状態になってしまいます。

      ですので、怪しいリンクやファイルなどは不用意に実行しないことをオススメします。

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

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