web-dev-qa-db-ja.com

エクスプロイトとペイロードはどのように連携しますか?

私はMetasploit Frameworkについて数年間知っていましたが、実際にはそれについて知りませんでした。ネットワークに関してはある程度知識がありますが、私はプロではありません。 Metasploitでいくつかのテストを行ったところ、1つのことに興味がありました。 (間違っている場合は修正してください)

MicrosoftがInternet Explorerの新しいバージョンをリリースしているとしましょう。誰かが脆弱性(バッファオーバーフロー)を見つけ、Metasploit(Metasploitだけでなくそうです)を使用して、エクスプロイトを設定し、ペイロードを設定し、パラメーターを設定し、エクスプロイトを入力して、meterpreterシェルを取得しました。

Internet Explorerには脆弱性がありますが、exploitpayloadの間の接続はどのように行われますか?私が知っていることから、バッファオーバーフローはアプリケーションをクラッシュさせるものにすぎませんが、アプリケーションのクラッシュからハッカーのコンピュータへの接続に戻るにはどうすればよいですか?

5
icebox19

この脆弱性は、攻撃者が制御を取得できるようにするソフトウェアの弱点にすぎません。たとえば(バッファオーバーフローについて言及したため)、strcpyによる未チェックのバッファコピー、または攻撃者が制御する長さのmemcpyの使用。

エクスプロイトは、脆弱性を利用する実際のプロセスです。バッファオーバーフローの場合、これはスタックに保存されたEIPを上書きするプロセス、関数ポインタを上書きするプロセス、または実際にアプリケーションの制御を可能にするその他のプロセスです。

ペイロードは、エクスプロイトを使用して実行するものです。コマンド(シェルなど)を実行し、ネットワークポートを開いてリッスン(バインドシェル)、ユーザーに接続(リバースシェル)、または一般的に他のすべてを実行できます。したいかもしれません。多くの場合、Metasploitを使用している場合、Meterpreterはさまざまなタスク(スクリーンショット、コマンドの実行、データの抽出など)を実行できるように設計されているため、Meterpreterを起動する必要があります。

8
David

payloadexploitとの間で混乱しているようです。

  • エクスプロイト:エクスプロイトを方法として考えますを利用する特定の脆弱性。たとえば、バッファオーバーフローの場合、エクスプロイトは、脆弱なアプリケーションにpayloadを挿入してアクセスを許可するプログラムまたはツールです。

:Metasploitのエクスプロイトライブラリ

  • ペイロードPayloadexploitが成功した後に実行されるバイトコード\x12\x64\x23\xABとして考えます。

:シェルを生成するシェルコード:\xeb\x12\x31\xc9\x5e\x56\x5f\xb1\x15\x8a\x06\xfe\xc8\x88\x06\x46\xe2 \xf7\xff\xe7\xe8\xe9\xff\xff\xff\x32\xc1\x32\xca\x52\x69\x30\x74\x69 \x01\x69\x30\x63\x6a\x6f\x8a\xe4\xb1\x0c\xce\x81

2
AK_

exploitは、バッファオーバーフローのようなバグを使用して、ターゲットソフトウェアにコードpayloadを実行させます。

基本的に、ターゲットは自分のソフトウェアを実行します。エクスプロイトがやって来て実行され、最後にエクスプロイトがペイロードを実行します。バグによっては、ペイロードのサイズが制限される場合があります。

エクスプロイトはターゲットソフトウェアをクラッシュさせる可能性がありますが、クラッシュさせる必要はありません。これは、利用しているバグによって異なります。悪用の中には、何も起こらないままソフトウェアを続行させるものもあります。

1
PiTheNumber