it-swarm.com.de

Wie kann man die Stärke des (bereits gespeicherten) Passworts Wordpress herausfinden?

Ich bin verantwortlich für die Sicherheit vieler Shared Hosting Server. Die meisten von ihnen haben WordPress Websites. Jeder Server hat mindestens 500 WordPress Websites.

Meiner Erfahrung nach beginnt das Problem mit WordPress mit einem schwachen Passwort. Der Großteil des Administratorkennworts der Website ist sehr schwach und die Verwendung der Website mit schwachem Kennwort wird ausgenutzt und für verschiedene böswillige Aktivitäten verwendet.

Jetzt ist es mein Plan, das schwache Passwort der WordPress Website herauszufinden und das Admin-Passwort zwangsweise in ein anderes starkes Passwort zu ändern. Damit kann WordPress gesichert werden und mein Server wird nicht in Schwierigkeiten geraten.

Wie kann man die Stärke des gespeicherten WordPress Passworts ermitteln?

10
Mani

Bruteforce-Hashes

Sie könnten den in der Datenbank gespeicherten Hash erzwingen.

WordPress verwendet phpass zum Hashing. Standardmäßig verwendet WordPress keinen Blowfish oder ähnliches, sondern nur md5 mit einer Iterationszahl von 8192. Wenn Sie nur wirklich schlechte Passwörter finden möchten, ist Bruteforcing mit Sicherheit möglich.

Aber ich würde dies als eine ziemlich große Verletzung des Vertrauens betrachten, das die Benutzer in Sie setzen, daher würde ich diesen Ansatz nicht empfehlen.

Analysieren Sie ihre Passwörter beim Einloggen

Sie können ein Skript hinzufügen, das alle Anforderungen an WordPress Anmeldeskripts abfängt und die Kennwörter protokolliert oder analysiert, da sie zu diesem Zeitpunkt im Klartext vorliegen.

Dies fängt natürlich nur schwache Passwörter ab, wenn sich ein Benutzer tatsächlich anmeldet. Wenn er seine Site verlassen hat oder eher inaktiv ist, kann es eine Weile dauern, bis Sie feststellen, dass er ein schwaches Passwort verwendet.

Ich würde dies als eine noch größere Verletzung betrachten als das Erzwingen von Hashes, und es bringt auch einige Sicherheitsbedenken mit sich (wenn Sie die Passwörter im Klartext speichern, wäre dies offensichtlich ein Problem, aber selbst wenn nicht, könnten Sie versehentlich einige Informationen von speichern die Analyse, die einem Angreifer helfen kann).

Implementieren Sie eine Passwortrichtlinie (und zwingen Sie Benutzer, ihre Passwörter zu ändern

Sie können eine Kennwortrichtlinie implementieren. Wenn ein Benutzer ein neues Kennwort sendet, überprüfen Sie, ob es Ihrer Richtlinie entspricht oder nicht (im Idealfall geschieht dies serverseitig und nicht clientseitig über JavaScript).

Das Schreiben einer guten Kennwortrichtlinie ist schwierig. Sehen Sie sich daher die vorhandenen Richtlinien an, um hier weiterzuhelfen.

Natürlich sind alte Kennwörter nicht von der Richtlinie betroffen, daher müssen Sie Benutzer zwingen, ihre alten Kennwörter zu ändern, um die Richtlinie einzuhalten

Schaden begrenzen

Das Durchsetzen sicherer Passwörter kann sicherlich eine gute Idee sein, aber im Idealfall sollte eine gehackte WordPress -Instanz Sie als Webmaster nicht wirklich beeinträchtigen.

Sie sollten den Schaden begrenzen wollen, sobald ein Angreifer Zugriff auf eine WordPress -Installation hat. Idealerweise möchten Sie, dass nur eine Instanz betroffen ist, nicht der gesamte Server. Sie könnten sich also Sorgen machen, dass ein Angreifer unanständige Inhalte auf eine Website überträgt - genau wie ein gültiger Benutzer -, aber nicht über die Ausführung von Code oder andere böswillige Aktionen Aktivität).

Dies ist ein ziemlich umfangreiches Thema, aber einige Punkte umfassen: DISALLOW_FILE_EDIT, begrenzte die Verwendung von Plugins (da sie weitaus weniger sicher als WordPress selbst codiert sind), verbietet JavaScript (z. B. nur mit mehreren Sites) Super-Administratoren haben das Recht, JavaScript zu posten (keine Administratoren) usw.

8
tim

