Ethical Hacking - Florian André Dalwigk - E-Book

Ethical Hacking E-Book

Florian André Dalwigk

0,0
9,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Du bist neugierig auf das Thema Hacking und willst verstehen, wie es funktioniert? Dann ist das Buch „Ethical Hacking“ von Florian Dalwigk genau das Richtige für dich! Als erfolgreicher YouTuber mit über 100.000 Abonnenten und Autor des Bestsellers „Python für Einsteiger“ weiß Florian Dalwigk, wie man komplexe Themen einfach und anschaulich erklärt. In diesem interaktiven Buch lernst du alles Wichtige übers Hacking, Penetration Testing und Kali Linux. Du lernst, wie man wichtige Pentesting-Werkzeuge wie nmap, hydra, sqlmap, fcrackzip, exiftool und hashcat einsetzt und bekommst eine Einführung in die Netzwerktechnik und Kryptographie. Doch Ethical Hacking ist mehr als nur Werkzeuge und Techniken. Florian Dalwigk legt großen Wert darauf, dass Verständnis und Praxis Hand in Hand gehen. Denn nur wer versteht, was er tut, kann wirklich erfolgreich sein. Du erfährst, wie verschiedene Verschlüsselungstechniken funktionieren und wie du deine eigene Sicherheit verbessern kannst. Ideal für Einsteiger: Dank vieler Schritt-für-Schritt-Anleitungen Einzigartiger Ansatz: Du lernst, wichtige Pentesting-Werkzeuge in Python selbst zu programmieren. Interaktives Lernvergnügen: Mit vielen Challenges und Aufgaben kannst du das gelernte Wissen in der Praxis anwenden. Praxisnah: Dank vieler Übungen kannst du das Wissen sofort anwenden und hast extrem schnellen Lernerfolg. Community-Feedback: Dieses Buch ist das langersehnte Werk, das sich Florians Community gewünscht hat. Zögere nicht länger und werde zum Ethical-Hacker! Bestell jetzt das Buch und entdecke die spannende Welt des Hackings.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



© Florian André Dalwigk

 

Das Werk ist urheberrechtlich geschützt. Jede Verwendung bedarf der ausschließlichen Zustimmung des Autors. Dies gilt insbesondere für die Vervielfältigung, Verwertung, Übersetzung und die Einspeicherung und Verarbeitung in elektronischen Systemen.

Bibliografische Information der Deutschen Nationalbibliothek.

Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.dnb.de abrufbar.

 

Für Fragen und Anregungen:

[email protected]

 

ISBN Softcover: 978-3-96967-330-0

ISBN E-Book: 978-3-96967-329-4

 

Originale Erstausgabe 2024© by Eulogia Verlags GmbH

 

Eulogia Verlags GmbHGänsemarkt 4320354 Hamburg

 

Lektorat: Sandra PichlerSatz und Layout: Tomasz Dębowski Covergestaltung: Aleksandar Petrović

 

Alle Rechte vorbehalten. Vervielfältigung, auch auszugsweise, nur mit schriftlicher Genehmigung des Verlags.

Inhaltsverzeichnis

1 Einführung
1.1 Rechtlicher Hinweis (Disclaimer)
1.2 Was erwartet dich in diesem Buch?
2 Ethical Hacking
2.1 Was ist Hacking?
2.2 Schutzziele der Informationssicherheit
2.2.1 Vertraulichkeit (Confidentiality)
2.2.2 Integrität (Integrity)
2.2.3 Verfügbarkeit (Availability)
2.2.4 Erweiterte Schutzziele der Informationssicherheit
2.3 Arten von Hackern
2.4 Die fünf Phasen eines Hacking-Angriffs
2.5 Advanced Persistent Threats (APT)
2.6 Blue-Team
2.7 Red-Team
2.8 Wie wird man ein Hacker?
3 Malware
3.1 Biologische Viren vs. Computerviren
3.2 Computerwurm
3.3 Keylogger
3.4 Trojaner
3.5 Ransomware
3.6 Software als Kriegswaffe
3.7 VirusTotal
4 Python-Grundlagen für Einsteiger
4.1 Was ist Python?
4.2 Wie man Python zum Hacken nutzen kann
4.3 Installation von Python
4.3.1 Installation unter Windows
4.4 Installation von pip unter Windows
4.5 Das erste Programm
4.6 Der interaktive Modus
4.7 Variablen und Datentypen
4.8 String-Operationen
4.9 Operatoren und Operatorrangfolge
4.9.1 Die vier Grundrechenarten
4.9.2 Potenzieren
4.9.3 Modulo (Teilen mit Rest)
4.9.4 Vergleichsoperatoren
4.9.5 Logische Operatoren
4.10 Zahlensysteme
4.10.1 Das Dezimalsystem
4.10.2 Stellenwertsysteme
4.10.3 Das Binärsystem
4.10.4 Das Hexadezimalsystem
4.10.5 Little Endian vs. Big Endian
4.11 Bitweise Operatoren
4.11.1 Binärzahlen darstellen
4.11.2 Bitweise and-Verknüpfung (&)
4.11.3 Bitweise or-Verknüpfung (|)
4.11.4 Bitweise xor-Verknüpfung (^)
4.11.5 Das Einerkomplement
4.11.6 Das Zweierkomplement
4.11.7 Bitweiser not-Operator (~)
4.11.8 Bit-Verschiebung (<< und >>)
4.11.9 Anwendung von bitweisen Operatoren
4.11.10 Operatorrangfolge
4.12 Funktionen
4.12.1 Was sind Funktionen?
4.12.2 Definition von Funktionen
4.12.3 *args und **kwargs
4.12.4 if __name__ =="__main__"
4.12.5 eval
4.13 Interaktion mit dem Benutzer
4.14 Datenstrukturen
4.14.1 Listen
4.14.2 Tupel
4.14.3 Sets
4.14.4 Dictionaries
4.15 Kontrollstrukturen
4.15.2 for-Schleife
4.15.3 while-Schleife
4.16 Dateien lesen und schreiben
4.17 Bibliotheken
4.18 Objektorientierte Programmierung
4.18.1 Was ist objektorientierte Programmierung?
4.18.2 Klassen und Objekte
4.18.3 Methoden vs. Funktionen
4.18.4 Vererbung
4.19 Fehler und Ausnahmen
4.19.1 Warum müssen Fehler und Ausnahmen behandelt werden?
4.19.2 try und except
4.19.3 finally
4.20 Kommandozeilenprogramme
4.20.1 Übergabeparameter am Beispiel „Netcat“
4.20.2 argv
4.20.3 argparse
4.21 CMD-Befehle mit Python ausführen (subprocess)
4.21.1 Popen
4.21.2 getoutput
4.22 Fortschrittsbalken (tqdm)
5 Hacking-Labor
5.1 VirtualBox und Kali Linux installieren
5.2 NAT-Netzwerk einrichten
5.3 OWASP Juice Shop
5.4 Metasploitable 2
6 Passwörter von ZIP-Dateien wiederherstellen mit Python
6.1 Was ist eine ZIP-Datei?
6.2 ZIP-Dateien verpacken, verschlüsseln, entpacken und entschlüsseln
6.3 ZIP-Bomben
6.4 fcrackzip
6.5 ZIP-Cracker mit Python
7 Passwörter knacken mit Python
7.1 Was sind Passwörter?
7.2 Was sind sichere Passwörter?
7.3 Passwortmythen
7.3.1 Mythos Nr. 1
7.3.2 Mythos Nr. 2
7.3.3 Mythos Nr. 3
7.3.4 Mythos Nr. 4
7.3.5 Mythos Nr. 5
7.3.6 Mythos Nr. 6
7.3.7 Mythos Nr. 7
7.3.8 Mythos Nr. 8
7.3.9 Mythos Nr. 9
7.3.10 Mythos Nr. 10
7.4 Passwortkarten
7.5 Hashfunktionen
7.6 Wie werden Passwörter gespeichert?
7.7 Passwörter knacken mit Hashcat
7.7.1 Installation von Hashcat
7.7.2 Aufbau eines Befehls in Hashcat
7.7.3 Hashalgorithmen erkennen
7.7.4 Bute-Force-Attacke
7.7.5 Dictionary-Attacke
7.7.6 Mask-Attacke
7.8 Passwörter mit Python generieren
7.9 Passwörter mit Python knacken
7.10 CVE-2023-32784
7.11 CVE-2023-32784 mit Python automatisieren
7.12 PDF-Dateien mit Python schützen
7.13 Word-Dateien mit Python schützen
7.14 Excel-Dateien mit Python schützen
7.15 Das Herz der Passwortkarten
8 Netzwerktechnik-Crashkurs
8.1 Was ist ein Netzwerk?
8.2 OSI-Schichtenmodell
8.3 LAN vs. MAN vs. WAN vs. GAN
8.4 Client-Server-Modell
8.5 MAC-Adressen
8.6 IP-Adressen
8.6.1 Was ist eine IP-Adresse?
8.6.2 Aufbau einer IPv4-Adresse
8.6.3 Wie findet man IP-Adressen heraus?
8.6.4 IP-Adressen verschleiern
8.6.5 127.0.0.1 vs. 0.0.0.0
8.7 Ports
8.8 Sockets
8.9 Address Resolution Protocol (ARP)
8.10 Internet Control Message Protocol (ICMP)
8.11 UDP vs. TCP
8.12 Der Three-Way-Handshake von TCP
8.13 Der TCP-Header im Detail
8.14 Nmap-Scan-Techniken
8.14.1 SYN-Scan
8.14.2 TCP-Connect-Scan
8.14.3 UDP-Scan
8.14.4 Null-Scan
8.14.5 FIN-Scan
8.14.6 XMAS-Scan
8.14.7 Version-Scan
8.15 HTTP
8.15.1 GET
8.15.2 POST
8.15.3 PUT
8.15.4 DELETE
8.15.5 HEAD
8.16 Persistente und nicht persistente Verbindungen
8.17 Network Address Translation (NAT)
8.18 Portscanning legal üben
8.19 Domain Name System (DNS)
8.20 Dynamic Host Configuration Protocol (DHCP)
8.21 File Transfer Protocol (FTP)
8.22 FTP-Exploit
8.23 Secure Shell (SSH)
8.24 SSH-Honeypot in Python
9 Portscanner mit Python
10 Metadatenanalyse mit Python
10.1 Was sind Metadaten?
10.2 exiftool
10.3 pymeta
11 Directory Enumeration mit Python
11.1 Fuzzing
11.2 DirBuster
11.3 GoBuster in Python
12 SSH Brute Forcer mit Python
13 Reverse Shell mit Python
13.1 Was ist eine Reverse Shell?
13.2 Wie funktioniert eine Reverse Shell?
13.3 Wie wird eine Reverse Shell aufgebaut?
13.4 Reverse Shell mit Python
14 Sicher verschlüsseln mit Python
14.1 Symmetrische vs. asymmetrische Verschlüsselung
14.2 Symmetrische Verschlüsselung mit Python
14.3 Asymmetrische Verschlüsselung mit Python
14.4 One-Time-Pad-Verschlüsselung mit Python
14.5 BND Ransomware-Decryptor Challenge
15 Lösungen zu den Übungsaufgaben

