web-dev-qa-db-ja.com

いくつかの侵入テストの概念を明確にするのに助けが必要

以下は私が電子ブック、ブログ、ペンテストについてのチュートリアルを読んで思いついたいくつかの結論です。それらの結論が(全部または一部)間違っている場合は、それらを修正してください。

  1. vulnerabilityは、アプリケーション/サービス/ OSのコードのチャンクであり、受け入れることを意図した入力以外のものを入力することができます。

  2. exploitは、ペイロードインジェクションを可能にするためにこのINPUTに送信するコードです。

  3. ペイロードは、脆弱なソフトウェア/サービスのロードされた命令に挿入されるコード(どのように?)であり、このソフトウェアを実行すると、ペイロードも実行されます。このペイロードにより、シェルセッションなどを確立できます。

  4. ターゲットシステムに開いているポートがない場合、または開いているポートが脆弱性や悪用可能ではないソフトウェア/サービスにバインドされている場合、ペイロードを配信する唯一の方法はソーシャルエンジニアリングを使用することです。

そして質問:

Meterpreterペイロードを実行可能ファイルに変換し、ターゲットシステムで手動で実行した場合、このシステムの悪用されたソフトウェア/サービスを介してリモートで注入した場合と同じ結果になりますか?

2
BrainTrance

脆弱性とは何ですか?

脆弱性はそれ以上です。これは、攻撃者が実行または知ることができないはずの何かを実行または知ることができるソフトウェアの状態です。

たとえば、WebサイトでHTTPのみを使用している場合、それは脆弱性です。中間者機能を持つユーザーはだれでもサイトのデータを読み取り、変更できるためです。

エクスプロイトとは何ですか?

エクスプロイトは、脆弱性を悪用する方法です。サーバーにデータを送信するコードの場合もあれば、特別に細工されたHTTPリクエストの場合や、悪意を持って作成された電子メールの場合もあります。

「エクスプロイト」という用語は、一般的に「脆弱性を悪用するもの」を指します。

ペイロードとは何ですか?

エクスプロイトの使用時に実行できるペイロード。たとえば、電子メールの添付ファイルを開いたときに任意のコードを実行できる脆弱性を想像してください。そのときに実行するコードの一部がペイロードです。

デモのために、一部のペイロードはWindowsでcalc.exeで始まるだけです。これは、「任意の」コードを実行できることを示しています。もちろん、悪意のあるペイロードは、バックドアの追加、データの盗用または暗号化など、さらに悪いことをします...

簡単に言えば、ペイロードは「AからBに取得したいもの」です。

脆弱性、エクスプロイト、ペイロードはどのように相互に関連していますか?

脆弱性は壁の弱点と考えてください。エクスプロイトは、その弱点を通過するロケットです。ペイロードは、そのロケットの爆発性コアであり、壁を貫通した後に爆発し、壁の背後にあるすべてのものを破壊するように設計されています。

ペイロードはどのように配信できますか?

あなたの質問は、非常に具体的な一連の制約を追加します。具体的には、「脆弱性なし」のソフトウェア。脆弱性のない有用なソフトウェアを作ることは非常に難しく、境界線さえも不可能です。正式に検証された seL4 Microkernel でさえ、証明可能なセキュリティの主張についていくつかの注目すべき例外があります。

簡単に言えば、脆弱性から解放されているソフトウェアはありません。これが、「さまざまなセキュリティの改善」のための更新を行うために、プログラムが少なくとも月に1回バグを修正する理由です。

ただし、公開ソフトウェアが実際に100%脆弱性がないと仮定すると、それが通信するものについてはまだ知ることができません。ロードバランサーに脆弱性がある、システム管理者がフィッシングキャンペーンの犠牲になった、USBキーボードが侵害されたなどの可能性があります。

ソーシャルエンジニアリングは、対象システムでペイロードを取得する1つ方法ですが、少し創造性があれば、さらに多くの方法があります。

Meterpreter実行可能ファイルは、手動で実行した場合とエクスプロイトを介して実行した場合と同じ効果がありますか?

たぶん。それは手元のエクスプロイトに依存します。たとえば、 [〜#〜] eternalblue [〜#〜] を使用した場合、ペイロードはNT-SYSTEM/SYSTEMとして実行されます。これは、Windowsシステムで利用できる最高の権限です。一方、エクスプロイトを制限付きユーザーとして実行した場合、エクスプロイトはユーザーの特権で実行されるため、制限が適用されます。

3
MechMK1
  1. 脆弱性は、悪用可能なweaknessです。それは、コード、構成、または何かがどのように使用されているか、または人である可能性があります。

  2. exploitは、脆弱性を使用して目的を達成するために行われることです。脆弱性がコードベースの場合、エクスプロイトもほとんどの場合コードベースです。すべてのエクスプロイトがペイロードを必要とするわけではありません。

  3. ペイロードは、攻撃者が操作できるターゲットに情報またはコードを転送するためにエクスプロイトを使用して送信されるものです。ほとんどの場合コードですが、脆弱性がコードの実行を許可する場合にのみ関連します。

  4. 脆弱性はコードベースである必要はなく、ペイロードも必要ないため、この質問の根拠を再考できると思います。あなたの質問に対する答えは「はい」と「いいえ」の両方です。

2
schroeder

はい、これは脆弱性、エクスプロイト、ペイロード間の関係の正しい例ですが、-それらの定義ではありませんです。同じ構成パラメーターを持つMeterpreterは、実行可能ファイルに変換してシステム上で手動で実行でき、同じユーザーとして実行されるソフトウェアで脆弱性を使用する場合と同じレベルのアクセスを提供します。

これは、この場合のように、すでに別の例を示しています。

  1. 脆弱性は、ソーシャルエンジニアリングに対して脆弱な人間の精神かもしれません。
  2. exploitは、電子メール、USBスティックなどです...
  3. ペイロードが実行可能ファイルです。
2
Esa Jokinen