Hydra-Portnummern anpassen

HydraHydraBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie die FTP-Portnummer auf einem Zielsystem anpassen und dann Hydra verwenden, um einen Brute-Force-Angriff auf den FTP-Dienst an diesem 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 beinhaltet die Konfiguration des FTP-Servers auf der LabEx-VM, um auf einem nicht-standardmäßigen Port zu lauschen, indem Sie die Datei vsftpd.conf ändern und den FTP-Dienst neu starten. Anschließend verwenden Sie den Befehl netstat, um zu überprüfen, ob der FTP-Server auf dem neuen Port lauscht. Schließlich verwenden Sie Hydra mit der Option -s, um den benutzerdefinierten Port anzugeben und einen FTP-Angriff auszuführen, um zu überprüfen, dass Hydra erfolgreich eine Verbindung zum FTP-Dienst am konfigurierten Port herstellen kann.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL hydra(("Hydra")) -.-> hydra/HydraGroup(["Hydra"]) hydra/HydraGroup -.-> hydra/ssh_attack("SSH Brute Force") hydra/HydraGroup -.-> hydra/verbose_mode("Verbose Mode Usage") hydra/HydraGroup -.-> hydra/custom_port("Custom Port Attack") subgraph Lab Skills hydra/ssh_attack -.-> lab-550765{{"Hydra-Portnummern anpassen"}} hydra/verbose_mode -.-> lab-550765{{"Hydra-Portnummern anpassen"}} hydra/custom_port -.-> lab-550765{{"Hydra-Portnummern anpassen"}} end

Konfiguration von FTP auf einem nicht-standardmäßigen Port

In diesem Schritt werden wir den FTP-Server auf der LabEx-VM so konfigurieren, dass er auf einem nicht-standardmäßigen Port lauscht. Standardmäßig verwendet FTP Port 21. Das Ändern des FTP-Ports kann dazu beitragen, das Risiko von automatisierten Angriffen auf den Standardport zu verringern.

Zunächst bearbeiten wir die FTP-Konfigurationsdatei. Wir verwenden den nano-Editor, 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 der Datei die folgende Zeile hinzu:

listen_port=2121
add listen_port

Wenn die Zeile listen_port nicht existiert, fügen Sie sie zur Datei hinzu. Es ist eine gute Praxis, sie in der Nähe des Dateianfangs hinzuzufügen.

Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die Datei, indem Sie Strg+X drücken, dann Y zum Bestätigen und anschließend Enter, um die Datei unter demselben Namen 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 anzeigt, dass der Dienst neu gestartet wurde.

Schließlich überprüfen wir, ob der FTP-Server jetzt auf dem neuen Port lauscht. Wir können den Befehl netstat verwenden, um die lauschenden Ports zu überprüfen.

sudo netstat -tulnp | grep vsftpd

Dieser Befehl zeigt alle TCP-, UDP-, lauschenden und Prozessinformationen an und filtert dann die Ausgabe, um nur Zeilen anzuzeigen, die "vsftpd" enthalten. 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
check FTP port

Wenn Sie die neue Portnummer in der Ausgabe sehen, bedeutet dies, dass der FTP-Server jetzt auf dem neuen Port lauscht.

Angabe des Ports mit der -s-Option

In diesem Schritt lernen wir, wie man einen nicht-standardmäßigen Port angibt, wenn man den ftp-Befehl verwendet. Dies ist von entscheidender Bedeutung, da wir im vorherigen Schritt den Lauscheport des FTP-Servers vom Standardport 21 auf einen benutzerdefinierten Port (z. B. 2121) geändert haben. Wenn wir uns jetzt mit dem Server verbinden, müssen wir dem ftp-Client mitteilen, welchen Port er verwenden soll.

Der ftp-Befehl bietet die -p-Option, um die Portnummer anzugeben. Hydra hingegen verwendet die -s-Option zur Portangabe. Es ist wichtig, diesen Unterschied zu verstehen, da wir im nächsten Schritt einen Hydra-Angriff ausführen werden.

Versuchen wir, uns mit dem FTP-Server zu verbinden, indem wir den ftp-Befehl mit der -p-Option verwenden, um die Verbindung zu überprüfen. 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 -p localhost 2121

Sie werden nach Benutzername und Passwort gefragt. Drücken Sie Strg+C, um zu beenden.

Nun simulieren wir, wie Hydra den Port angibt. Wir werden Hydra noch nicht tatsächlich verwenden, aber dieser Schritt ist wichtig, um die Syntax zu verstehen. Hydra verwendet die -s-Option, um den Port anzugeben.

Die Syntax von Hydra zur Portangabe unterscheidet sich vom Standard-ftp-Befehl. Hydra verwendet -s gefolgt von der Portnummer. Wenn wir beispielsweise Hydra verwenden würden, um einen Angriff auf den FTP-Dienst am Port 2121 durchzuführen, würden wir -s 2121 in den Hydra-Befehl aufnehmen.

Um dies zu demonstrieren, erstellen wir einen Platzhalter-Hydra-Befehl. Wir werden ihn nicht ausführen, aber er veranschaulicht die korrekte Syntax.

hydra -l ftpuser -P ~/project/password.txt localhost ftp -s 2121
hydra syntax

Der wichtigste Teil hier ist -s 2121. Dies teilt Hydra mit, sich mit dem FTP-Dienst am Port 2121 zu verbinden.

