PsExec/Winexec/ScExec
どのように機能するか
プロセスは以下のステップで概説されており、SMBを介してターゲットマシンでリモート実行を達成するためにサービスバイナリがどのように操作されるかを示しています。
ADMIN$共有にサービスバイナリをSMB経由でコピーします。
リモートマシン上にサービスを作成し、バイナリを指します。
サービスがリモートで開始されます。
終了時に、サービスは停止され、バイナリは削除されます。
PsExecを手動で実行するプロセス
msfvenomで作成され、ウイルス対策検出を回避するためにVeilを使用して難読化された実行可能ペイロード「met8888.exe」を仮定すると、以下のステップが取られます。
バイナリのコピー: 実行可能ファイルはコマンドプロンプトからADMIN$共有にコピーされますが、ファイルシステムのどこにでも配置して隠すことができます。
サービスの作成: Windowsの
sc
コマンドを使用して、リモートでWindowsサービスを照会、作成、削除することができ、「meterpreter」という名前のサービスがアップロードされたバイナリを指すように作成されます。サービスの開始: 最後のステップはサービスを開始することで、バイナリが本物のサービスバイナリでないため、期待される応答コードを返さず「タイムアウト」エラーが発生する可能性があります。このエラーは、バイナリの実行が主な目的であるため、重要ではありません。
Metasploitリスナーを観察すると、セッションが正常に開始されたことがわかります。
詳細な手順については、https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/を参照してください。
Windows SysinternalsバイナリPsExec.exeを使用することもできます:
SharpLateralを使用することもできます:
Last updated