ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Portscan

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./gnome-network-utils.png

In dieser Anleitung werden verschiedene Methoden vorgestellt, offene Netzwerkports festzustellen und zu analysieren. In der Standardinstallation sind einige Ports geöffnet, die jedoch nicht auf externen Netzwerkinterfaces lauschen. Diese Ports werden angezeigt, wenn man offene Ports auf dem eigenen Rechner untersucht, sind jedoch aus dem Netzwerk nicht sichtbar. Aussagekräftige Portscans sind daher von einem zweiten Rechner aus einfacher.

Portscan unter Ubuntu/GNOME

Netzwerkdiagnose

./portscan_gnome.png

Wenn man wissen will, welche Ports offen sind, bietet sich die Benutzung des Netzwerkdiagnoseprogramms an. Es findet sich im GNOME-Menü unter

  • "System -> Systemverwaltung -> Netzwerkdiagnose"

Im Reiter "Port-Scan" muss lediglich der Name oder die Adresse des Zielrechners eingegeben werden. Im Reiter "Netzwerkstatus" kann man sich Informationen über den eigenen Rechner anzeigen lassen.

Den eigenen Rechner (localhost) mit dieser Methode zu prüfen ist übrigens ziemlich sinnlos. Zum einen kann man am Ergebnis nicht erkennen, welche dieser Ports nun wirklich nach außen hin offen sind und welche nur dem lokalen Rechner zur Verfügung stehen, und zum anderen lassen sich die offenen Ports - und noch einiges mehr an Informationen - mit dem netstat-Befehl viel einfacher anzeigen.

Portscan im Terminal

nmap

Das "Schweizer Taschenmesser" unter den Portscannern ist das Programm nmap, welches aber auch eine grafische Oberfläche besitzt. Auf Grund des großen Funktionsumfangs, ist diesem Werkzeug ein eigener Artikel gewidmet (siehe nmap).

Netzwerkstatus mit netstat

netstat -tulpen 

Mit der Option a statt l werden nicht nur offene Sockets, sondern auch alle bestehenden Verbindungen angezeigt, was ein wenig unübersichtlich werden kann. (mehr)

Offene Dateien

Da unter Linux intern fast alle Dinge als Datei dargestellt werden, so etwa auch das Netzwerk, kann man auch bestehende Netzwerkverbindungen durch die Anzeige offener Dateien, die das Netzwerk benötigt, analysieren.

lsof > odat 

lsof erzeugt eine (sehr lange) Liste der offenen Dateien, die hier in die Datei odat geschrieben wird. Diese kann man dann mit einem Texteditor [3] auf Netzwerkverbindungen untersuchen: eine solche wäre z.B.

xchat      8134         dm    8u     IPv4      13568                TCP 192.168.254.2:46771->zelazny.freenode.net:ircd (ESTABLISHED)

Alternativ kann man die offenen Internet-Verbindungen auch so anzeigen lassen:

lsof -i
# bzw. für mehr Angaben aufgrund von Diensten, die als root laufen:
sudo lsof -i 

Analyse offener Ports

Einen Dienst mit dem Status unbekannt sollte man sich immer genauer anschauen - z.B.

PORT STATE SERVICE 906/tcp open unknown

Dieser Dienst ist in diesem Fall auch nicht der Datei /etc/services eingetragen. Die Analyse erfolgt im Terminal [1]:

sudo fuser 906/tcp  

findet heraus welche PID der Prozess gerade hat (z.B. 906/tcp: 4122)

Befehl:

ps -fp 4122  

findet heraus was sich dahinter verbirgt

UID PID PPID C STIME TTY TIME CMD
user 4122 1 0 Oct29 ? 00:00:00 /usr/sbin/famd -T 0

Informationen zu einem unbekannten Prozess findet man so:

man -k famd 

sucht nach Anleitungsseiten zu dem gefundenen Programm. Diese kann man sich dann mit

man PROGRAMMNAME 

anzeigen lassen.

In diesem Fall ist es der "file alteration monitor" Was macht dieser Dienst?

Statt das Dateisystem auf Änderungen zu überprüfen, wird der FAM-Daemon vom Kernel über Änderungen informiert, und kann dann wiederum die Anwendungen informieren. Der Dienst wurde früher automatisch installiert, inzwischen ist er durch ein anderes Verfahren ersetzt worden.

Analyse kompromittierter Systeme

All diese Analysemethoden können bei kompromittierten Systemen versagen. Oftmals werde dort Diagnosetools mit veränderten Versionen überschrieben. Kritische offene Ports können in diesem Fall von den manipulierten Werkzeugen verschwiegen werden. Hiergegen hilft der Portscan von einem externen System aus. Es kann allerdings sein, dass nur auf Anfragen von einer bestimmte IP-Adresse aus reagiert wird, dann versagt auch diese Methode. Gut getarnte Rootkits werden eigentlich nie gefunden, außer man hat Glück und der Kernel ist intakt (bzw. man hat einen neuen aufgespielt), dann kann man in /proc/net/ etwas finden (z.b. cat /proc/net/tcp), die Ausgaben sind hexadezimal und man muss einen Taschenrechner zu Hilfe nehmen.

  • hping {en} - TCP/IP-Paket Analyse (als hping3 in den offiziellen Paketquellen enthalten)

ubuntuusers.local › WikiPortscan