ssh

Brute Force gegen SSH- und FTP-Dienste

Brute Force gegen SSH- und FTP-Dienste
Bruteforce gehört zu den ältesten Hacking-Techniken, es ist auch einer der einfachsten automatisierten Angriffe, die minimales Wissen und Eingreifen des Angreifers erfordern. Der Angriff besteht aus mehreren Anmeldeversuchen unter Verwendung einer Datenbank mit möglichen Benutzernamen und Passwörtern, bis sie übereinstimmen. Dieser Angriff kann verhindert werden, indem Benutzern mehr als X Versuche pro Minute verboten werden.  Normalerweise kennt der Angreifer bei diesem Angriff bereits den Benutzernamen. In diesem Tutorial gehen wir davon aus, dass wir den Benutzernamen kennen, wir knacken ein Root-Passwort mit verschiedenen Tools.Der Installationsprozess dieses Tutorials ist für Debian/Ubuntu-basierte Linux-Distributionen nützlich, der Rest des Artikels ist für die meisten Distributionen nützlich.

Das richtige Wörterbuch bekommen

Es gibt verschiedene Wortlisten oder Wörterbücher, optimiert je nach Zieltyp. Wenn Sie ein Router-Passwort knacken möchten, um auf WLAN zuzugreifen, verwenden Sie Wörterbücher mit mindestens 8 Zeichen. Wenn Sie einen SSH-Dienst knacken möchten, verwenden Sie eine Datenbank eines Benutzernamens, die den Benutzer „Wurzel“.

Hier haben Sie einige Websites, von denen Sie Wortlisten herunterladen können.

Am besten verwenden Sie die vielseitigste Suchmethode, wie in der folgenden Animation dargestellt.

Installieren und Verwenden von Hydra zum Knacken von SSH- und FTP-Anmeldeinformationen

Hydra ist eines der beliebtesten Brute-Forcing-Tools. Es kommt standardmäßig mit Kali und wird von Debian/Ubuntu-Standard-Repositorys unterstützt. So installieren Sie Hydra Run:

apt install hydra -y

Lassen Sie uns nun den SSH-Dienst eines Ziels angreifen, um als Root darauf zuzugreifen, indem Sie den folgenden Befehl ausführen:

hydra -l root -P Pfad/zu/Wörterbuch/Wortliste.txt X.X.X.X ssh

Wo: Hydra ruft die Software auf.

-Ich: gibt den Login-Benutzernamen an

-P: gibt den Speicherort des Wörterbuchs oder der Wortliste an.

X.X.X.X: stellt die IP-Adresse dar, ersetzen Sie sie durch die IP Ihres Ziels.

ssh: gibt den anzugreifenden Dienst an.

Hinweis: Optional können Sie die -U Parameter, um auch eine Liste mit Benutzernamen zu definieren.

Wie Sie im Screenshot sehen können, hat hydra das Passwort in der Wortliste gefunden.

Wenn wir einen FTP-Dienst knacken möchten, können wir das gleiche tun, indem wir den letzten Parameter ersetzen ssh zum ftp:

hydra -l root -P Pfad/zu/Wörterbuch/Wortliste.txt X.X.X.X ssh

Installieren und Knacken von Anmeldeinformationen mit Medusa

So installieren Sie den Medusa-Typ:

apt install medusa -y

Lassen Sie uns nun einen SSH-Dienst hacken, indem Sie Medusa verwenden, und führen Sie den folgenden Befehl aus:

medusa -u BENUTZERNAME -P '/PFAD/TO/WORDLIST.TXT' -h X.X.X.X-M ssh

Wo:
medusa: ruft die Software auf

-u: gibt den Nutzernamen an

-P: gibt den Pfad zur Wortliste oder zum Wörterbuch an.

-h: gibt den Hostnamen oder die IP an

-M spezifiziert den Dienst.

Wie Sie im Screenshot sehen können, hat Medusa es geschafft, das Passwort im Wörterbuch zu finden, indem wir die ssh-Spezifikation für einen anderen Port ersetzen, können wir auf verschiedene Dienste abzielen.

Schutz vor Bruteforce-Angriffen

Standardmäßig sind Linux-Standardinstallationen vollständig zugänglich, um uns den ersten Zugriff zu gewähren. Zu den Best Practices zur Verhinderung von Brute-Force-Angriffen gehören das Deaktivieren des Root-Remotezugriffs, die Begrenzung der Anzahl der Anmeldeversuche pro X Sekunden, die Installation zusätzlicher Software wie fail2ban.

1. Fernzugriff als Root deaktivieren.

Geben Sie den folgenden Befehl ein, um die sshd-Konfigurationsdatei zu bearbeiten, um den Remote-Root-Zugriff zu deaktivieren.

nano /etc/ssh/sshd_config

Suchen Sie die Zeile mit PermitRootLogin ja und bearbeite es zu PermitRootLogin-Nr

Drücken Sie Strg+W und suche nach „Wurzel

Drücken Sie Strg+x nano speichern und beenden.

Versuchen Sie nun, sich selbst zu ssh und sehen Sie das Ergebnis:

ssh root@localhost oder [email protected]

Versuchen Sie es als normaler Benutzer und Sie können sich einloggen.

2. Ersetzen der Kennwortauthentifizierung für Schlüssel.

nano /etc/ssh/sshd_config

Drücken Sie Strg+W und suchen Sie nach PasswortAuthentifizierung ja und bearbeiten Sie die Zeile für ersetzen  PasswortAuthentifizierungsnr.

Drücken Sie Strg+x zum Speichern und Beenden.

3. Fail2ban installieren

Um Fail2ban zu installieren, führen Sie Folgendes aus:

apt install fail2ban -y

4. Einschränken von Anmeldeversuchen mit iptables

Fügen Sie die folgenden iptables-Regeln hinzu:

Iptables -A INPUT -i lo -j AKZEPTIEREN
Iptables -A INPUT -m Zustand --state ESTABLISHED,RELATED -j ACCEPT

Geben Sie dann ein

Iptables -A INPUT -p tcp -m multiport --dports 21,22,110,143 -m aktuell --update
--Sekunden 3600 --name BANNED --rsource -j DROP

Drücken Sie iptables-save > /etc/iptables/rules.v4 um den Dienst zu speichern und neu zu starten.

Dienst iptables neu starten


HINWEIS:
Weitere Informationen zu iptables finden Sie unter https://linuxhint.com/iptables_for_beginners/

Fazit:

Die Durchführung von Brute-Force-Angriffen erfordert keine fortgeschrittenen Sicherheitskenntnisse. Mit wenigen Befehlen und starker Hardware können wir Passwörter schnell knacken, indem wir Software ausführen lassen, die in kurzer Zeit massive Anmeldungen versucht. Die Abwehr solcher Angriffe ist sehr einfach, erfordert keine Kenntnisse auf Systemadministratorebene und es stehen verschiedene Optionen zur Verfügung. Dies ist ein grundlegendes Muss, um Ihr Gerät zu schützen.

Ich hoffe, Sie fanden dieses grundlegende Tutorial zu offensiver und defensiver Brute-Force hilfreich. Besuchen Sie LinuxHint für weitere Tipps zu Linux-Sicherheit und -Administration.

So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...
Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...