2 Ethical Hacking

2.1 Was ist Hacking?

Hacking. Viele verbinden damit Computer-Nerds, die mit Kapuzenpullis, Energy-Drinks und Anonymous-Masken bewaffnet in verdunkelten Zimmern hinter hell leuchtenden LCD-Bildschirmen sitzen, über die in Sekundenschnelle Tausende Codezeilen in grüner Schrift flackern. Dass diese Vorstellung größtenteils aus Hollywood-Filmen stammt und (in den meisten Fällen) nicht der Wahrheit entspricht, sollte klar sein. Hacker sind ganz normale Menschen wie du und ich. Sie sind technisch interessiert und haben Spaß am Tüfteln bzw. Ausprobieren. Mit Hacking meint man in diesem Zusammenhang meistens das Erforschen und Manipulieren von Computersystemen, Netzwerken und elektronischen Geräten, um unberechtigten Zugriff auf Informationen oder Funktionen zu erlangen.

Doch wie kann es sein, dass sie in den Medien stets dem Klischee entsprechend dargestellt und immer dann erwähnt werden, wenn es um Angriffe auf Unternehmen und kritische Infrastrukturen geht? Nun, weil die Begriffe Hacker bzw. Hacking bei vielen negativ konnotiert sind. Sie werden vor allem mit düsteren Machenschaften bzw. illegalen Geschäften in Verbindung gebracht. Kein Wunder, denn laut bitkom verursachen Hacker allein in Deutschland jährlich ca. 203 Milliarden Euro Schaden durch Angriffe auf deutsche Unternehmen.1 Darunter fallen der Diebstahl von Daten, Spionage und Sabotage. Bei so einem immensen Schaden ist es nur natürlich, dass in den Medien davon berichtet wird und die Verursacher den Vorbildern aus Hollywood-Filmen entsprechend als düstere Gestalten dargestellt werden.

Es gibt jedoch nicht nur die „bösen“, sondern auch die „guten“ Hacker und damit wären wir schon beim Ethical Hacking. Ethical Hacking setzt sich aus den beiden Begriffen Ethical und Hacking zusammen. Was man unter Hacking versteht, haben wir bereits geklärt. Das vorangestellte Wort Ethical bedeutet übersetzt so viel wie „ethisch“ und dementsprechend meint man mit Ethical Hacking einfach nur „ethisches Hacken“, das von Ethical Hackern (also „ethischen Hackern“) betrieben wird. Im Vergleich zu den „Bad Guys“ operieren sie auf dem Boden der Rechtsstaatlichkeit. Sie spüren Schwachstellen in Computersystemen, Netzwerken und Anwendungen für Unternehmen auf, um sie gegen Angriffe abzusichern. Dabei nutzen sie dieselben Werkzeuge und Vorgehensweisen wie die Gegenseite. Egal, ob man für ein Unternehmen, eine Behörde oder einen ausländischen Geheimdienst arbeitet: Überall wird nur mit Wasser gekocht und man muss sich nicht auf die dunkle Seite der Macht begeben, um die Fähigkeiten zu erlernen, die man als Ethical Hacker braucht.

Vielleicht hast du dich dazu entschieden, eine Karriere im Bereich Cybersecurity zu starten. Schaust du dir hierzu vorab Stellenanzeigen an, um die nötigen Voraussetzungen herauszufinden, dann wirst du vermutlich nirgendwo „Hacker“ als Jobprofil finden. Stattdessen sind Bezeichnungen wie „Penetration Tester“, „Cybersecurity Consultant“ oder eben „Ethical Hacker“ gängig. Merke dir also: Der wichtigste Unterschied zwischen einem (bösen) Hacker und einem Ethical Hacker besteht nicht etwa in den verwendeten Werkzeugen oder den technischen Fähigkeiten. Er besteht darin, dass ein Ethical Hacker im (legalen) Auftrag handelt, der meistens auch in schriftlicher Form vorliegt.

Damit ein Ethical Hacker aber auch wirklich ethisch handelt und nicht doch die Grenze der Legalität überschreitet, muss er sich an bestimmte Spielregeln halten, die von den Gesetzgebern des jeweiligen Landes, in dem er operiert, vorgegeben werden.

2.2 Schutzziele der Informationssicherheit

Information ist die Währung des 21. Jahrhunderts. Informationen gehören zu den wertvollsten Vermögenswerten von Unternehmen und deshalb sollte ihr Schutz eines der wichtigsten Ziele sein. Denn wenn bspw. Kundendaten abhandenkommen bzw. geleakt oder Geschäftsgeheimnisse gestohlen werden, klopft nicht selten ein Insolvenzberater an die Tür. Sich dann einfach in den „Insi-Modus“ zu flüchten, bringt langfristig auch nichts. Die Informationssicherheit befasst sich mit Maßnahmen zum Schutz von Informationen. Dabei spielt es zunächst einmal keine Rolle, in welcher Form die Informationen vorliegen, also bspw. physisch in Form von Akten oder digital auf Festplatten und in Datenbanken. Die IT-Sicherheit ist ein Teilgebiet der Informationssicherheit, die beschreibt, wie Schutzmaßnahmen der Informationssicherheit technisch abgebildet werden können.

Es gibt verschiedene Schutzziele, um die sich die Informationssicherheit kümmert. Die drei wichtigsten sind die Vertraulichkeit (Confidentiality), die Integrität (Integrity) und die Verfügbarkeit (Availability). Diese werden mit den drei Buchstaben CIA abgekürzt, was nicht für den Geheimdienst Central Intelligence Agency, sondern für Confidentiality, Integrity und Availability steht. Beachte, dass das A in CIA für Availability und nicht für Authenticity steht, was eines der erweiterten Schutzziele der Informationssicherheit darstellt. Man bezeichnet diese drei Schutzziele der Informationssicherheit auch als CIA-Triade.

2.2.1 Vertraulichkeit (Confidentiality)

Bei der Vertraulichkeit geht es darum, Informationen nur autorisierten Personen zur Verfügung zu stellen; Unbefugte sollen also nicht die Möglichkeit haben, die geschützten Informationen einzusehen. Meine Krankenakte geht erst mal nur mich etwas an und nicht meinen Arbeitgeber. Dieser wäre nicht befugt, meine Krankenakte einzusehen. Mein behandelnder Arzt hingegen kann dazu autorisiert werden, um mich bestmöglich behandeln zu dürfen. Allerdings darf er sie nicht zu jeder Zeit einsehen. Der Zustand des „Autorisiertseins“ ist also etwas, das auch nur temporär gelten kann. Eine Sicherheitsüberprüfung der Stufe Ü3 ist bspw. auch nur für fünf Jahre gültig, bevor sie upgedatet werden muss. Nach zehn Jahren muss sogar eine erneute Erstprüfung erfolgen. Vertraulichkeit stellt man bspw. durch Verschlüsselung sicher.

2.2.2 Integrität (Integrity)

Integrität bedeutet, dass es nicht möglich sein darf, Informationen unerkannt zu verändern. Die Korrektheit muss also sichergestellt sein. Wenn ein Hacker bspw. deine Krankenakte manipuliert und Diagnosen einträgt, aufgrund derer dich dein behandelnder Arzt medikamentös falsch einstellt, kann das ernste Konsequenzen für deine Gesundheit haben, die sogar bis zum Tod führen können. Die Integrität stellt sicher, dass Datenmanipulatio­nen erkannt werden. Das ist bspw. durch Hashwerte möglich, die auch in der Blockchain-Technologie eingesetzt werden, um Manipulationen im Netzwerk zu erkennen.

2.2.3 Verfügbarkeit (Availability)

Mit der Verfügbarkeit ist gemeint, dass die Informationen nicht verloren gehen und autorisierten Personen immer zur Verfügung stehen müssen. Wenn man mit einem Denial-of-Service-Angriff die Patientendateninformationssysteme eines Krankenhauses lahmlegt und für einen Notfallpatienten nicht festgestellt werden kann, ob er gegen bestimmte Medikamente allergisch ist, kann das sehr gefährlich werden. Um die Verfügbarkeit zu gewährleisten, kann man bspw. Redundanzen aufbauen, sodass beim Ausfall eines Systems ein anderes einspringen kann. Insbesondere bei kritischen Systemen mit hohen Verfügbarkeitsanforderungen ist die Sicherstellung dieses Schutzziels essenziell. Loadbalancer und Failover-Systeme können ebenfalls hilfreich sein.

