web-dev-qa-db-ja.com

エクスプロイト開発におけるIDSの回避

バッファオーバーフローエクスプロイト開発のコンテキストで、私は尋ねられました:

Discuss how your exploit may be modified to evade an Intrusion Detection System.

宿題を終わらせたいとは思っていませんが、最高のGoogle-Fuを使用した後、見つけられる唯一の答えはエンコーダー( shikata_ga_nai)を使用することです。

IDSを回避するためのエクスプロイト開発の他の方法はありますか?

コンテキストを考えると、これが私が議論すべき唯一のことであるとは思えないが、私が言ったように、夜を過ごした後、他に何も見つけることができない。

9
Juicy

他の回答はエクスプロイト自体の変更に焦点を当てていますが、IDSがエクスプロイトを検出しないように、エクスプロイトのトランスポートを変更することもできます(免責事項:このうちのいくつかは、私自身の調査を指しています)。

HTTPを使用してアプリケーション層でこれを行う方法のいくつかの例(つまり、Webの閲覧中のドライブバイダウンロードの場合):

  • 有効ではあるがあまり一般的ではないHTTP圧縮方法を使用してください。これは、ブラウザーではサポートされていますが、IDSではサポートされていないことがよくあります。多くの場合、単純なContent-Encoding: deflateZScalerまたはComodo Webinspector または Sophos UTM(fixed) のように十分です。
  • HTTP圧縮を組み合わせます。使う Content-Encoding/deflate, deflateまたはgzip, deflate。 Bro、Snort、Suricata、またはVirusTotalのようなIDS 最初または最後の圧縮スキームのみを確認 、FirefoxやGoogleなどのブラウザChrome複数回圧縮されたコンテンツを受け入れる。

マルウェアを電子メールで送信する場合、同様の回避策を content-transfer-encodingで遊ぶ で実行できます。

そして、トランスポート層でIDSを回避することについての素晴らしい研究があります。 楽しさとシェルの詳細な検査の回避 に関する論文と Blackhat 13のビデオ もあります。

そしてもちろん、エクスプロイト自体を変更することもできます。 ここ は、既存のエクスプロイトを変更して、一般的なAVがそれを検出しないようにする方法を説明したものです。

他の回避手法では、ソーシャル手法を使用してIDSを回避します。たとえば、エクスプロイトを暗号化されたZipファイルに入れ、メールも添付し、パスワードをメールに書き込みます。うまくいけば、被害者はコンテンツを取得するためだけに提供されたパスワードでファイルを開くように誘惑されます(彼の会社の類似の給与リストまたは同様のトラップなど)。パスワードはIDSに知られていないため、マルウェアを検出できません。

9
Steffen Ullrich
  1. すぐに利用できるシステムリソースを利用する。
  2. 英数字シェルコード。
  3. シェルコードを暗号化します。
  4. ポリモーフィックシェルコード。
  5. 変成シェルコード。

http://www.tenouk.com/Bufferoverflowc/Bufferoverflow5.html

追加情報については、リンクをたどり、「より高度なテクニック」にスキップしてください。

4
Jay Holister

グーグルを使用して「IDSを回避する方法」の答えを見つけるのではなく、向きを変えてください。 IDSを検索し、さまざまなIDSソリューションについて読んでください。この質問に答えるには、まずIDSの意味を定義する必要があります。文字が何を意味するのかではなく、用語が何を参照しているかを理解し、使用される主な技法を説明します。これらは、いくつかの典型的なタイプに分類されます。たとえば、詳細なパケットとプロトコルの検査、疑わしい接続パターンとポートスキャンの検出などを実行できるネットワーク/ファイアウォールIDSシステムや、異常なプロセス、ファイルシステムの変更を探すOS IDSなどです。 、異常なネットワークアクティビティなど、および接続やデータ入力などを監視する可能性のあるアプリケーションIDS.

明確な定義ができたら、定義に適合するさまざまなテクニックについて読んでください。次に、これらのテクニックをどのようにして打ち負かすことができるかを検討します。

あなたの質問はあなたのエクスプロイトが検出を回避するためにどのように変更できるかを議論することに言及しているので、特定のエクスプロイトを持っていると想定することができます。見つけたさまざまなIDSがどのようにエクスプロイトを検出し、想像力を飛ばせるかを見てください。たとえば、エクスプロイトが複数の接続を行う場合、各接続の間に遅延を追加して、短期間にIPからの高レベルの接続を探すIDSを無効にするか、エクスプロイトを変更して、 httpなどの高レベルのトラフィック、またはDNSトラフィックなどに偽装できます。

答えは実際にはエクスプロイトによって異なります。適切な応答を提供するには、どのIDS手法がエクスプロイトを検出するかを知る必要があります。

0
Tim X

Steffenの最初のいくつかのアプローチについて同意します。

さらに、ここで同様の質問に回答しました https://security.stackexchange.com/a/83497/14 -そして、SniffJokeを使用する手法が適用されます。エクスプロイトステージャーやペイロードを変更するよりも、ネットワークトラフィックを変更する方がよい場合がよくあります。ただし、状況はそれぞれ異なります。実際の作業を行う前に、ターゲット環境に関する詳細情報を収集し、ラボで攻撃を模擬します。

エンコーディングに関する答えは本当にこれらの問題に帰着します https://www.scriptjunkie.us/2011/04/why-encoding-does-not-matter-and-how-metasploit-generates-exes/ -エンコーダーは、空白、改行、およびブレーク文字からのNULL終了を処理するためのものです。エンコーダーは、難読化を提供するためのものではありません。

0
atdre