web-dev-qa-db-ja.com

OSフィンガープリント:結果を信頼できますか?

nmap -O www.example.comの使用:

Running (JUST GUESSING): Microsoft Windows 7|2008 (90%)

つまり、ターゲットサイトはWindowsを実行していると言えます。

xprobe2 -v www.example.comを使用すると、結果がまったく異なるという事実に驚かされます。

+] Primary Network guess:
[+] Host 217.*4.***.** Running OS: "HP JetDirect ROM G.08.08 EEPROM G.08.04" (Guess probability: 86%)

質問:

  1. Webサイトは、ネットワークスキャナーに与えられた応答を実際に偽ることができますか?
  2. 現在、実行中のOSを100%確実に検出できるツールはありますか?
2
g9999
  1. Webサイトは、ネットワークスキャナーへの応答を実際に偽ることができますか?

はい。ただし、意図的に偽の応答はほとんどありません。ただし、これは、正しくない指紋結果が定期的に得られないという意味ではありません。不正確な結果には、より一般的な理由があります。 OSのデフォルトからの構成変更だけのため、またはNmapの場合、完全なフィンガープリントを構築するために必要なすべてのデータを収集できないため、多くのネットワークスキャナーは無効な応答を返します。最も正確なNmap=フィンガープリントを取得するには、ターゲットホストが必要です(トピックの Nmapブック を参照)、

1. Have at least one open TCP port
2. Have at least one closed TCP port
3. Have at least one closed UDP port
4. Respond to ICMP Echo requests

より単純なツールと比較したNmap OSスキャナーの能力の一部は、複数のプロトコルからのテストを組み合わせ、多くの異なるプローブの組み合わせである結果を生成しようとすることですが、それはまた、多くのホストは、完全なフィンガープリントを生成するために必要なすべてのプローブに応答しません(たとえば、多くのマシンはICMP pingをブロックします)。欠落しているテストのデフォルト値を入力し、ホストで実行できるテストが十分であることを期待しますそれは同一性を区別しますが、ほとんどの場合、得られるのは「あいまい」な一致です(厳密なフィンガープリンティングの一致ではなく、近いものです)。

フィンガープリントツールの作成は困難な作業であり、多くのオペレーティングシステムは非常によく似た方法で動作し、それらを区別することはほぼ不可能です。すでに見たように、ネットワークスタックの実装が同一またはほぼ同一であるため、Windowsの多くのバージョン(この場合はWindows 7とServer 2008)はひとまとめにされます。

結果を変更する可能性のあるもう1つの問題は、パケットタイミングとネットワーク遅延です。 Nmapフィンガープリント機能のいくつかは、TCPタイムスタンプとシーケンス番号のようなものと組み合わせて、送信されたプローブと応答の間の正確なタイミングに依存しています。パケットが遅延した場合少しの遅れ、ルーティングパスに沿ったどこかでの再送信、またはターゲットマシンでのCPU使用率の急上昇のために、しばらくの間、実際にNmapフィンガープリントの違いを確認できます。つまり、 Nmap同じターゲットを複数回OSスキャンすると、わずかに異なる結果が得られる可能性があります!

  1. 現在、実行中のOSを100%確実に検出できるツールはありますか?

いいえ。最善の方法は、ツールと常識を組み合わせて使用​​することです。 Nmapスキャンを実行すると、実行中のOSの基本的なアイデアが得られます。多くの場合、表示されるサービスのバージョンとバナーを確認することで、それを絞り込むことができます。 Linux 2.6を報告してから、SSH-2.0-OpenSSH_4.6 Debian-4と表示されているSSHバナーを見ると、OSスキャンが正しいことをより確信できます。マシンNmap FreeBSDだと思いますが、それはMicrosoft IISを実行しているので、さらに調査が必要であり、OSの結果にもっとうんざりするはずです。インターネットの反対側にあるブラックボックスを突いて、内部にあるものを推測しようとしていますそれはあなたに何を伝えているかについてですが、それがあなたに伝えていることは、嘘であるか、単に偶然に混乱しているかもしれません。

4
PherricOxide

まず、理論
OSフィンガープリントは、特定のコンピューターがネットワークトラフィックにどのように応答するかについての癖を調べることによって機能します。 RFCはTCP/IPスタックの動作について多くのことを指定していますが、一部の詳細またはデフォルトは公式に指定されていない場合があり、一部のOSは所定の動作でもわずかに逸脱する場合があります。 TCP/IPスタックの低レベルの動作は通常OSに実装されているため、実装の違いにより、通常は使用中のOSが明らかになります。

次に、合併症
とはいえ、これらの検出システムを破棄するのはかなり簡単で、ほとんど取るに足らないことです。これらのフィンガープリントシステムは、初期ウィンドウサイズやTTLなどの設定は決して変更されないという前提に依存しているため、通常はデフォルトを変更するだけでシステムをスローするのに十分です。調査された動作の一部はコードの違いを反映していますが、他の側面は、ユーザーが構成可能な設定であり、通常は変更されません。

実際、OSフィンガープリントツールを混乱させるだけでなく、フィンガープリントの試行に対して非常に具体的ではあるが「改ざんされた」結果を与えるという明確な目的のために、追加のツールが存在します。

6
tylerl

質問のタイトルに答えるには:

はい、nmapが言ったように、最大​​90%。

そしてあなたのポイントのために:

  1. はい、それはhoney potsの仕事です
  2. いいえ(100%、確かにありません。100%はとにかく存在しません!)

honeypotは、攻撃者が攻撃を仕掛けようとすることを期待して、あらゆる種類の既存のシステムとして存在するように機能する偽のサーバーです。そこから、すべての攻撃者のアクションをログに記録するよりも、多くのメカニズムにより、攻撃者はシステムのセキュリティを正常に破っていると確信できます...

そこから、ハニーポットは、攻撃者が悪用しようとしているセキュリティ障害について多くのことを学び、攻撃者自身を反射、テスト方法、キーボードヒット頻度、およびその他の個人の特殊性(IPアドレスはセカンダリのままです)。

私の蜂蜜mon poteにくぎ付けになりませんか?

mon poteは私の友人のフランス語翻訳です。)

3
F. Hauri

xprobe2のフィンガープリントは何年も更新されていないため、新しいOSで正確な結果が得られません。 2005年にリリースされたと思います。 100%正確になるものはありません。他のスレッドで述べたように、基盤となるシステムバナーを調整(パッシブosフィンガープリントツールをだます)、IPスタックを調整する(パッシブツールとアクティブツールの両方をだます)などができます.

3
Eric

Nmapやxprobeなどのツールが行うのは、マシン上のサービスにアクセスして、開いているポートを探し、特定のクエリに応答するかどうか、および応答を確認することです。もちろん、これはすべて、接続しているサーバーによって制御できます。これらは、分析ツールに必要なことを何でも伝えることができます。したがって、ネットワークスキャナーを介してマシンをプローブして、実行中のOSを100%検出する方法はありません。

2
us2012