2.2.4 Erweiterte Schutzziele der Informationssicherheit

Neben den drei Schutzzielen der CIA-Triade gibt es noch weitere. Dazu zählen u. a.

■die Authentizität (Authenticity) und

■die Nachweisbarkeit, Verbindlichkeit bzw. Nichtabstreitbarkeit (Non-Repudiation).

Mit der Authentizität wird sichergestellt, dass ein Kommunikationspartner tatsächlich derjenige ist, der er zu sein vorgibt. Du möchtest schließlich nicht, dass sich jemand als dein Arzt ausgibt und du ihm Dinge anvertraust, die Fremde eigentlich nichts angehen.

Bei der Nichtabstreitbarkeit liegt der Schwerpunkt auf der Nachweisbarkeit gegenüber Dritten. Dabei soll es dem Absender einer Nachricht bspw. nicht möglich sein, den Versand zu leugnen. Der Empfänger soll seinerseits nachträglich nicht bestreiten können, die Information erhalten zu haben. Der Arzt soll nicht abstreiten können, dass du ihn in einer E-Mail über mögliche Allergien aufgeklärt hast. Der Arzt wiederum soll im Nachhinein nicht leugnen können, dass er dir ein bestimmtes Medikament verschrieben hat, das zu einer allergischen Reaktion geführt hat.

2.3 Arten von Hackern

Hacker ist nicht gleich Hacker. Es gibt unterschiedliche Motivationen, aus denen heraus Personen mit dem Hacken beginnen. Die einen wollen damit auf legale Weise ihren Lebensunterhalt bestreiten, andere wiederum möchten dadurch illegal an Geld kommen. Wieder andere ernennen sich selbst (unberechtigt) zum Cyberermittler und gehen eigenständig auf Verbrecherjagd, während sich einige aus persönlichen Rachegelüsten heraus durch unautorisierte Hacking-Angriffe strafbar machen. Wir wollen uns in diesem Kapitel anschauen, welche Hüte sich ein Hacker aufsetzen kann. Diese Hüte stehen stellvertretend für ihre jeweilige Motivation:

■White Hat Hacker firmieren oft unter der Bezeichnung Ethical Hacker. Hierbei handelt es sich um die Guten, die innerhalb des gesetzlichen Rahmens versuchen, Schwachstellen in Computernetzwerken oder Rechnern von Unternehmen zu finden. Dies macht die Berufsgruppe der sogenannten Penetrationstester.

■Black Hat Hacker sind diejenigen, die in den Nachrichten genannt werden, wenn es um kriminelle Aktivitäten im Internet geht. Sie missbrauchen ihre erworbenen Kenntnisse, um Systeme mit Malware zu infizieren, um dadurch z. B. illegal an Geld zu kommen. Auch Benutzernamen, Passwörter, intime Fotos (zwecks Erpressung), Geschäftsgeheimnisse und Kreditkarteninformationen zählen zu ihrem Diebesgut. Sie verwenden nicht nur technische, sondern auch menschliche Schwachstellen in IT-Systemen.

■Grey Hat Hacker bewegen innerhalb eines gesetzlichen Graubereichs. Ethische Fragen, die das Hacking betreffen, legen sie zu ihren Gunsten aus und rechtfertigen damit ihr Handeln. Bspw. veröffentlichen sie IT-Schwachstellen in Unternehmen, um sie damit zum Handeln zu bewegen. Betroffene werden dabei also nicht um Erlaubnis gefragt. Auch die Motivation kann eher materiell statt ethisch oder ideell begründet sein. Allerdings verbirgt sich im Handeln von Grey Hat Hackern oft eine in Teilen vertretbare positive Motivationsgrundlage wie z. B.: „Dass Unternehmen XY so nachlässig mit seinen Daten umgeht, kann einfach nicht geduldet werden!“ Dennoch sollte man in solchen Fällen eher den offiziellen Weg des Rechtsstaats gehen.

■Green Hat Hacker sind im Grunde „Hacker in Ausbildung“. Ihre Motivation ist es, mehr über die Welt des Hackens zu lernen. Sie saugen Wissen aus unterschiedlichsten Quellen auf und sind darauf bedacht, ihr Wissen auszubauen. Sie hacken primär dann, wenn sie einen Lerneffekt erzielen wollen.

■Red Hat Hacker sind diejenigen, die Selbstjustiz im Internet üben. Wenn jemand eine Straftat begeht, die z. B. unmittelbar mit dem Internet zu tun hat oder über das Internet aufgeklärt werden kann, sind die Red Hat Hacker zur Stelle und versuchen das Verbrechen eigenmächtig aufzuklären. Was zunächst einmal moralisch nicht verwerflich klingt, ist in der Praxis jedoch ebenfalls eine Straftat und sollte vermieden werden. Selbstjustiz sollte in keinem Bereich das Mittel der Wahl sein, da wir genau hierfür einen Rechtsstaat und entsprechende Behörden haben, die sich diesen Themen annehmen. Wenn man einmal anfängt, das Konzept der Selbstjustiz in Teilen zu legalisieren oder sich aktiv dafür ausspricht, dann segelt man in gefährliche Gewässer. Merke dir also: Das eigenmächtige Aufklären von Straftaten über das Internet, z. B. durch Hacken von Online-Accounts oder das illegale Beschaffen von privaten Daten, ist strafbar und sollte unterlassen werden!

■Blue Hat Hacker könnte man mehr oder weniger als Rachegeister bezeichnen. Wie Red Hat Hacker sind sie gezielt hinter Personen her, die ihnen selbst oder anderen, die ihnen wichtig sind, Schaden zugefügt haben. Ihre Motivation ist also Rache. Personen, die einen Mord eigenständig aufklären wollen, der sie nur aus ihrem Gerechtigkeitssinn heraus tangiert, gehören in die Klasse der Red Hat Hacker. Ihr Hut wird blau, sobald der Mord sie persönlich betrifft, z. B. weil ein Familienmitglied umgebracht wurde. Es ist nicht verwunderlich, dass auch die Selbstjustiz aus persönlicher Betroffenheit heraus illegal ist; genauso wie das Veröffentlichen von privaten Fotos nach der Trennung von seinem Lebenspartner eine Straftat ist.

■Script-Kiddies sind „Hacker“, die ausschließlich auf vorgefertigte Programme und Tools zurückgreifen, um Ziele anzugreifen. Sie besitzen oft kaum bis keine Fachkenntnisse und nutzen Hacking primär zur Selbstdarstellung oder um mutwillig Schaden anzurichten.

■Hacktivisten sind politisch motivierte Hacker. Sie verfolgen mit ihren Hacks eine politische Agenda und deshalb sind nicht selten Regierungswebseiten ihr Ziel. Sie versuchen, die Webseiten zu verändern2 oder durch DDoS-Angriffe in die Knie zu zwingen. Zu den Hacktivisten zählt bspw. das Anonymous-Kollektiv.

■Suicide Hacker könnte man als digitale Selbstmord-Attentäter bezeichnen. Sie greifen bspw. kritische Infrastrukturen an und nehmen dabei wissentlich Gefängnisstrafen oder Schlimmeres auf sich.

Zu welcher Art von Hacker zählst du dich? Schreibe es mir gern an [email protected].

2.4 Die fünf Phasen eines Hacking-Angriffs

Nachdem du nun die verschiedenen Arten von Hackern kennengelernt und dich in mindestens einer von ihnen wiedergefunden hast, ist es an der Zeit, zu klären, wie ein Hacking-Angriff klassischerweise abläuft. Es ist nämlich nicht so, dass ein Angreifer einfach das Ziel auswählt, seine Tastatur herausholt und dann ein unstrukturiertes Klimperkonzert beginnt, an dessen Ende ein Schaden in Millionenhöhe und eine Erwähnung in der Tagesschau stehen. Vielmehr gehen sie methodisch vor und genau das ermöglicht es Verteidigern, geeignete Strategien für die Abwehr zu entwickeln.

Es gibt verschiedene Modelle, mit denen die Phasen eines Hacking-Angriffs beschrieben werden können. Eines davon stammt von dem US-amerikanischen Rüstungs- und Technologiekonzern Lockheed Martin und wird als „Cyber Kill Chain“ bezeichnet. Dieses Modell besteht aus den folgenden sieben Phasen:

1. Reconnaissance: Die erste Phase eines Hacking-Angriffs nennt man auch Reconnaissance (Aufklärung). Hier sammelt der Angreifer Informationen über das Ziel, um Schwachstellen zu identifizieren und den Angriff zu planen. Dabei bedient er sich verschiedener Aufklärungstechniken wie etwa der Suche nach Informationen auf öffentlich zugänglichen Webseiten (OSINT) oder in sozialen Medien (SOCMINT). Zudem ist es möglich Personen, die für das Ziel arbeiten, durch Social Engineering anzubahnen. Auch das Scannen von Ports mit Netzwerkscannern wie Nmap (Kapitel 8.14) gehört in diese erste Aufklärungsphase.

2. Weaponization: Nachdem der Angreifer Informationen über das Ziel gesammelt hat, entwickelt er in der zweiten Phase einen sogenannten Exploit oder eine Schadsoftware, mit dem bzw. der eigentliche Angriff über das Ausnutzen einer Schwachstelle durchgeführt werden soll. Neben der Entwicklung von Malware kann sich der Angreifer auch dazu entscheiden, Phishing-Mails mit schadhaften Anhängen oder Links zu erstellen.

3. Delivery: Nachdem sich der Angreifer bewaffnet hat, versucht er in der dritten Phase, den Exploit auf das Ziel zu übertragen. Dies kann z. B. durch Phishing-Mails oder infizierte USB-Sticks („Bad USB“) erfolgen, die er auf dem Parkplatz oder der Straße vor dem Firmengebäude des Ziels „verliert“.

