Metasploit の msfvenom を使用してエンコードするカスタム シェルコードを作成しました。msfencode がまだ機能していた頃、コマンドは次のように実行されていました。
$ echo -ne “\x31…\x80” | sudo msfencode -a x86 -t c -e x86/jmp_call_additive
「x86/jmp_call_additiveエンコーダーを使用して、出力をac配列としてx86アーキテクチャのmsfencodeにシェルコードをパイプします」
今、msfvenomを除いて同じことをしたいので、試しました:
$ echo -ne "\x31...\x80" | sudo msfvenom -e x86/jmp_call_additive -a x86 -t c
しかし、次のエラー メッセージが表示されます。
Attempting to read payload from STDIN...
You must select a platform for a custom payload
-a フラグを指定すると、正しいプラットフォーム/アーキテクチャが指定されると思いました。-a の代わりに --platform も試しましたが、同じエラー メッセージが表示されます。
Ubuntu 32 ビットを使用する仮想マシンでこれを実行しています。助けてくれてありがとう