Linux: root Passwort per Brute-Force über Internet knackbar?

Hallo zusammen,

eine Frage zum root-Passwort unter Linux.

Ich betreibe keinen Server, sondern nutze Linux als Desktop-Betriebssystem und surfe damit im Internet. Das Gerät ist also nicht rund um die Uhr mit dem Netz verbunden.

Ist es möglich, dass ein Fremder durch ein Skript im Browser oder durch Malware mein Root-Passwort per Brute-Force-Angriff knacken kann (also über das Internet, ohne physischen Zugriff auf das Gerät)?

Ist so etwas realistisch möglich und gegebenenfalls schon einmal passiert, oder habe ich hier einfach zu viel Fantasie?

Vielen Dank für eure Einschätzung!

Also erst einmal ist das nicht so ohne weitere möglich. Ein Angreifer müsste dafür Zugriff auf dein System haben. Sollte in der Regel bei aktueller Software und bei einem durchschnittlichen Menschen nicht passieren.

Anderer Fall ist ein Zugang via SSH etc. Aber dafür müsstest du SSH erst aktivieren, da es in der Regel auch deaktiviert ist.

Das heißt: Im normalen Fall hat niemand direkt eine Möglichkeit sich bei dir als root anzumelden und somit nicht zu cracken.

1 „Gefällt mir“

Ich halte das Szenario für sehr unwahrscheinlich. Nichtsdestotrotz sollte das root-Passwort so gewählt sein, dass es „einfachen“ Brute-Force-Angriffen standhält.

1 „Gefällt mir“

Bei Linux werden die Anmeldepasswörter verschlüsselt in „/etc/shadow“ gespeichert. Diese Datei ist im allgemeinen nur für Administratoren (root) lesbar, nicht aber für normale Nutzer.
Ein Angreifer müsste also im Browser erst ein Mal aus der Sandbox ausbrechen, um auf das Dateisystem zugreifen zu können und dann müsste er sich noch root.-Rechte beschaffen, um den Datei-Hash zu lesen. Das ist unwahrscheinlich und nur durch fehlerhafte Software möglich.

Hat ein Angreifer den Datei-Hash, dann kann er z.B. mit „Hashcat“ versuchen ihn zu knacken. Dagegen helfen nur lange, komplexe Passwörter.

Auf gut geschützten Rechnern kann man sich nicht über die Ferne mit „root“ anmelden, sondern nur als normaler Benutzer und dann mit „su“ bzw. „sudo“ root-Rechte erhalten. Ein Angreifer wird also auch immer versuchen, dass Nutzerkonto zu knacken und sich dann root-Rechte verschaffen, wobei ihm die Kenntnis des Benutzerpasswortes dafür hilfreich ist, wenn er „su“ oder „sudo“ damit nutzen kann..

Also alles in Allem ist dies für einen Angreifer über eine Internetverbindung sehr schwierig.
Maßnahmen dagegen sind Updates und gute Passwörter.

2 „Gefällt mir“

Theoretisch müsste der Angreifer Zugriff auf die Datei /etc/shadow haben. In dieser Datei werden die Passwort-Hashes gespeichert. Diese Datei ist jedoch nur für root lesbar. Dem Angreifer müsste es also gelingen, eine Sicherheitslücke im System auszunutzen, die es ihm erlaubt, diese Datei irgendwie zu stehlen. Hat er die Datei erst einmal, kann er theoretisch darauf beliebige Brute Force oder andere Techniken anwenden, um Passwörter zu knacken.

Bei einem Desktop-System, das keine Dienste im Internet anbietet, ist das Risiko relativ gering, aber nicht ausgeschlossen. Einzelne Komponenten wie Browser, Betriebssystem und installierte Software müssten dazu jedoch gravierende Schwächen aufweisen.

2 „Gefällt mir“

Alles klar, vielen Dank euch allen!

Beim Titel habe ich zuerst an „ssh und Login als root“ denken müssen:
Das kann man in der sshd_config deaktivieren, so dass sich der allgemein bekannte User „root“ gar nicht erst per ssh remote am System anmelden kann. Zweitens kann man dort auch Logins mit Passwort verbieten, so dass man im „Besitz“ eines ssh-Keys sein muss. Mit dieser Kombination ist man erstmal sehr sicher unterwegs.

Der klassische Angriff erfolgt nicht direkt auf den Nutzer root, sondern ein Angreifer versucht ein nicht privilegiertes Nutzerkonto zu übernehmen und dann eine Schwachstelle auszunutzen, mittels derer er root Zugriff bekommt (Privilege Escalation).

Da habe ich aber schon ganz oft was anderes gesehen, nämlich jede Menge (fehlgeschlagene) Loginversuche als root. Es weiss ja niemand wie mein lokaler User heisst, aber root gibt es auf jedem Linux.

Und generell: kein ssh-Key = keine Login-Möglichkeit bei mir zuhause und auf meinen Cloudservern.

Ich würde mir noch Gedanken machen, ob ich überhaupt ein lohnendes Ziel wäre.

Wenn jemand solche Kenntnisse hat, dann kann er woanders bestimmt mehr abgreifen oder schaden verursachen.

