埋め込みコードを実行するデバイスがありますが (そこで何が実行されるかは正確にはわかっています)、nmap
それを認識しません。
PORT STATE SERVICE VERSION
8266/tcp open unknown
正確な詳細を提供できれば幸いですが、 から指紋は入手できませんnmap
。
指紋を強制的に表示する方法はありますか? それとも、サービスが認識されるためには何らかの特定の条件が必要なのでしょうか? (その場合、指紋がない = サービスはどのような場合でも認識されません)
答え1
Nmapに新しいフィンガープリントを送信するNmap は、サービス プローブの 1 つに対する応答を受信する必要があります。どのプローブに対しても応答を受信しなかった場合、フィンガープリントは印刷されません。表示された出力バナーにはnmap -sV
「VERSION」という見出しがあるため、これらのサービス プローブを送信しようとしていることがわかります。したがって、必要なのは、Nmap がサービスから応答を引き出すプローブを送信するようにすることです。
--version-all
これを試す 1 つの方法は、 の別名である オプションを使用することです--version-intensity=9
。これにより、応答を誘発する可能性が非常に低い場合でも、定義済みのすべてのサービス プローブが未識別のサービスに対して試行されることが保証されます。これが機能しない場合は、サービス プローブを自分で定義する必要があるかもしれません。
サービス プローブは ファイルで定義されnmap-service-probes
、 という形式になりますProbe TCP nameOfProbe q|probe bytes here|
。プロトコルがわかっていれば、応答を引き出すプローブを作成できるはずです。サービス プローブの設計目標は次のとおりです。
- 調査対象のサービスに悪影響を与えないでください (クラッシュやシャットダウンなど)。
- サービスを実行しているソフトウェアに関する情報を提供する応答を引き出し、たとえば、「バージョン」API 要求やサーバー バナーを引き出すハンドシェイク メッセージなどを取得します。
- ログイン試行や脆弱性の悪用など、システム管理者に懸念を引き起こすような状態の変更は避けてください。
新しいサービスプローブがNmapにサービスフィンガープリントを印刷させることに成功したら、次のように送信してください。Githubの問題または、[メールアドレス]メーリングリスト。