4. Exploitation: Jetzt befinden sich die geladenen Cyber-Waffen am Zielort und werden in der vierten Phase abgefeuert, indem eine Schwachstelle ausgenutzt wird. Dies kann z. B. das Ausnutzen einer Zero-Day-Schwachstelle in einer Software sein, für die noch kein Patch verfügbar ist.

5. Installation: In der fünften Phase etabliert der Angreifer eine dauerhafte Präsenz im Zielnetzwerk und richtet bspw. Backdoors ein, um den Zugriff aufrechtzuerhalten. Meistens geschieht dies durch die Installation von Malware oder das Erstellen von Benutzern mit erhöhten Berechtigungen.

6. Command and Control: In der sechsten Phase richtet der Angreifer bidirektionale Kommunikationskanäle ein, um das kompromittierte System fernzusteuern und Anweisungen zu senden. Dabei wird ein sogenannter „Command and Control Server“ (C2-Server) verwendet.

7. Actions on Objectives: In der letzten Phase setzt der Angreifer seinen ursprünglichen Plan in die Tat um, indem er Daten stiehlt, das Ziel sabotiert oder ausspioniert.

2.5 Advanced Persistent Threats (APT)

Ein Advanced Persistent Threat (APT)3 ist eine Cyberbedrohung, die normalerweise von staatlichen Akteuren oder kriminellen Organisationen, die zum Teil staatlich finanziert werden, durchgeführt wird. Ihr Ziel ist es, langfristig unbemerkt in einem System zu bleiben, um von dort aus kontinuierlich sensible Informationen zu sammeln und zu extrahieren. Zu dem anvisierten Diebesgut zählen z. B. personenbezogene Daten, Zugangsdaten, Kommunikationsdaten und etwaige Geschäftsgeheimnisse. Auch die Sabotage von IT-Systemen im „richtigen Moment“, z. B. während eines Krieges, gehören zu den Zielen eines APTs.

Der Begriff APT wurde ursprünglich im Kontext staatlich finanzierter Cyberspionage verwendet. Heutzutage meint man mit einem APT eine Vielzahl hochentwickelter Bedrohungen, die Unternehmen, kritische Infrastrukturen, Regierungen und andere Organisationen zum Ziel haben. Die Mitglieder einer APT-Gruppe sind sehr gut organisiert, verfügen oft über ein hohes Budget, mit dem sie z. B. Zero-Day-Exploits entwickeln oder einkaufen können, und sie nutzen sehr fortschrittliche Hacking-Werkzeuge, die es ihnen erlauben, lange Zeit unbemerkt in der Zielinfrastruktur zu operieren. Eine APT-Kampagne umfasst eine Reihe von Angriffstechniken, darunter z. B. Phishing, Social-Engineering, Man-in-the-Middle-Angriffe und Credential-Stuffing, also das automatisierte Ausprobieren von gestohlenen Benutzernamen und Passwörtern auf verschiedenen Webseiten bzw. Andockpunkten einer Organisation. APTs sind darauf ausgelegt, traditionelle Sicherheitsmechanismen zu umgehen, was die Erkennung und Abwehr erschweren kann. Eine umfassende forensische Analyse, einschließlich der Überprüfung von Systemlogs, ein gut funktionierendes SIEM zur Überwachung des Netzwerks und ein Team von Experten, das Bedrohungen nicht nur erkennen, sondern auch geeignet darauf reagieren kann, ist dazu erforderlich.

Eine APT-Kampagne läuft üblicherweise in mehreren Phasen ab, die teilweise den bereits aus Kapitel 2.4 bekannten Phasen eines Hacking-Angriffs entsprechen:

1.Aufklärung: In der Aufklärungsphase sammelt die APT-Gruppe Informationen über das Ziel. Das entspricht der Reconnaissance-Phase eines Hacking-Angriffs.

2.Eindringen: Die APT-Gruppe nutzt gefundene Schwachstellen, um in das Ziel einzudringen. Dies kann z. B. durch Phishing oder den Einsatz von Zero-Day-Exploits erfolgen.

3.Etablierung: Nach dem Eindringen etablieren die Angreifer ihre Präsenz, indem sie z. B. Backdoors installieren, um den dauerhaften Zugriff zu sichern und unentdeckt zu bleiben.

4.Ausweitung: In dieser Phase breiten sich die Angreifer innerhalb des Netzwerks aus und erlangen durch sogenannte Privilege Escalations höhere Zugriffsrechte.

5.Datensammlung: Danach sammeln die Angreifer gezielt Informationen und Daten, die für ihre Zwecke hilfreich sind. Dieser Prozess kann sich über einen längeren Zeitraum erstrecken.

6.Verschleierung: Um ihren langfristigen Zugang zu sichern, verwendet die APT-Gruppe verschiedene Programme, um regelmäßig ihre Spuren zu verwischen und die Präsenz in der Infrastruktur des Opfers zu verschleiern.

7.Exfiltration: Die gesammelten Informationen werden aus dem Netzwerk des Opfers ausgeschleust. Dabei geht die APT-Gruppe sehr behutsam vor, um kein Aufsehen zu erregen oder Detektionsprogramme zu triggern.

8.Analyse: Nachdem die Daten exfiltriert wurden, werden sie von den Angreifern analysiert.

9.Zielumsetzung: Basierend auf den Analyse-Ergebnissen der exfiltrierten Daten werden die Spionage, Sabotage oder der Datendiebstahl ausgeweitet und ggf. weitere Ziele innerhalb der Infrastruktur identifiziert.

10.Rückzug: Wenn die Angreifer Gefahr laufen, entdeckt zu werden, oder sie ihre Ziele erreicht haben, ziehen sie sich aus dem Netzwerk bzw. der infiltrierten Infrastruktur zurück und versuchen dabei, ihre Spuren zu verwischen, damit die Attribution erschwert wird. Mit Attribution ist die Zuordnung eines Angreifers gemeint.

Die folgende Tabelle 2.5-1 zeigt einige bekannte APTs samt den dazugehörigen Abkürzungen:

APT-Bezeichnung

Name

Vermutete Herkunft

APT1

Comment Crew

Die Gruppe steht vermutlich in Verbindung mit dem chinesischen Militär.

APT28

Fancy Bear

Die Gruppe steht vermutlich mit dem russischen Militärgeheimdienst GRU in Verbindung.

APT29

Cozy Bear

Es wird Verbindung zu russischen Geheimdiensten vermutet.

APT32

OceanLotus

Hierbei handelt es sich vermutlich um eine vietnamesische Gruppe, die es auf Regierungen, Medien und Menschenrechtsaktivisten abgesehen hat.

APT33

Elfin

Elfin ist eine mutmaßlich iranische Gruppe, die sich auf die Luft- und Raumfahrtindustrie konzentriert.

APT37

ScarCruft

ScarCruft ist eine eine nordkoreanische Gruppe, die sich auf Südkorea und Japan fokussiert.

Tabelle 2.5-1: APT-Kurzbezeichnung, Name und vermutete Herkunft

2.6 Blue-Team

Mit dem Blue-Team ist die Gruppe von Sicherheitsexperten gemeint, die innerhalb eines Unternehmens oder einer Behörde für die Verteidigung gegen Cyberangriffe zuständig sind. Die Mitglieder des Blue-Teams sind verantwortlich für die Implementierung und Aufrechterhaltung von Sicherheitsmaßnahmen zum Schutz der organisationsinternen IT-Landschaft. Ihr Hauptziel ist es, Cyberangriffe zu erkennen und sie abzuwehren. Ein typisches Blue-Team setzt sich aus Mitgliedern mit verschiedenen Fachkenntnissen zusammen, darunter Netzwerkadministratoren, Netzwerkanalysten, IT-Forensiker und Rechtsexperten.

Zu den Hauptaufgaben eines Blue-Teams gehören das Monitoring von Netzwerken und Systemen, die Identifizierung und Behebung von Sicherheitslücken, die Reaktion auf Sicherheitsvorfälle sowie die Entwicklung von Sicherheitsrichtlinien und -standards. Dazu zählt auch die Entwicklung bzw. Konzeption von IT-Sicherheitsschulungen.

Die Mitglieder des Blue-Teams überwachen kontinuierlich die Netzwerkinfrastruktur der Organisation, um verdächtige Aktivitäten und potenzielle Bedrohungen zu identifizieren. Ihnen ist auch die Incident Response zugeordnet. Im Falle eines Sicherheitsvorfalls leiten sie Maßnahmen zur Eindämmung, Untersuchung und Behebung des Vorfalls ein. Die Konfiguration von Firewalls und anderen Netzwerksicherheitsgeräten ist ebenfalls ein wesentlicher Bestandteil der Arbeit eines Blue-Teamers. Ein wichtiges Werkzeug, das zum Erreichen dieser Ziele eingesetzt wird, ist ein SIEM4 wie bspw. Splunk, das Echtzeit-Analysen von Sicherheitswarnungen ermöglicht.

Es gibt verschiedene Einsteiger-Zertifizierungen, die man im Blue-Teaming-Bereich erwerben kann:

■Blue Team Level 1 (BLT1): https://www.securityblue.team/why-btl1.

■HTB Certified Defensive Security Analyst (HTB CDSA):https://academy.hackthebox.com/preview/certifications/htb-certified-defensive-security-analyst.

■Offensive Security Defense Analyst (OSDA): https://www.offsec.com/courses/soc-200/.

2.7 Red-Team

