TCP-Scannen
TCP ist ein zustandsbehaftetes Protokoll, da es den Zustand der Verbindungen beibehält. Die TCP-Verbindung beinhaltet ein Drei-Wege-Handshake von Server-Socket und Client-Socket. Während ein Server-Socket lauscht, sendet der Client ein SYN und dann antwortet der Server mit SYN-ACK. Client sendet dann ACK, um den Handshake für die Verbindung abzuschließen
Um nach einem offenen TCP-Port zu suchen, sendet ein Scanner ein SYN-Paket an den Server. Wird SYN-ACK zurückgesendet, dann ist der Port offen. Und wenn der Server den Handshake nicht abschließt und mit einem RST antwortet, dann wird der Port geschlossen.
UDP-Scannen
UDP hingegen ist ein zustandsloses Protokoll und behält den Verbindungszustand nicht bei. Es beinhaltet auch keinen Drei-Wege-Handshake.
Um nach einem UDP-Port zu scannen, sendet ein UDP-Scanner ein UDP-Paket an den Port. Wenn dieser Port geschlossen ist, wird ein ICMP-Paket generiert und an den Ursprung zurückgesendet. Wenn dies nicht geschieht, bedeutet dies, dass der Port geöffnet ist.
UDP-Port-Scans sind oft unzuverlässig, da ICMP-Pakete von Firewalls verworfen werden, was für Port-Scanner falsch positive Ergebnisse erzeugt.
Port-Scanner
Nachdem wir uns nun angeschaut haben, wie das Port-Scanning funktioniert, können wir zu verschiedenen Port-Scannern und ihrer Funktionalität übergehen.
Nmap
Nmap ist der bisher vielseitigste und umfassendste Port-Scanner. Es kann alles tun, von Port-Scans bis hin zu Fingerabdrücken von Betriebssystemen und Schwachstellen-Scans. Nmap hat sowohl CLI- als auch GUI-Schnittstellen, die GUI heißt Zenmap. Es hat viele verschiedene Optionen, um schnelle und effektive Scans durchzuführen. So installieren Sie Nmap unter Linux.
sudo apt-get updatesudo apt-get upgrade -y
sudo apt-get install nmap -y
Jetzt verwenden wir Nmap, um einen Server zu scannen (hackme.org) für offene Ports und das Auflisten von Diensten, die auf diesen Ports verfügbar sind, ist wirklich einfach. Geben Sie einfach nmap und die Serveradresse ein.
nmap hackme.org
Um nach UDP-Ports zu scannen, fügen Sie die Option -sU in sudo ein, da sie Root-Rechte erfordert.
sudo nmap -sU hackme.org
Es gibt viele andere Optionen in Nmap, wie zum Beispiel:
-p- : Nach allen 65535-Ports scannen-sT: TCP-Verbindungsscan
-O : Scannt nach laufendem Betriebssystem
-v : Ausführlicher Scan
-A: Aggressiver Scan, scannt nach allem
-T[1-5] : Zum Einstellen der Scangeschwindigkeit
-Pn : Falls der Server Ping blockiert
Zenmap
Zenmap ist eine GUI-Oberfläche von Nmap für Click-Kiddies, damit Sie sich nicht an ihre Befehle erinnern müssen. Um es zu installieren, geben Sie ein
sudo apt-get install -y zenmap
Um einen Server zu scannen, geben Sie einfach seine Adresse ein und wählen Sie aus den verfügbaren Scan-Optionen.
Netcat
Netcat ist ein roher TCP- und UDP-Port-Writer, der auch als Port-Scanner verwendet werden kann. Es verwendet Connect Scan, deshalb ist es nicht so schnell wie Network Mapper. Um es zu installieren, geben Sie ein
[email protected]:~$ sudo apt install netcat-traditional -yUm nach einem offenen Port zu suchen, schreiben Sie
[email protected]:~$ nc -z -v hackme.org 80… schnippel…
Hacke mich.org [217.78.1.155] 80 (http) öffnen
Um nach einer Reihe von Ports zu suchen, geben Sie
[email protected]:~$ nc -z -nv 127.0.0.1 20-80(UNBEKANNT) [127.0.0.1] 80 (http) öffnen
(UNBEKANNT) [127.0.0.1] 22 (ssh) offen
Einhornscan
Unicornscan ist ein umfassender und schneller Port-Scanner, der für Schwachstellenforscher entwickelt wurde. Im Gegensatz zu Network Mapper verwendet es seinen eigenen User-Land Distributed TCP/IP-Stack. Es hat viele Funktionen, die Nmap nicht hat, einige davon sind vorhanden,
- Asynchrones zustandsloses TCP-Scanning mit allen Variationen von TCP-Flags.
- Asynchrones zustandsloses TCP-Bannergrabbing
- Asynchrones protokollspezifisches UDP-Scanning (Senden einer ausreichenden Signatur, um eine Antwort hervorzurufen).
- Aktive und passive Remote-Identifizierung von Betriebssystemen, Anwendungen und Komponenten durch Analyse von Antworten.
- PCAP-Dateiprotokollierung und -filterung
- Relationale Datenbankausgabe
- Unterstützung für benutzerdefinierte Module
- Benutzerdefinierte Datensatzansichten
Um Unicornscan zu installieren, geben Sie
[email protected]:~$ sudo apt-get install unicornscan -y
Um einen Scan auszuführen, schreiben Sie
[email protected]:~$ sudo us 127.0.0.1TCP open ftp[ 21] von 127.0.0.1 ttl 128
TCP open smtp[ 25] von 127.0.0.1 ttl 128
TCP öffnen http[ 80] von 127.0.0.1 ttl 128
… schnippel…
Fazit
Ports-Scanner sind praktisch, egal ob Sie ein DevOp, Gamer oder Hacker sind. Es gibt keinen wirklichen Vergleich zwischen diesen Scannern, keiner von ihnen ist perfekt, jeder hat seine Vor- und Nachteile. Es hängt ganz von Ihren Anforderungen ab und wie Sie sie verwenden.