Einführung
In diesem Lab lernen Sie, wie Sie die FTP-Portnummer auf einem Zielsystem anpassen und anschließend Hydra verwenden, um einen Brute-Force-Angriff auf den FTP-Dienst über diesen benutzerdefinierten Port durchzuführen. Dies ist eine wertvolle Fähigkeit für Penetrationstester und Sicherheitsexperten, die die Sicherheit von Systemen bewerten müssen, die mit nicht standardmäßigen FTP-Ports konfiguriert wurden.
Das Lab umfasst die Konfiguration des FTP-Servers auf der LabEx-VM, sodass dieser auf einem nicht standardmäßigen Port lauscht. Dazu bearbeiten Sie die Datei vsftpd.conf und starten den FTP-Dienst neu. Anschließend verwenden Sie den Befehl netstat, um zu überprüfen, ob der FTP-Server auf dem neuen Port aktiv ist. Abschließend nutzen Sie Hydra mit der Option -s, um den benutzerdefinierten Port anzugeben und einen FTP-Angriff auszuführen, wobei Sie validieren, dass Hydra erfolgreich eine Verbindung zum FTP-Dienst auf dem konfigurierten Port herstellen kann.
FTP auf einem nicht standardmäßigen Port konfigurieren
In diesem Schritt konfigurieren wir den FTP-Server auf der LabEx-VM so, dass er auf einem nicht standardmäßigen Port lauscht. Standardmäßig verwendet FTP den Port 21. Das Ändern des FTP-Ports kann dazu beitragen, das Risiko automatisierter Angriffe zu verringern, die auf den Standardport abzielen.
Zuerst bearbeiten wir die FTP-Konfigurationsdatei. Wir verwenden dazu den Editor nano, der auf der LabEx-VM vorinstalliert ist.
sudo nano /etc/vsftpd.conf
Dieser Befehl öffnet die Datei vsftpd.conf im nano-Editor.
Fügen Sie die folgende Zeile zur Datei hinzu:
listen_port=2121

Falls die Zeile listen_port noch nicht existiert, fügen Sie sie der Datei hinzu. Es ist bewährte Praxis, sie im oberen Bereich der Datei einzufügen.
Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei mit Ctrl+X, bestätigen Sie mit Y und drücken Sie anschließend Enter, um unter demselben Dateinamen zu speichern.
Als Nächstes müssen wir den FTP-Dienst neu starten, damit die Änderungen wirksam werden.
sudo service vsftpd restart
Dieser Befehl startet den FTP-Dienst neu. Sie sollten eine Ausgabe sehen, die bestätigt, dass der Dienst neu gestartet wurde.
Überprüfen wir abschließend, ob der FTP-Server nun auf dem neuen Port lauscht. Wir können den Befehl netstat verwenden, um die offenen Ports zu prüfen.
sudo netstat -tulnp | grep vsftpd
Dieser Befehl zeigt alle TCP-, UDP-, Listening- und Prozessinformationen an und filtert die Ausgabe so, dass nur Zeilen mit "vsftpd" angezeigt werden. Sie sollten eine Zeile sehen, die anzeigt, dass vsftpd auf Port 2121 (oder dem von Ihnen gewählten Port) lauscht.
Beispielausgabe:
tcp6 0 0 :::2121 :::* LISTEN 1027/vsftpd

