web-dev-qa-db-ja.com

フィルタリングにもかかわらず、ポート2000および5060への接続は成功しました

私は自分の(Ubuntuベースの)ルーターを実行し、デフォルトですべての着信パケットをドロップするようにiptablesを構成しています。驚いたことに、nmapスキャンを実行すると(WAN側から))、VOIPに関連する2つの開いているポートが表示されます。

nmap -Pn -v --reason XXX.net

Starting Nmap 7.60 ( https://nmap.org ) at 2018-03-28 09:52 CEST
Initiating Parallel DNS resolution of 1 Host. at 09:52
Completed Parallel DNS resolution of 1 Host. at 09:52, 0.09s elapsed
Initiating Connect Scan at 09:52
Scanning XXX.net (XXX.XXX.XXX.XXX) [1000 ports]
Discovered open port 21/tcp on XXX.XXX.XXX.XXX
Discovered open port 22/tcp on XXX.XXX.XXX.XXX
Discovered open port 5060/tcp on XXX.XXX.XXX.XXX
Discovered open port 2000/tcp on XXX.XXX.XXX.XXX
Completed Connect Scan at 09:52, 5.17s elapsed (1000 total ports)
Nmap scan report for XXX.net (XXX.XXX.XXX.XXX)
Host is up, received user-set (0.035s latency).
Not shown: 995 filtered ports
Reason: 995 no-responses
PORT     STATE  SERVICE    REASON
21/tcp   open   ftp        syn-ack ttl 52
22/tcp   open   ssh        syn-ack ttl 54
113/tcp  closed ident      reset ttl 254
2000/tcp open   Cisco-sccp syn-ack ttl 61
5060/tcp open   sip        syn-ack ttl 61

Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 Host up) scanned in 5.33 seconds

ftpsshは正しいです。これらの2つのサービスはルーターで構成されているためです。しかし、Cisco-sccpsipのオープンはニュースです。

実際、両方のポートへのtelnet接続は成功しています:

telnet XXX.net 2000
Trying XXX.XXX.XXX.XXX...
Connected to XXX.net.
Escape character is '^]'.

telnet XXX.net 5060
Trying XXX.XXX.XXX.XXX...
Connected to XXX.net.
Escape character is '^]'.

ただし、telnetセッションがアクティブなときにルーターでnetstat -talpnを実行すると、どちらのポートにも確立された接続がありません。そしてログはiptablesがパケットを落とすことを示しています:

Mar 27 20:52:16 router DROP INPUT  IN=ppp0 OUT= MAC=MM:MM:MM:M SRC=YYY.YYY.YYY.YYY DST=XXX.XXX.XXX.XXX LEN=60 TOS=00 PREC=0x00 TTL=51 ID=39215 DF PROTO=TCP SPT=52200 DPT=2000 SEQ=106277563 ACK=0 WINDOW=42340 SYN URGP=0 MARK=0

ここで、YYY.YYY.YYY.YYYtelnetが接続するIPです。

私の診断は正しいですか?

はいの場合、パケットがルーターでドロップされたとしても、どのようにしてtelnet接続を確立できますか?誰がポート2000および5060でリッスンしていますか?

9
Christian David

スキャナーとターゲットの間に、ターゲットの代わりに応答しているソースアドレスを偽装して、ターゲット自体のように見える何かがあります。 Nmapを実行すると、--reason -v、各ポートの応答パケットのIP Time-to-Live(TTL)値を示しています。

ポート状態サービスの理由
 21/tcp open ftp syn-ack ttl 52 
 22/tcp open ssh syn-ack ttl 54 
 113/tcp closed ident reset ttl 254 
 2000/tcp open Cisco-sccp syn-ack ttl 61 
 5060/tcp open sip syn-ack ttl 61 

TTLフィールドは、ある数(通常は128または64)から始まり、介在するIPルーターまたはホップごとに減少します。受信された場合TTLフィールドが予想外に高い場合、パケットが予想よりもスキャナーの近くで、つまりホップの1つから発信されたことを意味します。

21と22は営業していると予想されていました。これらは異なるTTL=値を持っています。これは、それらの1つ(FTP)がネットワーク内のシステムにポート転送されることを意味するか、または非対称ルーティングが進行していることを意味する可能性があります毎回異なる経路ですが、実際の問題は2000と5060を超えており、最も近い予想距離より7ホップ近くです。これらはほぼ確実に傍受されています。

Tracerouteを実行することで、トラフィックをインターセプトしているホップを特定できるはずです。 Nmapは、問題の1つのポートへのトラフィックを制限する場合に使用できます。

nmap --traceroute -Pn -p 2000 example.com

これは、ターゲットの「から」の1つで最高潮に達する一連のホップを示します。実際には、このリストの最後のホップを超えるホップである可能性が最も高くなります。期待どおりに動作しているポートのtracerouteと比較してください。たとえば、スキャンが次のようになっているとします。

#nmap --traceroute -Pn -p 2000 example.com 
 TRACEROUTE(ポート2000/tcpを使用)
 1 2.04 msゲートウェイ(192.168.1.1)
 2 14.37 ms 10.100.96.1 
 3 15.60 ms example.com(192.0.2.5)
 
#nmap --traceroute -Pn -p 22 example.com 
 TRACEROUTE(ポート22/tcpを使用)
 1 2.04 msゲートウェイ(192.168.1.1)
 2 14.37 ms 10.100.96.1 
 3 15.60 ms 182.23.16.88 
 4 10.11 ms 182.23.16.82 
 5 44.73 ms example.com(192.0.2.5)

最後の一般的なホップは10.100.96.1です。シーケンスの次のホップは182.23.16.88であり、これは応答を偽装している可能性が最も高いホップです。

なぜこれらのポートはスプーフィングされている可能性がありますが、SCCP(ポート2000)とSIP(ポート5060)はどちらもVoIPサービスです。ISPがサポートしていない可能性があります。 t VoIPサーバー、クライアント、またはリレーを実行し、この方法を使用してそれを防止していますか?

5
bonsaiviking