Czy istnieje sposób, aby zobaczyć, co tak naprawdę filtruje komunikację przez port TCP?

10
nmap -p 7000-7020 10.1.1.1

Wyprowadzi wszystkie filtrowane porty

Starting Nmap 6.40 ( http://nmap.org ) at 2015-03-04 12:18 EET
Nmap scan report for 10.1.1.1
Host is up (0.00091s latency).
PORT     STATE    SERVICE
7000/tcp filtered afs3-fileserver
7001/tcp filtered afs3-callback
7002/tcp filtered afs3-prserver
7003/tcp filtered afs3-vlserver
7004/tcp filtered afs3-kaserver
7005/tcp filtered afs3-volser
7006/tcp filtered afs3-errors
7007/tcp filtered afs3-bos
7008/tcp filtered afs3-update
7009/tcp filtered afs3-rmtsys
7010/tcp filtered ups-onlinet
7011/tcp filtered unknown
7012/tcp filtered unknown
7013/tcp filtered unknown
7014/tcp filtered unknown
7015/tcp filtered unknown
7016/tcp filtered unknown
7017/tcp filtered unknown
7018/tcp filtered unknown
7019/tcp filtered unknown
7020/tcp filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 2.78 seconds

Czy jest sposób, aby zobaczyć, co dokładnie filtruje te porty?

Eduard Florinescu
źródło

Odpowiedzi:

11

To właśnie mówią lekarze nmap o filteredstanie

filtrowane Nmap nie może ustalić, czy port jest otwarty, ponieważ filtrowanie pakietów uniemożliwia jego sondom dotarcie do portu. Filtrowanie może pochodzić z dedykowanego urządzenia zapory, reguł routera lub oprogramowania zapory opartego na hoście ...

Jedynym sposobem, aby dowiedzieć się, co robi filtrowanie, jest wiedzieć, jakie „maszyny” znajdują się między tobą a zdalnym celem.

Można to osiągnąć za pomocą narzędzia do śledzenia trasy, które próbuje określić hosty między tobą a celem za pomocą specjalnych pakietów TCP. W twoim przypadku polecenie może wyglądać mniej więcej tak:

traceroute 10.1.1.1

Gdy poznasz maszyny między tobą a celem, badasz konfigurację każdej z nich, aby dowiedzieć się, czy filtruje, a jeśli tak, to w jaki sposób.

użytkownik9517
źródło
Na tych dwóch komputerach nie ma aktywnych zapór programowych, nmap -p 7000-7020 localhostpokazuje otwarte porty i podobno zapora ogniowa jest otwarta.
Eduard Florinescu,
4
Dowody, które masz sugerują, że coś się filtruje, nie wiemy, co to jest, ponieważ nie znamy twojej konfiguracji. Zapory oparte na hoście często zezwalają na cały ruch na interfejsie loopback (localhost), więc może to być mylący test.
user9517
Czy jest jakaś szansa, że ​​użyjesz Linuksa z iptables „-j DROP”? To, co dokumentacja nmap określa jako przefiltrowane, jest tak naprawdę odrzuconym pakietem na dowolnym protokole.
risyasin
Czy to oprogramowanie jest faktycznie powiązane z zewnętrznym adresem IP? Jeśli zamiast tego wszystko jest powiązane z 127.0.0.1, może to powodować. Sprawdź netstat
devicenull
12

Nmap oferuje kilka sposobów uzyskania dodatkowych informacji o tym, co powoduje filtrowanie:

  • --reasonOpcja pokaże typ odpowiedzi, który spowodował „przefiltrowane” przez państwo portu. Może to być „brak odpowiedzi”, „zabronione przez administratora” lub coś innego.
  • TTL pakietów odpowiedzi jest raportowany w danych wyjściowych XML jako reason_ttlatrybut stateelementu dla portu. Jeśli TTL dla filtrowanego portu jest inny niż (zwykle większy niż) TTL dla otwartych portów, różnica między TTL to odległość sieci między celem a urządzeniem filtrującym. Istnieją wyjątki, takie jak cele, które używają różnych początkowych wartości TTL dla pakietów ICMP vs. TCP lub urządzenie filtrujące, które fałszuje lub zastępuje informacje TTL.
  • Ta --traceroutefunkcja wyświetli informacje o chmielu na trasie, z których każdy może filtrować ruch. W niektórych przypadkach odwrotna nazwa DNS dla jednego z przeskoków będzie nawet taka jak „firewall1.przyklad.com”
  • firewalkSkrypt NSE wyśle pakiety z początkowych TTLS, że będzie czas na różnych chmielu na trasie, próbując dowiedzieć się, gdzie pakiety zostały zablokowane. Jest to coś w rodzaju połączenia dwóch poprzednich technik i zwykle działa całkiem dobrze.

Obecnie nieopublikowana wersja rozwojowa Nmap raportuje również TTL dla pakietów odpowiedzi w normalnym tekście wyjściowym z -v --reasonopcjami. Na razie jednak musisz użyć danych wyjściowych XML, aby uzyskać te informacje.

ZMIENIONO DO DODANIA : Nmap 6.49BETA1 był pierwszą wersją, która pokazywała TTL dla pakietów odpowiedzi w postaci tekstowej z -v --reasonlub -vv, i została wydana w czerwcu 2015.

bonsaiviking
źródło
1
Bardzo przydatne opcje +1
Eduard Florinescu
Tak, --script=firewalkwłaśnie starałem się znaleźć. Dzięki.
ulidtko
5

Krótka odpowiedź - nie, nie ma sposobu, żebyś to zobaczył.

Dłuższa odpowiedź:

Od: https://nmap.org/book/man-port-scanning-basics.html

„filtrowane Nmap nie może ustalić, czy port jest otwarty, ponieważ filtrowanie pakietów uniemożliwia dotarcie do niego sond. Filtrowanie może pochodzić z dedykowanego urządzenia zapory, reguł routera lub oprogramowania zapory opartego na hoście. Porty te frustrują atakujących, ponieważ zapewniają tak mało czasami reagują na komunikaty o błędach ICMP, takie jak kod typu 3 (cel nieosiągalny: komunikacja administracyjnie zabroniona), ale filtry, które po prostu upuszczają sondy bez odpowiedzi, są znacznie bardziej powszechne. spadła z powodu przeciążenia sieci zamiast filtrowania. Spowalnia to znacznie skanowanie ”.

Możesz spróbować odkryć topologię sieci za pomocą narzędzi takich jak traceroute. Zwykle porty są filtrowane na hoście, który sam (tj. Tabele IP), docelowy router sieci brzegowej, docelowy router sieci rdzeniowej lub górny przełącznik szafy L3.

Jeśli jesteś w tej samej podsieci co host docelowy prawie na pewno zapora ogniowa znajduje się na komputerze docelowym.

Maciek Sawicki
źródło
2

Spróbuj porównać wynik działania tcptrace z jednym z filtrowanych portów z tcptrace z otwartym portem (lub standardowym traceroute). Jeśli tcptraces są takie same, oznacza to, że na komputerze docelowym jest coś filtrującego porty.

Aktualizacja: Miałem na myśli tcptraceroute, mam alias.

Makdaam
źródło