Wenn Sie die neue Portnummer in der Ausgabe sehen, bedeutet dies, dass der FTP-Server nun auf dem neuen Port lauscht.
Port mit der Option -s angeben
In diesem Schritt lernen wir, wie man einen nicht standardmäßigen Port bei der Verwendung des Befehls ftp angibt. Dies ist entscheidend, da wir im vorherigen Schritt den FTP-Port von der Standardeinstellung 21 auf einen benutzerdefinierten Port (z. B. 2121) geändert haben. Wenn wir uns nun mit dem Server verbinden, müssen wir dem ftp-Client mitteilen, welchen Port er verwenden soll.
Beim Befehl ftp können Sie einen nicht standardmäßigen Port angeben, indem Sie HOST PORT angeben, wie zum Beispiel ftp localhost 2121. Hydra verwendet jedoch die Option -s, um den Port festzulegen. Es ist wichtig, diesen Unterschied zu verstehen, während wir uns auf den Hydra-Angriff im nächsten Schritt vorbereiten.
Versuchen wir, eine Verbindung zum FTP-Server herzustellen, indem wir die Host-und-Port-Form des ftp-Befehls verwenden, um die Verbindung zu verifizieren. Ersetzen Sie localhost durch die IP-Adresse der LabEx-VM. Wenn Sie dieses Lab auf derselben VM ausführen, können Sie localhost oder 127.0.0.1 verwenden.
ftp localhost 2121
Sie werden zur Eingabe von Benutzername und Passwort aufgefordert. Drücken Sie Ctrl+C, um den Vorgang zu beenden.
Simulieren wir nun, wie Hydra den Port angeben würde. Obwohl wir Hydra noch nicht tatsächlich einsetzen, ist dieser Schritt wichtig, um die Syntax zu verstehen. Hydra verwendet die Option -s, um den Port zu spezifizieren.
Die Syntax von Hydra zur Angabe des Ports unterscheidet sich vom Standard-ftp-Befehl. Hydra verwendet -s gefolgt von der Portnummer. Wenn wir beispielsweise Hydra verwenden würden, um den FTP-Dienst auf Port 2121 anzugreifen, würden wir -s 2121 in den Hydra-Befehl einfügen.
Um dies zu demonstrieren, erstellen wir einen Dummy-Hydra-Befehl. Wir führen ihn nicht aus, aber er veranschaulicht die korrekte Syntax.
hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121

Der entscheidende Punkt hierbei ist der Teil -s 2121. Dies weist Hydra an, eine Verbindung zum FTP-Dienst auf Port 2121 herzustellen.
Zusammenfassend lässt sich sagen, dass der Standard-ftp-Befehl HOST PORT verwenden kann, um den Zielport anzugeben, während Hydra -s verwendet. Das Verständnis dieses Unterschieds ist für den nächsten Schritt, in dem wir einen FTP-Angriff mit Hydra ausführen, von entscheidender Bedeutung.
FTP-Angriff auf benutzerdefiniertem Port ausführen
In diesem Schritt verwenden wir Hydra, um einen Brute-Force-Angriff auf den FTP-Dienst durchzuführen, der auf dem nicht standardmäßigen Port läuft, den wir im ersten Schritt konfiguriert haben. Wir verwenden die Passwortliste, die während der Einrichtungsphase erstellt wurde.
Jetzt sind wir bereit, den Hydra-Angriff zu starten. Ersetzen Sie localhost durch die IP-Adresse der LabEx-VM. Wenn Sie dieses Lab auf derselben VM ausführen, können Sie localhost oder 127.0.0.1 verwenden.
hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121 -vV
Schlüsseln wir diesen Befehl auf:
hydra: Der Befehl zum Ausführen des Hydra-Tools.-l ftpuser: Gibt den Benutzernamen an, der angegriffen werden soll.-P ~/project/password.txt: Gibt den Pfad zur Passwortlistendatei an, die während der Einrichtung erstellt wurde.localhost: Gibt die Ziel-IP-Adresse an. Ersetzen Sielocalhostdurch die tatsächliche IP-Adresse.ftp: Gibt den anzugreifenden Dienst an (in diesem Fall FTP).-s 2121: Gibt die Portnummer an. Dies ist entscheidend, da wir den FTP-Port im ersten Schritt auf 2121 geändert haben.-vV: Aktiviert den ausführlichen Modus (Verbose), der die Anmeldeversuche in Echtzeit anzeigt.
Führen Sie den Befehl aus. Hydra beginnt nun, verschiedene Passwörter aus der Datei ~/project/password.txt gegen den FTP-Dienst auf dem angegebenen Port zu testen.
Wenn Hydra das richtige Passwort findet, werden die erfolgreichen Anmeldeinformationen angezeigt. Zum Beispiel:
[ATTACKER] attacking ftp://localhost:2121/
[2121][ftp] host: localhost login: ftpuser password: password123
Wenn Hydra das richtige Passwort nicht findet, werden alle Passwörter in der Liste durchprobiert und das Programm beendet, ohne eine erfolgreiche Anmeldung anzuzeigen.
Wichtiger Sicherheitshinweis: Dieses Lab dient ausschließlich zu Bildungszwecken. Verwenden Sie Hydra nicht, um Systeme ohne ausdrückliche Genehmigung anzugreifen. Unbefugter Zugriff auf Computersysteme ist illegal und unethisch.
Verbindung zum korrekten Port validieren
In diesem letzten Schritt validieren wir, dass wir nach dem versuchten Hydra-Angriff immer noch eine Verbindung zum FTP-Server auf dem benutzerdefinierten Port herstellen können. Dies bestätigt, dass der FTP-Dienst wie erwartet läuft und wir über den angegebenen Port darauf zugreifen können.
Verwenden Sie den Befehl ftp mit Host und Port, um eine Verbindung zum FTP-Server auf dem benutzerdefinierten Port herzustellen. Ersetzen Sie localhost durch die IP-Adresse der LabEx-VM. Wenn Sie dieses Lab auf derselben VM ausführen, können Sie localhost oder 127.0.0.1 verwenden.
ftp localhost 2121
Sie werden zur Eingabe von Benutzername und Passwort aufgefordert. Verwenden Sie die Anmeldedaten, die wir bei der Einrichtung erstellt haben:
- Benutzername:
ftpuser - Passwort:
password123
Wenn die Verbindung erfolgreich ist, werden Sie am FTP-Server angemeldet.