Ja, man setze einen Server mit öffentlicher IP auf und innerhalb von Sekunden füllt sich das fail2ban log mit versuchten logins mit root als Benutzer, aber auch admin, administrator, etc. Das ist ja Script gesteuert und die Suche nach der Nadel im Heuhaufen. Wem da die Hütte bereits brennt, der lernt es dann „the hard way“. Bei meinen ersten Gehversuchen wurden die Script Kiddies von fail2ban gestoppt, ssh Login per User/Password war da noch erlaubt.

Aus dem Grunde scannen Hacker ja die Systeme, um in Erfahrung zu bringen, ob unter der IP ein Dienst zu erreichen ist, der einen bekannte Schwachstelle hat bzw. nicht gepflegt oder genutzt wird. Wordpress wäre da z.B. ein Kandidat. Da zimmert man mal eine Website zusammen für den runden Geburtstag, Hochzeit, etc. und nach einem halben Jahr schaut da niemand drauf, auch nicht der Admin. Und kann so einen Seite das Einfallstor sein und sei es nur, damit ein Hacker seine Angriffe über dieses System verschleiert.

Definitiv.

Für Brute-Force braucht es keine Kenntnisse. Zumindest keine herausragenden…

Die erfolgreichen Logins sind sowieso viel spannender. Das f2b-Log ist eher das eingefangene Hintergrundrauschen des Internets.

Wie soll ich mir das vorstellen?
Der PC wird gestartet und nun kommt automatisch ein Beute Force angriff auf diesen PC?
Bei aber Millionen Win PC die nicht mal ein Passwort beim Hochfahren haben, müsste es doch täglich eine Meldung geben, wer schon wieder gehackt wurde.

Sofern man keinen laufenden Dienst, erreichbar im Internet hat, sehe ich da kein Problem.

Hier sollte die standard Firewall im Router und PC Abhilfe schaffen.

Bin aber auch kein Experte.
Gerne erklären.

Ich denke, hier werden Server- und Desktopanforderungen vermischt. Bei einem Desktoprechner sehe ich auch keine Gefahr eines Bruteforceangriffes über das Internet.

1 „Gefällt mir“

Brute-Force ist einfach das Ausprobieren vieler oder aller Kombinationen eines Passworts oder das Vergleichen einer Liste bekannter Passwörter. Dazu braucht man nur die entsprechenden Werkzeuge und die Möglichkeit.

Kein Problem, würde ich nicht sagen [1], aber zumindest kein sehr großes. Der Angreifer müsste schon ziemlich weit vorgedrungen sein. Brute Force wird hauptsächlich automatisiert mit Zugängen durchgeführt, die über das Internet zugänglich sind. Das ist eigentlich nichts Besonderes. Ich schaue mir hauptsächlich die erfolgreichen Logins auf meinen Servern an. Das Risiko von gephishten Zugangsdaten schätze ich deutlich höher ein.

[1] https://kb.prontosystems.de/knowledge-base/passwort-hashes-gegen-woerterbuch-testen/

Er meinte das reine automatisierte Ausprobieren von Passwörtern, was in der Tat keine großen Kenntnisse erfordert.

Dazu muss man aber zunächst etwas angreifbares haben. Z.B. ein Port offen und dann noch ein angreifbarer Service dahinter, z.B. schlecht konfigurierter SSH-Server. Das ist in erster für Server relevant. Oder man bekommt anderweitig einen Fuß in die Tür mit Codeausführung auf dem Rechner (z.B. über Malware) und kann dann von dort aus Passwörter ausprobieren.

Bei MacOS, Windows 11, iOS und Android hat die Firewall standardmäßig alle Ports geschlossen. Bei Linux-Distributionen kommt es auf die Distribution an, zudem können Root-level Prozesse die lokale Firewall umgehen.

1 „Gefällt mir“

OK.
Das meinte ich ja.
Wenn ein Angreifer schon soweit ins System kommt, dann will der sicher nicht bei mir nach was verwertbaren suchen.

Du denkst bei dir gibt es nichts zu holen? Wie wäre es mit Keylogging, Cookies stehlen, Erpressung mit deinen Daten oder Erpressung durch Up/Download von illegalem Inhalt, Missbrauch in Botnets, Cryptomining usw. Der Schaden kann ziemlich hoch werden.

Kennt ihr eigentlich /etc/security/access.conf (Login access control table.) und /etc/hosts.allow bzw. /etc/hosts.deny (siehe man 5 hosts_access), mit denen man den Zugriff auf Dienste wie ssh, User und bestimmte IP-Bereiche (zuhause, eigener Cloudserver, …) einschränken kann.

Ausserdem/speziell in /etc/ssh/sshd_config (wenn man einen SSH-Server bewusst z.B. auch auf dem Desktop zuhause laufen hat):

PermitRootLogin no

# allow only Public Key Authentication
# https://askubuntu.com/questions/346857/how-do-i-force-ssh-to-only-allow-uses-with-a-key-to-log-in#346863
PasswordAuthentication no
ChallengeResponseAuthentication no

Denke ich wirklich.
Weder finanziell noch anderweitig wichtige Daten.

Daher glaube ich, von Maleware und Phishing mal abgesehen, dass jemand der einfach in Systeme / Netzwerke übers Internet eindringen kann, sich lohnenswertere Ziele sucht.

Gegen Phishing und Co. kann man sich gut bilden.