サーバーのブラックボックステストを行ったところ、リスニングポートがたくさんあることがわかりました。これらのポートが使用されているサービス/プロトコルを特定する必要があります。
私がこれまでに試みたのは、Armitageを使用することです(私が理解している限り、httpのポート80などの一般的に使用されるポートに対してMetasploit検出モジュールを実行します)、いくつかのオープンポートの目的を決定することができました。
ただし、不明なポートが多数残っています。
では、残りのポートで実行されているアプリケーション(サービス/プロトコル)を見つけるには、他に何ができますか?
簡単に言えば、誰が回答するかを確認するには、ポートに話しかける必要があります。これから2つのことが起こります。
問題は、バナーが偽造される可能性があるため、正確な画像を取得するためにトラフィックを分析するツールが必要です。
ツール:
Metasploitにはサービススキャナーの長いリストがありますが、より直接的なサービス分析を補足するのに最適です。上記のツールとmsfconsoleの経験が増えるまで、アーミテージから離れることを強くお勧めします。次に、アーミテージはあなたの生産性を向上させることができます。
その他の方法:
より効率的な方法は、対象のオペレーティングシステムに実行中のシステムを尋ねることです。 SNMPを照会できる場合は、サービスとポートのリストが渡されることがあります。シェルアクセスがある場合は、コマンドを実行して実行中のサービスを一覧表示できます。
プロのヒント:
使用するツールは、一般的なサービスのテーブルでポート番号を単に検索するのではないことに注意してください。非標準ポートでサービスを実行するのは簡単です。また、TCPとUDPの両方で65,535のポート範囲全体をスキャンするようにしてください。nmapなどの一部のツールは、最も一般的なポート番号のみをチェックすることでパフォーマンスを向上させます。非標準ポートで実行されているサービス(たとえば、ポート8022のSSH)警告:UDPスキャンには非常に長い時間がかかる場合があります。
nmap。
nmapは、返されたパケットヘッダーなどの情報を使用して、特定のポートで実行されているサービスをテストできます。
nmapは、一般的なポートとサービスの独自のライブラリを使用します。このライブラリには、最も一般的なサービスと、それほど一般的ではないサービスの多くが含まれています。もちろん、nmapが認識しないサービスもあるかもしれませんが、正確なサービスがわかっている場合は、フィンガープリント情報を送信することで修正できます。
-sSオプションなどの基本的なスキャン手法では、開いているポートのみが表示されます。ただし、nmapは、バージョンスキャン用の-sVやnmapスクリプトエンジン用の-sCなどの異なるフラグを指定することで、より多くの情報を検出できます。