web-dev-qa-db-ja.com

不明なサービスを識別するための一般的な手法

フィードバックが必要な具体的なサンプルがありますが、私の見解では、このサイトでは一般的な手法についての回答がより価値があります。これをググる誰かが同じサービスにぶつかった場合に備えて、詳細は残しておきます。

私の質問:

  1. 未知のサービス、または非標準のポートで話していないものを識別するための一般的なテクニックとリソースは何ですか?

  2. 以下の行動は誰かとベルを鳴らしますか? (サービスをさらに特定するために逃した手順はありますか?)

エンゲージメント中に、開いているポート10001に遭遇しました。ご想像のとおり、私が知る限り、そのポートで通常使用される プロトコルには応答しません。 私の検索は完全ではありませんが、最初の3バイトをファジー処理して、最初のバイトの応答を見つけました。

私の特定の未知のサービスに関する観察:

  • TCPを話す

  • 大文字iを送信すると、I\nI211568 \x00 \x00を返します

  • メッセージはnullおよび改行で終了しているようです。大文字の後のもの以外は何も振る舞いに影響を与えませんが、それが応答を損なう前のヌル。

  • nmapはそれをscp-configと表示し、1回はtcpwrappedと表示します。

編集:

スワンDVRの リモートポートであることが判明

4
J.A.K.

私はあなたが(後から)尋ねているのはPort Independent Protocol Identification(PIPI)うまく検出する方法だと思います-既知の(RFCとして公開された)アプリケーション層プロトコルまたはdark-protocol(マルウェア、隠しバックドアなど)が非標準ポートでサービスされている。実際、これがプロトコルの難読化の研究者、マルウェア(およびマルウェア対策)開発者、IDS/IPSチームが常に考えていることです。目標の一部は、レイヤー4のポート番号に依存せずにアプリケーションを識別することです。 IDSで広く使用されている2つの手法があります。

  1. 接続内のトラフィックの統計分析
  2. 接続のペイロードでプロトコル固有のバイトパターンを見つける

詳細については このホワイトペーパーを読む を実行してください。

あなたの特定のケースでは、

  1. 特定の不明なサービスからの観察に基づいて、カスタマイズ nmap-services-probesファイルに新しいサービス署名を追加 します。
  2. パケットサイズ、通信パターン、ペイロードの特異性など、プロトコルの動作に関する十分な信頼性のある詳細を収集したら、 Wiresharkディスセクタの書き込み を検討してください。
2
Deepak Devanand