Exploit
Ein Exploit ist Code, eine Technik oder eine Sequenz von Aktionen, die eine spezifische Sicherheitslücke in Software, Hardware oder einem System ausnutzt, um unautorisierten Zugang oder Kontrolle zu erlangen.
Ein Exploit (von englisch to exploit - ausnutzen) ist ein Angriffswerkzeug oder eine Angriffstechnik, die eine konkrete Sicherheitsschwachstelle ausnutzt. Exploits können als Proof-of-Concept (PoC) zur Demonstration einer Schwachstelle dienen oder als Waffe in echten Angriffen eingesetzt werden.
Exploit-Typen
Remote Code Execution (RCE): Der Angreifer kann beliebigen Code auf dem Zielsystem ausführen, ohne physischen Zugang. Die gefährlichste Exploit-Kategorie.
Privilege Escalation: Erhöhung der Berechtigungen von einem normalen Nutzerkonto zu Administrator/root-Rechten.
SQL Injection: Einschleusung von SQL-Code in Datenbankabfragen, um Daten abzurufen, zu manipulieren oder zu löschen.
Buffer Overflow: Überschreiben von Speicherbereichen, um die Programmausführung zu kontrollieren. Klassische Technik, heute durch moderne Schutzmechanismen (ASLR, DEP) schwieriger.
Use-After-Free: Ausnutzung von Speicherverwaltungsfehlern, bei denen freigegebener Speicher erneut verwendet wird.
Exploit-Lifecycle
Ein Exploit durchläuft typischerweise mehrere Phasen:
- Discovery: Schwachstelle wird entdeckt (intern oder durch Sicherheitsforscher)
- PoC-Entwicklung: Erster Funktionsnachweis, oft ohne schädlichen Payload
- Weaponization: Entwicklung eines zuverlässigen, bewaffneten Exploits
- Public Disclosure / CVE: Veröffentlichung nach Koordination mit dem Hersteller (Responsible Disclosure)
- Patch: Hersteller veröffentlicht Fix
- Patch-Gap: Zeitfenster zwischen Patch-Veröffentlichung und flächendeckender Einspielung - Hochrisikoperiode
Exploit-Datenbanken (legitim)
- Exploit-DB (exploit-db.com): Archiv öffentlicher Exploits, betrieben von Offensive Security
- Metasploit Framework: Integriertes Exploit-Tool für autorisierte Pentests
- GitHub: Viele PoC-Exploits werden öffentlich geteilt