Web-Shell-Angriffe auf Windows-Netzwerke verhindern

Oft verwenden Angreifer Web-Shells, um legitime Dateien zu imitieren und dadurch Web-Server zu kompromittieren. Diese bewährten Verfahren verringern Ihr Risiko. [...]

Web-Shells gehört zu den häufigsten Tools für Angreifer, auf Ihr Netzwerk zuzugreifen (c) Pixabay.com

Ein Mittel, das Kriminelle verwenden, um auf Ihre Webserver zuzugreifen, nennt sich Web-Shell. Eine Web-Shell ist ein schädliches Skript, das sich als legitime Datei ausgibt und so eine Hintertür in Ihren Server bietet. Neueste Richtlinien der US National Security Agency (NSA) und des Australian Signals Directorate (ASD) bieten Techniken zur Erkennung und Verhinderung von Web-Shell-Malware, die Web-Server schädigen kann. Das NSA-Dokument beschreibt Web-Shell-Malware als eine seit langem bestehende, allgegenwärtige Bedrohung, die nach wie vor viele Sicherheitstools umgeht.

Die Erkennung kann schwierig sein. Web-Shells zielen auf bestehende Anwendungen und Dateien ab. Da sie richtige Dateien auf Ihrem System imitieren, ist es oft schwierig, festzustellen, ob ein Angriff stattgefunden hat. Im Folgenden erfahren Sie, wie Sie Web-Shell-Angriffe auf ein Windows-Netzwerk am besten erkennen und verhindern können.

1. Vergleichen Sie Dateien

Beginnen Sie damit, die Dateien auf dem Rechner mit bekannten bewährten Dateien zu vergleichen. Vergleichen Sie Datums- und Zeitstempel und insbesondere SHA-2-Hash-Werte. Sie können auch Windiff verwenden, um Dateien zu vergleichen und festzustellen, ob ein Angreifer sie durch eine ähnliche Datei ersetzt hat.

2. Überprüfen Sie den Web-Traffic

Überprüfen Sie den Web-Traffic auf ungewöhnliche Traffic-Muster. Stellen Sie sicher, dass Sie die Protokollierung auf Ihrem Internet Information Services (IIS)-Webserver aktiviert haben. Möglicherweise sollten Sie sowohl die IIS-Protokollierung als auch die Ereignisverfolgung für Windows (ETW) aktivieren. Entscheiden Sie, ob Sie vorhaben, diese Protokolldateien an einen externen Speicherort zu exportieren, und wie lange Sie diese Protokolle aufbewahren wollen.

3. Gleichen Sie Zeitstempel ab

Stimmen Sie die Zeitstempel auf den Systemen so ab, dass sie für Ihre Bedürfnisse geeignet sind. Früher lautete die Empfehlung, die Zeitzone der Webserver so einzustellen, dass sie mit der Zeitzone des physischen Standorts des Servers übereinstimmt. Dies würde es Ihnen ermöglichen, Ereignisse abzugleichen, da sich physische Server und Firewalls in der Regel im selben Rechenzentrum befinden.

In der heutigen 24/7-Welt, in der wir leben, gehen viele Menschen zur Coordinated Universal Time (UTC) über, damit sie die Netzwerk-Protokollierung weltweit abgleichen können. Angesichts der Tatsache, dass Technologie wahrscheinlich durch verschiedene Cloud-Eigenschaften läuft, kann es Ihnen die Tatsache, dass sich Ihr gesamtes Netzwerk in der gleichen Zeitzone befindet, ermöglichen, Ereignisse besser zu untersuchen und Zusammenhänge zu ermitteln.

4. Prüfen Sie auf Anomalien

Verwenden Sie ein PowerShell-Skript zur Überprüfung auf Anomalien. Die signaturbasierte Erkennung kann auch mit Tools wie Snort durchgeführt werden, aber das ist oft schwierig, da hartnäckige Angreifer die Art und Weise ändern werden, wie sie den Netzwerkverkehr verarbeiten, um ihre Aktivitäten schwieriger erkennbar zu machen.

5. Patchen Sie Webanwendungen

