<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks im PDF-Format herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github Repositories einreichen.
**Bug-Bounty-Tipp**: **Melden Sie sich an** bei **Intigriti**, einer Premium-**Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde**! Treten Sie uns bei [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) heute bei und beginnen Sie, Prämien von bis zu **100.000 $** zu verdienen!
**SSH (Secure Shell oder Secure Socket Shell)** ist ein Netzwerkprotokoll, das eine sichere Verbindung zu einem Computer über ein unsicheres Netzwerk ermöglicht. Es ist wesentlich für die Wahrung der Vertraulichkeit und Integrität von Daten beim Zugriff auf entfernte Systeme.
* [openSSH](http://www.openssh.org) – OpenBSD SSH, in BSD, Linux-Distributionen und Windows seit Windows 10 enthalten
* [Dropbear](https://matt.ucc.asn.au/dropbear/dropbear.html) – SSH-Implementierung für Umgebungen mit geringem Speicher und Prozessorressourcen, in OpenWrt enthalten
* [PuTTY](https://www.chiark.greenend.org.uk/\~sgtatham/putty/) – SSH-Implementierung für Windows, der Client wird häufig verwendet, die Verwendung des Servers ist seltener
* [CopSSH](https://www.itefix.net/copssh) – Implementierung von OpenSSH für Windows
* [libssh](https://www.libssh.org) – plattformübergreifende C-Bibliothek, die das SSHv2-Protokoll implementiert, mit Bindungen in [Python](https://github.com/ParallelSSH/ssh-python), [Perl](https://github.com/garnier-quentin/perl-libssh/) und [R](https://github.com/ropensci/ssh); wird von KDE für sftp und von GitHub für die git SSH-Infrastruktur verwendet
* [wolfSSH](https://www.wolfssl.com/products/wolfssh/) – SSHv2-Serverbibliothek in ANSI C geschrieben und für eingebettete, RTOS- und ressourcenbeschränkte Umgebungen ausgelegt
* [Apache MINA SSHD](https://mina.apache.org/sshd-project/index.html) – Die Apache SSHD-Java-Bibliothek basiert auf Apache MINA
[https://github.com/jtesta/ssh-audit](https://github.com/jtesta/ssh-audit) ist ein aktualisierter Fork von [https://github.com/arthepsy/ssh-audit/](https://github.com/arthepsy/ssh-audit/)
In einigen Versionen von OpenSSH können Sie einen Timing-Angriff durchführen, um Benutzer zu enumerieren. Sie können ein Metasploit-Modul verwenden, um dies auszunutzen:
Einige gängige SSH-Anmeldeinformationen finden Sie [hier](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ssh-betterdefaultpasslist.txt) und [hier](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/top-20-common-SSH-passwords.txt) und unten.
Oder verwenden Sie `ssh-keybrute.py` (native Python3, leichtgewichtig und mit aktivierten Legacy-Algorithmen): [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute).
Einige Systeme weisen bekannte Schwachstellen im Zufallsseed auf, der zur Generierung kryptografischer Materialien verwendet wird. Dies kann zu einem dramatisch reduzierten Schlüsselraum führen, der durch Brute-Force-Angriffe geknackt werden kann. Vorab generierte Schlüsselsätze, die auf Debian-Systemen mit schwachem PRNG generiert wurden, sind hier verfügbar: [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
Wenn Sie sich im lokalen Netzwerk wie das Opfer befinden, das sich mit dem SSH-Server mit Benutzername und Passwort verbinden wird, könnten Sie versuchen, **einen MitM-Angriff durchzuführen, um diese Anmeldeinformationen zu stehlen:**
* **Verkehrsumleitung:** Der Angreifer **leitet** den Verkehr des Opfers auf seine Maschine um und **interceptiert** somit den Verbindungsversuch zum SSH-Server.
* **Interception und Protokollierung:** Die Maschine des Angreifers fungiert als **Proxy** und **erfasst** die Anmeldeinformationen des Benutzers, indem sie vorgibt, der legitime SSH-Server zu sein.
* **Befehlsausführung und Weiterleitung:** Schließlich **protokolliert der Server des Angreifers die Anmeldeinformationen** des Benutzers, **leitet die Befehle an den echten SSH-Server weiter**, **führt** sie aus und **sendet die Ergebnisse zurück** an den Benutzer, wodurch der Prozess nahtlos und legitim erscheint.
Um den tatsächlichen MitM durchzuführen, könnten Sie Techniken wie ARP-Spoofing, DNS-Spoofing oder andere in den [**Network Spoofing attacks**](../generic-methodologies-and-resources/pentesting-network/#spoofing) beschriebenen Techniken verwenden.
Wenn Sie ein Netzwerk mithilfe entdeckter SSH-Privatschlüssel auf Systemen durchqueren möchten, wobei jeder private Schlüssel auf jedem System für neue Hosts verwendet wird, dann ist [**SSH-Snake**](https://github.com/MegaManSec/SSH-Snake) das Richtige für Sie.
Es ist üblich, dass SSH-Server die Root-Benutzeranmeldung standardmäßig zulassen, was ein erhebliches Sicherheitsrisiko darstellt. **Das Deaktivieren der Root-Anmeldung** ist ein entscheidender Schritt zur Sicherung des Servers. Unberechtigter Zugriff mit administrativen Rechten und Brute-Force-Angriffe können durch diese Änderung abgemildert werden.
Es kommt häufig zu einem Fehler bei SFTP-Einrichtungen, bei denen Administratoren möchten, dass Benutzer Dateien austauschen, ohne den Remote-Shell-Zugriff zu aktivieren. Trotz der Festlegung von Benutzern mit nicht-interaktiven Shells (z. B. `/usr/bin/nologin`) und der Beschränkung auf ein bestimmtes Verzeichnis bleibt eine Sicherheitslücke bestehen. **Benutzer können diese Einschränkungen umgehen**, indem sie unmittelbar nach dem Einloggen die Ausführung eines Befehls (wie `/bin/bash`) anfordern, bevor ihr bestimmter nicht-interaktiver Shell übernimmt. Dies ermöglicht eine nicht autorisierte Befehlsausführung, die die beabsichtigten Sicherheitsmaßnahmen untergräbt.
Diese Konfiguration erlaubt nur SFTP: Shell-Zugriff wird deaktiviert, indem der Startbefehl erzwungen wird und der TTY-Zugriff deaktiviert wird, aber auch alle Arten von Portweiterleitungen oder Tunneling werden deaktiviert.
Wenn Sie Zugriff auf einen SFTP-Server haben, können Sie Ihren Datenverkehr auch durch diesen tunneln, beispielsweise unter Verwendung der gängigen Portweiterleitung:
Der **sftp**-Befehl verfügt über den Befehl "**symlink**". Daher können Sie, wenn Sie **Schreibrechte** in einem bestimmten Ordner haben, **Symlinks** von **anderen Ordnern/Dateien** erstellen. Da Sie wahrscheinlich in einem Chroot **gefangen** sind, wird dies für Sie **nicht besonders nützlich** sein, aber wenn Sie auf den erstellten **Symlink** von einem **nicht-chroot**-**Dienst** aus zugreifen können (zum Beispiel, wenn Sie auf den Symlink über das Web zugreifen können), könnten Sie die **durch den Webbrowser verknüpften Dateien öffnen**.
In einer Umgebung mit hoher Sicherheit ist es eine gängige Praxis, nur die Authentifizierungsmethoden auf Schlüsselbasis oder Zwei-Faktor-Authentifizierung zu aktivieren, anstatt der einfachen Passwort-basierten Authentifizierung. Oft werden jedoch die stärkeren Authentifizierungsmethoden aktiviert, ohne die schwächeren zu deaktivieren. Ein häufiger Fall ist die Aktivierung von `publickey` in der openSSH-Konfiguration und die Festlegung als Standardmethode, ohne `password` zu deaktivieren. Daher kann ein Angreifer durch Verwendung des Verbose-Modus des SSH-Clients sehen, dass eine schwächere Methode aktiviert ist:
Zum Beispiel, wenn ein Authentifizierungsfehlerlimit festgelegt ist und Sie nie die Möglichkeit haben, die Passwortmethode zu erreichen, können Sie die `PreferredAuthentications`-Option verwenden, um die Verwendung dieser Methode zu erzwingen.
Überprüfen Sie die SSH-Serverkonfiguration, um sicherzustellen, dass nur erwartete Methoden autorisiert sind. Die Verwendung des Verbose-Modus auf dem Client kann helfen, die Wirksamkeit der Konfiguration zu sehen.
* Sie finden interessante Anleitungen zur Absicherung von SSH unter [https://www.ssh-audit.com/hardening\_guides.html](https://www.ssh-audit.com/hardening\_guides.html)
**Bug-Bounty-Tipp**: **Registrieren** Sie sich bei **Intigriti**, einer Premium-**Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde**! Treten Sie uns noch heute bei [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) bei und beginnen Sie, Prämien von bis zu **$100.000** zu verdienen!
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github Repositories einreichen.