概要
PsMapExecは、内部ペネトレーションテスター向けに設計されたPowerShellネイティブのラテラルムーブメント用ユーティリティです。Windows環境全体で柔軟性、速度、ステルス性を必要とする方に最適です。The-Viper-Oneによって作成されたこのツールは、Evil-WinRMやImpacketのpsexec.pyと似たニッチを埋めつつも、スクリプトに適したワークフローやPowerShellネイティブの永続性に特化しています。もしあなたのレッドチーム活動がWinRM、SMB、またはRDPベースのアクセスに依存しているなら、PsMapExecは軽量ながら強力な選択肢となり、実際のネットワークでのテストに値します。

特徴
PsMapExecは、ターゲットIPリスト全体にPowerShellスクリプトをマッピングおよび実行することができます。このユーティリティは複数の認証情報を受け取り、トークン偽装をサポートし、モジュールをリモートで実行できます。統合モジュールには以下が含まれます:
- SMBの列挙と共有マッピング
- WinRMベースのコマンド実行
- クレデンシャルスプレーのサポート
- ADユーザーグループの列挙
設計はモジュラー型で、自分自身のPowerShellペイロードや運用スクリプトを簡単に追加できるようになっています。これにより、テスターはPowerShell中心の環境でツールを一貫して使用でき、特にリモートC2チャネルが制限されている、または厳重に監視されている場合に有効です。
内部エンゲージメントでのユースケース
PsMapExecは、レッドチームや想定侵害評価のラテラルムーブメントや権限昇格の段階で特に有用です。多くの企業環境では、内部でWinRMやSMBが依然として公開されており、セグメンテーションが不十分な場合が多いため、外部バイナリを展開せずに静かにネットワーク内を移動する実用的なツールとなります。
また、クレデンシャルの検証にも役立ちます。フィッシングやLSASSダンプで認証情報を収集し、その範囲を確認したいが、実行ファイルベースのツールをフラグするEDRに警告を与えたくない場合、PsMapExecはネイティブな代替手段を提供します。
インストールと使用方法
このツールはスタンドアロンのPowerShellスクリプトとして提供されます。実行方法:
Import–Module .\PsMapExec.ps1 Invoke–PsMapExec –TargetList .\targets.txt ` –Username “domain\user” ` –Password “Password123” ` –Module “smb_enum” |
モジュールはModules\
フォルダの構造に従って作成できます。モジュールの実行結果はコンソールに返され、詳細な列挙やデバッグ用の冗長出力オプションも利用可能です。
検知およびブルーチームの考慮点
PowerShellネイティブであるにもかかわらず、PsMapExecはSMBおよびWinRMポート(それぞれTCP 445および5985)上で観測可能なアクティビティを生成します。ディフェンダーは以下を通じてこれを検出できます:
- Windowsイベントログ:4688(プロセス作成)および4624(ログオンイベント)を確認
- WinRMログ:PowerShellリモート実行のアクティビティや異常な送信元IPの追跡
- SMB共有アクセス:高頻度のアクセスパターンや失敗試行の監視
PowerShellのロギング(モジュール、スクリプトブロック、トランスクリプション)は、可能な限り有効化して異常なモジュール使用を可視化すべきです。Microsoft DefenderのAMSIや、ラテラルツールキットをターゲットとしたSysmonルールとの統合も悪用の検出に役立ちます。
他ツールとの比較
CrackMapExecと比較すると、PsMapExecはより軽量で、PowerShellネイティブなコンテキストに特化しています。Evil-WinRMとは異なり、よりモジュラーなバックエンドで複数ホストへの並列実行が可能です。これにより、ジャンプボックスやシンクライアントから内部評価を実施し、フルC2キットのインストールが困難な場合に特に有用です。
ただし、Cobalt StrikeやHavocとは異なり、通信の難読化や暗号化は組み込まれていないため、運用時はトンネルや既存C2インフラ経由でプロキシしない限り、平文での可視性を前提とすべきです。
レッドチームでの有用性
ネイティブツールや「Living off the Land」原則に依存するレッドチームにとって、PsMapExecは手動WinRM操作とフルC2展開のギャップを埋めます。ドメイン認証情報と限定的なネットワークアクセスから開始し、低ノイズな手法で迅速にピボットする必要がある「想定侵害」シナリオで特に有用です。
また、モジュール性を促進します。各モジュールは実質的に独立したPowerShellタスクであり、バージョン管理やカスタマイズ、他の列挙パイプラインとの統合が可能です。これは現代的でアジャイルなレッドチームツールキットに適しています。
まとめ
PsMapExecは大規模なフレームワークの代替を目指しているわけではありません。その代わり、非常にターゲットを絞ったもの、すなわちPowerShellと認証情報だけで内部Windowsマシン全体にタスクを迅速かつネイティブに実行する方法を提供します。このシンプルさが、特にステルス重視やセグメント化されたエンゲージメントにおいて、あらゆるレッドチームキットへの貴重な追加となります。
詳細やダウンロードはこちらから:https://github.com/The-Viper-One/PsMapExec。
読者とのやりとり
翻訳元: https://www.darknet.org.uk/2025/07/psmapexec-powershell-command-mapping-for-lateral-movement/