Angreifer zielen häufig auf Webanwendungen ab, da sie dazu neigen, dass sich auf stark frequentierten Servern das Patchen häufig verzögert. SharePoint-, Exchange-, Citrix- und sogar WordPress-Implementierungen auf Windows-Servern werden häufig als Zugang zum Netzwerk ins Visier genommen. Stellen Sie sicher, dass die für das Patching Verantwortlichen über die gesamte auf Ihren Servern installierte Software informiert sind, und beachten Sie insbesondere jegliche Verwaltungssoftware oder Software für den Fernzugriff, die Angriffspunkte bieten könnte. Überprüfen Sie externe Datenbanken mit öffentlichen Exploits und priorisieren Sie die Patches entsprechend.

6. Verwenden Sie ein Zero-Trust-Modell

Eine Netzwerktrennung wird empfohlen, kann aber komplex sein. Wenn Sie können, versuchen Sie, ein Zero-Trust-Modell zu implementieren, das sich auf die folgenden Konzepte konzentriert:

  • Ein Identitätsprovider führt den Überblick über Benutzer und benutzerbezogene Informationen.
  • Ein Geräteverzeichnis führt eine Liste von Geräten, die Zugriff auf Unternehmensressourcen haben, zusammen mit den entsprechenden Geräteinformationen (z.B. Gerätetyp, Integrität).
  • Ein Richtlinien-Evaluierungsdienst stellt fest, ob ein Benutzer oder ein Gerät mit der von Sicherheitsadministratoren festgelegten Richtlinie übereinstimmt.
  • Ein Zugriffsproxy verwendet die oben genannten Signale, um den Zugriff auf eine Unternehmensressource zu gewähren oder zu verweigern.

Zero Trust stellt sicher, dass Mitarbeiter weiterhin Zugriff auf alle benötigten Ressourcen haben, ist aber stärker auf die Verfolgung der Identität angewiesen als das herkömmliche Sicherheits- und Berechtigungsmodell, das üblicherweise für firmeninterne Netzwerke verwendet wird. Lassen Sie beim Übergang zu diesem Modell nicht zu, dass Web-Anwendungen in ein im Web zugängliches Verzeichnis schreiben. Wenn Sie dazu nicht in der Lage sind, dann implementieren Sie eine Dateiintegritätsüberwachung.

7. Verwenden Sie ein IPS und eine WAF

Intrusion Prevention ist auch der Schlüssel zur Verhinderung von Web-Shell-Angriffen. Intrusion-Prevention-Systeme (IPS) und Web-Anwendungs-Firewalls (WAF) fügen jeweils eine Verteidigungsschicht für Web-Anwendungen hinzu, indem sie einige bekannte Angriffe blockieren. SQL-Injektionen zum Beispiel sind oft eine Möglichkeit, wie Angreifer mittels Techniken, die bestimmte Muster präsentieren, Zugriff auf den Webserver erhalten.

8. Halten Sie sich an eine Politik der geringsten Privilegien und des geringsten Zugriffs

Denken Sie beim Einrichten von Webservern immer an die geringsten Privilegien und den geringsten Zugriff. Beschränken Sie den Port-Zugriff auf die kleinstmögliche Anzahl von Ports, die für die Aktivität benötigt werden. Es ist nicht mehr akzeptabel, den Standard-SQL-Port für das interne Netzwerk offen zu lassen. Denken Sie jetzt daran, wie der Angreifer sowohl von innerhalb als auch von außerhalb des Netzwerks zugreifen und angreifen kann.

9. Verwenden Sie Sysmon

Wenn Sie dies noch nicht getan haben, installieren Sie abschließend Microsofts Sysmon. Sysmon protokolliert Informationen darüber, wie jeder Prozess erstellt wird. Diese Informationen sind wertvoll, um die Art von anomalem Verhalten zu identifizieren, das eine bösartige Web-Shell bewirkt. Installieren Sie das Tool und portieren Sie dann die resultierenden Protokolle auf ein SIEM-Tool (Security Information and Event Management). Sie könnten in Erwägung ziehen, Microsoft Sentinel als Repository für Ihre Sysmon-Protokolle zu verwenden.

*Susan Bradley schreibt unter anderem für CSO.com.


Mehr Artikel

Kommentar

Was wir aus der Coronakrise lernen: Die Zukunft der Büroarbeit

Nach Wochen der Verunsicherung ist klar: Corona wird unseren Lebens- und Arbeitsalltag noch lange beeinflussen. Wie werden wir die Büroarbeit längerfristig organisieren, wenn wieder mehr Normalität eingekehrt ist? Torsten Bechler, Manager Product Marketing Sharp Business Systems, erklärt welche Prognosen sich aus der aktuellen Situation für die Zukunft der Büroarbeit ableiten lassen. […]