In diesem Schritt richten wir einen FTP-Server ein und konfigurieren ihn mit mehreren Benutzeranmeldeinformationen. Dies ermöglicht es uns, die Fähigkeit von Hydra zu testen, mehrere Konten gleichzeitig zu knacken. Wir verwenden vsftpd
(Very Secure FTP Daemon) als unseren FTP-Server.
Zuerst installieren wir vsftpd
. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
sudo apt update
sudo apt install vsftpd -y
Als Nächstes müssen wir vsftpd
konfigurieren. Wir beginnen mit dem Erstellen einer Sicherungskopie der ursprünglichen Konfigurationsdatei. Dies ist eine gute Praxis, bevor Sie Änderungen an Systemkonfigurationsdateien vornehmen.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
Jetzt bearbeiten wir die Konfigurationsdatei /etc/vsftpd.conf
mit nano
. Diese Datei steuert das Verhalten des FTP-Servers.
sudo nano /etc/vsftpd.conf
Fügen Sie im nano
-Editor die folgenden Zeilen hinzu oder ändern Sie sie. Diese Einstellungen deaktivieren den anonymen Zugriff, aktivieren lokale Benutzeranmeldungen, ermöglichen den Schreibzugriff und führen lokale Benutzer für die Sicherheit in ihre Home-Verzeichnisse ein.
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
listen=YES
listen_ipv6=NO
Zum Speichern der Datei in nano
:
- Drücken Sie
Strg + X
, um zu beenden.
- Drücken Sie
Y
, um das Speichern zu bestätigen.
- Drücken Sie die Eingabetaste, um den Dateinamen zu bestätigen.
Nach dem Speichern der Datei überprüfen Sie die Konfigurationsdatei, um sicherzustellen, dass die Änderungen korrekt angewendet wurden, indem Sie den folgenden Befehl verwenden:
sudo cat /etc/vsftpd.conf | grep -E "^(anonymous_enable|local_enable|write_enable|chroot_local_user|listen)"
Stellen Sie sicher, dass die Ausgabe dieselbe Konfiguration wie die von uns hinzugefügte zeigt.
Jetzt erstellen wir mehrere Benutzerkonten. Wir erstellen zwei Benutzer: testuser1
und testuser2
und legen Passwörter für sie fest. Diese Benutzer werden von Hydra verwendet, um sich anzumelden zu versuchen.
Erstellen Sie testuser1
mit einem Home-Verzeichnis:
sudo useradd -m testuser1
Legen Sie das Passwort für testuser1
mit einem nicht interaktiven Befehl fest:
echo 'testuser1:password123' | sudo chpasswd
Erstellen Sie testuser2
mit einem Home-Verzeichnis:
sudo useradd -m testuser2
Legen Sie das Passwort für testuser2
mit einem nicht interaktiven Befehl fest:
echo 'testuser2:password456' | sudo chpasswd
Diese Befehle sind nicht interaktiv und erstellen die Benutzer direkt, ohne Eingaben abzufragen, was sie in automatisierten Umgebungen zuverlässiger macht.
Jetzt müssen wir die Berechtigungen des Home-Verzeichnisses für die chroot-Konfiguration korrigieren. Wenn chroot_local_user=YES
aktiviert ist, darf das Home-Verzeichnis des Benutzers aus Sicherheitsgründen nicht vom Benutzer beschreibbar sein:
sudo chmod 755 /home/testuser1
sudo chmod 755 /home/testuser2
Erstellen Sie ein beschreibbares Unterverzeichnis für jeden Benutzer, in dem er Dateien hochladen kann:
sudo mkdir /home/testuser1/files
sudo mkdir /home/testuser2/files
sudo chown testuser1:testuser1 /home/testuser1/files
sudo chown testuser2:testuser2 /home/testuser2/files
Als Nächstes starten Sie den vsftpd
-Dienst neu, um die vorgenommenen Änderungen an der Konfigurationsdatei anzuwenden und die neuen Benutzer zu erkennen.
sudo service vsftpd restart
Jetzt testen wir den FTP-Server, um sicherzustellen, dass er korrekt läuft und unsere neuen Benutzer sich anmelden können. Sie können den ftp
-Befehlszeilenclient verwenden, um eine Verbindung zum Server herzustellen. Da wir den Server lokal ausführen, können wir uns mit localhost
verbinden.
ftp localhost
Sie werden nach einem Benutzernamen gefragt. Geben Sie testuser1
und dann das Passwort password123
ein. Wenn alles korrekt konfiguriert ist, sollten Sie eine Meldung erhalten, die anzeigt, dass Sie angemeldet sind.
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:labex): testuser1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Sie können bye
eingeben, um den FTP-Client zu beenden.
ftp> bye
221 Goodbye.
Jetzt bereiten wir die Dateien vor, die Hydra für seinen Angriff verwenden wird. Navigieren Sie zu Ihrem Verzeichnis ~/project
, Ihrem Standardarbeitsverzeichnis.
cd ~/project
Erstellen Sie eine Datei namens users.txt
im Verzeichnis ~/project
. Diese Datei enthält die Benutzernamen, die Hydra verwenden wird.
nano users.txt
Fügen Sie die folgenden Benutzernamen zu users.txt
hinzu:
testuser1
testuser2
Speichern Sie die Datei und beenden Sie nano
.
Erstellen Sie als Nächstes eine Datei namens passwords.txt
im Verzeichnis ~/project
. Diese Datei enthält eine Liste von Passwörtern, einschließlich der korrekten für unsere Testbenutzer, sowie einige gängige falsche Passwörter.
nano passwords.txt
Fügen Sie die folgenden Passwörter zu passwords.txt
hinzu:
password123
password456
password
123456
qwerty
Speichern Sie die Datei und beenden Sie nano
.
Wir haben nun einen FTP-Server mit mehreren Benutzerkonten und einer Liste von Benutzernamen und Passwörtern eingerichtet, die Hydra verwenden kann, um zu versuchen, die Konten zu knacken.