Nmapを使用して、すべてのポートがファイアウォールでフィルターされているシステムでオペレーティングシステムの検出を実行するにはどうすればよいですか?
それをバイパスする方法はありますか?
私は試しました:synスキャン、xmasスキャン、フラグメントスキャン、サービスバージョン検出(-sV)、nmap nseスクリプトスキャン。スキャンを行ったところ、返事はすべて同じでした。正確な応答を提供することはできませんが、次のようなものでした。
答えは、ある程度ターゲットとする対象によって異なります。ホストにインターネットに面したポートがある場合、リセット(RST)で応答するファイアウォールによってスキャンがブロックされる可能性があります。これにより、完全に当てはまるわけではありませんが、最初のスキャン結果が閉じたように見えるか、フィルタリングされます。ファイアウォールはこれを難しくするように設計されており、一部のスキャンをブロックできますが、少なくとも1つのポートがテストに使用できる場合は、それを理解する可能性が非常に高くなります。
つまり、システムで実行されているアプリケーションの種類やバージョンなどの情報に集中する必要があります。 nmapを使用して、開いているポートに焦点を当て、冗長性を高め、サービスバージョンを確認します。
nmap -Pn -vvv -sV -p 80 #(webserver) or
nmap -Pn -vvv -sV -p 22 #(ssh, hopefully on another port)
次のような行を含む出力が表示されます
22/tcp open ssh syn-ack OpenSSH 5.9p1 Debian 5ubuntu1.8 (Ubuntu Linux; protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
これは、一般的なポートスキャンでホストを識別できない場合でも、ホストを識別するのに役立ちます。
注:プロトコルトラフィック自体または公開されているアプリケーションを介して利用可能なコンテンツを分析することで、これをさらに一歩進めることもできます。
さらに、nmap FTPバウンススキャンは、ファイアウォールの背後にある他のサーバーもスキャンできます。
https://nmap.org/nsedoc/scripts/ftp-bounce.html
nmap -vvv -b -PN:@