Mit dem Red-Team ist die Gruppe von Sicherheitsexperten gemeint, die die Rolle eines Angreifers übernimmt, um die Sicherheitsmaßnahmen einer Organisation zu testen und zu verbessern. Red-Teams simulieren realistische Cyberangriffe auf IT-Systeme, Netzwerke und die Menschen, die in der Zielorganisation arbeiten (Social Engineering). Das Ziel besteht darin, Schwachstellen zu identifizieren, die Effektivität der Sicherheitsmaßnahmen zu überprüfen und das Bewusstsein für Sicherheitsrisiken zu schärfen. Red-Teams haben ihren Ursprung im Militär, wo sie zur Überprüfung und Verbesserung der Verteidigungsstrategien eingesetzt wurden. Ein typisches Red-Team setzt sich aus Mitgliedern mit Kenntnissen in unterschiedlichen Bereichen zusammen, darunter Anwendungsentwickler, Netzwerksicherheitsexperten und Person mit Erfahrung im Bereich des Social Engineerings.

Zu den Hauptaufgaben eines Red-Teams gehören die Planung und die Durchführung von Angriffssimulationen, die Analyse der Sicherheitslage und die Berichterstattung über Erkenntnisse und Empfehlungen. Die Vorgehensweise des Red-Teams kann, vereinfacht ausgedrückt, in drei Schritten ablaufen:

1. Planung von Angriffen: In der Planungsphase werden Ziele festgelegt, Szenarien entwickelt und die Rahmenbedingungen für die Angriffssimulationen definiert.

2. Angriffssimulation: Nachdem das Angriffsszenario geplant wurde, findet im nächsten Schritt die Angriffssimulation statt. Dabei bedienen sich die Mitglieder des Red-Teams denselben Methoden, die auch „echte“ Hacker bzw. Angreifer verwenden. Im Rahmen eines Penetrationstests werden dann bspw. Portscans durchgeführt, Passwörter geknackt, Exploits ausgenutzt, Phishing-Kampagnen gefahren und manchmal auch physische Sicherheitsüberprüfungen direkt vor Ort durchgeführt. Dabei wird z. B. untersucht, ob es „tote Winkel“ gibt, die nicht von Überwachungskameras erfasst werden oder ob man sich mit Einsteigerkenntnissen im Bereich Lockpicking5 bereits Zugang zum Serverraum verschaffen kann.

3. Analyse und Reporting: Nach Abschluss der Angriffssimulation analysiert das Red-Team die Ergebnisse, identifiziert Sicherheitslücken und erstellt einen Bericht mit Verbesserungsvorschlägen, die dem Kunden vor Ort oder remote präsentiert werden.

Mithilfe von Red-Teams können Unternehmen und Behörden Schwachstellen in ihrer eigenen IT-Sicherheit erkennen und beheben, bevor sie von echten Angreifern ausgenutzt werden. Eine Herausforderung besteht jedoch darin, dass die Simulationen möglichst realistisch sein müssen, ohne jedoch Schaden an den Systemen anzurichten oder den Tagesbetrieb zu stören. Wenn das Red-Team durch einen Penetrationstest bspw. die Produktivsysteme eines Unternehmens lahmlegt, kann schnell ein schwerer finanzieller Schaden entstehen. Deshalb wird, wenn es sich um eine externe Dienstleistung handelt, zuvor ein Vertrag aufgesetzt, der genau regelt, welche Systeme in welchem Umfang angegriffen werden dürfen und welche nicht. Unternehmen können sich bei entsprechender Größe und Budget auch eigene Red-Teams leisten.

Es gibt verschiedene Einsteiger-Zertifizierungen, die man im Red-Teaming-Bereich erwerben kann:

■CompTIA PenTest+: https://www.comptia.org/de/zertifizierungen/pentest.

■eJPT Certification – Junior Penetration Tester:https://security.ine.com/certifications/ejpt-certification/.

■HTB Certified Penetration Testing Specialist (HTB CPTS):https://academy.hackthebox.com/preview/certifications/htb-certified-penetration-testing-specialist.

■Offensive Security Certified Professional (OSCP): https://www.offsec.com/courses/pen-200/.

2.8 Wie wird man ein Hacker?

Zum Schluss dieser Einführung stellst du dir zurecht die Frage, wie man denn nun eigentlich ein „Hacker“ werden kann. Die Möglichkeiten, in diesen Berufszweig einzusteigen, sind so vielseitig wie die Spezialisierungen, die es gibt:

■Netzwerk-Pentesting: Beim Netzwerk-Pentesting konzentriert man sich auf das Finden von Schwachstellen in Netzwerkkomponenten wie Routern, Switches und Firewalls. Man versucht, Netzwerkprotokolle (Kapitel 8) zu exploiten und sie z. B. zum Ausspähen von Daten im Rahmen eines sogenannten Man-in-the-Middle-Angriffs auszunutzen.

■Web-Pentesting: Beim Web-Pentesting steht die Identifizierung von Sicherheitslücken in Webanwendungen im Vordergrund. Dabei sucht man nach Schwachstellen wie SQL-Injections oder Cross-Site-Scripting (XSS).

■Reverse-Engineering: Beim Reverse-Engineering wird versucht, den Aufbau und die Funktionsweise von Programmen zu verstehen, insbesondere wenn der Quellcode nicht verfügbar ist, weil es sich z. B. um eine .exe-Datei handelt. Pentester nutzen Reverse-Engineering, um Schwachstellen, verborgene Funktionalitäten oder Sicherheitslücken in Anwendungen und Systemen zu identifizieren, um diese dann zu schließen.

■IoT-Pentesting: Bem IoT-Pentesting konzentriert man sich auf die Sicherheit von IoT-Geräten wie Smart-Home-Geräten, Überwachungskameras oder industriellen Steuerungssystemen.

■Mobile-Pentesting: Wie der Name bereits vermuten lässt, konzentriert sich das Mobile-Pentesting auf mobile Anwendungen und Plattformen wie iOS und Android.

Schön und gut, doch diese Themenvielfalt macht die Entscheidung nicht wirklich einfacher. Womit sollst du denn nun anfangen? Ganz einfach: mit dem, worauf du Lust hast! Wenn du bereits Erfahrung in der IT hast und vielleicht sogar schon programmieren kannst, dann wäre es sinnvoll, dort anzusetzen. Wenn du schon mal eine Webseite programmiert hast, dann wäre ein Einstieg ins Web-Pentesting eine gute Wahl. Wenn du leidenschaftlicher Gamer bist und vielleicht schon einmal einen Cheat programmiert oder Spiele gemoddet hast, dann könnte Reverse-Engineering interessant für dich sein. Handelt es sich um Online-Spiele, die man mit Menschen über den gesamten Globus verteilt spielen kann, dann führt das sehr schnell zu verschiedenen Netzwerkprotokollen und könnte ins Netzwerk-Pentesting münden. Wenn du in deiner Freizeit gern lötest und generell Spaß am Herumbasteln an Hardware hast, dann könntest du langfristig Freude am IoT-Pentesting haben.

Diese Tipps liefern zwar eine mögliche Antwort auf das „Was“, aber nicht auf das „Wie“. Eine gute Basis, um in den Bereich Hacking einzusteigen, bildet meiner Ansicht nach die Ausbildung zum Fachinformatiker oder ein Informatikstudium. Auch verwandte Studiengänge wie Elektrotechnik können eine sehr gute Basis sein. Du kannst aber auch über einen Quereinstieg in diesen Bereich kommen. Wichtig ist in allererster Linie aber, dass du anfängst. Es spielt im Prinzip keine Rolle, ob für dich jetzt C oder Python besser ist, um dir grundlegende Programmierkenntnisse beizubringen, sondern dass du mit irgendetwas anfängst. Wenn die Antwort auf die Frage „Womit fange ich am besten an?“ mehrere Wochen auf sich warten lässt, ist das nicht selten ein Symptom des Prokrastinierens und der Suche nach dem einfachsten bzw. schnellsten Weg. Lasse dir gesagt sein: Diesen einfachsten Weg bzw. die Abkürzung zum schnellen Hack-Erfolg gibt es nicht. Pentesting ist ein sehr spannendes Feld, das jedoch mit sehr – nein – seeehr viel Arbeit verbunden ist. Du wirst viele Rückschläge erleben, dich immer wieder motivieren müssen und lernen, auch kleine Erfolge zu feiern. Es ist noch kein Hacker vom Himmel gefallen und auch wenn du denkst, dass du thematisch keine Fortschritte machst oder Hacken einfach nichts für dich ist, dann kann ich dir als erfahrener Pentester nur sagen: Diese Gedanken sind vollkommen normal. Am Anfang fühlt man sich ständig so, als hätte man ein Brett vorm Kopf und dass man niemals mit anderen konkurrieren könne. Doch gerade das ist oftmals ein Zeichen für das genaue Gegenteil. Das Stichwort lautet hier „Hochstapler-Syndrom“, das viele Menschen haben, die fachlich eigentlich sehr gut sind, weil sie u. a. um die Komplexität des Themas wissen, mit dem sie sich beschäftigen:

https://florian-dalwigk.com/python-hacking/hochstaplersyndrom

Okay, wir gehen jetzt davon aus, dass du weißt, in welchem Bereich des Pentestings du anfangen möchtest, und dass du dich auf eine lange Reise eintellst. Du hast schon mal mit Python programmiert und dir ein paar YouTube-Tutorials angeschaut. Doch wie geht es jetzt weiter? Wie kannst du Hacken lernen? Nun, eine Methode, mit der man spielerisch ans Hacken herangeführt werden kann, ohne die Angst haben zu müssen, etwas kaputt zu machen, sind sogenannte Capture The Flags (CTFs). CTF bedeutet wörtlich übersetzt so etwas wie „Ergreife die Flagge“. Vielleicht hast du diesen Begriff schon einmal im Kontext von Paintball- und Shooter-Spielen oder in der Schule gehört. Im Sportunterricht haben wir damals ein Spiel gespielt, bei dem man sich eine Fahne in die Sporthose gesteckt und diese etwas heraushängen lassen hat. Die Spieler mussten dann innerhalb eines vorgegebenen Zeitlimits so viele Flaggen wie möglich von den anderen Mitspielern stehlen. So ähnlich ist das auch bei CTF-Challenges im Pentesting-Bereich.

