私の質問は、悪用によってシェルを取得するために通常使用されるバックドア/バインド/リバースtcpペイロードに関連するアーキテクチャ上の制限に関するものです。
ターゲットボックスアーキテクチャ(x86、x64、ARMなど)が不明な状況。
どんな助けでも大歓迎です!手動でテストするのではなく、ここで質問する時間を節約できるので、感謝しています。
1。 x64ペイロードはx86アーキテクチャで動作しますか
64ビットの実行可能ファイルはx86アーキテクチャでは機能しません。これは、アーキテクチャ間に2つの多くの違いがあるためです。アドレス空間の制限を超えて、存在しない64ビットレジスタがあります。関数のパラメーターはまったく異なる方法で処理されます。機械命令の動作は異なります。
Windows 64ビットには、x86プログラムをx64アーキテクチャで実行するための互換性を確保するための多くのコードが含まれていますが、これを利用するには実行可能ファイルを作成する必要があります。この場合、エクスプロイトは32ビットアプリケーションとして構築され、 WOW64 サブシステムを利用する必要があります。このサブシステムは、32ビットアプリケーションを実行するためのサンドボックスのようなものです。基本的に、実行のために32ビットシステムをエミュレートします。
2。アーキテクチャの依存関係がないペイロード配信のソリューションはありますか?
コンパイラは特定のアーキテクチャ用に構築されています。上で述べたように、アーキテクチャに依存しないコードには、ある程度のエミュレーションが必要です。たとえば、Javaは、仮想マシンを使用して複数のプラットフォームで実行します。これにはパフォーマンスが犠牲になります。
3。 x86エンコーダーでx64ペイロードをエンコードすると、実行時に互換性の問題が発生しますか?
X86エンコーダーが何であるかわかりません。 x64マシンコードをx86マシンコードに変換することを意味する場合は、最初にx86用にビルドする方がよいでしょう。それはほとんど同じことなので。