
WordPress-Sicherheitsscanner, der Schwachstellen erkennt, Plugins/Themes/Benutzer aufzählt und auf schwache Passwörter prüft. Integriert die WPScan-API für Echtzeit-Schwachstellendaten.
WordPress-Sicherheitsscanner
WPScan WordPress-Schwachstellendatenbank - WordPress-Sicherheits-Plugin
Stream error in the HTTP/2 framing layer führenWenn Sie eine Pentesting-Distribution (wie Kali Linux) verwenden, wird empfohlen, wpscan über den Paketmanager zu installieren/aktualisieren, falls verfügbar.
brew install wpscanteam/tap/wpscan
WPScan ist von Gems mit nativen Erweiterungen abhängig (z.B. yajl-ruby, nokogiri, ffi), daher müssen vor gem install wpscan eine funktionierende C-Toolchain und Ruby-Entwicklungsheader vorhanden sein. Ohne sie schlägt die Installation mit Fehlern wie Failed to build gem native extension oder make: x86_64-linux-gnu-gcc: No such file or directory fehl (siehe #1844).
sudo apt install build-essential ruby-dev
sudo dnf install @development-tools ruby-devel
sudo pacman -S base-devel ruby
sudo apk add build-base ruby-dev
xcode-select --install).Dann installieren Sie das Gem:
gem install wpscan
Unter MacOSX, falls ein Gem::FilePermissionError aufgrund von Apples System Integrity Protection (SIP) ausgelöst wird, installieren Sie entweder RVM und installieren wpscan erneut, oder führen Sie sudo gem install -n /usr/local/bin wpscan aus (siehe #1286)
Sie können die lokale Datenbank mit wpscan --update aktualisieren.
Die Aktualisierung von WPScan selbst erfolgt entweder über gem update wpscan oder den Paketmanager (dies ist besonders wichtig für Distributionen wie Kali Linux: apt-get update && apt-get upgrade), abhängig davon, wie WPScan (vor)installiert wurde.
Holen Sie das Repository mit docker pull wpscanteam/wpscan
Aufzählen von Benutzernamen
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u
Aufzählen eines Bereichs von Benutzernamen
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --url https://target.tld/ --enumerate u1-100
** Ersetzen Sie u1-100 durch einen Bereich Ihrer Wahl.
Das Image wird mit einer Kopie der lokalen Datenbank ausgeliefert, die zur Build-Zeit eingebaut wurde. Da die obigen Beispielbefehle --rm verwenden, wird jede während eines Laufs durchgeführte Datenbankaktualisierung verworfen, wenn der Container beendet wird, sodass der nächste Lauf wieder mit der (möglicherweise veralteten) eingebauten Kopie beginnt.
Das Einbinden eines benannten Volumes unter /wpscan/.cache/wpscan/db (dem Cache-Verzeichnis des wpscan-Benutzers im Container) behält die Datenbank über mehrere Läufe hinweg bei, sodass wpscan --update nur Dateien erneut herunterlädt, deren Prüfsummen sich tatsächlich geändert haben, und die 5-Tage-Verfallserinnerung verhält sich wie bei einer lokalen Installation:
docker run -it --rm -v wpscan-db:/wpscan/.cache/wpscan/db wpscanteam/wpscan --update
Das benannte Volume wird bei der ersten Verwendung automatisch erstellt, falls es noch nicht existiert.
Die vollständige Benutzerdokumentation finden Sie hier; https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation
wpscan --url blog.tld Dies wird den Blog mit Standardoptionen scannen und einen guten Kompromiss zwischen Geschwindigkeit und Genauigkeit bieten. Es führt Versionserkennung, Theme-Erkennung und die Ermittlung interessanter Funde durch. Um Plugins, Themes, Benutzer, Backup-Ordner usw. aufzuzählen, verwenden Sie die -e-Option (z.B. -e ap für alle Plugins, -e vp für anfällige Plugins, -e bf für Backup-Ordner).
Falls ein heimlicherer Ansatz erforderlich ist, kann wpscan --stealthy --url blog.tld verwendet werden. Wenn Sie die --enumerate-Option verwenden, vergessen Sie nicht, --plugins-detection entsprechend zu setzen, da der Standardwert 'passive' ist.
Für weitere Optionen öffnen Sie ein Terminal und geben Sie wpscan --help ein (wenn Sie wpscan aus dem Quellcode erstellt haben, sollten Sie den Befehl außerhalb des Git-Repositorys eingeben).
Der Datenbank-Speicherort folgt der XDG Base Directory Specification:
~/.cache/wpscan/db (oder $XDG_CACHE_HOME/wpscan/db, falls gesetzt)~/.wpscan/db (alter Pfad, aus Gründen der Abwärtskompatibilität beibehalten)Laufzeitdateien wie der Standard-HTTP-Cache und der Cookie-Jar werden unter $TMPDIR/wpscan gespeichert, wenn $TMPDIR gesetzt ist. Ansonsten verwenden sie dasselbe benutzerspezifische XDG-Cache-Verzeichnis, z.B. ~/.cache/wpscan/cache und ~/.cache/wpscan/cookie_jar.txt. Diese Standardeinstellungen können mit --cache-dir und --cookie-jar überschrieben werden.
Um eine bestehende Installation zum XDG-Pfad zu migrieren:
mv ~/.wpscan ~/.cache/wpscan
Das WPScan-CLI-Tool verwendet die WordPress-Schwachstellendatenbank-API, um WordPress-Schwachstellendaten in Echtzeit abzurufen. Damit WPScan die Schwachstellendaten abrufen kann, muss ein API-Token über die --api-token-Option oder über eine Konfigurationsdatei bereitgestellt werden, wie unten beschrieben. Ein API-Token kann durch die Registrierung eines Kontos auf WPScan.com erworben werden.
Bis zu 25 API-Anfragen pro Tag werden kostenlos zur Verfügung gestellt, was ausreichen sollte, um die meisten WordPress-Websites mindestens einmal täglich zu scannen. Wenn die täglichen 25 API-Anfragen erschöpft sind, arbeitet WPScan normal weiter, jedoch ohne Schwachstellendaten.
WPScan kann alle Optionen (einschließlich --url) aus Konfigurationsdateien laden, die folgenden Speicherorte werden überprüft (Reihenfolge: zuerst bis zuletzt):
$XDG_CONFIG_HOME/wpscan/scan.json (if XDG_CONFIG_HOME is set)$XDG_CONFIG_HOME/wpscan/scan.yml (if XDG_CONFIG_HOME is set)~/.config/wpscan/scan.json (if XDG_CONFIG_HOME is not set)~/.config/wpscan/scan.yml (if XDG_CONFIG_HOME is not set)~/.wpscan/scan.json~/.wpscan/scan.ymlpwd/.wpscan/scan.jsonpwd/.wpscan/scan.ymlWenn diese Dateien existieren, werden Optionen aus dem cli_options-Schlüssel geladen und überschrieben, wenn sie zweimal gefunden werden.
z.B.:
~/.config/wpscan/scan.yml:
cli_options:
proxy: 'http://127.0.0.1:8080'
verbose: true
pwd/.wpscan/scan.yml:
cli_options:
proxy: 'socks5://127.0.0.1:9090'
url: 'http://target.tld'
Die Ausführung von wpscan im aktuellen Verzeichnis (pwd) entspricht wpscan -v --proxy socks5://127.0.0.1:9090 --url http://target.tld
Andere Befehlszeilenoptionen können unter Verwendung der Snake-Case-Konvention hinzugefügt werden. z.B.:
cli_options:
user_agent: "Testing UA"
max_threads: 1
headers: "Custom-Header: aaaa; Another Header: bbb"
Die oben erwähnte Funktion ist nützlich, um den API-Token in einer Konfigurationsdatei zu speichern und ihn nicht jedes Mal über die CLI bereitstellen zu müssen. Erstellen Sie dazu die Datei ~/.config/wpscan/scan.yml mit dem folgenden Inhalt:
cli_options:
api_token: 'YOUR_API_TOKEN'
Der API-Token wird automatisch aus der ENV-Variable WPSCAN_API_TOKEN geladen, falls vorhanden. Wenn auch die --api-token-CLI-Option angegeben wird, wird der Wert von der CLI verwendet.
Wenn Sie Verbindungsprobleme mit der WPScan-API haben, können Sie den Dienststatus unter https://status.wpscan.com/ überprüfen. Wenn API-Verbindungsfehler auftreten, fügt WPScan einen Link zur Statusseite in die Fehlermeldung ein.
wpscan --url https://target.tld/ --enumerate u
Aufzählen eines Bereichs von Benutzernamen
wpscan --url https://target.tld/ --enumerate u1-100
** Ersetzen Sie u1-100 durch einen Bereich Ihrer Wahl.
wpscan --url https://target.tld/ --enumerate bf
Dies überprüft auf Backup-Ordner, die von beliebten WordPress-Backup-Plugins erstellt wurden. Diese Ordner können sensible Daten wie Datenbank-Dumps, Konfigurationsdateien oder vollständige Site-Backups enthalten.
Die WPScan-Software (im Folgenden einfach als "WPScan" bezeichnet) ist dual-lizenziert - Copyright 2011-2019 WPScan Team.
Fälle, die die Kommerzialisierung von WPScan beinhalten, erfordern eine kommerzielle, nicht kostenlose Lizenz. Andernfalls kann WPScan kostenlos unter den unten aufgeführten Bedingungen verwendet werden.
1.1 "Lizenz" bezeichnet dieses Dokument.
1.2 "Beitragender" (Contributor) bezeichnet jede natürliche oder juristische Person, die WPScan erstellt, zur Erstellung beiträgt oder besitzt.
1.3 "WPScan Team" bezeichnet die Kernentwickler von WPScan.
Kommerzielle Nutzung ist eine, die auf kommerziellen Vorteil oder finanzielle Vergütung abzielt.
Beispiele für Kommerzialisierung sind:
Beispiele, die keine kommerzielle Lizenz erfordern und daher unter die unten aufgeführten Bedingungen fallen, umfassen (sind aber nicht beschränkt auf):
Wenn Sie eine kommerzielle Lizenz erwerben müssen oder unsicher sind, ob Sie eine kommerzielle Lizenz erwerben müssen, kontaktieren Sie uns - [email protected].
Kostenlose Nutzungsbedingungen;
Die Weiterverbreitung ist unter den folgenden Bedingungen gestattet:
Das Kopieren ist gestattet, solange es nicht mit der Weiterverbreitungsklausel in Konflikt steht.
Die Änderung ist gestattet, solange sie nicht mit der Weiterverbreitungsklausel in Konflikt steht.
Jegliche Beiträge setzen voraus, dass der Beitragende dem WPScan Team das uneingeschränkte, nicht ausschließliche Recht einräumt, die Inhalte des Beitragenden wiederzuverwenden, zu modifizieren und neu zu lizenzieren.
WPScan wird auf einer "AS-IS"-Basis und ohne jeglichen Support, Updates oder Wartung bereitgestellt. Support, Updates und Wartung können nach alleinigem Ermessen des WPScan Teams gewährt werden.
WPScan wird unter dieser Lizenz auf einer "wie besehen" Basis bereitgestellt, ohne jegliche Gewährleistung, weder ausdrücklich noch stillschweigend oder gesetzlich, einschließlich, aber nicht beschränkt auf Gewährleistungen, dass WPScan frei von Mängeln ist, handelsüblich, für einen bestimmten Zweck geeignet oder nicht rechtsverletzend ist.
Im gesetzlich zulässigen Umfang wird WPScan auf einer "AS-IS"-Basis bereitgestellt. Das WPScan Team haftet in keinem Fall und ohne jede Begrenzung für Schäden, Kosten, Ausgaben oder Zahlungen, die infolge von Handlungen, Ausfällen, Fehlern von WPScan und/oder jeder anderen Interaktion zwischen WPScan und Endgeräten, Computern, anderer Software oder Dritten, Endgeräten, Computern oder Diensten entstehen.
Das Ausführen von WPScan gegen Websites ohne vorherige gegenseitige Zustimmung kann in Ihrem Land illegal sein. Das WPScan Team übernimmt keine Haftung und ist nicht verantwortlich für Missbrauch oder Schäden, die durch WPScan verursacht werden.
Der Begriff "wpscan" ist eine eingetragene Marke. Diese Lizenz gewährt keine Nutzung der Marke "wpscan" oder die Nutzung des WPScan-Logos.