Wie verwende ich WPScan, um Sicherheitslücken auf WordPress-Sites zu finden?

Millionen von Websites werden von WordPress betrieben und sind mit 62% des Marktanteils in der CMS-Welt die Nummer eins.


Ein aktueller Schwachstellenbericht für Webanwendungen von Acunetix zeigt, dass rund 30% der WordPress-Websites als anfällig eingestuft wurden.

Es gibt viele Online-Sicherheitsscanner zum Scannen Ihrer Website. Wenn Sie jedoch nach Software suchen, die Sie von Ihrem Server installieren und scannen können, ist WPScan Ihr Freund. Dies ist nützlich, wenn sich Ihre Website in einem privaten Netzwerk oder Intranet befindet, in dem das Internet nicht verfügbar ist. Oder Sie möchten mehrere Websites gleichzeitig testen.

WPScan ist eine kostenlose Software, mit der Sie die sicherheitsrelevanten Probleme auf Ihrer WordPress-Site identifizieren können. Es macht verschiedene Dinge wie:

  • Überprüfen Sie, ob die Site eine anfällige WP-Version verwendet
  • Überprüfen Sie, ob ein Thema und ein Plugin aktuell sind oder als anfällig bekannt sind
  • Überprüfen Sie die Timthumbs
  • Suchen Sie nach Konfigurationssicherungen und DB-Exporten
  • Brute-Force-Angriff

und vieles mehr…

Es gibt verschiedene Möglichkeiten, WPScan zu verwenden.

  • Durch die Installation auf Linux-Servern
  • Docker verwenden
  • Verwendung einer vorinstallierten Linux-Distribution wie Kali Linux, BackBox, Pentoo, BlackArch usw..
  • Online Version

Verwenden unter CentOS

Folgendes wird unter CentOS 7.x getestet.

  • Melden Sie sich mit root bei CentOS an
  • Aktualisieren Sie das Repository

yum update -y

  • Installieren Sie das neueste Ruby und seine Abhängigkeiten

yum -y installiere curl gpg gcc gcc-c ++ mache den Patch autoconf automake bison libffi-devel libtool patch readline-devel sqlite-devel zlib-devel openssl-devel && gpg –keyserver hkp: //pool.sks-keyservers.net –recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB && curl -sSL https://get.rvm.io | Bash -s stabil – ruby

  • Installieren Sie Ruby Nokogiri

yum -y installiere rubygem-nokogiri

  • Starten Sie den Server neu und installieren Sie WPScan mit dem Befehl gem

gem install wpscan

Die Installation dauert einige Sekunden und ist dann abgeschlossen. Sie sollten so etwas sehen.

Fertig Installation der Dokumentation für ffi, get_process_mem, mini_portile2, nokogiri, concurrent-ruby, i18n, thread_safe, tzinfo, zeitwerk, activesupport, public_suffix, adressierbar, opt_parse_validator, ruby-progressbar, ethon, typhoeus, yajl-rubsc, sys- wpscan nach 32 Sekunden
20 Edelsteine ​​installiert

WPScan ist jetzt installiert und einsatzbereit. Führen Sie wpscan aus und Sie sollten sehen, dass es unten zurückkehrt.

[[E-Mail geschützt] ~] # wpscan
Eine der folgenden Optionen ist erforderlich: URL, Update, Hilfe, hh, Version

Bitte verwenden Sie –help / -h für die Liste der verfügbaren Optionen.
[[E-Mail geschützt] ~] #

Hier ist die Ausgabe eines Tests der Site.

