Got Hacked? Get Help!

Im Falle eines möglichen Webseiten- oder Servereinbruchs ist guter Rat teuer und schnelles Handeln absolut notwendig, um weiteren Schaden für Benutzer und das eigene Image abzuwenden, oder finanzielle Einbußen zu vermeiden. Sollten Sie Zweifel oder Anhaltspunkte haben, dass Ihre Webpräsenz kompromittiert wurde, können Sie jederzeit Kontakt zu uns aufnehmen; wir geben Ihnen eine unverbindliche Kurzanalyse und empfehlen die weiteren Schritte.

Im Folgenden wollen wir Ihnen eine kleine Anleitung zum Erkennen von Einbrüchen auf Webservern geben, und Erste Schritte bei der Wiederherstellung erklären.

Erkennen, ob eine Webseite kompromittiert wurde

Wenn eine Webpräsenz kompromittiert wurde besteht eine hohe Wahrscheinlichkeit, das den Besuchern Schadcode untergeschoben werden soll, der diese mit Viren oder Trojanern infizieren soll. Das kann sehr schnell zu negativen Auswirkungen auf die Reputation einer Webseite und das Image der dahinterstehenden Organisation führen.

Ein eindeutiges Zeichen für einen Hackereinbruch sind Warnungen von Virenscannern oder Safe-Browsing Tools der Browser, die vor dem Betreten dieser Seiten eindeutige Hinweise einblenden. Die Zeit zwischen dem Kompromittieren einer Webseite und entsprechenden Warnungen beträgt bei stark frequentierten Seiten einige Stunde und verlängert sich bei kleineren Webseiten auf einige Tage.

Das Bild stellt eine Browserwarnung vor Betreten eine infizierten Webseite dar.

Ein nächster guter Anhaltspunkt ist die Analyse des HTML-Outputs auf seltsame IFrames, unbekanntes Javascript oder sonstiger Includes von fremder Quelle.

Online-Tools

Es gibt im Internet einige Online-Tools, um Reputation von Domains und Quellcode von Webseiten auf schadhafte Inhalte zu überprüfen:

Erkennen, ob ein Server kompromittiert wurde

Nicht jeder Einbruch verändert Webseiten erkennbar, machmal bestehen die Ziele der Hacker nicht darin, den Besuchern Schadcode unterzuschieben, sondern in der Ausnutzung der Serverkapazitäten für Spam-Versand, DDos oder andere Angriffe. Erfolgreiche Angriffe dieser Art enden meist mit einem Vollzugriff des Angreifers auf den Server, sei es über Backdoors, PHPShells oder Rootkits.

Das Problem für den Webseitenbetreiber besteht darin, dass einerseits Serverresourcen nicht mehr zur Verfügung stehen, andererseits die Server-IP schnell auf Blacklisten landet und der Server geblockt wird. Dies kann u.U. alle auf dem Server laufenden Webseiten betreffen.

Ein Einbruch auf Serverlevel lässt sich schwieriger Erkennen als eine kompromittierte Webseite, ein Check der gängigen Blacklists kann nur ein erster Anhaltspunkt sein.

Folgende Zusatzmassnahmen können ratsam sein, um Servereinbrüche zu erkennen:

DDoS-Angriffe

DDoS (Distributed Denial of Service) - Angriffe haben das Ziel, einen Server oder Infrastruktur mit Anfragen zu überfluten und damit unerreichbar für reguläre Benutzer zu machen. Auch wenn diese Angriffe keine Gefahr für die auf den Systemen gespeicherten Daten bedeuten, so können Sie vor allem für Ecommerce-Systeme finanzielle Einbußen bedeuten.

Um DDoS - Angriffe abzuwehren sollten Sie Kontakt mir Ihrem Hoster / Service-Provider aufnehmen.

Erste Schritte nach Erkennen eines Einbruchs

Sollte der Hoster nicht bereits über den Einbruch Bescheid wissen, so sollte er spätestens jetzt informiert werden. Bei großen Massenhostern ist man häufig ohne zusätzliche Supportverträge auf sich selbst gestellt, aber die kleineren Hoster sind sehr aktiv, wenn es um Analyse und Beseitigung von Sicherheitsprobleme bei Kunden geht. Bitte nehmen Sie, wenn nicht bereits geschehen, unverzüglich Kontakt zu Ihrem Hoster auf und schildern Sie Ihre Erkenntnisse.

Server oder Webseiten, die eindeutig kompromittiert wurden, sollten sofort für weitere Analysen und Bereinigung vom Netz genommen werden, dies verhindert weiteren Schaden. Das folgende IPTables - Snippet sperrt alle ausgehenden und eingehenden Verbindungen, mit Ausnahme von SSH:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
#
# minimal firewall w/ onyl ssh
# 
# definitions

IPTABLES=`which iptables`
SSH_PORT="22"
POLICY="DROP"

# flushing old rules
$IPTABLES -F
$IPTABLES -X 
$IPTABLES -t nat -F
$IPTABLES -t nat -X

