1. Home
  2. Misc IT
  3. Security Affairs
  4. Kali Linux
  5. WPScan - WordPress Vulnerability Scan

WPScan - WordPress Vulnerability Scan

WPScan ist ein Tool, das speziell für die Sicherheitsüberprüfung von WordPress-Websites entwickelt wurde und die automatische Suche nach Sicherheitslücken ermöglicht, indem bekannte Schwachstellen und Konfigurationsfehler abgefragt werden. Benutzer können mit WPScan nach veralteten Plugins und Themes suchen, Benutzernamen und Schwachstellen identifizieren und Passwort-Angriffe durchführen. Für einen erweiterten Zugriff auf aktuelle Daten zu Sicherheitslücken benötigt WPScan ein API-Token. Dieser Authentifizierungsschlüssel ermöglicht automatisierte Anfragen an die WPScan-Datenbank, um Informationen in Echtzeit zu erhalten. Während WPScan einen kostenlosen API-Token für Privatanwender mit einer begrenzten Anzahl von täglichen Abfragen anbietet, stehen für Anwender mit höheren Anforderungen kostenpflichtige Abonnements zur Verfügung, die eine größere Anzahl von Abfragen sowie Zugang zu weiteren Funktionen und Support bieten. Um die API zu nutzen, müssen Sie sich als Benutzer registrieren und das API-Token von Ihrer Profilseite verwenden.

WPScan ist auf Kali Linux, einer beliebten Distribution für Sicherheitstests, vorinstalliert und somit ohne weitere Installationsschritte sofort einsatzbereit. Benutzer von Ubuntu oder Debian, die WPScan verwenden möchten, können das Tool nachinstallieren. Dies kann einfach mit folgendem Kommandozeilen-Befehl erfolgen, der WPScan über den Paketmanager apt installiert:

┌──(pronto㉿kali)-[~]
└─$ sudo apt install wpscan

Best Practices für reguläre Sicherheitsüberprüfungen

Das folgende Kommando weist WPScan an, die angegebene Webseite im Stealth-Modus und mit einem zufälligen Benutzeragenten zu scannen, sich dabei auf anfällige Plugins und Themes zu konzentrieren und die Ergebnisse in einer Datei zu speichern. Durch die Anpassung dieser Optionen können Sie regelmäßige Scans effizient und mit minimaler Beeinträchtigung der Zielwebseite durchführen.

┌──(pronto㉿kali)-[~]
└─$ wpscan --url https://beispielwebseite.com --api-token <deinToken> --stealthy --enumerate vp,vt,u --random-user-agent -o ~/Scans/wps_results.txt
  • Aktivieren Sie den Stealth-Modus (--stealthy): Diese Option reduziert die Anzahl der Anfragen an die Website, um das Risiko zu verringern, von Sicherheitsmechanismen wie Firewalls oder Zugriffsbegrenzungen erkannt zu werden.
  • Benutzeraufzählung einschränken oder ausschließen: Obwohl die Auflistung der Benutzer wertvolle Informationen liefern kann, ist sie oft nicht bei jedem Scan erforderlich. Erwägen Sie, diese Option für regelmäßige Scans einzuschränken oder auszuschließen, um die Belastung der Website und das Risiko von Sperrungen zu verringern.
  • --enumerate vp,vt,u weist WPScan an, anfällige Plugins (vp), anfällige Themes (vt), und Benutzer (u) zu enumerieren.
  • Zufälliger Benutzer-Agent (--random-user-agent): Verwendet bei jedem Scan einen zufälligen User-Agent, um die Erkennung als automatisiertes Tool zu erschweren.
  • Ausgabe in Dateien umleiten: Speichern Sie die Ergebnisse des Scans in Dateien, um eine historische Datensammlung zu erstellen, die es ermöglicht, Veränderungen und Trends über die Zeit zu analysieren.

Aggressive Mode und Indicators of Compromise

