Gehackte Websites erkennen und vermeiden

Wurde deine Website gehackt?
Wie du eine gehackte Website erkennst und was du tun kannst, um Hackerangriffe zu vermeiden, erfährst du hier.

Seit es Websites gibt, gibt es Personen, die Websites hacken.
Die Gründe dafür sind vielfältig und reichen von reiner Boshaftigkeit, über idealistische Gründe (den Leuten aufzuzeigen, dass sie sich mehr um Sicherheitslücken kümmern sollen) bis hin zu kriminellen Hintergründen wie Datenklau, Umleitung von Traffic, Geld verdienen mit platzierter Werbung, die wahrscheinlich die häufigsten Gründe für gehackte Websites darstellen.

Wie stelle ich fest, ob meine Website gehackt wurde?

Wenn du die Vermutung hast, dass deine Website gehackt worden ist, dann hat das wahrscheinlich einen oder mehrere der folgenden Gründe:

  • Die Website ist nicht mehr erreichbar. Unter der Domain ist nichts mehr ersichtlich oder es kommt eine Fehlermeldung mit 404 oder 503. Eine "kaputte" Website kann aber auch andere Ursachen haben und es muss nicht zwangsweise ein Hackerangriff dahinter stecken.
  • Auf der Website werden Dinge dargestellt, die man nicht eingepflegt hat. zB. obszöne Bilder oder Links zu dubiosen Seiten. Das kann nicht nur die Startseite betreffen, sondern auch nur auf vereinzelten Unterseiten auftreten. Hierzu ist es wichtig, dass die gesamte Website inkl. aller Unterseiten überprüft wird.
  • Beim Besuch der Website wird man auf dubiose Seiten weitergeleitet.
  • Greift man über eine Suchmaschine, zB Google, auf die Website zu, werden Weiterleitungen verursachen. Das passiert nicht, wenn man direkt über die Eingabe der URL im Browser auf die Website zugreift, sondern nur, wenn man in der Google Suche auf die Website in den Suchergebnissen klickt. Man landet dann auf dubiosen Websites, die entweder fragwürdige Inhalte anbieten oder Websites, die gezielt Viren verbreiten wollen.
  • Es werden von Google und anderen Suchmaschinen Inhalte indiziert, die auf der Website nicht sichtbar sind. Die Inhalte sind auf der Website zwar da, aber ausgeblendet und für normale BesucherInnen nicht sicher. Nur der Suchmaschinen Crawler sieht diese Inhalte und nimmt diese in den Index auf. Die Folge ist, dass man zu dubiosen Suchworten die eigene Website in den Suchergebnissen findet.
  • Im Backend gibt es Benutzernamen, die man selbst nicht erstellt hat. Diese Nutzer verfügen meist über Administratorrechte und haben vollen Zugriff auf die Website.
  • Es sind Plugins oder Erweiterungen installiert, die man nicht selbst installiert hat. Im Falle von WordPress können es Plugins sein, die File-Uploads ermöglichen. Mithilfe dieser Plugins werden anschließend Dateien mit Dateiendungen wie .php oder .js hochgeladen, die anschließend über den Browser aufgerufen und ausgeführt werden. Das Aufrufen und Ausführen dieser Dateien kann erheblichen Schaden auf dem Server anrichten.
  • Die Navigation in der Website verlinkt auf dubiose externe Seiten. Es kann auch sein, dass nicht nur die Navigation betroffen ist, sondern auch Links im Cookie-Banner oder einfache Links im Content oder im Footer.
  • Auf dem Webserver befinden sich Dateien mit kryptischen Namen und kryptischen Inhalten.
  • Die Website wurde von Google bereits als gehackt erkannt und auf eine Blacklist gesetzt.
  • Die Google Search Console zeigt Security Probleme auf.

Welche Website Hacks gibt es?

Es gibt unzählige verschiedene Hacks, die auf unterschiedliche Dinge abzielen. Die am meisten verwendeten Hacks sind folgende:

 