# creating general policy
$IPTABLES -P INPUT $POLICY
$IPTABLES -P OUTPUT $POLICY
$IPTABLES -P FORWARD $POLICY

# allowing SSH
$IPTABLES -A OUTPUT  -p tcp  --dport $SSH_PORT -m state --state ESTABLISHED,RELATED  -j ACCEPT
$IPTABLES -A INPUT -p tcp --sport $SSH_PORT -j ACCEPT 

Betreiber von ECommerce-Seiten oder Webpräsenzen mit Daten, die dem BDSG unterliegen sollten ab Erkennen eines Einbruchs professionelle Hilfe anfordern, da es darum geht, den unerlaubten Zugriff auf die sensiblen Daten durch Dritte zu unterbinden und festzustellen, ob ggfs. Daten illegalerweise kopiert wurden. Nähere Infos zum Thema BDSG und Verhalten als Betreiber gibt es hinter diesem Link

Wenn über die Webseiten Schadcode verteilt wird, sollte die Seite umgehend vom Netz genommen und eine Wartungsseite stattdessen geschaltet werden, um weitere Schäden bei Benutzern der Webseiten zu vermeiden.

Ist der Server "nur" kompromittiert, ohne das Webseiten geändert wurden, liegt es in Ihrem Ermessen, die Webseiten online zu lassen; ratsam ist es in keinem Fall, solange man nicht ausschliessen kann, das der oder die Hacker weiterhin Zugriff haben.

Als nächstes muss der Systemzustand für eine spätere Analyse gesichert werden; ein Systemsnapshot noch zur Laufzeit gibt Auskunft über laufende Prozesse und Netzverbindungen. Idealerweise bootet man dann den Server in einen Rescue-Modus, um ein sauberes System für die späteren Schritte zu haben.

Der erste Analyseschritt besteht darin, herauszufinden, wann und wozu die Hacker in das System eingebrochen sind und welche Daten eventuell geändert oder kopiert wurden. Dabei helfen Logs und eine Menge Erfahrung. Als nächstes kann mit Glück und Spucke anhand der auf dem Server normalerweise laufenden Applikationen und deren Logs herausgefunden werden, über welchen Weg die Hacker in das Systerm eindringen konnten. Das WIE ist wichtig, um die Lücken oder Probleme, die zum Einbruch führten, zuverlässig beseitigen zu können. Ansonsten besteht die Gefahr, selbst bei einem neu installierten System jederzeit wieder Hackerangriffen zum Opfer zu fallen.

Zusammenfassung

Zweite Schritte nach Erkennen eines Einbruchs

Nach Analyse der Einbruchswege und Schließen potentieller Lücke sollte das System neu aufgesetzt und ein aktuelles Backup aller Daten eingespielt werden. Hier ist darauf zu achten, ein sauberes System ohne mögliche Hintertüren und Zugangswege für die Angreifer zu installieren.

Für alle Logins und Zugänge, egal ob per HTTP, SSH oder Datenbanken, sollten sichere Passwörter neu generiert werden; jegliches Passwort und andere Zugangsmethoden wie SSH-Keys oder Zertifikate des Altsystems können als unsicher betrachtet werden und sollten nicht mehr benutzt werden.

Bei Ecommerce-Systemen oder Servern, auf denen personenbezogene Daten verarbeitet werden, muss untersucht werden, ob diese Daten ggfs verändert oder kopiert wurden; in diesem Fall sind alle Nutzer über den Einbruch zu informieren.

Nachdem der Weg gefunden wurde, den die Hacker in das System nehmen konnten müssen die Sicherheitslücken aus dem Weg geräumt werden, da ansonsten der nächste (automatisierte) Einbruch vorprogrammiert ist. Sollte die Lücke zwar bekannt, ein pacthen aber nicht möglich sein, so kann man Workarounds finden; bei WebApps bietet sich er Einsatz einer WebApplicationFirewall

Zusammenfassung

Arten der Einbrüche

Die folgende Liste enhält einige Wege, um in Web- und Online-Server einzubrechen.

Warum machen Cracker sowas?

Ziele:

Google will mit einer neuen Seite Webmastern im Falle eines Hacks helfen, die eigenen Dienste wieder sauber zu bekommen, Blacklisting zu umgehen oder schnellstmöglich aufzuheben.

In einem Blogpost erläutert das Google-Devteam näheres zu dieser Initiative, weitere Infos gibt es in einem Youtube - Video:

Disclaimer

Disclaimer I: Auch wenn der Begriff Cracker besser auf die bösen Buben mit den noch böseren Absichten passt, wird hier der Begriff Hacker verwendet, wenn es um die Personen hinter Servereinbrüchen geht.

Disclaimer II: Die nachfolgenden Tips und Hilfen sind als solche gedacht. Wer mit einem komplexen Thema wie Servereinbrüchen zu kämpfen hat, sollte sich grundsätzlich professionelle Hilfe holen, da ohne Analyse der Einbruchswege und Stopfen etwaiger Sicherheitslücken ein wiederholter Einbruch nur eine Frage der Zeit ist.

You code … we platform.