web-dev-qa-db-ja.com

nmapスキャンでtcpwrappedをバイパスする方法

私はスキャンタスクをして、次の結果に直面しました

Host is up (0.032s latency).
Scanned at 2012-10-25 16:06:38 AST for 856s
PORT      STATE SERVICE    VERSION
1/tcp     open  tcpwrapped
3/tcp     open  tcpwrapped
4/tcp     open  tcpwrapped
.
.
19/tcp    open  tcpwrapped
20/tcp    open  tcpwrapped
21/tcp    open  tcpwrapped
22/tcp    open  tcpwrapped
23/tcp    open  tcpwrapped
.
.
64623/tcp open  tcpwrapped
64680/tcp open  tcpwrapped
65000/tcp open  tcpwrapped
65129/tcp open  tcpwrapped
65389/tcp open  tcpwrapped

スキャン方法は

nmap -n -vv -A x.x.x.x --min-parallelism=50 --max-parallelism=150 -PN -T2 -oA x.x.x.x

これはファイアウォールやロードバランサーのゲームだと思います。送信元ポート、送信元IPの変更、断片化など、さまざまな方法を試しました。

  • このケースを回避するためのアイデア/提案はありますか?
  • 一方、ファイアウォールポリシー(任意のファイアウォール)でそれを行う方法を知っていますか?ありがとう
35
KING SABRI

tcpwrapped」は、UNIXおよびLinux上のホストベースのネットワークアクセス制御プログラムであるtcpwrapperを指します。 Nmapが何かにtcpwrappedをラベル付けする場合、それはポートの動作がtcpwrapperによって保護されているものと一致していることを意味します。具体的には、完全なTCPハンドシェイクは完了しましたが、リモートホストはデータを受信せずに接続を閉じました。

Tcpwrapperはポートではなくprogramsを保護することに注意することが重要です。つまり、有効な(誤検知ではない)tcpwrapped応答は、実際のネットワークサービスが利用可能であることを示しますが、それとの通信が許可されているホストのリストに含まれていません。このような多数のポートがtcpwrappedとして表示されている場合、それらが実際のサービスを表しているとは考えにくいため、この動作はおそらく別のことを意味します。

おそらく表示されているのは、ファイアウォールやIPSなどのネットワークセキュリティデバイスです。これらの多くは、IPアドレスが割り当てられていない場合でも、TCPポートスキャンに応答するように構成されています。この動作により、ポートスキャンの速度が低下し、誤検知で結果が曇ることがあります。

編集:この投稿は盗用のフラグが付けられて削除されたので、想定されるソース( SecWiki.orgのこのページ )も私が作成したものであることを指摘しておきます。このSecurity.StackExchangeの回答(2013年10月31日)は、そのページ(2013年11月12日)よりも2週間近く前のものです。

116
bonsaiviking

ファイアウォールルールを計画しようとしています。 「Firewalking」ツールがこれを助けるかもしれませんが、私は高い望みはありません。

  • 速度を遅くしてみてください。 T2を使用しています。これは非常に高速であり、奇妙な結果が得られる可能性があります。
  • -Aを使用しないでくださいが、-sVスイッチを直接指定してください
  • 「ポートノッキング」の機会を探してみてください
  • Scapyやhping3などのパケットクラフターを使用して、送信するトラフィックを実際にドリルダウンし、何が通過できるかをマッピングしてみてください。
9
schroeder

nmap -sVヘッダーとバージョン情報を取得します。すべてのTCPポートは引き続き開かれますが(明らかにそれに対してできることは何もありません)、しかし、grepを実行して興味深いバナーを見つけ、そこから移動することができます。

3
rook

私はこの問題に1週間も取り組んでいましたが、私が得た唯一の答えは次のとおりです。そこに回避するものは何もありません!今、私はそれをバイパスすることは本当に何もないことに気づきました。 A TCPスキャンするとハンドシェイクが完了しますが、そのポートの背後にあるアプリケーションによって接続が閉じられます。したがって、ncでポートに接続してみてください:

nc -v <IP> <port>

ポートに接続できることがわかります。

1
LD2

すべてのポートをTCPwrappingし、代わりに3ウェイハンドシェイクを完了するBaracudaファイアウォールをバイパスできた方法の1つは、範囲内で最も有名なTCP80、TCP443、UDP53などの1つのポートのみを使用してスキャンすることです。 IPアドレスの範囲が大きいので、最初の数個を選択してテストします。 nmapサイトには、フラグメンテーション、デコイ、アイドルポートなど、いくつかのテクニックがありますが、TCPファイアウォールまたはIPS。

テストされたメソッド

nmap -PS80 TARGET 
nmap -PS443 TARGET 
nmap -PU53 TARGET 
nmap -PU161 TARGET 
nmap -PS3389 TARGET

-PU161は、他の方法よりも開いているポートが少なかった。

これは何年も前に尋ねられましたが、将来のnmapテスターのためにいくつかのヒントを残しておきます

-A is very noisy and will get caught by IDS and blocked by a firewall or an IPS
-sV same thing as it runs several scripts to know the services running
-O will also get flagged 

最悪のシナリオでは、すべてが黒くなった場合は、最も一般的なポートを1つずつ検索し、-p80を1つ、-p443を1つずつ検索します。 -T0を使用すると処理速度を大幅に低下させることができますが、スキャンは数分ごとに1回プローブするため、完了するまでに時間がかかります。

-vv is no problem
-n is also useful if you are not worried about DNS resolution

また、min-parallelismを削除するか、非常に低い数値に下げます。

1
nassim

https://www.enisa.europa.eu/activities/cert/support/chiht/tools/tcpd-tcpwrapper は、tcpwrappedに関する優れたクイック記事です。それはおそらくあなたのIPを嫌うファイアウォールなので、接続を落とすだけです。

あなたがそれが好きなIPを理解できないか、LAN IPを考えるようにそれをだまし取ることができない限り(私はそれが可能かどうかわからない)、それらのポートが何であるかを見つけることができないと思います。 ncatを使用してポートに直接接続し、それらがプロトコルに応答するかどうかを確認することもできます(GET / HTTP/1.0などのプロトコルごとに、典型的な「hello」リクエストを含むテキストファイルをいくつか作成します)。次にncat x.x.x.x port < httpget.txt

試行する前に、このネットワークへのアクセスが許可されていることを確認してください。

0
mark