web-dev-qa-db-ja.com

エクスプロイトとペイロードの違いは何ですか?

コンピューターのセキュリティでは、ソフトウェアの弱点はvulnerabilitiesと呼ばれます(セキュリティに関連する場合)。そして、この脆弱性が見つかると、理論的には概念の証明としてコードが必要になります(これはexploitと呼ばれます)。この文脈では、用語payloadについても言及しています。

次に、「ペイロード」と「エクスプロイト」の違いは何ですか?

27
Akam

エクスプロイトはペイロードを配信するものです。たとえとしてミサイルを取り上げてください。あなたはロケットと燃料、そしてロケットの他のすべてのものを持っており、実際のダメージを与える弾頭を持っています。弾頭がないと、ミサイルは命中したときにあまり機能しません。さらに、ロケットがそれを提供せずにバンカー内で発射される場合、弾頭はあまり役に立ちません。

配信システム(ミサイル)はエクスプロイトであり、ペイロード(弾頭)は実際に何かを行うコードです。

エクスプロイトは、「シェルをポップ/ペイロードコードを実行する」機能を提供します。

ペイロードの例は、トロイの木馬/ RAT、キーロガー、リバースシェルなどです。

ペイロードは、コードの実行が可能な場合にのみ参照され、サービス拒否攻撃のようなものを使用する場合には参照されません。

Flow chartBunker Buster exploitz

51
NULLZ

あなたはすでに脆弱性が何であるかを知っています。

エクスプロイトは、特定の脆弱性を利用するために書かれたコードの一部です。ペイロードは、上記のエクスプロイトを通じて実行されるコードの一部です。

Metasploit Frameworkをご覧ください。これは単にエクスプロイトとペイロードのコレクションです。各エクスプロイトには、リバースシェルまたはバインドシェル、meterpreterシェルなどのさまざまなペイロードを添付できます。

Metasploitフレームワークの優れた点は、モジュール化されていることです。さまざまなペイロードとエクスプロイトを組み合わせて、必要な結果を得ることができます。

11
user10211

図の読みやすいバージョンを用意しました(私はそう思います)。 @ D3C4FFの優れた答え と同じ基本原則に従います。私は彼のアナロジーを最初に使いたくなりましたが、最近の出来事や現在の世界的な政治情勢のため、それは適切ではないと思いました。

ターゲット紋付きニホンザルの自画像 )はかわいくて、バナナは私がこの機会に便利な類推だと思ったものです。どちらも不快感を与えるものではありません。

明らかに、単一のエクスプロイトが複数のペイロードを単一または複数のターゲットに配信する可能性があります。後者の場合、単一の類人猿がいるバナナの箱、または複数のターゲットの動物園のバナナの箱を使用して、搾取のプロセスに関与する個々のエンティティを記述できます(その場合、箱はエクスプロイトとなり、バナナはペイロード)。 ;)

Exploit -> Payload -> Vulnerability -> Target

個別のエンティティは色分けされています;)

この例の図は少し奇妙に見えるかもしれませんが、実際には物議を醸す(この投稿に対する現在の投票が示すように)を超えて適していると思います。バナナは、他の明らかな用途の中で、 実際には以前に薬の送達メカニズムとして提案されてきました 、通常のワクチン接種はそれほど効果的ではありません。

バナナの皮はexploitも完全に示します。これは、exploitと同様に後で破棄されるため、payloadtargetによって消費され、vulnerabilityを介してダイジェストされます(この場合、かわいいサルの口)。

5
TildalWave