Exploit
Im IT-Umfeld bezeichnet ein Exploit den Angriff auf ein Computersystem, insbesondere dann, wenn eine bestimmte Sicherheitslücke ausgenutzt wird, die ein System für einen Eindringling angreifbar macht. Wird der Begriff als Verb benutzt, bezieht er sich auf die erfolgreiche Durchführung eines solchen Angriffs.
Ein Exploit nutzt beispielsweise eine Schwachstelle in einem Betriebssystem, einer Anwendung oder einer anderen Software aus. Die Hersteller der Software geben daraufhin in der Regel einen Korrektur oder einen Patch heraus, um die Sicherheitslücke zu schließen. Die Anwender der Lösung sind für die Beschaffung des Patches verantwortlich, oftmals wird dies automatisch vom Betriebssystem oder der Anwendung angezeigt und heruntergeladen. Wird ein Patch für ein bestimmtes Problem nicht installiert, ist der Anwender einem Exploit und der Möglichkeit einer Sicherheitsverletzung ausgesetzt.
Typische Exploits
Sicherheitslücken und Exploits gibt es in unterschiedlichsten Ausprägungen. Zu den häufigsten webbasierten ausgenutzten Schwachstellen und Angriffen gehören SQL Injection und Cross Site Scripting sowie der Missbrauch von fehlerhaftem Authentifizierungscode oder falschen Sicherheitskonfigurationen.
Exploits lassen sich auf verschiedene Weise in Kategorien einteilen, je nachdem, wie die Exploits funktionieren und welche Art von Angriffen sie betreffen. Der bekannteste Exploit-Typ dürfte der Zero-Day-Exploit sein, bei dem eine Zero-Day-Lücke ausgenutzt wird. Eine Zero-Day-Schwachstelle trifft auf, wenn beispielweise eine Software eine kritische Sicherheitslücke enthält, die dem Hersteller nicht bekannt ist. Manchmal wird die Schwachstelle erst dann bekannt, wenn ein Angreifer entdeckt wird, der die Schwachstelle ausnutzt, daher der Begriff Zero-Day-Exploit. Sobald eine solche Schwachstelle ausgenutzt wird, sind Systeme, auf denen die Software läuft, anfällig für Angriffe. Dies, bis der Hersteller einen Patch zur Behebung der Schwachstelle herausgibt und der Patch auf der Software eingespielt wird.
Exploits lassen sich durch das erwartete Ergebnis des Angriffs charakterisieren, wie zum Beispiel Remote-Code-Ausführung, Rechteausweitung, Dienstverweigerung oder Verbreitung von Malware. Zudem können Exploits auch durch die Art der ausgenutzten Schwachstelle eingestuft werden. Dazu gehören Pufferüberlauf (Buffer Overflow), Code Injection oder andere Arten von Eingabevalidierungsschwachstellen.
Wie kommt es zu Exploits?
Exploits können auf unterschiedlichste Weise auftreten. Eine gängige Methode ist, dass Exploits von präparierten Websites aus gestartet werden. Das Opfer kann zufällig auf eine solche Website gelangen, oder es wird über einen Link in einer Phishing-Mail dazu verleitet. Präparierte Websites können beispielsweise mit Exploit-Packs ausgestattet sein, die bösartige Software enthalten, mit der Angriffe auf verschiedene Browserschwachstellen gestartet werden können. Solche Angriffe zielen in der Regel auf ungepatchte Browser, JavaScript-Schwachstellen oder Browser-Plug-ins ab. Üblicherweise zielen diese Angriffe darauf ab, Malware auf dem System des Opfers zu installieren.
Automatisierte Exploits dieser Art bestehen häufig aus zwei wesentlichen Komponenten: Dem Exploit-Code und dem Shell-Code. Der Exploit-Code ist die Software, mit der versucht wird, eine bekannte Sicherheitslücke auszunutzen. Der Shell-Code ist die Nutzlast (Payload) des Exploits. Das bedeutet, die Software, die ausgeführt werden soll, sobald das Zielsystem angegriffen wurde. Die Bezeichnung Shell-Code rührt daher, dass einige dieser Payloads eine Befehls-Shell öffnen, in der dann Befehle ausgeführt werden. Das ist allerdings nicht in allen Fällen so.
Eine der bekanntesten Sicherheitslücken und Exploits der letzten Jahre dürfte EternalBlue sein, wo der Angriff auf eine Schwachstelle in einem Windows-Protokoll erfolgte. Sicherheitslücke wurde von Bedrohungsakteuren für die Ransomware-Angriffe WannaCry (siehe auch Microsoft: WannaCry ist ein Weckruf für alle) und NotPetya genutzt. Und auch lange nach dem ein Patch zur Verfügung stand, waren noch zahlreiche Systeme ohne Updates online auffindbar.