• orpheus77

    (@orpheus77)


    Hi,
    ich habe Sorge, dass ich möglicherweise gehäckt wurde. Beim ansurfen der Startseite gelangt man hin und wieder (nicht oft) auf eine dubiose Seite. Ein Neuladen bringt die Richtige.
    Habe dann Wordfence installiert und der Scan sagt, dass das Plugin WPCode lite ein Update benötigt.
    Dieses Plugin wird aber gar nicht gelistet und ich kann mich auch nicht erinnern es installiert zu haben.

Ansicht von 14 Antworten – 1 bis 14 (von insgesamt 14)
  • Hallo,
    ohne nähere Informationen zur Website können wir dazu wohl wenig sagen. Ein Plugin WPCode gibt es im WordPress Repository.

    Ob die Website gehackt wurde, kannst du z. B. über die folgende Seite prüfen. Allerdings wäre das nur eine erste Analyse. Weitere Infos zu dem Thema findest du in einem Beitrag aus unserer FAQ: https://de.wordpress.org/support/topic/seite-gehacked-was-tun/

    Lies bitte auch mal: Bevor du ein neues Thema (Thread) erstellst.

    Wenn du dann noch die URL oben einträgst, dann kann das für eine Analyse auch hilfreich sein.

    Hilfreich für eine Analyse wäre der Website-Bericht:
    Du findest unter Werkzeuge > Website-Zustand > Info einen Bericht zur Website. Warte bitte einen Moment bis die Ladeanzeige ganz oben abgeschlossen ist und kopiere dann per Button den Website-Bericht in deine Zwischenablage. Über den Button „Bericht in die Zwischenablage kopieren“ kannst du den Bericht unverändert (bitte mit den Akzentzeichen am Anfang und Ende) einfügen und anschließend hier posten. Evtl. ergeben sich dann weitere Anhaltspunkte, ob und wo das Problem liegt.
    Hier ein Screenshot dazu (bei Klick auf das Bild, wird das Bild vergrößert):
    Website-Bericht

    Und mit z. B. STRG V in die Antwort bei diesem Thema einfügen.

    Mehr Infos zum Website-Zustand findest du z. B. in dem folgenden Video

    Viele Grüße
    Hans-Gerd

    Thread-Starter orpheus77

    (@orpheus77)

    Hallo,

    also gehackt bin ich definitiv worden – wordfence wurde heute Nacht über den 2. Admin User deaktiviert, Ursprungsland: Russland

    Ich hab den kompromittierten Admin User gleich mal gelöscht, nur wie komm ich an das „versteckte“ Plugin ran.

    Moderatorenhinweis: URL wegen vermutlich gehackter Website gelöscht

    Der Bericht:

    ` wp-core

    version: 6.5.5
    site_language: de_DE
    user_language: de_DE
    timezone: +02:00
    permalink: undefined
    https_status: true
    multisite: false
    user_registration: 0
    blog_public: 1
    default_comment_status: open
    environment_type: production
    user_count: 1
    dotorg_communication: true wp-paths-sizes

    wordpress_path: /var/www/web1156/html/wordpress
    wordpress_size: 270,64 MB (283790309 bytes)
    uploads_path: /var/www/web1156/html/wordpress/wp-content/uploads
    uploads_size: 360,09 MB (377583644 bytes)
    themes_path: /var/www/web1156/html/wordpress/wp-content/themes
    themes_size: 25,62 MB (26859601 bytes)
    plugins_path: /var/www/web1156/html/wordpress/wp-content/plugins
    plugins_size: 20,18 MB (21155871 bytes)
    database_size: 8,68 MB (9096852 bytes)
    total_size: 685,20 MB (718486277 bytes) wp-active-theme

    name: Twenty Ten (twentyten)
    version: 4.2
    author: Das WordPress-Team
    author_website: https://de.wordpress.org/
    parent_theme: none
    theme_features: core-block-patterns, widgets-block-editor, editor-style, editor-styles, wp-block-styles, editor-color-palette, post-formats, post-thumbnails, automatic-feed-links, menus, custom-background, custom-header, widgets
    theme_path: /var/www/web1156/html/wordpress/wp-content/themes/twentyten
    auto_update: Aktiviert wp-themes-inactive (9)

    Twenty Eleven: version: 4.6, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Nineteen: version: 2.8, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Thirteen: version: 4.1, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Twelve: version: 4.2, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Twenty: version: 2.6, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Twenty-Four: version: 1.1, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Twenty-One: version: 2.2, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Twenty-Three: version: 1.4, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert
    Twenty Twenty-Two: version: 1.7, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert wp-plugins-active (7)

    Antispam Bee: version: 2.11.6, author: pluginkollektiv, Automatische Aktualisierungen aktiviert
    Better Search Replace: version: 1.4.7, author: WP Engine, Automatische Aktualisierungen aktiviert
    Email Address Encoder: version: 1.0.23, author: Till Krüss, Automatische Aktualisierungen aktiviert
    Post Types Order: version: 2.2.3, author: Nsp Code, Automatische Aktualisierungen aktiviert
    SI Captcha Anti-Spam: version: 3.0.3, author: fastsecure, Automatische Aktualisierungen deaktiviert
    Wordfence Security: version: 7.11.6, author: Wordfence, Automatische Aktualisierungen deaktiviert
    WPCode Lite: version: 2.1.12, author: WPCode (latest version: 2.1.14), Automatische Aktualisierungen deaktiviert wp-media

    image_editor: WP_Image_Editor_Imagick
    imagick_module_version: 1673
    imagemagick_version: ImageMagick 6.8.9-9 Q16 x86_64 2019-12-29 http://www.imagemagick.org
    imagick_version: 3.6.0
    file_uploads: 1
    post_max_size: 64M
    upload_max_filesize: 96M
    max_effective_size: 64 MB
    max_file_uploads: 20
    imagick_limits:
    imagick::RESOURCETYPE_AREA: 96 GB
    imagick::RESOURCETYPE_DISK: 1.84467440737E+19
    imagick::RESOURCETYPE_FILE: 6144
    imagick::RESOURCETYPE_MAP: 96 GB
    imagick::RESOURCETYPE_MEMORY: 48 GB
    imagick::RESOURCETYPE_THREAD: 1
    imagick::RESOURCETYPE_TIME: 1.84467440737E+19
    imagemagick_file_formats: 3FR, AAI, AI, ART, ARW, AVI, AVS, BGR, BGRA, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FITS, FRACTAL, FTS, G3, GIF, GIF87, GRADIENT, GRAY, GROUP4, GV, HALD, HDR, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, INFO, INLINE, IPL, ISOBRL, JBG, JBIG, JNG, JNX, JPEG, JPG, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAP, MASK, MAT, MATTE, MEF, MIFF, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UIL, UYVY, VDA, VICAR, VID, VIFF, VIPS, VST, WBMP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV
    gd_version: bundled (2.1.0 compatible)
    gd_formats: GIF, JPEG, PNG, WebP, BMP, XPM
    ghostscript_version: 9.26 wp-server

    server_architecture: Linux 4.15.18-13-pve x86_64
    httpd_software: Apache
    php_version: 8.0.20 64bit
    php_sapi: cgi-fcgi
    max_input_variables: 5000
    time_limit: 60
    memory_limit: 96M
    max_input_time: 60
    upload_max_filesize: 96M
    php_post_max_size: 64M
    curl_version: 7.38.0 OpenSSL/1.0.2l
    suhosin: false
    imagick_availability: true
    pretty_permalinks: true
    current: 2024-07-16T06:48:43+00:00
    utc-time: Tuesday, 16-Jul-24 06:48:43 UTC
    server-time: 2024-07-16T08:48:42+02:00 wp-database

    extension: mysqli
    server_version: 5.7.25
    client_version: mysqlnd 8.0.20
    max_allowed_packet: 67108864
    max_connections: 300 wp-constants

    WP_HOME: http://greimel-net.com
    WP_SITEURL: http://greimel-net.com
    WP_CONTENT_DIR: /var/www/web1156/html/wordpress/wp-content
    WP_PLUGIN_DIR: /var/www/web1156/html/wordpress/wp-content/plugins
    WP_MEMORY_LIMIT: 40M
    WP_MAX_MEMORY_LIMIT: 256M
    WP_DEBUG: false
    WP_DEBUG_DISPLAY: true
    WP_DEBUG_LOG: false
    SCRIPT_DEBUG: false
    WP_CACHE: false
    CONCATENATE_SCRIPTS: undefined
    COMPRESS_SCRIPTS: undefined
    COMPRESS_CSS: undefined
    WP_ENVIRONMENT_TYPE: Nicht definiert
    WP_DEVELOPMENT_MODE: undefined
    DB_CHARSET: utf8
    DB_COLLATE: undefined wp-filesystem

    wordpress: writable
    wp-content: writable
    uploads: writable
    plugins: writable
    themes: writable
    • Diese Antwort wurde geändert vor 10 Monaten von Hans-Gerd Gerhards. Grund: Moderatorenhinweis

    Hallo,
    im Bericht taucht das Plugin auf.

    Am besten stellst du eine „saubere“ Sicherung deiner Website wieder her. Wenn du selbst keine Sicherung erstellt hast, dann wende dich bitte an den Hoster. Das kann allerdings kostenpflichtig sein.

    Damit ist allerdings nicht sichergestellt, dass das Problem bereits behoben ist.
    @pixolin hat in diesem Beitrag sehr umfassend dargestellt, was alles zu tun ist.

    Es gibt einige Dienstleister, die sich auf die Säuberung von gehackten Websites spezialisiert haben. Das wäre auch eine Option.

    Viele Grüße
    Hans-Gerd

    Thread-Starter orpheus77

    (@orpheus77)

    Sicherung können wir vergessen, wahrscheinlich ist das Plugin schon Jahre aktiv 🙁
    Gibt es eine Möglichkeit nur den Content zu sichern, dann kann ich das Ganze neu installieren.

    LG Stefan

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Eine manuelle Bereinigung der Website sieht vor, dass du

    • das Verzeichnis wp-content/uploads auf deinem Computer sicherst und sehr sorgfältig auf Malware untersuchst. Auch harmlos aussehende Dateien mit Endungen wie .jpg oder .png können (statt Bildern) Skripte enthalten. Angreifer verstecken da gerne eine Backdoor, um sich nach einer Entfernung von Malware wieder einloggen und ihre Schadsoftware neu einstallieren zu können. Wenn du hier nicht sorgfältig arbeitest, fängst du nach ein paar Tagen von vorne an.
    • eine Liste der verwendeten Themes und Plugins muss erstellt werden, um diese später wieder zu installieren. Die wp-config.php sollte auf fremde Skript (meistens mit base64_encode() verschlüsselt) geprüft und ebenfalls gesichert werden.
    • du löschst ausnahmslos alles auf deinem Webserver, lädst WordPress, vorher notierte Theme(s) und Plugins aus dem WordPress-Verzeichnis herunter, entpackst sie und lädst alles auf deinen Server hoch. Die Datei https://downloads.wordpress.org/release/wordpress-6.5.5-no-content.zip enthält die aktuelle WordPress-Version ohne das Verzeichnis wp-content.
    • danach lädst du die vorher gesicherte wp-config.php und das geprüfte(!) Verzeichnis wp-content wieder hoch.
    • Über die Datenbankverwaltung deines Webhosters solltest du in der Datenbank-Tabelle wp_users prüfen, ob der Angreifer ein eigenes Administratoren-Account angelegt hat, das du natürlich löschen musst.

    Der Vorgang kann mit dem kostenpflichtigen Skript WP Sweeper automatisiert werden.

    Es ist eine gute Idee, auch von der manipulierten Website ein Backup zu machen, bevor du die oben genannten Schritte durchführst. Wie man im Rheinland sagt: Wat fott is, is fott (weg ist weg) – versehentlich zu viel gelöschte Daten lassen sich nicht wiederherstellen, wenn es kein Backup gibt.

    Der komplette Vorgang ist, wie in meinem zitierten Beitrag erwähnt, recht aufwändig und damit kostenintensiv. Wenn du dich selbst eher als Einsteiger einstufst, wäre es eine gute Idee, das einem Fachmann (oder einer Fachfrau – es gibt ausgezeichnete WordPress-Spezialistinnen) zu überlassen.

    Ich drücke die Daumen.

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Noch ein Hinweis: Websites sollten mit einem SSL-Zertifikat versehen und nur verschlüsselt (also per https) übertragen werden. Bei einer unverschlüsselten Verbindung kann jeder im gleichen Netzwerk deine Anmeldedaten im Klartext mitlesen, sich mit deinem Account anmelden und als Administrator allerlei Unsinn anfangen.

    Eine verschlüsselte Übertragung verbessert dein Ranking bei Suchmaschinen wie Google, sorgt für bessere Performance (HTTP/2) und ist unter Umständen sogar zur Einhaltung der Datenschutzvorgaben (DSGVO) notwendig. Viele Webhoster bieten inzwischen die Einbindung kostenloser Let’s-Encrypt-Zertifikate an, die für eine Übertragung per https völlig ausreichen.

    Ist das SSL-Zertifikat eingerichtet, findest du unter Werkzeuge > Website-Zustand einen Hinweis, dass du zu verschlüsselten Verbindungen wechseln solltest. Für die Umstellung reicht dann ein Klick auf den dort angezeigten Button.

    Thread-Starter orpheus77

    (@orpheus77)

    Also einen weiteren User hab ich in der DB nicht gesehen, bei meinem hab ich jetzt nochmal das PW geändert und zwar direkt in der DB

    Ich würde gerne WP komplett frisch installieren, aber wie bekomme ich den Content in die neue Installation? Gibts da eine Export/Import Funktion?

    LG Stefan

    Thread-Starter orpheus77

    (@orpheus77)

    Das „versteckte“ Plugin sehe ich über FTP im Plugins Order (insert-headers-and-footers)
    Bringt es was den Ordner zu löschen?

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    …bei meinem hab ich jetzt nochmal das PW geändert und zwar direkt in der DB

    Du hast das als MD5-Hash eingetragen?

    Ich würde gerne WP komplett frisch installieren, aber wie bekomme ich den Content in die neue Installation?

    So, wie ich das beschrieben habe. Oder hätte ich mir die Mühe sparen können? 🙂

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Das „versteckte“ Plugin sehe ich über FTP im Plugins Order (insert-headers-and-footers)
    Bringt es was den Ordner zu löschen?

    Mit Blick auf mögliche Backdoors reicht es wahrscheinlich nicht, nur ein einzelnes Verzeichnis zu löschen. Aber auch das habe ich bereits beschrieben.

    Thread-Starter orpheus77

    (@orpheus77)

    So, wie ich das beschrieben habe. Oder hätte ich mir die Mühe sparen können?

    Nein gar nicht und nochmals vielen Dank dafür!
    Ich hab leider bei meinem Hoster keinen SSH Zugang dabei somit fällt WP-Sweeper wohl aus.
    Bei deiner Anleitung ist mir noch nicht ganz klar, welche Files ich runter und wieder rauf laden soll.
    Das /upload Verzeichnis und wp-config ist klar, und das reicht wirklich aus?
    Und wie kann ich die Files und wp-config säubern? UNd was mach ich mit der DB?

    Es gibt doch im Backend die Funktion alle Inhalte zu exportieren, kann man die dann in eine frische Installation importieren?

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Ich hab leider bei meinem Hoster keinen SSH Zugang dabei somit fällt WP-Sweeper wohl aus.

    Du kannst die Website in einer lokalen WordPress-Installation (z.B. mit Local-WP) klonen und dann dort arbeiten.

    SSH-Zugang ist für mich ein wichtiges Leistungskriterium, dass bei einigen (nicht allen) Webhostern selbst in einfachen Shared-Hosting-Verträgen angeboten wird. Bei alfahosting sollte das eigentlich enthalten sein. Ansonsten wäre es vielleicht eine Überlegung wert, die Website irgenwann mal zu migrieren.

    Das /upload Verzeichnis und wp-config ist klar, und das reicht wirklich aus?

    wenn du alle anderen Verzeichnisse löschst und durch vom WordPress-Server heruntergeladenen Dateien ersetzt, ja.

    Und wie kann ich die Files und wp-config säubern?

    Auch das hatte ich bereits beschrieben: „Die wp-config.php sollte auf fremde Skript (meistens mit base64_encode() verschlüsselt) geprüft und ebenfalls gesichert werden.“ – kurz gesagt: wenn irgendwas von base64_decode(… vorkommt, enthält die Datei Schadcode. (Nicht verwechseln mit den SALT-Keys, die zufallsgenerierte Zeichenketten enthalten und der Verschlüsselung von Passwörtern dienen.) Alle übrigen Funktionen in der Datei kannst du hier nachlesen: Editing wp-config.php

    UNd was mach ich mit der DB?

    Auch das hatte ich … wie auch immer.

    „Über die Datenbankverwaltung deines Webhosters solltest du in der Datenbank-Tabelle wp_users prüfen, ob der Angreifer ein eigenes Administratoren-Account angelegt hat, das du natürlich löschen musst.“

    Es gibt doch im Backend die Funktion alle Inhalte zu exportieren, kann man die dann in eine frische Installation importieren?

    Was sind denn Inhalte? Einträge in der Datenbank (bei der du nur nach fremden Nutzer schauen brauchst) und eigene Medien-Uploads, die im Verzeichnis wp-content/uploads angelegt wurden. Dieses Verzeichnis musst du sehr gründlich untersuchen. Es dürfen keine PHP-Dateien in diesem Verzeichnis vorhanden sein (Ausnahme ist eine bewusst platzierte index.php, die nur einen Kommentar enthält und nur als Platzhalter dient, damit der Server keine Verzeichnisinhalte auflistet). Und vermeintliche Bild-Dateien können Malware-Skripte enthalten. Ups, das hatten wir ja schon …

    In der Datenbank können JavaScript-Funktionen enthalten sein, die aber eigentlich durch verschiedene WordPress-Funktionen wie z.B. wp_kses ausgehebelt werden sollten. Problematisch sind immer Plugins, die eine Einbindung von eigenem Code erlauben – z.B. WPCode – Insert Headers and Footers + Custom Code Snippets. Damit kannst der Benutzer (oder ein als Benutzer angemeldeter Angreifer) beliebigen Schadcode ausführen.

    Eine umfassende, englische Anleitung zur Bereinigung einer gehackten Website findest du auch z.B. hier: How to Clean a Hacked WordPress Site using Wordfence

    Thread-Starter orpheus77

    (@orpheus77)

    Nochmals vielen Dank für die Hilfe!
    Ich habe jetzt bei meinem Admin das PW in der DB geändert
    Alle anderen Admin Accounts gelöscht
    Das Head/Footer Plugin per FTP gelöscht
    Einige files (.css files in einem dubiosen Folder) entfernt die Wordfence bemeckert hat

    Lt. Wordfence ist jetzt alles clean und es gab auch bisher keine weiteren externen Anmeldeversuche.
    Mal sehen, was die nächsten Tage bringen.

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Einige files (.css files in einem dubiosen Folder) entfernt die Wordfence bemeckert hat

    Diese häufig verwendete Vorgehensweise, nur bestimmte, verdächtige Dateien zu entfernen, kann dazu führen, dass du Backdoors übersiehst und wenige Tage später von vorne anfängst. Ich hätte mir nicht die Mühe gemacht, den kompletten Prozess so ausführlich zu beschreiben, wenn es so einfach wäre.

    Deine Website, deine Regeln. Ich drücke die Daumen, dass du „alles erwischt“ hast und wenn Wordfence nichts mehr findet … was soll da schon schief gehen.

Ansicht von 14 Antworten – 1 bis 14 (von insgesamt 14)
  • Das Thema „Plugin wird nicht angezeigt“ ist für neue Antworten geschlossen.