Ich bin mir nicht sicher, ob das überhaupt möglich ist. Wenn Sie Ihr Passwort auswählen, wird es in der Datenbank gehasht. Bei Hash-Algorithmen gibt es kein Reverse-Enginering.

Meiner Erfahrung nach befindet sich das Skript für die Kennwortstärke in www.example.com/wp-admin/js/password-strength-meter.js, und this ist der Link dazu.

Hier können Sie die Ebenen und den Prozentsatz für Kennwörter ändern, sodass Sie eine obligatorische Kennwortstärke von 100/100 festlegen können.

Und wenn Sie möchten, dass Ihr Client die Kennwortstärke überprüft, können Sie hier mit cute application die Kennwortstärke festlegen.

Es ist unmöglich, hier ein Reverse-Engineering durchzuführen, und außerdem gibt es nur wenige Plug-ins, die Benutzer dazu zwingen, sichere Kennwörter zu erhalten.

4
Josip Ivic

Die gute Nachricht ist, dass Sie Benutzerpasswörter ändern können, die schlechte Nachricht ist, dass Sie sie nicht sehen können.
Wordpress ist so leistungsfähig, dass selbst in der Datenbank das Kennwort mit einer Einwegverschlüsselung gespeichert wird. Es ist nicht nur ein MD5-Hash, den Sie konvertieren können, es sind nicht einmal serialisierte Daten, für das Kennwort test123 würden Sie etwas erhalten wie $P$BjW8o9Dm1vC5bwAcP1iAdNVm0lbvn, auch wenn Sie das Kennwortfeld in der Datenbank ohne Verschlüsselung ändern, funktioniert es nicht.

So ändern Sie das Passwort

Ich glaube, Sie sind sich dessen bewusst, aber ich lasse es einfach hier. Sie können Ihr wordpress -Dashboard mit Administratorrechten aufrufen, zu Benutzern gehen, einen Benutzer suchen, und dieser Teil ist für Ihre Zwecke ziemlich schlecht, da Sie auf Neues Passwort generieren klicken müssen, um eine zufällige Auswahl von zu erhalten Buchstaben und Symbole und Sie können es mit Ihren eigenen bearbeiten, aber selbst dann können Sie das Passwort nicht sehen.

3
knif3r

Da die Passwörter gehasht werden, besteht die einzige Möglichkeit, ihre Sicherheit zu testen, darin, sie brutal zu erzwingen. Stellen Sie eine Liste häufig verwendeter, schwacher Kennwörter zusammen und testen Sie diese anhand der in Ihrer Datenbank gespeicherten Hashes.

Wenn Sie keine sehr vollständige Kennwortliste verwenden, werden nicht alle schwachen Kennwörter abgefangen, sondern die schwächsten herausgefiltert.

3

Wie frühere Antworten gezeigt haben: Sie können die gespeicherten Passwörter nicht lesen.

Eine alternative Lösung könnte sein:

  1. Implementieren Sie den Vorschlag mit Josip Ivic , um sichere Kennwörter zu erzwingen.
  2. Löschen Sie alle Passwörter (oder nur Passwörter für Benutzer mit bestimmten Berechtigungen).
  3. Informieren Sie die betroffenen Benutzer abschließend, dass eine neue Kennwortrichtlinie in Kraft ist, und leiten Sie sie an /wp-login.php?action=lostpassword weiter, um ihre Kennwörter zurückzusetzen.
1
Syberspace

Sie können das wp-Administratorkennwort nicht zwangsweise ändern, es sei denn, Sie haben keine Kontrolle über jede wordpress -Datenbank, die in phpmyadmin gespeichert ist.

Und nein, es gibt keine schnelle Möglichkeit, das Wochenkennwort auf der Site 500 wordpress herauszufinden. Josip erwähnte einen Link zur Überprüfung der Kennwortsicherheit, aber diese Site verwendete kein MD5-Krypto-Algo, um die Kennwortsicherheit zu überprüfen.

