Frage:
Sind Kennwortinformationen aus der MySQL-Benutzertabelle vertraulich?
Suma
2018-08-30 18:13:28 UTC
view on stackexchange narkive permalink

Angenommen, ich habe die MySQL-Benutzerliste mit

SELECT Benutzer, Host, Kennwort, ssl_type FROM mysql.user ausgegeben.

Das Ergebnis sieht folgendermaßen aus :

  + ------------------ + ----------- + ------- ------------------------------------ + ---------- + | Benutzer | Host | Passwort | ssl_type | + ------------------ + ----------- + ---------------- --------------------------- + ---------- + | admin | % | * blablablablablablablablablablablablablaa | JEDER | + ------------------ + ----------- + ---------------- --------------------------- + ---------- +  

Sollten diese Informationen als vertraulich angesehen werden? Kann ein Angreifer die Kennwortinformationen verwenden, um auf die MySQL-Datenbank zuzugreifen? Es scheint, dass das Passwort gehasht ist, daher ist es nicht direkt verwendbar, aber vielleicht kann es trotzdem irgendwie ausgenutzt werden, z. um Regenbogentabellen für meinen Server oder ähnliches zu erstellen?

Fünf antworten:
ThoriumBR
2018-08-30 18:28:06 UTC
view on stackexchange narkive permalink

Ja, es sind vertrauliche Informationen. Es handelt sich um ein Kennwort-Hash-Leck.

Angreifer geben diese Informationen an eine Bruteforce-Anwendung weiter (einige sind nur auf MySQL zugeschnitten) und rufen das Kennwort ab.

Nicht nur das, sondern auch das % im Hostfeld bedeutet, dass der Angreifer von überall aus als admin darauf zugreifen kann, wenn Ihr MySQL-Port (standardmäßig 3306) nicht durch eine Firewall geschützt ist.

Ziehen Sie in Betracht, das Konto admin nur für localhost zu sperren, und geben Sie niemals einen Kennwort-Hash bekannt, unabhängig davon, wie sicher Sie sind, dass es schwierig ist, einen solchen Hash zu brechen.