Der obige Befehl führt einen eher harmlosen Scan durch, der Ihnen einen schnellen Überblick über den Zustand der Website und ihrer Plugins gibt. Dieser Scan wird nicht viel Lärm in den Log-Dateien des Servers verursachen. Wenn Sie jedoch den Parameter --plugins-detection aggressiv zum obigen Befehl hinzufügen, werden Tausende von Anfragen an den Server gesendet und eine tiefere Analyse durchgeführt, um schwerwiegende Schwachstellen zu finden, indem aktiv versucht wird, diese auszunutzen. Dies erzeugt innerhalb kürzester Zeit tausende von Log-Einträgen auf dem Server. Diese kommen in der Regel alle von der gleichen IP-Adresse und fragen nach dem Vorhandensein einer Vielzahl von Plugins, die bei Nichtvorhandensein vom Server mit einem Fehlercode 404 beantwortet werden.

Diese Log-Einträge sind ein sicheres Zeichen dafür, dass jemand versucht, Ihre Website zu scannen. Sie können diese Informationen als Indicators of Compromise (IoC) klassifizieren und damit ein eventuell vorhandenes Intrusion Detection System (IDS) oder andere Loganalyseverfahren trainieren.

False Positive und widersprüchliche Resultate

Wenn der Scan im aggressiven Modus sehr viele Einträge für ein Plugin ausgibt und mehrere verschiedene Versionen mit unterschiedlichen Schwachstellen auflistet, handelt es sich entweder um eine False-Positive-Erkennung oder die Abfrage hat widersprüchliche Ergebnisse geliefert. Sie sollten die genaue Version des betroffenen Plugins oder Themes überprüfen und die angezeigte Schwachstelle und die Umstände, unter denen sie ausgenutzt werden kann, anhand der angegebenen Referenzen genauer untersuchen.

Sie sollten solche Warnungen immer ernst nehmen, da sie ein erster Hinweis auf Probleme in Ihrem System sein können.

 | [!] Title: Photo Gallery < 1.6.3 - Reflected Cross-Site Scripting
 |     Fixed in: 1.6.3
 |     References:
 |      - https://wpscan.com/vulnerability/37a58f4e-d2bc-4825-8e1b-4aaf0a1cf1b6
 |      - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1282
 |
 | [!] Title: Photo Gallery < 1.6.4 - Admin+ Stored Cross-Site Scripting
 |     Fixed in: 1.6.4
 |     References:
 |      - https://wpscan.com/vulnerability/f7a0df37-3204-4926-84ec-2204a2f22de3
 |      - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1394
 |
 | [!] Title: Photo Gallery < 1.7.1 - Reflected Cross-Site Scripting
 |     Fixed in: 1.7.1
 |     Reference: https://wpscan.com/vulnerability/e9f9bfb0-7cb8-4f92-b436-f08442a6c60a

Weitere Scanoptionen

  • URL der WordPress-Instanz: Grundlegend muss die URL der zu scannenden WordPress-Instanz angegeben werden.
  • --enumerate oder -e: Diese Option ermöglicht es, spezifische Elemente der WordPress-Instanz zu enumerieren, wie z.B. Benutzer (u), Plugins (p), Themes (t). Beispielsweise kann -e vp verwendet werden, um verwundbare Plugins oder vt um verwundbare Themes zu identifizieren, oder -e u zum Finden von Benutzernamen.
  • --api-token: Wenn Sie über ein WPScan API-Token verfügen, können Sie dieses verwenden, um Zugriff auf die neuesten Daten über bekannte Sicherheitslücken zu erhalten. Dies erhöht die Genauigkeit des Scans.
  • --stealthy: Diese Option versucht, den Scan weniger auffällig zu machen, indem die Anzahl der Anfragen reduziert wird. Dies kann hilfreich sein, um nicht durch Sicherheitsmaßnahmen wie Firewalls oder Rate-Limiting geblockt zu werden.
  • --plugins-detection: Gibt an, wie Plugins erkannt werden sollen (aggressive, passive oder gemischte Erkennung). Aggressive Erkennung kann gründlicher sein, hat aber eine höhere Wahrscheinlichkeit, entdeckt oder blockiert zu werden.
  • --random-user-agent: WPScan wird mit einem zufälligen User-Agent-String ausgeführt, was die Erkennung als automatisiertes Tool erschweren kann.
Updated on 17. Februar 2024

Was this article helpful?

Related Articles