[[E-Mail geschützt] ~] # wpscan –url https://geekflaresg.com
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____ |
\ \ / \ / / | | __) | (___ ___ __ _ _ __ ®
\ \ / \ / / | ___ / \ ___ \ / __ | / _` | ‘_ \
\ / \ / | | ____) | (__ | (_ | | | | |
\ / \ / | _ | | _____ / \ ___ | \ __, _ | _ | | _ |

WordPress-Sicherheitsscanner vom WPScan-Team
Version 3.7.6
Gesponsert von Automattic – https://automattic.com/
@_WPScan_, @ ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

[+] URL: https://geekflaresg.com/
[+] Gestartet: Mi 8 Jan 21:14:16 2020

Interessante Entdeckung (en):

[+] https://geekflaresg.com/
| Interessante Beiträge:
| – Server: Nginx
| – X-Cache-aktiviert: True
| – Host-Header: 5d77dd967d63c3104bced1db0cace49c
| – X-Proxy-Cache: MISS
| Gefunden von: Header (Passive Erkennung)
| Vertrauen: 100%

[+] https://geekflaresg.com/robots.txt
| Interessante Beiträge:
| – / wp-admin /
| – /wp-admin/admin-ajax.php
| Gefunden von: Robots Txt (Aggressive Detection)
| Vertrauen: 100%

[+] https://geekflaresg.com/xmlrpc.php
| Gefunden von: Direktzugriff (aggressive Erkennung)
| Vertrauen: 100%
| Verweise:
| – http://codex.wordpress.org/XML-RPC_Pingback_API
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner
| – https://www.rapid7.com/db/modules/auxiliary/dos/http/wordpress_xmlrpc_dos
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_xmlrpc_login
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_pingback_access

[+] https://geekflaresg.com/readme.html
| Gefunden von: Direktzugriff (aggressive Erkennung)
| Vertrauen: 100%

[+] https://geekflaresg.com/wp-cron.php
| Gefunden von: Direktzugriff (aggressive Erkennung)
| Vertrauen: 60%
| Verweise:
| – https://www.iplocation.net/defend-wordpress-from-ddos
| – https://github.com/wpscanteam/wpscan/issues/1299

[+] WordPress Version 5.3.2 identifiziert (Neueste, veröffentlicht am 18.12.2019).
| Gefunden von: RSS-Generator (Passive Erkennung)
| – https://geekflaresg.com/feed/, https://wordpress.org/?v=5.3.2
| – https://geekflaresg.com/comments/feed/, https://wordpress.org/?v=5.3.2

[+] Verwendetes WordPress-Theme: 17
| Ort: https://geekflaresg.com/wp-content/themes/twentyseventeen/
| Letzte Aktualisierung: 2019-05-07T00: 00: 00.000Z
| Readme: https://geekflaresg.com/wp-content/themes/twentyseventeen/README.txt
| [!] Die Version ist veraltet, die neueste Version ist 2.2
| Stil-URL: https://geekflaresg.com/wp-content/themes/twentyseventeen/style.css
| Style Name: Twenty Seventeen
| Stil-URI: https://wordpress.org/themes/twentyseventeen/
| Beschreibung: Twenty Seventeen erweckt Ihre Website mit Header-Videos und beeindruckenden Bildern zum Leben. Mit einem fo…
| Autor: das WordPress-Team
| Autoren-URI: https://wordpress.org/
|
| Gefunden von: Urls In Homepage (Passive Erkennung)
| Bestätigt von: Urls In 404 Page (Passive Erkennung)
|
| Version: 2.1 (80% Vertrauen)
| Gefunden von: Stil (Passive Erkennung)
| – https://geekflaresg.com/wp-content/themes/twentyseventeen/style.css, Match: ‘Version: 2.1’

[+] Aufzählung aller Plugins (über passive Methoden)

[i] Keine Plugins gefunden.

[+] Auflisten von Konfigurationssicherungen (über passive und aggressive Methoden)
Überprüfen der Konfigurationssicherungen – Zeit: 00:00:01 <================================================== ================================================> (21/21) 100,00% Zeit: 00:00:01

[i] Keine Konfigurationssicherungen gefunden.

[!] Es wurde kein WPVulnDB-API-Token angegeben, daher wurden keine Schwachstellendaten ausgegeben.
[!] Sie können ein kostenloses API-Token mit 50 täglichen Anfragen erhalten, indem Sie sich unter https://wpvulndb.com/users/sign_up registrieren

[+] Fertig: Mi 8 Jan 21:14:28 2020
[+] Anfragen erledigt: 51
[+] Zwischengespeicherte Anfragen: 7
[+] Gesendete Daten: 9,52 KB
[+] Empfangene Daten: 369,97 KB
[+] Verwendeter Speicher: 202,898 MB
[+] Verstrichene Zeit: 00:00:12
[[E-Mail geschützt] ~] #

Hinweis: Wenn Sie Schwachstellendaten in der Ausgabe benötigen, müssen Sie diese verwenden API.

Wenn Sie bestimmte Metriken testen möchten, lesen Sie die Hilfe, indem Sie wpscan mit der Syntax –help ausführen.

[[E-Mail geschützt] ~] # wpscan –hh
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____ |
\ \ / \ / / | | __) | (___ ___ __ _ _ __ ®
\ \ / \ / / | ___ / \ ___ \ / __ | / _` | ‘_ \
\ / \ / | | ____) | (__ | (_ | | | | |
\ / \ / | _ | | _____ / \ ___ | \ __, _ | _ | | _ |

WordPress-Sicherheitsscanner vom WPScan-Team
Version 3.7.6
Gesponsert von Automattic – https://automattic.com/
@_WPScan_, @ ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

Verwendung: wpscan [Optionen]
–URL URL Die URL des zu scannenden Blogs
Zulässige Protokolle: http, https
Standardprotokoll, falls nicht angegeben: http
Diese Option ist obligatorisch, es sei denn, Update oder Hilfe oder hh oder Version werden mitgeliefert
-h, –help Zeigt die einfache Hilfe an und beendet sie
–hh Zeigen Sie die vollständige Hilfe an und beenden Sie das Programm
–version Zeigt die Version an und beendet sie
–ignore-main-redirect Ignoriert die Hauptumleitung (falls vorhanden) und scannt die Ziel-URL
-v, –verbose Ausführlicher Modus
–[no-] Banner Gibt an, ob das Banner angezeigt werden soll oder nicht
Standard: true
–Maximale Scan-Dauer SEKUNDEN Brechen Sie den Scan ab, wenn die in Sekunden angegebene Zeit überschritten wird
-o, –output FILE Ausgabe in FILE
-f, –format FORMAT Die Ausgabe erfolgt im angegebenen Format
Verfügbare Auswahlmöglichkeiten: cli-no-color, cli-no-color, cli, json
–Erkennungsmodus MODUS Standard: gemischt
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–scope DOMAINS Kommagetrennte (Unter-) Domänen, die im Bereich berücksichtigt werden sollen.
Platzhalter, die in der Liste der gültigen Domänen zulässig sind, z. B.: * .Target.tld
Trennzeichen zwischen den Werten: ‘,’
–Benutzeragent, –ua VALUE
–Header HEADERS Zusätzliche Header zum Anhängen von Anforderungen
Zwischen den Überschriften zu verwendendes Trennzeichen: ‘; ‘
Beispiele: ‘X-Forwarded-For: 127.0.0.1’, ‘X-Forwarded-For: 127.0.0.1; Ein anderer: aaa ‘
–vhost VALUE Der virtuelle Host (Host-Header), der in Anforderungen verwendet werden soll
–random-user-agent, –rua Verwenden Sie für jeden Scan einen zufälligen user-agent
–Benutzeragentenliste DATEIPFAD Liste der Agenten, die mit –random-user-agent verwendet werden sollen
Standard: /usr/local/rvm/gems/ruby-2.6.3/gems/cms_scanner-0.8.1/app/user_agents.txt
–http-auth login: Passwort
-t, –max-threads VALUE Die maximal zu verwendenden Threads
Standard: 5
–Drosseln Sie MilliSeconds Millisekunden, um zu warten, bevor Sie eine weitere Webanforderung ausführen. Bei Verwendung werden die maximalen Threads auf 1 gesetzt.
–Anforderungszeitlimit SEKUNDEN Das Anforderungszeitlimit in Sekunden
Standard: 60
–Verbindungszeitlimit SEKUNDEN Das Verbindungszeitlimit in Sekunden
Standard: 30
–disable-tls-tests Deaktiviert die Überprüfung von SSL / TLS-Zertifikaten und das Downgrade auf TLS1.0 + (erfordert für letzteres cURL 7.66).
–Proxy-Protokoll: // IP: Port Unterstützte Protokolle hängen von der installierten cURL ab
–Proxy-Auth-Login: Passwort
–Cookie-String COOKIE Cookie-String zur Verwendung in Anfragen, Format: cookie1 = value1 [; cookie2 = value2]
–Cookie-Jar FILE-PATH Datei zum Lesen und Schreiben von Cookies
Standard: /tmp/wpscan/cookie_jar.txt
–cache-ttl TIME_TO_LIVE Die Cache-Zeit in Sekunden
Standard: 600
–Cache löschen Löscht den Cache vor dem Scan
–cache-dir PATH Standard: / tmp / wpscan / cache
–server SERVER Erzwingt das Laden des mitgelieferten Servermoduls
Verfügbare Auswahlmöglichkeiten: Apache, Iis, Nginx
–Erzwingen Sie nicht, ob auf dem Ziel WordPress ausgeführt wird
–[no-] update Gibt an, ob die Datenbank aktualisiert werden soll oder nicht
–api-token TOKEN Das WPVulnDB-API-Token zum Anzeigen von Schwachstellendaten
–wp-content-dir DIR Das Verzeichnis wp-content, falls benutzerdefiniert oder nicht erkannt, z "wp-Inhalt"
–wp-plugins-dir DIR Das Plugins-Verzeichnis, falls benutzerdefiniert oder nicht erkannt, z "wp-content / plugins"
–Modus zur Erkennung interessanter Befunde Verwenden Sie den mitgelieferten Modus für die Erkennung interessanter Befunde.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–wp-version-all Überprüfen Sie alle Versionsorte
–Modus zur Erkennung der wp-Version Verwenden Sie den mitgelieferten Modus für die Erkennung der WordPress-Version anstelle des globalen Modus (–detection-mode).
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–Hauptthema-Erkennungsmodus Verwenden Sie den mitgelieferten Modus für die Hauptthemenerkennung anstelle des globalen Modus (–detection-Modus).
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
-e, –enumerate [OPTS] Enumeration Process
Verfügbare Auswahlmöglichkeiten:
vp Anfällige Plugins
ap Alle Plugins
p Beliebte Plugins
vt Anfällige Themen
bei allen Themen
t Beliebte Themen
tt Timthumbs
cb Konfigurationssicherungen
dbe Db exportiert
u Bereich der Benutzer-IDs. z.B. u1-5
Zu verwendendes Bereichstrennzeichen: ‘-‘
Wert, wenn kein Argument angegeben wird: 1-10
m Bereich der Medien-IDs. z.B. m1-15
Hinweis: Die Permalink-Einstellung muss auf eingestellt sein "Einfach" für diejenigen, die erkannt werden sollen
Zu verwendendes Bereichstrennzeichen: ‘-‘
Wert, wenn kein Argument angegeben wird: 1-100
Trennzeichen zwischen den Werten: ‘,’
Standard: Alle Plugins, Konfigurationssicherungen
Wert, wenn kein Argument angegeben wird: vp, vt, tt, cb, dbe, u, m
Inkompatible Auswahlmöglichkeiten (es kann nur eine von jeder Gruppe verwendet werden):
– vp, ap, p
– vt, at, t
–Ausschlussinhaltsbasiertes REGEXP_OR_STRING Schließen Sie alle Antworten aus, die mit dem Regexp (ohne Berücksichtigung der Groß- und Kleinschreibung) übereinstimmen, während Teilen der Aufzählung.
Sowohl die Header als auch der Body werden überprüft. Regexp-Trennzeichen sind nicht erforderlich.
–Plugins-Liste LISTE Liste der aufzuzählenden Plugins
Beispiele: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–Plugins-Erkennungsmodus Verwenden Sie den mitgelieferten Modus, um Plugins anstelle des globalen Modus (–detection-mode) aufzulisten.
Standard: passiv
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–plugins-version-all Überprüft alle Versionspositionen der Plugins gemäß dem gewählten Modus (–detection-mode, –plugins-Erkennung und –plugins-version-Erkennung).
–Plugins-Versionserkennungsmodus Verwenden Sie den mitgelieferten Modus, um die Plugins-Versionen anstelle des –detection-Modus oder –plugins-Erkennungsmodus zu überprüfen.
Standard: gemischt
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–Plugins-Schwelle THRESHOLD Löst einen Fehler aus, wenn die Anzahl der über bekannte Standorte erkannten Plugins den Schwellenwert erreicht. Auf 0 setzen, um den Schwellenwert zu ignorieren.
Standard: 100
–Themenliste LISTE Liste der aufzuzählenden Themen
Beispiele: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–Themenerkennungsmodus Verwenden Sie den mitgelieferten Modus, um Themen anstelle des globalen Modus (–detektionsmodus) aufzulisten.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–Themen-Versions-Alle Überprüfen Sie alle Themen-Versionspositionen gemäß dem gewählten Modus (- Erkennungsmodus, – Themen-Erkennung und – Themen-Versionserkennung).
–Modus zur Erkennung von Themenversionen Verwenden Sie den mitgelieferten Modus, um Themenversionen anstelle des Modus –detection-mode oder –themes-Erkennung zu überprüfen.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–Themenschwelle THRESHOLD Löst einen Fehler aus, wenn die Anzahl der erkannten Themen an bekannten Orten den Schwellenwert erreicht. Auf 0 setzen, um den Schwellenwert zu ignorieren.
Standard: 20
–timthumbs-list FILE-PATH Liste der zu verwendenden timthumbs-Speicherorte
Standard: /root/.wpscan/db/timthumbs-v3.txt
–Timthumbs-Erkennungsmodus Verwenden Sie den mitgelieferten Modus, um Timthumbs anstelle des globalen Modus (–detection-mode) aufzulisten.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–config-backups-list FILE-PATH Liste der zu verwendenden Dateinamen der config-Backups
Standard: /root/.wpscan/db/config_backups.txt
–Erkennungsmodus für Konfigurationssicherungen Verwenden Sie den mitgelieferten Modus, um Konfigurationssicherungen anstelle des globalen Modus (–detection-mode) aufzulisten.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–db-export-list FILE-PATH Liste der zu verwendenden DB-Exportpfade
Standard: /root/.wpscan/db/db_exports.txt
–DB-Export-Erkennungsmodus Verwenden Sie den angegebenen Modus, um DB-Exporte anstelle des globalen Modus (–detection-mode) aufzulisten.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–Medienerkennungsmodus Verwenden Sie den angegebenen Modus, um Medien anstelle des globalen Modus (–detection-mode) aufzulisten.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
–Benutzerliste LISTE Liste der Benutzer, die während der Benutzeraufzählung anhand der Anmeldefehlermeldungen überprüft werden sollen
Beispiele: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–Benutzererkennungsmodus Verwenden Sie den angegebenen Modus, um Benutzer anstelle des globalen Modus (–detection-mode) aufzulisten.
Verfügbare Auswahlmöglichkeiten: gemischt, passiv, aggressiv
-P, –passwords FILE-PATH Liste der Passwörter, die während des Passwortangriffs verwendet werden sollen.
Wenn keine Option –username / s angegeben ist, wird die Benutzeraufzählung ausgeführt.
-U, –usernames LIST Liste der Benutzernamen, die während des Passwortangriffs verwendet werden sollen.
Beispiele: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–Multicall-Max-Passwörter MAX_PWD Maximale Anzahl von Passwörtern, die auf Anfrage mit XMLRPC Multicall gesendet werden sollen
Standard: 500
–Passwortangriff ANGRIFF Erzwingen Sie die Verwendung des bereitgestellten Angriffs, anstatt ihn automatisch zu bestimmen.
Verfügbare Auswahlmöglichkeiten: wp-login, xmlrpc, xmlrpc-multicall
–Stealthy Alias ​​für – Zufallsbenutzer-Agent – Erkennungsmodus Passiv – Plugins-Versionserkennung Passiv

[[E-Mail geschützt] ~] #

Verwenden von WPScan unter Kali Linux

Das Schöne an Kali Linux ist, dass Sie nichts installieren müssen. WPScan ist vorinstalliert.

Lassen Sie uns herausfinden, wie der Scanner ausgeführt wird.

  • Melden Sie sich mit root und offenem Terminal bei Kali Linux an
  • Führen Sie den Scan mit dem Befehl wpscan aus

wpscan –url https://mysite.com

Docker verwenden

Ein Docker-Fan?

Warum nicht, es ist einfach, damit anzufangen. Stellen Sie sicher, dass Docker installiert ist.

  • Ziehen Sie das WPScan Docker-Image

Docker ziehen wpscanteam / wpscan

  • Einmal gezogen, lassen Sie es wie unten laufen.

docker run -it –rm wpscanteam / wpscan –url https://example.com

Einfach?

WPScan-fähiger Online-Scanner

Sie können die folgenden von WPScan unterstützten Tools nutzen.

Geekflare

Geekflare WordPress-Sicherheitsscanner Sie können schnell herausfinden, ob eine bestimmte WordPress-Site eine anfällige Kernversion, ein anfälliges Thema, ein Plugin usw. enthält.

Zusätzlich zu den WPScan-Metriken wird Folgendes überprüft.

  • Ist die Administratorkonsole verfügbar??
  • Wenn von Google als sicher eingestuft
  • Zugriff über HTTPS
  • Wenn Front-End-JavaScript-Bibliotheken anfällig sind

Sie müssen kein Konto registrieren. Sie können den Test bei Bedarf KOSTENLOS ausführen.

Pentest-Tools

Ein Werkzeug von Pentest-Tools Mit dieser Option können Sie die WP-Site bei Bedarf testen und den Bericht erstellen.

Was kommt als nächstes?

Gut gemacht! Wenn Ihre Site nicht anfällig ist. Wenn dies jedoch der Fall ist, arbeiten Sie an diesen Risikoelementen. Wenn Sie nicht sicher sind, wie Sie sie abmildern können, nehmen Sie professionelle Hilfe in Anspruch.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map