Phishing

Beim Phishing wird versucht, an Kundendaten zu kommen und deren Identität zu stehlen. Man ist auf E-Mail-Adressen und Passwörter, sowie Kreditkarten- und Bankdaten aus. Die Daten werden ausgelesen und geklaut in der Hoffnung diese an anderen Orten wiederverwenden und damit Geld machen zu können oder die Daten werden im Darknet verkauft.

 

Einschleusen von Inhalten - SEO-Spam / Content Hack / Google Hack (Cloaked Keywords)

Es werden Keywords und Links auf der Website platziert, damit die eigene Website für dubiose Keywords in den Suchmaschinen platziert wird. Der Inhalt wird dabei auf der Website so platziert, dass er nicht oder nur kaum sichtbar ist. Entweder ist er unsichtbar oder ganz weit unten, sodass man sehr weit runterscrollen muss, um den Inhalt überhaupt zu sehen. Diese Inhalte werden von den Suchmaschinen erfasst und somit wird für die Keywords ein Ranking in der Google Suche erzielt. Es kann auch passieren, dass nicht nur Inhalt auf bestehenden Seiten eingeschleust wird, sondern auch komplette Seiten eingeschleust werden, die anschließend von Google indiziert werden. Auf diesen Hack wird man oft nur zufällig aufmerksam.

 

Redirects

Es werden die BesucherInnen der Website auf Spam-Seiten weitergeleitet.
Es gibt dazu verschiedene Möglichkeiten:

  • Die Weiterleitung auf die Spam-Seite erfolgt direkt beim Seitenaufruf
  • Die Weiterleitung auf die Spam-Seite erfolgt nur beim Klick auf ein Suchergebnis in der Google Suche
  • Die Weiterleitung erfolgt beim Klick auf einen Navigationspunkt
  • Die Weiterleitung erfolgt beim Klick in den Cookie-Banner

Es kann vorkommen, dass die Weiterleitungen nicht immer Anwendung finden, sondern nur bei den ersten X Aufrufen einer Website. Dahinter werden IP-Adressen geloggt und nach einer bestimmten Anzahl werden Redirects für die IP nicht mehr ausgeführt. Das erschwert das Auffinden der Hacks und vermittelt den Personen hinter dem Bildschirm, dass es sich vielleicht nur vorübergehend um eine Fehlfunktion gehandelt hat oder man vielleicht wo falsch geklickt hat.

Achtung: Redirect Checker wie https://www.redirect-checker.org/ und auch Google Safe Browsing erkennen die Redirect oft nicht.

 

Mailer

Es wird eine Mailschnittstelle von zB WordPress ausgenutzt und es werden unzählige Spam-Mails über den eigenen Mailserver verschickt. Üblicherweise erfolgt der Mailversand so lange, bis dieser vom Hoster gesperrt wird oder das Tageslimit an E-Mails erreicht ist.

 

Nähere Informationen zu den verschiedenen Hacks können auch in der Spamrichtlinie von Google gefunden werden.

Wie kommen die Hacker in die Website?

Die Hacker machen sich meist Sicherheitslücken im CMS selbst oder den verwendeten Plugins zu nutzen. Es ist aber auch möglich, dass sich Hacker Zugriff verschaffen über Sicherheitslücken in PHP, MySQL oder einer Serververwaltungssoftware.

Eine weitere Angriffsoberfläche bieten unsichere Passwörter, Login-Masken, die nicht mit SSL verschlüsselt sind oder Upload-Felder in Formularen wie zB Kontaktformularen.

Verwendet man Zugangsdaten für ein CMS Backend, die irgendwo geleakt wurden, ist das natürlich auch ein Sicherheitsrisiko.

