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.
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.
| [!] 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 odervt
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.