Einführung: Warum Sockets für Pentesting relevant sind¶
In der IT-Security – und insbesondere im Pentesting – dreht sich viel um ein einziges zentrales Konzept:
Ein Socket ist der technische Startpunkt jeder Netzwerkkommunikation.
Wenn ein System mit einem anderen kommuniziert – egal ob über HTTP, DNS, SSH, SMB oder ein beliebiges anderes Protokoll – läuft diese Kommunikation immer über Sockets.
Ein Socket definiert genau:
- welches System angesprochen wird (IP-Adresse),
- welcher Dienst dahintersteht (Port),
- auf welche Weise kommuniziert wird (TCP oder UDP).
Für das Pentesting sind Sockets deshalb besonders relevant, weil sie bestimmen, welche Dienste erreichbar sind, wie sie reagieren und wie Angriffe überhaupt möglich werden.
1. Jeder offene Port ist eine Angriffsfläche¶
Ein Programm, das auf einem Port lauscht, nimmt dort Verbindungen entgegen.
Ein offener Port bedeutet deshalb immer:
- ein Dienst läuft,
- dieser Dienst verarbeitet Anfragen,
- dieser Dienst könnte Schwachstellen enthalten.
Ohne offene Ports gäbe es keine Angriffsvektoren im Netzwerk.
2. Port-Scanning basiert direkt auf Sockets¶
Tools wie:
- nmap
- netcat
- masscan
- rustscan
testen nichts anderes als die Reaktion eines Sockets.
Dabei wird festgestellt, ob ein Port:
- offen
- geschlossen
- gefiltert
- oder fehlerhaft konfiguriert ist.
Das Verständnis von Sockets ist somit die Grundlage jeder Netzwerk-Reconnaissance.
3. Viele Exploits funktionieren über Sockets¶
Schwachstellen wie Buffer Overflows, Injection-Angriffe oder Protokollfehler wirken nur, weil ein Angreifer Daten über einen Socket sendet.
Beispiele:
- Heartbleed (TLS-Socket-Fehler)
- Log4Shell (über HTTP ausgelöst)
- SMB-Exploits (EternalBlue)
- unsichere Protokolle wie Telnet oder FTP
Ein Exploit ist letztlich eine manipulierte Anfrage, die über einen Socket an einen Dienst gesendet wird.
4. Tools wie Netcat funktionieren, weil Sockets so einfach sind¶
Netcat wird oft als „Schweizer Taschenmesser“ des Pentestings bezeichnet.
Es kann direkt mit Sockets arbeiten:
- TCP-Server starten
- TCP-Client verbinden
- UDP-Pakete senden
- Banner-Grabbing
- Reverse Shells und Bind Shells
All diese Funktionen sind nur möglich, weil die Kommunikation über Sockets so flexibel ist.
5. Firewalls sind Socket-Kontrollmechanismen¶
Firewalls bestimmen, welche Sockets:
- erlaubt,
- geblockt,
- umgeleitet oder
- protokolliert
werden dürfen.
Wer Sockets versteht, versteht automatisch:
- warum Ports gefiltert wirken,
- warum manche Dienste nicht erreichbar sind,
- wie Firewall-Evasion funktioniert.
6. Alle Netzwerkdienste basieren auf Sockets¶
Jeder relevante Dienst eines Systems ist über einen Port erreichbar:
| Dienst | Protokoll | Port |
|---|---|---|
| SSH | TCP | 22 |
| HTTP | TCP | 80 |
| HTTPS | TCP | 443 |
| DNS | UDP | 53 |
| SMB | TCP | 445 |
Ein Pentester muss Sockets verstehen, um zu beurteilen:
- wie ein Dienst erreichbar ist,
- wie man ihn prüft,
- wie man ihn fingerprintet,
- wie man ihn potenziell ausnutzt.