Wenn Sie diese SO Link , ( Wordpress using MD5 auschecken, werden Sie feststellen, dass die Ausgabe von der App abweicht. Wie Sie sehen, ist p#aSS*Word14 nicht sicherer als Dance With Me Tonight. Verwenden Sie daher nicht die App von Drittanbietern, um Ihr Wordpress - Passwort zu überprüfen, da sie möglicherweise einen anderen Krypto-Algorithmus verwenden, um das Passwort zu überprüfen/zu übernehmen Stärke.

Außerdem sollten Sie alle Passwörter haben und eins nach dem anderen testen. Es gibt keinen Zaubertrick, um dies schnell herauszufinden.

Eine andere Sache ist, dass, wenn eine WordPress Site gehackt wird, es keine Auswirkungen auf andere wp-Site auf demselben Server hat (außer DOS-Angriff). Ich habe viele Leute gesehen, die WP im Shared Hosting gestartet haben und deren Site gehackt wurde, aber ihre Nachbar-Site lief immer noch einwandfrei, da jede WP eine eigene Datenbank auf phpmyadmin hat.

1
Goyllo

WordPress-Passwörter werden gehasht, wie es jede vernünftige Anwendung tun würde, wenn es um das Speichern von Passwörtern geht, da das Speichern von Klartext-Passwörtern sehr unsicher ist, da Ihre Benutzer möglicherweise dasselbe Passwort für andere Dienste haben, die sie verwenden (Google Mail?).

Es ist nicht möglich, den Hash zurück in das Passwort umzuwandeln, andernfalls kann man sie auch im Klartext speichern. Früher wurden Passwörter mit MD5 gehasht, was jedoch von einem Sicherheitsteam als unsicher erwiesen wurde. Daher wurde der Hashing-Algorithmus auf phpass aktualisiert.

Tipp: WordPress kann das Hashing auch dann noch korrekt ausführen, wenn Sie MD5 (% password%) in die SQL-Spalte aktualisieren.

Die praktische Möglichkeit, sich dem zu nähern, was Sie für eine einzelne Site tun möchten, besteht darin, eine Änderung der Kennwörter zu erzwingen, indem Sie die Spalte in eine andere Spalte ändern und die Anforderungen an die Kennwortstärke auf der Seite erzwingen, auf der das Kennwort aktualisiert werden soll. Für Ihren Anwendungsfall ist dies jedoch bei so vielen WP Installationen erforderlich, und diese Websitebesitzer wissen es möglicherweise nicht zu schätzen, dass Sie dies ohne ihre Zustimmung tun. Sie müssen also definitiv den Wirkungsbereich Ihrer Handlungen einschränken.

1) Aktualisieren Sie Passwörter nur für Administratoren und Redakteure, aber Sie müssen herausfinden, wer diese Benutzer sind. Senden Sie ihnen eine E-Mail und erzwingen Sie dann die Kennwortbeschränkung auf der Seite zum Zurücksetzen des Kennworts/der Registrierungsseite usw. Denken Sie daran, dass jemand diese Formulare an anderer Stelle auf der Site haben kann (denken Sie auch an AJAX Formulare). Erstellen Sie einen WP-CLI-Befehl, der Sie bei der Ausführung dieses Plans unterstützt, anstatt die Umgebung WP zu laden und Skripts auszuführen.

2) Erzeugen einer Rainbow-Tabelle, die aus einem Hash-Passwort für einen bekannten String (Passwort) besteht. Und dann müssen Sie im Grunde das Hashing mit dem Kennwort eines bestimmten Benutzers abgleichen und die Stärke dieses Kennworts bewerten. Das Generieren der Tabelle ist hier der langsamste Schritt, da Sie jedes mögliche Kennwort, das vorhanden sein kann, kreuzen müssen, es auf der Festplatte speichern (mehrere GB, abhängig von der Länge und der Kombination der Kennwörter, die Sie berücksichtigen) und dann auf die Ergebnisse reagieren müssen. 99% sicher, dass es eine Overkill-Lösung für Ihre Bedürfnisse ist.

Tipp: Sie kennen die Salze und Geheimnisse, die wir in der Datei wp-config.php haben. Wenn Sie sie ändern, werden angemeldete Sitzungen ungültig, für den Fall, dass Sie dies jemals benötigen.

1
Ashfame

Versuchen Sie, es mit einem Wörterbuchangriff zu brachialisieren

Wie lässt sich die Stärke Ihres Passworts besser beurteilen? :-) Ja ich weiß, es wird einige Zeit dauern ...

Andernfalls könnten Sie einfach annehmen, dass alle Kennwörter schwach sind (ich würde sagen, dass dies eine sehr genaue Annahme sein wird) und sich die Kennwörter selbst erstellen, die Hashes in der Datenbank speichern und das Klartextkennwort an geben Die Administratoren verwenden einen "sicheren" Kanal

Andernfalls gehen Sie erneut davon aus, dass alle Kennwörter schwach sind, und zwingen Sie die Administratoren, diese zu ändern. Verwenden Sie auf der Website selbst einen sehr wählerischen Kennwortprüfer.

1