Falls Sie keine Verbindung herstellen können, überprüfen Sie Folgendes:
- Stellen Sie sicher, dass der FTP-Dienst noch läuft. Sie können dies mit dem Befehl
netstat -tulnp | grep vsftpdüberprüfen, wie wir es im ersten Schritt getan haben. - Vergewissern Sie sich, dass der FTP-Port in der Datei
/etc/vsftpd.confweiterhin auf 2121 (oder den von Ihnen gewählten Port) eingestellt ist. - Stellen Sie sicher, dass keine Firewall-Regeln Verbindungen zum benutzerdefinierten Port blockieren. (Hinweis: Die LabEx-VM-Umgebung hat standardmäßig normalerweise keine Firewall aktiviert, aber es ist gut, dies für reale Szenarien im Hinterkopf zu behalten.)
- Bestätigen Sie, dass Sie den korrekten Benutzernamen und das korrekte Passwort verwenden.
Eine erfolgreiche Verbindung bestätigt, dass der FTP-Server auf dem benutzerdefinierten Port läuft und Sie sich mit ftp localhost 2121 verbinden können. Dies validiert auch, dass der Hydra-Angriff, selbst wenn er erfolglos war, den FTP-Dienst nicht beeinträchtigt hat.
Damit ist das Lab abgeschlossen. Sie haben erfolgreich FTP auf einem nicht standardmäßigen Port konfiguriert, gelernt, wie man den Port mit der Option -s bei Hydra angibt, einen grundlegenden Hydra-Angriff ausgeführt und die Verbindung zum korrekten Port validiert.
Zusammenfassung
In diesem Lab haben wir den FTP-Server auf der LabEx-VM so konfiguriert, dass er auf einem nicht standardmäßigen Port, speziell Port 2121, anstelle des Standardports 21 lauscht. Dies erforderte das Bearbeiten der Datei /etc/vsftpd.conf mit nano, um die listen_port-Direktive zu ändern oder hinzuzufügen, gefolgt von einem Neustart des FTP-Dienstes mit sudo service vsftpd restart.
Abschließend haben wir überprüft, ob der FTP-Server tatsächlich auf dem neuen Port lauscht, indem wir den Befehl netstat -tulnp | grep vsftpd verwendet haben, um die aktiven Ports zu prüfen und zu bestätigen, dass vsftpd mit Port 2121 verknüpft ist.