Ich bin nicht mit den Feinheiten von MySQL-Kennworttabellen vertraut, aber die beliebteste Möglichkeit, eine Verbindung zu einem MySQL-Server herzustellen, ist ein Socket auf Dateisystemebene.Dies ist völlig immun gegen Firewall-Probleme.
In den neuen Versionen ist es wahr.In älteren Versionen wurde jedoch ein TCP-Socket unter "0.0.0.0" geöffnet.
Das% ist nur die Hostnamenprüfung von mysql. Es hat nichts damit zu tun, ob eine Firewall vorhanden ist oder nicht
"Firewalled" ist möglicherweise nicht der beste Begriff: Das "%" im Host-Feld bedeutet, dass der Zugriff von jeder IP-Adresse aus zulässig ist.Dies wird als Hostzugriffskontrolle bezeichnet und hängt nicht wirklich mit der Firewall zusammen.
Es ist auch erwähnenswert, dass [MySQL-Passwörter] (https://dev.mysql.com/doc/refman/5.6/en/password-hashing.html) [nicht gesalzen] sind (https: //dba.stackexchange).com / Fragen / 53735 / Warum-sind-die-Passwörter-in-MySQL-5-x-nicht-gesalzen), und da es sich im Grunde um SHA1-Hashes handelt, können sie brutal gezwungen werden.
@jjmontes sowohl gesalzenes als auch ungesalzenes SHA1 kann auch brutal gezwungen werden.Das ungesalzene Passwort kann ["rainbow-tabled"] sein (https://stackoverflow.com/a/421081/4209853)
Royce Williams
2018-08-30 20:48:10 UTC
view on stackexchange narkive permalink
{

Sobald die Hashes geknackt sind, enthalten viele Passwörter Geburtstage, Kindernamen, Telefonnummern, De-facto-Antworten auf Sicherheitsfragen, Straßenadressen ... sogar Sozialversicherungsnummern!

Wir erinnern uns, worauf es ankommt uns - und was für uns persönlich ist. Dies führt zu Passwörtern mit großartigem UX ... aber sie sind aus Sicherheitsgründen schrecklich.

Diese Psychologie der Passwortauswahl sollte als Einschränkung angesehen werden. Da viele Benutzer Kennwörter auf diese Weise auswählen, sollten sie entsprechend behandelt und geschützt werden.

Ich bin mir nicht sicher, ob dies zutrifft, da es sich um die eigentliche MySQL-Benutzertabelle handelt (das habe ich zunächst auch verpasst).
Messe.Obwohl Passwörter für MySQL-Benutzer auch von Menschen ausgewählt werden.
Gute Informationen zu den sekundären Informationen aus dem Kennwortleck - nicht oft über den Inhalt eines Kennworts nachgedacht, statt nur eine Zeichenfolge, die ein Kennwort ist.
Das Hauptrisiko von durchgesickerten Passwörtern sind ATO-Angriffe (Account Take Over) auf andere Websites.Wenn ich sehe, dass Ihre E-Mail-Adresse roycew@example.net lautet, und Ihr Passwort knacken werde, werde ich versuchen, mich überall mit diesen Anmeldeinformationen anzumelden: Citibank, WellsFargo, Walmart, Amazon usw.
Genau.Ich wollte nicht implizieren, dass meine Antwort als * primäres * Risiko betrachtet werden sollte.Meine Antwort sollte den Menschen auch dabei helfen, zu berücksichtigen, dass das Ermöglichen der Auswahl eigener Passwörter durch Benutzer bedeutet, dass Sie notwendigerweise persönliche Informationen über diese Benutzer * in den Passwörtern selbst * speichern - mehr nicht.Ich habe buchstäblich * echte Kreditkartennummern * in den Passwörtern der Leute gesehen.Nicht weit verbreitet - aber die Daten sind da.Es ist einfach nichts auf dem Radar der meisten Compliance- und Bedrohungsmodelle, die ich gesehen habe.
Sjoerd
2018-08-30 19:20:08 UTC
view on stackexchange narkive permalink

Es ist möglich, das ursprüngliche Passwort von einem Hash mit einem Passwort-Cracking-Tool wie John the Ripper oder Hashcat abzurufen. Diese Tools versuchen einfach viele Passwörter bei einem Brute-Force-Angriff. Dies kann abhängig von der Komplexität des Kennworts lange dauern.

Mr. E
2018-08-31 05:05:32 UTC
view on stackexchange narkive permalink

Ja, es ist empfindlich. Ein Angreifer kann versuchen, den Hash durch Bruteforce-Versuche oder Wörterbuchangriffe zu "knacken". In allen Fällen, in denen ich gesehen habe, dass MySQL-Passwörter gesalzen sind, aber wenn es sich nicht um eine vorberechnete Hash-Tabelle handelt, können Regenbogentabellen verwendet werden, um den Prozess zu beschleunigen.

Außerdem, wenn dieser Hash durch erhalten wurde Bei einer SQL-Injection-Sicherheitsanfälligkeit (höchstwahrscheinlich) kann ein Angreifer je nach Art der Abfrage möglicherweise versuchen, Daten in die Tabelle einzufügen oder zu aktualisieren. Wenn dies möglich ist, kann der Angreifer einfach einen neuen Benutzer hinzufügen oder den Administratorkennwort-Hash durch einen Hash eines bereits bekannten Kennworts ändern, wobei der Cracking-Schritt

vollständig übersprungen wird
Connor J
2018-08-30 18:24:52 UTC
view on stackexchange narkive permalink

Wenn ein Angreifer in der Lage ist, den Hash eines Passworts wie oben beschrieben abzurufen, ist es möglich, die Kollision dieses Hash mithilfe von Regenbogentabellen if salting zu ermitteln wurde nicht verwendet.

Wenn gesalzen wurde, wird die Schwierigkeit, Passwörter zu knacken, viel schwieriger.

BEARBEITEN: Um ganz klar zu sein - wenn ich mich auf das Salzen beziehe, meinte ich, dass es beim Salzen von einem externen Tool / Prozess ausgeführt und einfach in der Datenbank gespeichert werden kann nicht, dass MySQL außer dem Speichern der Werte irgendwelche Eingaben in den Prozess hatte. Entschuldigung an die Verwirrten!

Ich bin mir nicht sicher, aber ich denke, MySQL verwendet kein Salting.Siehe [Warum sind die Passwörter in MySQL (5.x) nicht gesalzen?] (Https://dba.stackexchange.com/questions/53735/why-are-the-passwords-in-mysql-5-x-not-gesalzen)
Ich befürchte, dass dies über meinem aktuellen MySQL-Wissensstand liegt.Ich habe keine Ahnung, was MySQL mit dem Passwort macht, bevor es in der Tabelle gespeichert wird.(Ich spreche von MySQL-eigenen Benutzertabellen.)
Ziemlich sicher, dass MySQL nicht salzt, aber es ist auch für MySQL nicht so wichtig wie für Websites.Regenbogentabellen sind wirklich nur hilfreich, um zu versuchen, eine große Anzahl von Passwörtern gleichzeitig zu knacken.Mit MySQL werden vermutlich nicht mehr als ein paar Passwörter gleichzeitig angezeigt, sodass Regenbogentabellen weniger relevant sind.
@ConorMancone Rainbow-Tabellen können für ein Kennwort weiterhin nützlich sein, da Sie die Tabelle berechnen können, bevor Sie Zugriff auf das Kennwort haben.Nicht so nützlich, aber es ist immer noch eine Möglichkeit.
@AndrolGenhald Vermutlich salzt MySQL nicht, verwendet aber überall den gleichen Hashing-Algorithmus. Ich wette, Sie finden eine vorberechnete Regenbogentabelle für MySQL-Hashes.Das wäre super nützlich.Es ist kein Versuch erforderlich zu knacken, vorausgesetzt, das Passwort ist einfach genug, um auf dem Tisch zu liegen.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...