Unzureichend sichere Passwörter für die E-Mail-Adresse können ebenfalls zur Falle werden, da die E-Mail-Adresse einerseits zum Passwort zurücksetzen verwendet wird, andererseits oft Zugangsdaten für das CMS im E-Mailaccount in alten E-Mails zu finden sind.

    Wie kann ich mich vor Hackerangriffen schützen?

    Um von Hackerangriffen verschont zu bleiben, kann man Vorkehrungen treffen, um erst gar keine Sicherheitslücken aufzumachen. Präventive Arbeit ist die einzige Möglichkeit, sich vor erfolgreichen Angriffen zu schützen. Angreifen werden die Hacker zwar trotzdem, aber sie werden die Tür nicht öffnen können, wenn diese von innen gut verbarrikadiert ist.

    Hier die wichtigsten Tipps:

    1. Verwende keinen User namens „admin“ oder „office“ für das Backend
    2. Verwende sichere Passwörter und möglichst unterschiedliche Passwörter
    3. Erstelle regelmäßige Backups
    4. Halte deine Website am aktuellen Stand
    5. Verwende ein Plugin, dass Login-Versuche blockiert
    6. Schütze deine Informationen im CMS
    7. Lösche nicht verwendete Daten
    8. Schütze die Seite mit SSL
    9. Deaktiviere den Datei-Editor im WordPress
    10. Verwende die Google Search Console, um Suchworte zu beobachten
    11. Sieh dir regelmäßig deine eigene Website an und überprüfe diese auf Auffälligkeiten
    12. Google dich selbst und dein Unternehmen in regelmäßigen Abständen und klicke auf die Suchergebnisse

    1. Verwende sichere Benutzernamen

    Die Benutzernamen „admin“ oder „office“ werden am häufigsten bei Hackerattacken verwendet. In Server-Logs kann man sehr gut erkennen, wie oft es Loginversuche mit diesen oder auch anderen Usernamen gibt.

    Ein Problem im WordPress ist, dass die WordPress API grundsätzlich für alle offen steht, wenn diese nicht explizit gesperrt wird. Die meisten Seiten benötigen die API gar nicht (zumindest nicht im Frontend), warum es unserer Meinung nach eine unnötige Sicherheitslücke darstellt, dass diese standardmäßig aktiviert ist. Nichtsdestotrotz kann man über die API coole Sachen machen. Auch SYSSY verwendet die API.

    Ein Problem bei den API-Daten ist, dass man alle User und deren Usernamen sowie E-Mail-Adressen auslesen kann. Die API-Abfrage über die URL /wp-json/wp/v2/users liefert eine Liste aller User. Die API lässt sich aufrufen, indem man an die URL den gewünschten API Endpoint anhängt, zB www.meinedomain.at/wp-json/wp/v2/users.

    Hat man erstmal die User, kann man problemlos alle Usernamen mit beliebigen Passwörtern probieren, solange bis man erfolgreich eingeloggt ist.

    Schützen kann man sich davor, indem man zB ein Plugin installiert, dass die API sperrt wie zB Disable WP REST API. Dieses Plugin bietet die Möglichkeit, die gesamte API zu sperren, aber über die Settings einzelne API Endpoints wieder zu aktivieren, die benötigt werden. Hast du das SYSSY Plugin installiert, gibt es einen eigenen Punkt für SYSSY, den man wieder freigeben kann.

    Man kann auch einzelne Endpoints der WordPress API über PHP-Code sperren, zB genau diesen Endpoint für das Auslesen der User. Füge folgendes Code-Snippet in die functions.php deines Themes ein und teste den Endpoint:

    //disable user rest api
    add_filter( 'rest_endpoints', function( $endpoints ){
        if ( isset( $endpoints['/wp/v2/users'] ) ) {
            unset( $endpoints['/wp/v2/users'] );
        }
        if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
            unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
        }
        return $endpoints;
    });

    Anstatt einer User-Liste erscheint dann eine Fehlermeldung.

    Verwendest du kein eigenes Theme, empfehle ich den Einsatz eines Plugins.

    2. Verwende sichere Passwörter und schütze diese

    Achte darauf, dass du sichere und einzigartige Passwörter für Backend, FTP, Datenbank und den Login beim Hoster verwendest. Verwende auch nicht die gleichen Zugangsdaten wie zB auf Facebook oder Instagram. Auch das Passwort für den E-Mailaccount sollte ein sicheres sein und mit niemandem geteilt werden.

    Das Passwort für deinen CMS User sollte nur für diese Website verwendet werden und sicher sein:

    • Keine Wörter aus dem Wörterbuch oder Namen von Städten oder Ländern, zB "Linz" wäre ein sehr schlechtes Passwort. Auch "Linz1234" ist nicht gut.
    • Min. 8 Zeichen
    • Kombination aus Buchstaben und Zahlen
    • Min. 1 Sonderzeichen
    • Ein Passwort muss auch nicht unbedingt kryptisch sein, sondern kann auch aus einer Phrase bestehen, die man sich einfach merken kann, wie zB MeinPAPAhateinrotesAuto34! oder MeinMuziHeisstMINKIundistsieben34!

    Verschicke keine Passwörter per E-Mail und verwende, wenn möglich, einen Passwort-Manager zum Verwalten deiner Passwörter.

    Solltest du schon mal wissentlich gehackt worden sein über Facebook oder eine andere Plattform, dann verwende dieses Passwort nirgendwo mehr. Die Passwörter landen in einer Datenbank und werden genau für solche Zwecke herangezogen.

    Auf https://haveibeenpwned.com/ kannst du überprüfen, ob deine E-Mail-Adresse schon einmal in einem Account gehackt wurde. Wenn ja, dann verwende dieses Passwort nicht mehr, dass du in diesem Account jemals verwendet hast.

    3. Erstelle regelmäßige Backups

    Mache Backups in regelmäßigen Abständen und erkundige dich, wie oft der Hoster ein Backup anfertigt und wie lange dieses aufgehoben wird.
    Gehackte Websites werden oft erst spät erkannt – nach mehreren Wochen, oder Monaten – und die Backups beim Hoster sind dann oft schon weg.
    Manche Hoster bieten zwar Backups an, aber das Einspielen dieser Backups ist kostenpflichtig. Auch hier kann man sich vorab informieren.

    Für WordPress gibt es Plugins, die automatisch Backups erstellen und diese zB in eine Dropbox speichern. Wichtig ist es, dass die Backups außerhalb des Webspaces gespeichert werden, auf dem deine Website liegt. Im schlimmsten Fall können sonst auch die Backups von den Hackern gelöscht werden.

    4. Überwachung von CMS und Plugins auf Sicherheitslücken

    Es werden in unregelmäßigen Abständen Sicherheitsupdates für CMS und Plugins veröffentlicht. Diese Updates gilt es schnell einzuspielen, vor allem bei WordPress.

    Bei beliebten und sehr weit verbreiteten Systemen wie WordPress ist die Hacker-Rate eine sehr hohe. Sobald eine Sicherheitslücke für ein Plugin veröffentlicht wird, heißt es schnell sein. Die Hacker finden umgehend eine Möglichkeit, die Sicherheitslücke auszunutzen und beginnen mit den weltweiten Attacken.

    Umso beliebter ein Plugin ist und umso öfter es im Einsatz ist, umso schneller agieren die Hacker, da die Wahrscheinlichkeit einen Schaden anzurichten am höchsten ist. Websites werden automatisch gescannt und auf Sicherheitslücken geprüft. Wird eine Sicherheitslücke gefunden, sind die Hacker quasi schon drinnen.

    Bei Plugins, die millionenfach eingesetzt werden, wie zB Elementor ist es noch dazu auf den ersten Blick zu erkennen, ob das Plugin verwendet wird. Ein einfacher Check des Quellcodes gibt Aufschluss darüber.

    Mein Tipp lautet: Umso beliebter das Plugin mit der Sicherheitslücke, umso schneller updaten! Idealerweise noch am selben Tag.

    5. CMS Login schützen

    Eine beliebte Methode, um eine Website zu hacken ist es, Unmengen von Logindaten in die Anmeldemaske einzugeben und so zu versuchen, ob nicht doch ein Login klappt. Beliebt ist hierbei der Benutzername „admin“, der in Kombination mit Passwortdatenbanken getestet wird.

    Für WordPress gibt es Plugins wie zB Limit Login Attempts Reloaded, das nach ein paar fehlgeschlagenen Logins die IP-Adresse sperrt.

    Es kann der Login auch nur für bestimmte IP-Adressen freigegeben werden oder generell der Login über einen .htaccess Login gesperrt werden.

    6. Schütze deine Informationen im CMS

    Es werden von verschiedenen CMS in das HTML Tag „generator“ Versionen von CMS oder Plugins geschrieben.

    Im Falle von WordPress schreibt das CMS selbst rein, oder auch gerne Plugins wie WPML, WooCommerce oder Elementor schreiben hier gerne Informationen mit der Angabe von Versionsnummern.
    In TYPO3 wurde in älteren Versionen noch die TYPO3-Version das Tag geschrieben, aber bei neueren TYPO3-Versionen wurde die Versionsnummer weggelassen und es scheint nur noch „TYPO3“ auf.

    Das Tag kann so aussehen:

    <meta name="generator" content="WordPress 6.2.2">

    Ist die Version von CMS oder einzelnen Plugins hier sichtbar, ist es für die Hacker ein einfaches Spiel, weil sofort erkannt werden kann, welche Version im Einsatz ist und ob es bestimmte Sicherheitslücken in dieser Version gibt, die man ausnützen kann.

    Meine Empfehlung ist, das Tag komplett zu entfernen. Das kannst du in WordPress mit folgendem Code-Snippet, dass du in deine functions.php einfügst, erreichen:

    remove_action('wp_head', 'wp_generator');

    Bei manchen Themes oder verwendeten Plugins kann es schwierig sein, dieses Tag zu entfernen. Man kann sich vielleicht mit einem Plugin helfen oder in den Plugin- oder Themeeinstellungen nach einer Deaktivierung suchen.

    7. Lösche nicht verwendete Daten

    Wenn du noch alte Plugins, Extensions oder Themes in deinem CMS liegen hast, die zwar nicht aktiv sind, aber noch vorhanden, solltest du diese löschen. Vor allem, wenn diese veraltet sind und keine Updates mehr erhalten. Selbst inaktive Plugins können Sicherheitslücken darstellen.

    8. Schütze die Seite mit SSL

    Verwende immer ein SSL-Zertifikat, vor allem wenn es auf deiner Website Dinge gibt wie Kontaktformulare.

    Ein SSL-Zertifikat gibt es meist in gratis Form eines Let’s Encrypt Zertifikates bei deinem Hoster.

    Wichtig ist, nach der Installation des Zertifikates in den CMS Einstellungen die URL auf https zu stellen und eine Weiterleitung von http auf https einzurichten. Diese Weiterleitungen kannst du größtenteils direkt über das Backend vom Hoster einrichten.

    Gibt es im Hostingpaket keine Möglichkeit für die Einrichtung einer Weiterleitung, kannst du die Weiterleitung in der .htaccess Datei auf deinem Webserver einrichten. Hier ein Beispiel von einer Weiterleitung auf https in der .htaccess:

    <IfModule mod_rewrite.c>
        RewriteEngine On

        #redirect to https
        RewriteCond %{HTTPS} !on
        RewriteCond %{HTTP_HOST} syssy\.net$
        RewriteRule ^(.*)$ https://www.syssy.net/$1 [R=301,L]
    </IfModule>

    9. Deaktiviere den Datei-Editor im WordPress Backend

    In WordPress kann man standardmäßig über Design -> Theme-Datei Editor die Theme-Dateien direkt über WordPress bearbeiten.

    Um diese Funktion zu sperren, kann man in der wp-config.php folgendes Code-Snippet hinzufügen:

    ## disable theme editor
    define('DISALLOW_FILE_EDIT', true);

     

    10. Verwende die Google Search Console

    Ein regelmäßiger Blick in die Google Search Console kann sehr aufschlussreich sein. Es wird dir unter anderem angezeigt, mit welchen Suchworten die Seite am meisten gefunden wird oder welche Seiten am häufigsten aufgerufen werden. Erkennst du hier dubiose Suchworte, für die du kein Ranking erwartet hast, kann das ein Zeichen dafür sein, dass die Website gehackt wurde. Auch siehst du, ob hier Zugriffe auf Seiten erfolgen, die es gar nicht geben sollte und die vielleicht über einen Hack eingeschleust wurden.

    Erkennt Google Sicherheitsprobleme auf deiner Website, wirst du über die Search Console benachrichtigt und kannst dementsprechende handeln.
    Google erkennt solche Hacks aber in der Regel erst sehr spät (wenn überhaupt). Und wenn die Probleme bei Google angekommen sind, ist es schwierig wieder gutes Ranking zu erhalten, da die Seite dementsprechend abgestuft wird.

    Wie oft muss ich die Website updaten?

    Sobald ein Sicherheitsupdate veröffentlicht wird, sollte dieses umgehend eingespielt werden.

    Für den WordPress Core funktioniert das fast immer automatisch, außer man hat diese Funktion deaktiviert. Für die Plugins gibt es ebenfalls die Möglichkeit der automatischen Updates, dieser Funktion stehe ich allerdings kritisch gegenüber und würde dieser nicht unbedingt vertrauen. Es ist wichtig, dass man die Seite nach Updates testet, vor allem bei großen Plugins wie Elementor oder WooCommerce können oft Probleme auftreten und man muss vielleicht im Theme noch Dinge anpassen, damit alles reibungslos funktioniert.

    Bei manchen Hostern gibt es auch für TYPO3 automatische Updates für Security Releases. Ein Vergleich bei den Hostern lohnt sich hier auf alle Fälle.

    Bei Hackerangriffen spielt es keine Rolle, ob es sich um die große Website eines Konzerns, die kleine Website eines Einzelunternehmens oder um einen privaten Blog handelt. Den Hackern ist das egal. Es wird einfach global gescannt und wer Pech hat, wird als Zielscheibe auserkoren.

      Noch ein paar Tipps zum Schluss:

      • Die Website nach dem Go-Live in der Google Search Console registrieren, dann wirst du über Security Probleme auch von Google benachrichtigt.
      • Die Website regelmäßig überprüfen, sowohl manuell als auch mit einer Software wie SYSSY.
      • Die Website regelmäßig updaten, sowohl den CMS Core als auch die Plugins und Themes.
      • Update deine Website wann immer es notwendig ist und nicht nur einmal pro Jahr. Am besten verwendest du ein Tool, das dich bei Sicherheitslücken benachrichtigt. SYSSY hilft dir gerne dabei.

      Deine Website wurde gehackt?

      Wir können dich bei der Bereinigung deiner Website unterstützen.

      Jetzt Hilfe holen


      Lass dich beim Website Management unterstützen

      Du willst Hilfe bei der Websiteverwaltung?
      SYSSY arbeitet für dich im Hintergrund!

      Jetzt kostenlos anmelden


      Das könnte dich auch interessieren

      Blog - Warum TYPO3 Monitoring wichtig ist

      Eine regelmäßige TYPO3-Überwachung verschafft einen guten Überblick und ermöglicht rasches Reagieren auf Probleme und Sicherheitslücken.

      Was die…

      Weiterlesen

      Datenschutzkonformes Tracking von Website Besucher*innen und das auch noch ohne Cookie-Banner?

      Ja, das geht! Mit welchem Tool das umsetzbar ist,…

      Weiterlesen

      Wir haben eine gehackte WordPress Website untersucht und versucht herauszufinden, was passiert ist.

      Weiterlesen