Offene Ports und Anwendungen finden mit netstat
Grundlagen
Für die Kommunikation in IP-Netzen spielen die Ports eine wichtige Rolle.
Über das Protokoll (UDP, TCP) und die Portnummer wird auf dem Layer 4 ein Dienst identifiziert.
Eine Anwendung die einen Service im Netzwerk anbietet, öffnet dazu einen Port.
Dieser Port geht dabei zunächst in den Status "Listen" und wartet auf Verbindungsversuche.
Eine Liste der offiziell vergebenen Portnummer findet man bei der IANA.
Ein offener Port im Status Listen ist ein potientielles Einfallstor für Script Kiddies und Hacker.
Trojaner oder besser Trojanische Pferde installieren gerne Backdoors und öffnen dabei einen entsprechenden Port.
Daher ist es sehr zu empfehlen, sich von Zeit zu Zeit die offenen Ports seiner Systeme anzusehen.
Bei der Suche nach unbekannten Portnummer leistet Google gute Dienste.
Offene Ports unter Windows
Unter Windows liefert das Kommando "netstat" die gewünschten Informationen.
Der Befehl "netstat -an" zeigt alle Netzwerkverbindungen auf
einer Maschine an.
Serverdienste die sich im Status "Listen" bzw. "Listening" befinden, werden von deutschen
Windowsversionen als "ABHÖREN" angezeigt.
C:\>netstat -an
Aktive Verbindungen
Proto Lokale Adresse Remoteadresse Status
TCP 192.168.1.7:139 0.0.0.0:0 ABHÖREN
TCP 192.168.1.7:1031 0.0.0.0:0 ABHÖREN
TCP 192.168.1.7:1031 192.168.11.25:139 HERGESTELLT
TCP 192.168.1.7:1071 0.0.0.0:0 ABHÖREN
TCP 192.168.1.7:1071 192.168.11.77:139 HERGESTELLT
TCP 192.168.1.7:1096 0.0.0.0:0 ABHÖREN
TCP 192.168.1.7:1103 10.0.2.1:1433 HERGESTELLT
TCP 192.168.1.7:1106 10.4.0.1:3311 HERGESTELLT
TCP 192.168.1.7:1230 10.4.0.3:1352 HERGESTELLT
TCP 192.168.1.7:1258 10:4.0.3:1352 HERGESTELLT
TCP 192.168.1.7:1385 0.0.0.0:0 ABHÖREN
TCP 192.168.1.7:1420 10.5.0.1:23 HERGESTELLT
UDP 192.168.1.7:137 *:*
UDP 192.168.1.7:138 *:*
UDP 192.168.1.7:500 *:*
Ab Windows 2000 kennt netstat zusätzlich den Parameter "-o". Dieser bewirkt, dass zu jedem
Port die Prozess-ID PID des zugehörigen Prozesses angezeigt wird.
C:\>netstat -ano
Aktive Verbindungen
Proto Lokale Adresse Remoteadresse Status PID
TCP 192.168.1.100:139 0.0.0.0:0 ABHÖREN 4
TCP 192.168.1.100:1031 67.152.71.172:80 HERGESTELLT 1584
TCP 192.168.1.100:1034 67.104.144.70:3131 HERGESTELLT 1600
TCP 192.168.1.100:1035 68.97.40.116:3131 HERGESTELLT 1600
TCP 192.168.1.100:1036 64.49.76.16:80 SCHLIESSEN_WARTEN 2040
TCP 192.168.1.100:1048 216.234.59.241:80 HERGESTELLT 1364
TCP 192.168.1.100:10224 0.0.0.0:0 ABHÖREN 2032
UDP 192.168.1.100:121 *:* 636
UDP 192.168.1.100:137 *:* 4
UDP 192.168.1.100:138 *:* 4
UDP 192.168.1.100:9150 *:* 2032
Mit Hilfe des Taskmanagers ist die passende Anwendung zur PID schnell gefunden.
Unter Umständen muss die Anzeige der PID im Reiter Prozesse erst über das Menü "Ansicht/Spalten auswählen"
aktiviert werden.
Prinzipiell sollten nur Ports offen sein die man wirklich benötigt.
Offene Ports unter Linux
Unter Linux sind die Parameter für das Kommando netstat etwas anders.
Für eine Kontrolle der offenen Ports ruft man "netstat -nlp" auf.
/home/work $ netstat -npl
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 72.139.238.24:993 0.0.0.0:* LISTEN 1622/couriertcpd
tcp 0 0 72.139.238.24:143 0.0.0.0:* LISTEN 1609/couriertcpd
tcp 0 0 72.139.238.24:783 0.0.0.0:* LISTEN 1576/spamd.pid
tcp 0 0 72.139.238.24:80 0.0.0.0:* LISTEN 25671/apache
tcp 0 0 72.139.238.24:21 0.0.0.0:* LISTEN 19417/proftpd
tcp 0 0 72.139.238.24:22 0.0.0.0:* LISTEN 1695/sshd
tcp 0 0 72.139.238.24:25 0.0.0.0:* LISTEN 26889/exim4
tcp 0 0 72.139.238.24:443 0.0.0.0:* LISTEN 2082/apache-ssl
Das System zeigt mit diesen Parameter nur Ports im Status "Listen" an. Zusätzlich wird in der
letzten Spalte die PID und der Name der zuständigen Applikation angezeigt.
Alternativ kann unter Linux auch das Kommando "lsof" benutzt werden. Mit dem Aufruf
"lsof -i | grep -e LISTEN" wird ebenfalls eine Liste der Ports im Status "Listen" angezeigt.
Einsatz von nmap (Windows und Linux)
Zur Kontrolle der offenen Ports eines Host über das Netzwerk benötigt man einen Portscanner.
Einer der populärsten Vertreter dieser Spezies ist nmap von Fyodor.
Gerade für Systeme die direkt mit dem Internet verbunden sind wie DSL-Router und Rootserver ist ein Portscan
sehr interessant.
Der Portscanner nmap kennt eine Unmenge von Optionen. Für einen ersten Scan nach offenen TCP-Ports
wird lediglich der Parameter "-sT" und die IP-Adresse des Zielsystems benötigt. Damit scannt nmap
alle Well Know TCP-Ports (1-1024) und alle Ports aus der Datei etc/services.
[work] ~ $ nmap -sT 192.168.1.1
Starting nmap 3.20 ( www.insecure.org/nmap/ ) at 2004-10-16 23:17 CEST
Interesting ports on Router (192.168.1.1):
(The 1610 ports scanned but not shown below are in state: closed)
Port State Service
80/tcp open http
Nmap run completed -- 1 IP address (1 host up) scanned in 6.533 seconds
Der hier untersuchte IP-Host bietet einen Dienst an: HTTP auf TCP-Port 80.
Auf der Maschine läuft also höchstwarscheinlich ein Webserver. Um alle TCP-Ports
von 1 bis 65535 zu untersuchen ruft man nmap mit den Optionen "-sT -p 1-65535" auf.
Mit der Option "-sU" sucht nmap nach offenen UDP-Ports. UDP-Scanning ist allerdings
oftmals sehr langsam. Ursache hierfür ist eine Begrenzung der Anzahl der ICMP-Meldungen
die ein Host pro Zeiteinheit versendet. Viele Systeme begrenzen die ICMP-Meldungen nach
RFC 1812. nmap erkennt dieses Verhalten und arbeitet entsprechen langsamer um keine
Meldungen zu verlieren.
Eine Möglichkeit für Backdoors sich vor Portscanner zu verbergen ist das Portknocking.
Dabei wird ein Port erst in den Status "Listen" versetzt, wenn das System ein bestimmtes Datenpacket
empfängt.
Ein DSL-Router bietet einen guten Schutz gegen Angriffe aus dem Internet. Der Router verhindert
Verbindungsversuche aus dem Internet auf Serverdienste im internen Netz. Durch Konfiguration von Portforwarding
am Router wird dieser Schutz allerdings ausgehebelt.
Weitere Informationen zu dieser Thematik finden sie im Tutorial
Eigenen Server am DSL-Anschluss einrichten.
Hilfe und Erfahrungsaustausch zu Netzwerkfragen finden Sie im Netzwerkforum.
Weiterführende Informationen finden Sie unter folgenden Link:
|