Bei CTFs kann es sich neben den bereits genannten Bereichen auch um einen Hacking-Wettkampf handeln, bei dem man z. B. in Webanwendungen absichtlich eingebaute Schwachstellen finden muss. Diese Schwachstellen sind dann die Flaggen, die es zu fangen gilt. Bei größeren CTF-Events, die quasi wöchentlich von verschiedenen Stellen angeboten werden, muss man entweder allein oder in einem Team möglichst viele solcher Flaggen in extra aufgesetzten Hacking-Challenges innerhalb einer vorgegebenen Zeitspanne finden und somit Punkte sammeln. Challenges können z. B. sein:

■Passwörter von ZIP-Archiven knacken (Kapitel 6.5)

■SSH-Zugangsdaten beschaffen (Kapitel 12)

■XSS-Schwachstellen in einer Webanwendung ausnutzen

■Dokumente von einem Webserver herunterladen, für den man keine Berechtigung hat

■Geheimbotschaften aus PNG-Dateien auslesen (Kapitel 10.3)

■Eine Reverse Shell bekommen (Kapitel 13)

Das Team mit den meisten Punkten gewinnt am Ende – manchmal Ruhm und Ehre, hin und wieder aber auch höhere Geldbeträge. Man unterscheidet grundsätzlich zwei Arten von CTFs:

■Jeopardy: Jeopardy-Events sind die Art von CTF, die wir bereits besprochen haben. Sie finden meistens online statt und können allein oder im Team absolviert werden. Die Challenges stammen aus den verschiedensten Bereichen und am Ende hat derjenige mit den meisten Punkten gewonnen.

■Attack/Defense: Attack/Defense-Events finden meistens offline statt. Ausgangsbasis ist ein unsicheres System, auf dem zwei Teams gegeneinander antreten, nämlich das Blue-Team (Kapitel 2.6) und das Red-Team (Kapitel 2.7). Das Blue-Team versucht dabei, die Schwachstellen auf dem System zu fixen, während das Red-Team die Schwachstellen exploiten muss. Je nachdem, wie gut die jeweiligen Teams das System schützen bzw. attackieren, werden dann Punkte vergeben. Das Tolle an dieser Art von CTF ist, dass man aktiv gegen andere antritt und von den Erfahrungen der anderen lernt.

Es gibt zwei CTF-Plattformen, die ich an dieser Stelle empfehlen kann, nämlich TryHackMe und HackTheBox. Zu beiden Plattformen habe ich bereits Videos erstellt, die du über die folgenden QR-Codes erreichen kannst:

TryHackMe

HackTheBox

https://florian-dalwigk.com/python-hacking/tryhackme

https://florian-dalwigk.com/python-hacking/hackthebox

Nun wünsche ich dir aber viel Spaß beim Lernen der Grundlagen des Pentestings. Ich bin mir sicher, dass du nach der Lektüre dieses Buchs schon eine ganze Menge Pentesting-Wissen gesammelt haben wirst und eigenständig weiterlernen kannst. Bei weiteren Fragen kannst du mir gern eine E-Mail an [email protected] schreiben.

1 Bitkom, „203 Milliarden Euro Schaden pro Jahr durch Angriffe auf deutsche Unternehmen“ (31.08.2024), https://www.bitkom.org/Presse/Presseinformation/Wirtschaftsschutz-2022 [Stand: 09.07.2023].

2 Der Fachbegriff hierfür lautet „Website Defacement“, was man mit „Webseiten-Entstellung“ oder „Webseiten-Verunstaltung“ übersetzen kann.

3 Man könnte diesen Begriff bspw. mit „hochentwickelte anhaltende Bedrohung“ übersetzen.

4Security Information and Event Management.

5 Schlösserknacken.

3 Malware

Malware ist ein Kofferwort, das sich aus den beiden Begriffen „malicious“ (bösartig) und „Software“ zusammensetzt und so viel wie „bösartige Software“ bedeutet. Malware ist also jegliche Software, die entwickelt wurde, um einem Computer, einem Netzwerk und dadurch letztendlich auch dem Benutzer Schaden zuzufügen. Der Unterschied zu Software-Bugs besteht vor allem darin, dass eine Malware mit der Absicht konzipiert wurde, ein Ziel anzugreifen und zu schädigen bzw. auszuspionieren. Das Hauptziel von Malware ist es, unautorisierten Zugriff auf Computersysteme zu erhalten und Daten zu stehlen oder unbrauchbar zu machen. Am häufigsten gelingt es Hackern, Malware durch Phishing, infizierte Anhänge oder Social Engineering auf das System des Opfers zu bringen. Manchmal kommen auch technische Schwachstellen in Form von sogenannten Exploits zum Einsatz.

Malware ist mittlerweile zu einem Oberbegriff für verschiedene (Online-)Bedrohungen geworden und kann in verschiedenen Formen auftreten, die wir uns in diesem Kapitel näher anschauen werden. Zuerst werden wir den Begriff des Computervirus mit dem Virenbegriff aus der Biologie vergleichen und Gemeinsamkeiten bzw. Unterschiede untersuchen. Danach werden wir uns verschiedene Malware-Arten anschauen, darunter Computerwürmer, Keylogger, Trojaner und Ransomware. Danach beschäftigen wir uns mit Malware im Kontext der digitalen Kriegsführung und schauen uns an, ob Malware in der heutigen Zeit als Kriegswaffe anzusehen ist. Zum Schluss des Kapitels lernst du, wie man mithilfe von VirusTotal Malware identifizieren kann und wo auf der Plattform selbst möglicherweise Gefahren lauern.

3.1 Biologische Viren vs. Computerviren

In diesem Kapitel beschäftigen wir uns mit dem Begriff des Computervirus und damit, welche Parallelen bzw. Unterschiede es zu biologischen Viren gibt.

Ein biologischer Virus ist ein Krankheitserreger, der für seine Vermehrung auf geeignete Wirtszellen angewiesen ist. Viren können unterschiedliche Organsimen befallen, die dann als Wirt fungieren: Pflanzen, Tiere, Pilze, Menschen und auch Bakterien können Viren bewirten. Dabei greift das Schlüssel-Schloss-Prinzip, d. h., die Viren erkennen anhand von bestimmten Proteinen an ihrer Außenseite passende Rezeptorstrukturen auf der Wirtszellenoberfläche und docken an diese an. Viren, die als Partikel und nicht als Einzeller anzusehen sind, fehlen wichtige Zellbestandteile. Sie sind zu keinem eigenen Stoffwechsel fähig und tragen lediglich die Erbinformationen in Form von DNA und RNA in sich, die dann zur Reproduktion nötig sind. Diese Erbinformationen werden den Wirtszellen injiziert, mit deren Hilfe sie sich dann reproduzieren können, indem sie den Wirt einfach für sich arbeiten lassen.

Ein Computervirus ist ein Programmcode, der sich an eine Wirtsdatei, an einen bestimmten Speicherbereich oder den Bootsektor eines Datenträgers anhängt und sich eigenständig repliziert. Dabei werden die Funktionen des Rechners, auf dem die infizierten Dateien liegen, modifiziert, was bei Ausführung ein schadhaftes Verhalten wie bspw. Systemabstürze, Datenmanipulationen und Datenlöschungen oder den Diebstahl von Informationen nach sich ziehen kann. In den frühen Anfängen der Computertechnik konnte man vor allem durch CDs oder Disketten von einem Virus befallen werden. Mittlerweile sind Infektionen auch durch E-Mail-Anhänge und USB-Sticks möglich. Viren verbreiten sich also nicht von Computer zu Computer selbst, sondern müssen in irgendeiner Form weitergegeben werden. Das könnte über USB-Sticks, Netzwerke, E-Mails usw. funktionieren.

Bei Computerviren kann man verschiedene Arten unterscheiden, die bereits Aufschluss über die Infektionswege geben:

■Bootsektor-Viren

■E-Mail-Viren

■Software-Viren

■Makro-Viren1

Anhand der bisherigen Ausführungen zu Viren und Computerviren hast du mit Sicherheit schon einige Parallelen zwischen ihnen festgestellt. Wir wollen nun anhand des sogenannten Lytischen Zyklus noch einmal tiefer in die Materie eintauchen und die Gemeinsamkeiten bzw. Unterschiede herausarbeiten. Der lytische Zyklus ist ein Prozess, der von bestimmten Viren, insbesondere Bakteriophagen, also Viren, die Bakterien infizieren, genutzt wird, um sich zu vermehren. In unserer Analogie ist der Computer der Mensch und die infizierbaren Dateien, Programme usw. sind die menschlichen Zellen, die als Wirt für einen Virus dienen:

Phase

Bedeutung

Computervirus-Analogie

Adsorptionsphase

In dieser Adsorptionsphase dockt der Virus-Phage mit seinen Schwanzfäden an die Wirtszelle an. In dieser Phase hat noch kein wirklicher Befall bzw. keine Einnahme der Wirtszelle stattgefunden.

Vergleichbar ist das mit dem Platzierungsversuch des Computervirus auf einem zu infizierenden Rechner via E-Mail, im Bootsektor oder im Speicher. Noch ist nichts Schlimmes passiert, da der Computervirus noch nicht ausgeführt wurde und keine Programme, Dateien etc. befallen hat.

Injektionsphase

In der Injektionsphase bohrt der Virus-Phage ein Loch in die Wirtszelle und injiziert darüber sein Erbgut.