Zusammenfassend lässt sich sagen, dass der Standard-ftp-Befehl -p zur Portangabe verwendet, während Hydra -s verwendet. Das Verständnis dieses Unterschieds ist für den nächsten Schritt von entscheidender Bedeutung, in dem wir einen FTP-Angriff mit Hydra ausführen werden.

Ausführung eines FTP-Angriffs auf einem benutzerdefinierten Port

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

Lassen Sie uns diesen Befehl analysieren:

  • hydra: Der Befehl, um das Hydra-Tool auszuführen.
  • -l ftpuser: Gibt den Benutzer an, gegen den der Angriff gerichtet ist.
  • -P ~/project/password.txt: Gibt den Pfad zur Passwortlisten-Datei an, die während der Einrichtung erstellt wurde.
  • localhost: Gibt die Ziel-IP-Adresse an. Ersetzen Sie localhost durch die tatsächliche IP-Adresse.
  • ftp: Gibt den Dienst an, gegen den der Angriff gerichtet ist (in diesem Fall FTP).
  • -s 2121: Gibt die Portnummer an. Dies ist von entscheidender Bedeutung, da wir den FTP-Port im ersten Schritt auf 2121 geändert haben.
  • -vV: Aktiviert den ausführlichen Modus, der die Anmeldeversuche in Echtzeit anzeigt.

Führen Sie den Befehl aus. Hydra beginnt, verschiedene Passwörter aus der Datei ~/project/password.txt gegen den FTP-Dienst am angegebenen Port zu testen.

Wenn Hydra das richtige Passwort findet, wird es die erfolgreiche Anmeldeinformation anzeigen. Beispiel:

[ATTACKER] attacking ftp://localhost:2121/
[2121][ftp] host: localhost   login: ftpuser   password: password123

Wenn Hydra das richtige Passwort nicht findet, wird es alle Passwörter in der Liste testen und dann beenden, ohne eine erfolgreiche Anmeldung anzuzeigen.

Wichtiger Sicherheitshinweis: Dieses Lab dient nur zu Bildungszwecken. Verwenden Sie Hydra nicht, um Systeme ohne ausdrückliche Genehmigung anzugreifen. Unbefugter Zugang zu Computersystemen ist illegal und unethisch.

Überprüfung der Verbindung zum richtigen Port

In diesem letzten Schritt überprüfen wir, ob wir uns nach dem versuchten Hydra-Angriff immer noch über den benutzerdefinierten Port mit dem FTP-Server verbinden können. Dies bestätigt, dass der FTP-Dienst wie erwartet läuft und dass wir ihn über den angegebenen Port zugreifen können.

Verwenden Sie den ftp-Befehl mit der -p-Option, um sich über den benutzerdefinierten Port mit dem FTP-Server zu verbinden. 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 -p 2121 localhost

Sie werden nach Benutzername und Passwort gefragt. Verwenden Sie die Anmeldeinformationen, die wir bei der Einrichtung erstellt haben:

  • Benutzername: ftpuser
  • Passwort: password123

Wenn die Verbindung erfolgreich ist, werden Sie beim FTP-Server angemeldet.

ftp login

Wenn Sie keine Verbindung herstellen können, überprüfen Sie Folgendes noch einmal:

  • Stellen Sie sicher, dass der FTP-Dienst noch läuft. Sie können dies wie im ersten Schritt mit dem Befehl netstat -tulnp | grep vsftpd überprüfen.
  • Überprüfen Sie, ob der FTP-Port in der Datei /etc/vsftpd.conf immer noch auf 2121 (oder den von Ihnen gewählten Port) festgelegt ist.
  • Stellen Sie sicher, dass keine Firewall-Regeln Verbindungen zum benutzerdefinierten Port blockieren. (Hinweis: In der LabEx-VM-Umgebung ist standardmäßig keine Firewall aktiviert, aber es ist gut, dies für reale Szenarien im Hinterkopf zu behalten.)
  • Bestätigen Sie, dass Sie den richtigen Benutzernamen und das richtige Passwort verwenden.

Eine erfolgreiche Verbindung bestätigt, dass der FTP-Server auf dem benutzerdefinierten Port läuft und dass Sie sich mit dem ftp-Befehl und der -p-Option damit verbinden können. Dies bestätigt auch, dass der Hydra-Angriff, auch wenn er nicht erfolgreich war, den FTP-Dienst nicht gestört hat.

Dies beendet das Lab. Sie haben erfolgreich FTP auf einem nicht-standardmäßigen Port konfiguriert, gelernt, wie man den Port mit der -s-Option in Hydra angibt, einen grundlegenden Hydra-Angriff ausgeführt und die Verbindung zum richtigen Port überprüft.

Zusammenfassung

In diesem Lab haben wir den FTP-Server auf der LabEx-VM so konfiguriert, dass er auf einem nicht-standardmäßigen Port, konkret auf Port 2121, anstatt auf dem Standardport 21 lauscht. Dazu haben wir die Datei /etc/vsftpd.conf mit nano bearbeitet, um die Direktive listen_port zu ändern oder hinzuzufügen, und anschließend den FTP-Dienst mit sudo service vsftpd restart neu gestartet.

Schließlich haben wir überprüft, dass der FTP-Server tatsächlich auf dem neuen Port lauscht, indem wir den Befehl netstat -tulnp | grep vsftpd verwendet haben, um die lauschenden Ports zu überprüfen und zu bestätigen, dass vsftpd mit Port 2121 assoziiert ist.