21 - FTP

Übersicht

FTP ist ein Protokoll, das zur Übertragung von Dateien zwischen einem Client und einem Server verwendet wird. Es nutzt zwei Kanäle:

  • Kontrollkanal (TCP Port 21): Zum Senden von Befehlen und Antworten.

  • Datenkanal (TCP Port 20): Zur Übertragung von Dateien.

Es gibt zwei Modi:

  • Aktiver Modus: Der Client informiert den Server, über welchen Port er antworten soll.

  • Passiver Modus: Der Server teilt dem Client mit, welchen Port er nutzen soll (besser für Firewalls).

Sicherheitsrisiken:

  • Klartextübertragung (inkl. Passwörter).

  • Anonymer Zugriff, wenn schlecht konfiguriert.


Schritt 1: Scannen mit Nmap

Führe einen grundlegenden FTP-Scan mit Nmap durch, um Informationen über den Server zu sammeln.

sudo nmap -sV -p21 -sC -A <Ziel-IP>

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-rw-r--    1 ftp      ftp       8138592 Sep 16 17:24 Calendar.pptx
| drwxrwxr-x    4 ftp      ftp          4096 Sep 16 17:57 Clients

Erklärung:

  • Anonymer Zugriff (ftp-anon): Zeigt an, dass der Server anonymen FTP-Zugang erlaubt (Code 230).


Schritt 2: Anonymer FTP-Zugang testen

Wenn Nmap zeigt, dass anonymer Zugriff erlaubt ist, verbinde dich direkt mit dem Server.

Erklärung:

  • ls: Zeigt, dass du Dateien und Verzeichnisse auf dem Server einsehen kannst. In diesem Beispiel ist die Datei Calendar.pptx sichtbar.


Schritt 3: Alle Dateien herunterladen

Wenn du mehrere Dateien gleichzeitig sichern möchtest, nutze wget, um den gesamten Serverinhalt zu spiegeln.

Erklärung:

  • wget -m: Lädt alle Dateien auf dem Server herunter. In diesem Fall wird die Datei Calendar.pptx heruntergeladen.


Schritt 4: Dateien hochladen (potenziell für Exploits nutzen)

Prüfe, ob der Server das Hochladen von Dateien zulässt. Das kann für das Platzieren von schädlichem Code genutzt werden, z. B. eine Web-Shell.

Erklärung:

  • put: Erfolgreich hochgeladene Datei testupload.txt ist jetzt auf dem Server sichtbar.


Schwachstellen und Exploits

vsFTPd-Backdoor-Exploit (ältere Versionen)

Wenn der FTP-Server eine anfällige Version (z.B. vsFTPd 2.3.4) verwendet, kannst du die bekannte Backdoor überprüfen.


Fortgeschrittene Angriffe: SSL/TLS-Verbindungen testen

Falls der FTP-Server SSL/TLS verwendet, kann openssl zur Analyse der Zertifikate verwendet werden.

Erklärung:

  • SSL-Zertifikate: Das Zertifikat gibt Informationen über das Unternehmen und den Standort.


Zusammenfassung:

  • Nmap zeigt Schwachstellen wie anonymen Zugriff.

  • wget lädt alle Dateien herunter.

  • Datei-Uploads können zu Exploits wie Remote Code Execution (RCE) führen.

  • Backdoor-Scans prüfen Schwachstellen in älteren vsFTPd-Versionen.

Last updated