Vergleichbar ist das mit dem Schritt, in dem ein Computervirus den Wirtsrechner bzw. die darauf laufenden Dateien befällt. Ein Virus kann nicht einfach jedes Betriebssystem befallen. Computerviren sind, ebenso wie ihre biologischen Vorbilder, wirtsspezifisch, d. h., ein Virus ist entweder für Windows, Linux oder MacOS gedacht.

Latenzphase

In der Latenzphase wird die Wirtszelle quasi umprogrammiert, sodass diese zukünftig Phagen-Proteine produziert.

Das ist quasi der Schritt, in dem die konkrete Aktivierung des Computervirus erfolgt und theoretisch weitere Systemdateien befallen werden können, z. B. durch Kopie des eigenen schadhaften Codes in infizierbare Programme, Dateien usw.

Reifung

In der Reifungsphase werden die Viren, stark vereinfacht ausgedrückt, innerhalb der Wirtszelle aufgebaut.

Das ist die Zeitspanne, in der sich ein Computervirus vollständig repliziert bzw. entpackt wird und an einen Punkt kommt, an dem er andere Dateien befallen könnte.

Freisetzung

In der letzten Phase, der Freisetzung, brechen die fertigen Virus-Phagen, die in Zusammenarbeit mit der Wirtszelle entstanden sind, aus und können andere Zellen befallen.

Analog dazu würde ein Computervirus nun weitere Dateien befallen und sich auf diesem Weg verbreiten. Die Computerviren machen das jedoch nicht von allein, d. h., sie müssen in irgendeiner Art und Weise aufgerufen werden. Das passiert, z. B. wenn ein Anwender eine E-Mail mit einem infizierten Anhang öffnet, sich den Anhang herunterlädt und ihn ausführt.

Tabelle 3.1-1: Vergleich zwischen biologischen Viren und Computerviren

3.2 Computerwurm

Ein Computerwurm ist eine Art von Malware, die sich selbst repliziert und sich von einem Computer zum anderen verbreiten kann, ohne dass eine Benutzerinteraktion erforderlich ist. Im Gegensatz zu Viren, die sich durch Anhängen an Programme oder Dateien ausbreiten, nutzen Würmer bspw. Netzwerkverbindungen, um sich selbstständig zu verbreiten. Würmer können Kopien von sich selbst erstellen und diese über Netzwerke versenden. Sie sind dabei nicht auf Wirtdateien oder Wirtprogramme angewiesen. Viele Würmer nutzen Sicherheitslücken in Software oder Betriebssystemen aus, um sich Zugang zu anderen Systemen zu verschaffen. Während einige Würmer nur darauf aus sind, sich zu verbreiten und Informationen zu stehlen, können andere wiederum dazu eingesetzt werden, andere schädliche Aktionen wie z. B. das unbemerkte Löschen von Dateien auszuführen.

Obwohl sich Computerwürmer und Computerviren sehr ähneln, gibt es einige grundlegende Unterschiede, die in Tabelle 3.2-1 ausgeführt sind:

Computerwurm

Computervirus

Computerwürmer sind nicht an eine bestimmte Datei oder ein bestimmtes Programm gebunden.

Computerviren benötigen eine Wirtdatei oder ein Wirtprogramm, um sich zu verbreiten.

Computerwürmer benötigen keine Benutzerinteraktion, um sich zu verbreiten. Sie nutzen automatisierte Prozesse und Netzwerkschwachstellen.

Computerviren verbreiten sich, sobald der Benutzer die infizierte Datei oder das infizierte Programm ausführt. Dazu zählt z. B. das Öffnen einer infizierten Datei, die über eine E-Mail versendet wurde.

Computerwürmer können große Netzwerke infizieren und erheblichen Schaden anrichten, insbesondere wenn sie Ressourcen überlasten.

Der Schaden, den ein Computervirus anrichtet, hängt oft von den Aktionen der Wirtsdatei oder des Wirtprogramms ab. Sie können andere Daten beschädigen oder löschen, aber ihre Wirkung ist oft auf das infizierte System beschränkt.

Ihre selbstständige Natur und Fähigkeit, sich schnell zu verbreiten, machen die Entdeckung und Entfernung von Computerwürmern schwieriger.

Computerviren werden oft entdeckt, wenn die infizierte Wirtdatei ausgeführt wurde.

Tabelle 3.2-1: Unterschiede zwischen Computerwürmern und Computerviren

3.3 Keylogger

Ein Keylogger („Keystroke Logger“), zu Deutsch „Tastenprotokollierer“, ist eine Art von Überwachungssoftware oder auch Überwachungshardware, die darauf ausgelegt ist, die Tastatureingaben eines Benutzers aufzuzeichnen. Sie werden in verschiedenen Kontexten eingesetzt, allerdings ist ihr Einsatz grundsätzlich erst mal (rechtlich) zu hinterfragen. Ich rate grundsätzlich von der Verwendung eines Keyloggers, egal, ob als Software oder als Hardware, ab! In den meisten Fällen kommen Keylogger, wie wir sie im Rahmen dieses Buchs behandeln, bei kriminellen Aktivitäten wie bspw. Industriespionage oder auch Identitätsdiebstahl zum Einsatz. Moment, Identitätsdiebstahl? Ja! Da Keylogger die Tastatureingaben eines Benutzers protokollieren, werden damit möglicherweise auch Passwörter abgefangen. Diese können dann von dem Angreifer dazu eingesetzt werden, um sich unberechtigt in den Account des Opfers einzuloggen.

Keylogger lassen sich auf verschiedene Arten und Weisen durch Software realisieren:

■Hook-basierte Keylogger nutzen die Funktionen des Betriebssystems, um Tastenanschläge zu überwachen. Sie „haken“ sich in den Tastaturfluss zwischen den Tasten und dem Betriebssystem ein.

■Kernel-basierte Keylogger arbeiten auf einer tieferen Ebene des Betriebssystems und sind daher schwerer zu erkennen. Sie können jedoch bei Fehlfunktionen das gesamte System destabilisieren und zu Abstürzen führen.

■Browser-basierte Keylogger sind darauf spezialisiert, Daten einzufangen, die in Webformulare eingegeben werden, einschließlich Kreditkartennummern und Anmeldeinformationen. Diese Keylogger sind nur bei aktiver Nutzung der Webseite aktiv.

Man kann Keylogger unter Zuhilfenahme von Hardware realisieren:

■USB-Keylogger sind Geräte, die zwischen der Tastatur und dem PC-Port eingesteckt werden und alle Tastenanschläge aufzeichnen. Dafür benötigt der Angreifer jedoch Zugang zum PC des Opfers und die Gelegenheit, das Gerät unbemerkt zu verbauen. Wenn der USB-Keylogger gut versteckt wird, kann er sehr lange Zeit unbemerkt bleiben.

■Drahtlose Keylogger werden z. B. in drahtlose Tastaturen eingebaut und können die Signale abfangen.

3.4 Trojaner

Der Name Trojaner leitet sich von der antiken Geschichte des Trojanischen Pferdes aus der griechischen Mythologie ab. Sie ist wesentlicher Bestandteil des Trojanischen Krieges, wie er im Epos Ilias von Homer beschrieben wird. In der Geschichte bauten die Griechen ein riesiges hölzernes Pferd, das als Friedensgeschenk und Zeichen ihrer Niederlage diente. Die Bewohner von Troja zogen das riesige Pferd in ihre Stadt. Allerdings handelte es sich bei diesem Pferd um eine List: Im Inneren verbargen sich bewaffnete griechische Soldaten. Nachts, als die Stadt schlief, verließen die Soldaten das Pferd und öffneten die Stadttore. Dies führte letztendlich zum Fall Trojas.

Doch was hat das mit Trojanern im Kontext der Cybersicherheit zu tun? Nun, ähnlich wie die Griechen ihre Soldaten in einem harmlos aussehenden Pferd versteckten, tarnt sich ein Trojaner als legitime bzw. nützliche Software. Benutzer installieren die Software in dem Glauben, dass sie sicher sei, doch sobald sie gestartet wird, führt sie schädliche Aktionen auf dem Computer des Benutzers aus. Das umfasst bspw. den Diebstahl sensibler Daten wie Zugangsdaten oder die Erstellung von Backdoors, mit denen den Angreifern Fernzugriff auf das infizierte System gewährt wird. Das ist vergleichbar mit dem Öffnen der Tore Trojas durch die Griechen vom Inneren der Stadt heraus. Trojaner sind ein beliebtes Werkzeug von Geheimdiensten, denn mit ihnen lassen sich über einen längeren Zeitraum unerkannt Informationen für die taktische Kriegsführung gegen andere Länder sammeln. Das kann bspw. die Aufklärung von Energieversorgern und anderen kritischen Infrastrukturen sein. Ermöglicht wird dies z. B. durch Keylogger (Kapitel 3.3) oder unbemerkt angefertigte Bildschirmaufnahmen.

Trojaner können auf verschiedene Arten verbreitet werden:

■Phishing: Durch Phishing-Mails können Benutzer dazu verleitet werden, auf einen Link zu einer gefälschten Webseite zu klicken, auf der sich ein als legitimes Programm getarnter Trojaner befindet.

■Drive-by-Downloads: Bei dieser Verbreitungsart wird der Trojaner beim Besuch einer infizierten Webseite automatisch heruntergeladen und ggf. später vom Benutzer installiert. Da es in vielen Fällen keine zusätzliche Downloadabfrage gibt, wird der Download oft noch nicht einmal erkannt. Das spielt Angreifern insofern in die Hände, als dass Benutzer mittlerweile immer besser über die Gefahren von Phishing-Mails aufgeklärt werden.

■Exploits: Durch das Ausnutzen von Sicherheitslücken in Software können Trojaner ohne das Wissen des Benutzers installiert werden.

Ein Trojaner besitzt in der Regel viele Funktionen, die auch Fernwartungssoftwares haben, wie etwa die Möglichkeit, Programme aus der Ferne zu starten oder zu beobachten, was der Benutzer gerade auf dem System macht. Das, was ein Fernwartungsprogramm am Ende zu einem Trojaner macht, ist das fehlende Wissen des Benutzers. Wenn ein Benutzer nicht weiß, dass gerade seine Aktivitäten mitgeloggt bzw. von einem Unbekannten aus der Ferne beobachtet werden, dann fungiert das Programm als digitaler Spion und ist somit zur Klasse der Trojaner zu zählen.

3.5 Ransomware

Der Begriff Ransomware ist in aller Munde und taucht regelmäßig in den Nachrichten auf, wenn es um kriminelle Hackerbanden geht, die Lösegelder in teilweise mehrstelliger Millionenhöhe von Unternehmen erpressen. Doch was genau versteht man eigentlich unter einer Ransomware?

Der Begriff „Ransomware“ ist ein Kofferwort aus den beiden Wörtern „Ransom“ (Lösegeld) und Software zusammen. Übersetzen lässt sich der Name dieser Malware also mit „Lösegeld-Software“. Manchmal spricht man auch von einer „Erpresser-Software“. Die Täter verbreiten bei einem Ransomware-Angriff ein Programm, die Ransomware, das bei Aktivierung die Daten auf dem System des Opfers verschlüsselt. Dadurch entführen die Angreifer sozusagen die Daten, sperren sie in einen Käfig, zu dem nur sie den Schlüssel besitzen, und erpressen dann die Betroffenen. Gegen eine stolze Summe von durchschnittlich 255.000 €2 rücken die Täter dann den Schlüssel heraus, mit dem die Daten wieder entschlüsselt werden können.

Programmieren die Täter ihre Ransomware richtig, dann ist eine Wiederherstellung der Daten ohne den Schlüssel in der Theorie zwar noch möglich, doch in der Praxis scheitert der verzweifelte Versuch, nicht mit den Erpressern verhandeln zu müssen, an der schieren Anzahl möglicher Schlüssel, die nicht mal einfach nebenbei von einem Computer berechnet werden können. Auch nicht von einem ganzen Rechenzentrum. Besonders in kritischen Infra­strukturen wie Krankenhäusern, in denen der Faktor Zeit eine große Rolle spielt, kann ein ungewollter Ausfall von IT-Systemen bereits nach einem Tag sehr gefährlich, im schlimmsten Fall sogar lebensbedrohlich werden. Wer dann kein Back-up zur Hand hat, das die unverschlüsselten Arztbriefe, Röntgenbilder und Rezepte enthält, befindet sich schnell in einer Situation, die eine Verhandlung mit den Erpressern absolut erforderlich macht. Für die Erpresser ist der Angriff deshalb so lukrativ, weil eine Ransomware verhältnismäßig leicht zu schreiben ist und sehr gut skaliert. Mittlerweile findet man im Darknet sogar Dienstleister, die Ransomware as a Service (RaaS), also als buchbare Dienstleistung, anbieten. Mit nur einer Ransomware lassen sich beliebig viele Rechner infizieren. Erst dann, wenn die Signaturen bei diversen Antiviren-Herstellern oder Datenbanken wie VirusTotal (Kapitel 3.7) hinterlegt sind, ist ein Update der Ransomware erforderlich, doch bei einem „Gewinn“ von durchschnittlich einer Viertelmillionen Euro, hat man schnell ausgesorgt.

Die meisten Ransomware-Varianten sind übrigens in den Programmiersprachen C, C++ und Delphi geschrieben, um die Abhängigkeiten vom .NET-Framework zu umgehen.3 In den meisten Fällen werden nämlich Windows-Rechner angegriffen. Das hängt mit der Art und Weise zusammen, wie die Schadsoftware ins Unternehmen gelangt. Verbreitet wird eine Ransomware nämlich meistens über einen Social-Engineering-Angriff, bei dem der Mensch als größter Unsicherheitsfaktor der IT-Sicherheit eine entscheidende Rolle spielt. Und da die meisten Büroanwender weltweit in der Regel mit Windows arbeiten, ist es vom rein wirtschaftlichen Standpunkt aus betrachtet natürlich lukrativer, sich auf diese Gruppe zu fokussieren. Über Phishing-Mails kann die Ransomware ins Netzwerk des Unternehmens gelangen und sich je nach Bauart sogar ausbreiten. Die Ransomware Ryuk4 scannt bspw. bestimmte IP-Bereiche, um Netzwerk-Shares zu finden, die dann angegriffen bzw. verschlüsselt werden können.

Doch wie ist eine Ransomware konzeptionell aufgebaut? Nun, eine Ransomware besitzt natürlich eine Komponente, mit der die Daten verschlüsselt werden können. Welcher Verschlüsselungsalgorithmus eingesetzt wird, hängt von der jeweiligen Ransomware ab, doch nicht selten wird ein „militärischer Verschlüsselungsgrad“ verwendet. Dahinter steckt letztendlich eigentlich einfach nur der Advanced Encryption Standard (AES) ab 256 Bit. Zusätzlich dazu kommt häufig der RSA-Algorithmus mit 4096 Bit zum Einsatz, mit dem dann der symmetrische AES-256-Bit-Schlüssel verschlüsselt wird. Weitere Details dazu werden wir in Kapitel 14.1 besprechen. Für den Moment reicht es zu wissen, dass bei einer Ransomware zwei Schlüssel zum Einsatz kommen, nämlich ein symmetrischer Schlüssel (AES), mit dem man die Dateien auf der Festplatte des Opfers verschlüsselt, und ein asymmetrischer Schlüssel (RSA), mit dem man den zum Verschlüsseln der Dateien genutzten symmetrischen Schlüssel verschlüsselt.

3.6 Software als Kriegswaffe

Wir befinden uns im Krieg … im Cyberkrieg. Als Waffen kommen dabei Schadprogramme wie Trojaner, Ransomware oder Botnetze zum Einsatz. Spätestens nachdem die Existenz der Spionagesoftware Pegasus5 bekannt wurde, sollte allen klar sein, dass Cyberwaffen eine ernst zu nehmende Gefahr für jeden von uns darstellen. Doch wird Malware auch offiziell bzw. juristisch als Kriegswaffe angesehen?

Eine Antwort darauf liefert das sogenannte Kriegswaffenkontrollgesetz (KrWaffKontrG). Bei diesem Gesetz über die Kontrolle von Kriegswaffen handelt es sich um ein Ausführungsgesetz zu Artikel 26 Absatz 2 des Grundgesetzes (GG). Dieser besagt Folgendes:

Grundgesetz für die Bundesrepublik Deutschland Art 26

(2) Zur Kriegführung bestimmte Waffen dürfen nur mit Genehmigung der Bundesregierung hergestellt, befördert und in Verkehr gebracht werden. Das Nähere regelt einBundesgesetz.

Quelle: https://www.gesetze-im-internet.de/gg/art_26.html [Stand: 09.12.2023].

Das in dem Gesetzestext angesprochene Bundesgesetz ist das bereits erwähnte KrWaffKontrG. Es begrenzt die Proliferation, also die Weiterverbreitung von Kriegswaffen, auf nur ausnahmsweise berechtigte Personen oder Unternehmen. In allen Fällen ist jedoch eine Genehmigung erforderlich.

Doch was sind eigentlich Kriegswaffen? Das regelt die Kriegswaffenliste, die als Anlage zu § 1 Abs. 1 KrWaffKontrG im Kriegswaffenkontrollgesetz zu finden ist. Darin sind die folgenden Kategorien von Kriegswaffen definiert:

Kriegswaffenliste

Atomwaffen

Biologische Waffen

Chemische Waffen

Flugkörper

Kampfflugzeuge und -hubschrauber

Kriegsschiffe und schwimmende Unterstützungsfahrzeuge

Kampffahrzeuge

Rohrwaffen

Leichte Panzerabwehrwaffen, Flammenwerfer, Minenleg- und Minenwurfsysteme

Torpedos, Minen, Bomben, eigenständige Munition

Sonstige Munition

Sonstige wesentliche Bestandteile

Dispenser

Quelle: https://www.gesetze-im-internet.de/krwaffkontrg/anlage.html [Stand: 09.12.2023].

Software, und Malware im Speziellen, sucht man in dieser Liste allerdings vergebens. Man sollte jedoch im Hinterkopf behalten, dass sich nicht jede Malware auch automatisch als Kriegswaffe eignet, denn auch mit Messern kann bspw. Schaden angerichtet werden und diese sind auch nicht in der Kriegswaffenliste aufgeführt. Eine Ransomware (Kapitel 3.5), hinter der vorrangig monetäre Interessen von Erpressern stecken, eignet sich von der Grundidee her nur bedingt als Kriegswaffe, es sei denn, statt Geld wird z. B. ein Gefangenenaustausch oder die Aufgabe strategischer Militärstützpunkte gefordert.

Doch welche Art von Soft- bzw. Malware könnte sich denn dazu eignen, um in das KrWaffKontrG aufgenommen zu werden? Meiner Ansicht nach zwei Kategorien, nämlich

■Spionage- und

■Sabotagesoftware.

Unter Spionagesoftware versteht man ein Programm, das unerkannt auf einem Zielsystem installiert wird und ohne das Wissen des Gegners Informationen über dessen Aktivitäten sammelt. Diese Informationen können Passwörter zu wichtigen Systemen, Bild- und Mikrofonaufnahmen, aufgerufene Webseiten sowie auf dem Gerät des Opfers gespeicherte Daten sein. Welche Art von Malware passt auf diese Beschreibung? Richtig, Trojaner (Kapitel 3.4). Die größte Verwundbarkeit ist eben die Unwissenheit. Wenn es ein entsprechender Passus in das KrWaffKontrG schafft, könnte bereits ein unter zwanzig Zeilen langes Python-Programm6