Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Liebe Leser!
Inhaltsverzeichnis
Vorwort
Teil I Einführung und Tools
1 Einführung
1.1 Hacking
Hacking-Contests, Capture the Flag
Pen-Test versus Hacking
Hacking-Verfahren
Hacking-Ziele
Hacking-Tools
1.2 Sicherheit
Warum sind IT-Systeme so unsicher?
Angriffsvektoren
Wer ist Ihr Feind?
Intrusion Detection
Zehn Schritte zu mehr Sicherheit
Sicherheit ist nicht sichtbar
Sicherheit ist unbequem
Die Grenzen dieses Buchs
1.3 Exploits
Zero-Day Exploits
Der Wert von Exploits
Exploit-Typen
Schwachstellen und Exploits finden
Common Vulnerabilities and Exposures (CVE)
Common Vulnerability Scoring System (CVSS)
Vulnerability- und Exploit-Datenbanken
Vulnerability-Scanner
Exploit-Sammlungen
1.4 Authentifizierung und Passwörter
Passwortregeln
Phishing
Speicherung von Passwörtern (Hash-Codes)
Alternativen zu Passwörtern
FIDO
1.5 Sicherheitsrisiko IPv6
Sicherheitskomplikationen
1.6 Gesetzliche Rahmenbedingungen
Nicht autorisiertes Hacking ist strafbar
Der fahrlässige Umgang mit IT-Sicherheit ist ebenfalls strafbar
Europäische Datenschutz-Grundverordnung (DSGVO)
Kritische Infrastruktur, Banken
Sicherheitsrichtlinien und -normen
1.7 Security-Organisationen und staatliche Einrichtungen
2 Kali Linux
2.1 Kali Linux ohne Installation ausprobieren
Download verifizieren
Signatur der Prüfsummendatei verifizieren
Kali Linux in VirtualBox ausprobieren
Tastaturlayout und Bildschirmauflösung ändern
Daten bleibend speichern
Forensik-Modus
2.2 Kali Linux in VirtualBox installieren
Installations-Images
VirtualBox unter Windows
Virtuellen Datenträger einrichten
Installation
Login und sudo
Zeitzone und Zeitdarstellung
Netzwerkanbindung
Kali Linux via SSH nutzen
Zwischenablage für Kali Linux und den Hostrechner
2.3 Kali Linux und Hyper-V
2.4 Kali Linux im Windows-Subsystem für Linux
Einschränkungen
2.5 Kali Linux auf dem Raspberry Pi
2.6 Kali-Interna
Paketquellen
Rolling Release
Updates durchführen
Software installieren
Python 2
PowerShell
Undercover-Modus
Netzwerkdienste und Firewall
2.7 Einfache Anwendungsbeispiele
Adress-Scan im lokalen Netzwerk
Port-Scan eines Servers
Metasploitable hacken
2.8 PentestBox
3 Lernumgebung einrichten (Metasploitable, Juice Shop)
3.1 Metasploitable 2
Installation in VirtualBox
Netzwerkeinstellungen
Host-only-Netzwerk
Metasploitable 2 nutzen
Metasploitable 2 hacken
rlogin-Exploit
3.2 Metasploitable 3
Warum keine fertigen Images?
Voraussetzungen
Installation unter Linux
Installationsvarianten
Metasploitable 3 starten und stoppen
Metasploitable 3 administrieren (Windows-Variante)
Metasploitable 3 administrieren (Ubuntu-Variante)
Netzwerkkonfiguration
Überblick über die Dienste in Metasploitable 3 (Windows-Variante)
Benutzeraccounts und versteckte Bilder
Metasploitable 3 hacken (Windows-Variante)
Metasploitable 3 hacken (Linux-Variante)
3.3 Juice Shop
Installation mit Vagrant
Installation mit Docker
Docker in Kali Linux
Den Juice Shop hacken
4 Hacking-Tools
4.1 nmap
Syntax
Beispiele
Varianten und Alternativen
4.2 hydra
Syntax
Passwortlisten
Beispiele
Angriffe auf Webformulare und Login-Seiten
Alternativen
4.3 nikto
Optionen
Beispiel
Alternativen
4.4 sslyze, sslscan und testssl
sslscan und sslyze
testssl
Online-Tests
4.5 whois, host und dig
whois
host
dig
dnsrecon
4.6 Wireshark
Installation
Grundfunktionen
Arbeitstechniken
Alternativen
4.7 tcpdump
Syntax
Beispiele
ngrep
4.8 Netcat (nc)
Syntax
Beispiele
socat
4.9 SPARTA
4.10 OpenVAS
Installation
OpenVAS starten und aktualisieren
Anwendung
Alive-Test
Hoher Ressourcenbedarf
Tasks selbst einrichten
Alternativen
4.11 Metasploit Framework
Betrieb unter Kali Linux
Installation unter Linux
Installation unter macOS
Installation unter Windows
Updates
Die Metasploit-Konsole (»msfconsole«)
Eine typische »msfconsole«-Session
Module suchen
Module anwenden
Meterpreter
4.12 Armitage
Benutzeroberfläche
4.13 Empire Framework
Installation
Listeners kennenlernen und einrichten
Stager auswählen und erzeugen
Agenten erzeugen und verwalten
Das richtige Modul finden
Mit dem Empire Framework lokale administrative Rechte erlangen
Das Empire Framework in den Ausgangszustand zurücksetzen
Alternativen
4.14 Das Post-Exploitation-Framework Koadic
Server installieren
Hilfsmittel im Programm nutzen
Verbindungen von einem Client zum Server erzeugen
Erste Verbindung (Zombie 0) erstellen
Die Module von Koadic
Rechte erweitern und Passwort-Hashes auslesen
Fazit und Gegenmaßnahmen
4.15 Social-Engineer Toolkit (SET)
Syntax
Beispiel
Das dnstwist-Kommando
Weitere SET-Module
Alternativen
4.16 Burp Suite
Installation und Einrichtung
Module
Burp Proxy
Burp Scanner
Burp Intruder
Burp Repeater
Burp Extensions
Alternativen
Teil II Hacking und Absicherung
5 Offline Hacking
5.1 BIOS/EFI-Grundlagen
Der Bootprozess
EFI-Einstellungen und Passwortschutz
UEFI Secure Boot
Wenn das EFI unüberwindlich ist: Festplatte ausbauen
5.2 Auf fremde Systeme zugreifen
Das Notebook mit Kali Linux booten
Windows-Dateisystem auslesen
Vault-Dateien
IT-Forensik
Schreibzugriff auf das Windows-Dateisystem
Linux und macOS
Sind Login-Passwörter somit sinnlos?
5.3 Auf externe Festplatten oder SSDs zugreifen
Aus Notebooks ausgebaute Festplatten und SSDs
5.4 Windows-Passwort zurücksetzen
Tools
Unerwünschte Nebenwirkungen
Lokales Windows-Passwort mit chntpw zurücksetzen
Administrativen Windows-User mit chntpw aktivieren
5.5 Linux- und macOS-Passwort zurücksetzen
Linux-Passwort zurücksetzen
macOS-Passwort zurücksetzen
5.6 Festplatten verschlüsseln
BitLocker
Zugriff auf BitLocker-Dateisysteme unter Linux (dislocker)
BitLocker-Sicherheit
BitLocker-Alternativen
macOS (FileVault)
Linux (LUKS)
Dateisystemverschlüsselung auf dem Server
6 Passwörter
6.1 Hash-Verfahren
Hash-Kollisionen
SHA-2- und SHA-3-Hash-Codes
Prüfsummen bzw. Hash-Codes für Downloads
6.2 Brute-Force Password Cracking
Zeitaufwand für das Passwort-Cracking abschätzen
6.3 Rainbow Tables
Salt
6.4 Wörterbuch-Attacken
6.5 Passwort-Tools
John the Ripper (Offline-CPU-Cracker)
hashcat (Offline-GPU-Cracker)
crunch (Passwortlisten-Generator)
hydra (Online-Cracker)
makepasswd (Passwort-Generator)
One-Time Secret (Passwörter per E-Mail versenden)
6.6 Default-Passwörter
6.7 Data Breaches
6.8 Multi-Faktor-Authentifizierung
6.9 Sicheres Passwort-Handling implementieren
Implementierungstipps
7 WLAN, Bluetooth und SDR
7.1 802.11x-Systeme (WiFi)
Vorbereitung und Infrastruktur
WEP (Wireless Equivalent Privacy)
WPA/WPA-2 (Wireless Protected Access)
WPS (Wireless Protected Setup)
WiFi-Default-Passwörter
WPA-2-KRACK-Attack
WPA-2 Enterprise
WiFi-Client – Man in the Middle
WPA-3
7.2 WPA-2-Handshakes mit dem Pwnagotchi einsammeln
7.3 Bluetooth
Bluetooth-Technologie
Identifikation von Bluetooth-Classic-Geräten
Bluetooth-Geräte verstecken (und dennoch finden)
Bluetooth Low Energy (BTLE)
Bluetooth-Low-Energy-Kommunikation mithören
Apple-Geräte mittels Bluetooth identifizieren
Bluetooth-Angriffe
7.4 Software-Defined Radios (SDR)
SDR-Devices
Dekodierung einer drahtlosen Fernbedienung
8 Angriffsvektor USB-Schnittstelle
8.1 USB-Rubber-Ducky
Aufbau und Funktionsweise
DuckyScript
Windows-Passwörter mit dem USB-Rubber-Ducky auslesen
Mit dem Duck Encoder zur fertigen Payload
Alternative Firmware für den USB-Rubber-Ducky
Vor- und Nachteile des USB-Rubber-Duckys
8.2 Digispark – ein Wolf im Schafspelz
Arduino-Entwicklungsumgebung herunterladen und einrichten
Deutsche Tastatur einrichten
Die Scriptsprache des Digisparks
Linux-Backdoor mit Digispark einrichten
Vor- und Nachteile des Digisparks
8.3 Bash Bunny
Aufbau und Funktionsweise
Konfiguration des Bash Bunnys
Status-LED
Software-Installation
Verbindung zum Bash Bunny herstellen
Den Bash Bunny mit dem Internet verbinden (Linux-Host)
Den Bash Bunny mit dem Internet verbinden (Windows-Host)
Bunny Script – die Scriptsprache des Bash Bunnys
Eigene Erweiterungen und Funktionen nutzen
macOS-Backdoor mit Bash Bunny einrichten
Die »payload.txt«-Dateien für Switch1 und Switch2
Bash Bunny aktualisieren
Vor- und Nachteile des Bash Bunnys
8.4 P4wnP1 – Das Universaltalent
Aufbau und Funktionsweise
Installation und Konnektivität
HID-Scripts
CLI-Client
Ein Angriffsszenario mit dem P4wnP1
Wörterbuch erstellen
Brute-Force-Angriff starten
Trigger Action einrichten
Den P4wnP1 auf dem Zielsystem einsetzen
Fazit
8.5 Gegenmaßnahmen
Hardware-Maßnahmen
Software-Maßnahmen
9 Externe Sicherheitsüberprüfungen
9.1 Gründe für professionelle Überprüfungen
9.2 Typen von Sicherheitsüberprüfungen
Open-Source-Intelligence-(OSINT-)Analyse
Vulnerability-Scan/Schwachstellen-Scan
Vulnerability Assessment
Penetration-Test
Red Teaming
Art der Durchführung
Prüfungstiefe (Angreifertyp)
9.3 Rechtliche Absicherung
9.4 Zielsetzung und Abgrenzung
Beispiel für die Zielsetzung
Beispiel für Worst-Case-Szenarien
Beispiel für den Umfang
9.5 Methodologien zur Durchführung
9.6 Reporting
9.7 Auswahl des richtigen Anbieters
10 Client-Side Penetration-Testing
10.1 Open Source Intelligence (OSINT)
Suche nach Informationen zur Firma
Identifikation des Aufbaus von E-Mail-Adressen
Suche nach Mitarbeitern eines Unternehmens mit Maltego
Eigene Maltego-Transformationen entwickeln
Maltego-Transforms automatisieren
Verwendung von Metadaten veröffentlichter Dateien
Verteidigung
10.2 E-Mail-Phishing-Kampagnen für Unternehmen
Organisatorische Vorbereitungsmaßnahmen
Phishing-Kampagne mit Gophish vorbereiten
10.3 Phishing-Angriffe mit .PDF.EXE-Dateien
Option 1: Erstellung einer ausführbaren Datei mit Metasploit
Option 2: Erstellung einer Datei mit Veil zur Umgehung von Virenscannern
Tarnen und täuschen (von der EXE- zur PDF-Datei)
Versand und Test des Angriffs
10.4 Praxisbeispiel: Phishing-Angriffe mit Office-Makros
Verteidigung
10.5 Angriffsvektor USB-Phishing
10.6 Man-in-the-Middle-Angriffe auf unverschlüsselte Verbindungen
Grundlagen
Das Tool ettercap
10.7 Man-in-the-Middle-Angriff auf SSL/TLS-Verbindungen
Ausstellung von gefälschten Zertifikaten
HTTPS-Weiterleitungen mit sslstrip deaktivieren
10.8 Man-in-the-Middle-Angriffe auf Remotedesktop
Das seth-Kommando
Angriffe trotz Network Level Authentication (NLA) durchführen
10.9 Angriffe auf Netzwerk-Hashes
Das Tool responder
10.10 SMB-Relaying mit der Impacket-Library (Angriff auf Administratoren)
10.11 SMB-Relaying-Angriff auf normale Domänenbenutzer
11 Penetration-Testing in Netzwerken
11.1 Externe IP-Adressen der PTA überprüfen
11.2 Network Access Control (NAC) und 802.1X in lokalen Netzwerken
Lernen Sie das Netzwerk durch Zuhören kennen
Network Access Control (NAC) und 802.1X
11.3 Scanning von interessanten Zielen
Informationen per DNS beschaffen
Aktive Hosts erkennen
Aktive Dienste mit nmap erkennen
nmap in Kombination mit Metasploit verwenden
11.4 Suche nach bekannten Schwachstellen mit nmap
11.5 Bekannte Schwachstellen mit Metasploit ausnutzen
Beispiel: GetSimple-CMS
11.6 Angriff auf schwache Passwörter
11.7 Post-Exploitation von Systemen
Local Privilege Escalation
Windows User Account Control (UAC) mit Default-Setting umgehen
UAC mit dem höchsten Setting umgehen
Passwörter mit mimikatz auslesen
Windows 10-Schutz gegen mimikatz umgehen
Windows-Tokens stehlen, um sich als ein Benutzer auszugeben
Lokale Passwort-Hashes auslesen
Verbreitung im Netzwerk mittels Pass-the-Hash
12 Windows Server absichern
12.1 Lokale Benutzer, Gruppen und Rechte
Benutzer- und Kennworteigenschaften
Local Admin Password Solution (LAPS)
12.2 Manipulationen am Dateisystem
Angriffe auf virtualisierte Rechner
Absicherung
Angriff über die Registry
12.3 Serverhärtung
Sorgen Sie für ein sicheres Fundament
Härten Sie neue Installationen
Schützen Sie privilegierte Nutzer
Improve Threat Detection
Sichern Sie auch virtuelle Maschinen ab
Nutzen Sie den Security Compliance Manager
Security Compliance Toolkit
12.4 Windows Defender
Defender-Konfiguration
Defender-Administration über die PowerShell
12.5 Windows-Firewall
Basiskonfiguration
Erweiterte Konfiguration
IP-Security (IPSec)
12.6 Windows-Ereignisanzeige
Einstufung der Ereignisse
Protokollarten
Aktionen mit Ereignisanzeigen verknüpfen
Windows Event Forwarding (WEF)
Tools zur Ereignisanzeige
13 Active Directory
13.1 Was ist das Active Directory?
Domänen
Partitionen
Access Control Lists (ACLs)
Security Descriptor Propagator (SDProp)
Standardrechte
Das Vertraulichkeitsattribut
13.2 Manipulation der Active-Directory-Datenbank bzw. ihrer Daten
ntdsutil-Kommando
dsamain-Kommando
Zugriff auf die AD-Datenbank über Backups
13.3 Manipulation von Gruppenrichtlinien
Konfigurationsdateien für Gruppenrichtlinien
Beispiel: Passwort ändern
13.4 Domänenauthentifizierung (Kerberos)
Kerberos-Grundlagen
Kerberos im Freizeitpark
Kerberos unter Windows
Kerberos-Tickets
krbtgt-Konto
TGS-Request und -Reply
Ältere Authentifizierungsprotokolle
13.5 Angriffe gegen die Authentifizierungsprotokolle und LDAP
13.6 Pass-the-Hash-Angriffe (mimikatz)
Defender-Ausnahme einrichten
Windows Credentials Editor
mimikatz
Das mimikatz-Modul »sekurlsa«
mimikatz und Kerberos
PowerSploit
13.7 Golden Ticket und Silver Ticket
Golden Ticket mit mimikatz erzeugen
Silver Ticket und Trust-Ticket
BloodHound
Deathstar
13.8 Sensible Information aus der Active-Directory-Datenbank auslesen
13.9 Grundabsicherung
Core-Server
Rollen im Core-Server
Nano Server
Updates
Härtung des Domaincontrollers (Hardening)
13.10 Mehr Sicherheit durch Tiers (Schichten)
Gruppenrichtlinien für das Tier-Modell
Authentication Policies und Silos
13.11 Schutzmaßnahmen gegen Pass-the-Hash- und Pass-the-Ticket-Angriffe
Kerberos-Reset
Kerberos-Policies
Kerberos Claims und Armoring
Monitoring und Detection
Microsoft Advanced Threat Analytics (ATA)
14 Linux absichern
14.1 Installation
Serverdistributionen
Partitionierung des Datenträgers
IPv6
14.2 Software-Updates
Ist ein Neustart erforderlich?
Updates automatisieren
Automatische Updates unter CentOS konfigurieren
Automatische Updates unter Ubuntu konfigurieren
Die Grenzen der Linux-Update-Systeme
14.3 Kernel-Updates (Live Patches)
Kernel Live Patches
Kernel Live Patches bei RHEL
Kernel Live Patches bei Ubuntu
14.4 SSH absichern
sshd_config
Root-Login blockieren
Authentifizierung mit Schlüsseln
Authentifizierung mit Schlüsseln in der Cloud
Zwei-Faktor-Authentifizierung mit Schlüssel und Passwort
IPv6 sperren
14.5 Google Authenticator
Google Authenticator einrichten
2FA mit Passwort und Einmalcode
3FA mit Schlüssel, Passwort und Einmalcode
Weitere Konfigurationsvarianten
Was ist, wenn das Smartphone verlorengeht?
Authy als Alternative zur Google-Authenticator-App
14.6 Fail2ban
Installation
Konfiguration
Grundparameter
SSH absichern
Andere Dienste absichern
Eigene Webapplikationen absichern
Fail2ban-Client
14.7 Firewall
Das Netfilter-System
Netfilter und nftables
Das iptables-Kommando
FirewallD (CentOS/RHEL)
firewall-cmd-Kommando
ufw (Ubuntu)
Firewall-Absicherung in der Cloud
14.8 SELinux
Konzept
Der richtige Sicherheitskontext
Prozesskontext (Domäne)
Regelwerke
SELinux-Parameter (Booleans)
Status
SELinux-Probleme beheben
14.9 AppArmor
AppArmor unter Ubuntu
Regeln (Profile)
Aufbau von Regeldateien
Regelparameter (»tunables«)
Logging und Wartung
14.10 Apache
Zertifikate
Zertifikatsdateien
Apache-Konfiguration
HTTPS ist nicht HTTPS
14.11 MySQL und MariaDB
MySQL versus MariaDB
Login-System
MySQL und MariaDB unter Debian/Ubuntu
MariaDB unter CentOS/RHEL absichern
MySQL unter CentOS/RHEL absichern
MariaDB aus den MariaDB-Paketquellen absichern
Absicherung von MariaDB bzw. MySQL kontrollieren
Hash-Codes in der Tabelle »mysql.user«
Privilegien
Serverkonfiguration
14.12 Postfix
Postfix-Grundeinstellungen
E-Mails verschlüsselt senden und empfangen
Spam- und Virenabwehr
14.13 Dovecot
Eigene Zertifikate für IMAP und POP verwenden
SMTP-Authentifizierung für Postfix
14.14 Rootkit-Erkennung und Intrusion Detection
chkrootkit
rkhunter
Lynis
ISPProtect
Snort
Dateien von Paketen verifizieren
Nach verdächtigen Ports und Prozessen suchen
15 Sicherheit bei Samba-Fileservern
15.1 Vorüberlegungen
Samba selbst kompilieren, SerNet-Pakete
15.2 CentOS-Basisinstallation
Partitionen
IPv6 deaktivieren
Samba-Pakete installieren unter CentOS
15.3 Debian-Basisinstallation
Die Partitionen
IPv6 deaktivieren
Samba-Pakete installieren unter Debian
15.4 Konfiguration des Samba-Servers
Konfiguration des Kerberos-Clients
15.5 Samba-Server im Active Directory
Join des Samba-Servers
Test des Servers
15.6 Freigaben auf dem Samba-Server
Dateisystemrechte unter Linux
Dateisystemrechte unter Windows
Spezielle Freigaben auf einem Windows-Server
Die administrative Freigabe unter Samba
Anlegen der administrativen Freigabe
Anlegen der Benutzerfreigaben
15.7 Umstellung auf die Registry
Zugriff von Windows auf die Registry
15.8 Samba-Audit-Funktionen
15.9 Firewall
Firewall-Script testen
Firewall-Script automatisch starten
15.10 Angriffsszenarien auf Samba-Fileserver
Bekannte Sicherheitslücken der letzten Jahre
15.11 Prüfen von Samba-Fileservern
Tests mit nmap
samba-vuln-cve-2012-1182
smb-vuln-cve-2017-7494
smb-os-discovery
smb2-capabilities
ssh-brute
16 Sicherheit von Webanwendungen
16.1 Architektur von Webapplikationen
Komponenten von Webanwendungen
Authentifizierung und Autorisierung
Session-Management
16.2 Angriffe gegen Webanwendungen
Angriffe gegen die Authentifizierung
Session-Hijacking
HTML-Injection
Cross-Site Scripting
Session Fixation
Cross-Site Request Forgery
Directory Traversal
Local File Inclusion (LFI)
Remote File Inclusion (RFI)
File-Upload
SQL-Injection (SQLI)
sqlmap
Advanced SQL-Injection: Blind SQL-Injection (Boolean)
Advanced SQL-Injection: Blind SQL-Injection (Time)
Advanced SQL-Injection: Out-of-Band Data Exfiltration
Advanced SQL-Injection: Error-based SQL-Injection
Command-Injection
Click Jacking
XML-Angriffe
Server Side Request Forgery (SSRF)
Angular Template Injection
Angriffe auf Objekt-Serialisierung
Schwachstellen im CMS
16.3 Praktische Analyse einer Webanwendung
Informationssammlung
SQL-Injection testen
Directory Traversal
Port Knocking
SSH-Login
Privilege Escalation
Automatische Analyse mit Burp
16.4 Schutzmechanismen und Abwehr von Webangriffen
Serversignatur minimieren
Directory-Listing abstellen
Eingeschränkter Betriebssystem-Account für den Webserver
Führen Sie den Webserver in einer »chroot«-Umgebung aus
Nicht benötigte Module deaktivieren
HTTP-Methoden einschränken
Das Einbinden fremder Inhalte einschränken
Cookies vor Zugriff schützen
Server-Timeout
Secure Socket Layer (SSL)
HTTP Strict Transport Security (HSTS)
Input- und Output-Validation
WAF – Web Application Firewall
16.5 Sicherheitsanalyse von Webanwendungen
Codeanalyse
Analyse von Binärdateien
Fuzzing
17 Software-Exploitation
17.1 Schwachstellen von Software
Race Conditions
Logikfehler
Formatstring-Angriffe
Pufferüberläufe
Speicherlecks
17.2 Aufdecken von Sicherheitslücken
17.3 Programmausführung auf x86-Systemen
Speicherbereiche
Stack-Operationen
Aufruf von Funktionen
17.4 Ausnutzung von Buffer-Overflows
Analyse der Programmfunktionalität
Erzeugen eines Programmabsturzes
Reproduktion des Programmabsturzes
Analyse des Absturzes
Offsetberechnung
Erstellung der Exploit-Struktur
Generierung von Code
Umgang mit verbotenen Zeichen
17.5 Structured Exception Handling (SEH)
17.6 Heap Spraying
17.7 Schutzmechanismen gegen Buffer-Overflows
Address Space Layout Randomization (ASLR)
Stack Canaries oder Stack Cookies
Data Execution Prevention (DEP)
SafeSEH und Structured Exception Handling Overwrite Protection (SEHOP)
Schutzmechanismen gegen Heap Spraying
17.8 Schutzmaßnahmen gegen Buffer-Overflows umgehen
Address Space Layout Randomization (ASLR) umgehen
Stack Cookies umgehen
SafeSEH und SEHOP umgehen
Return-Oriented Programming (ROP)
DEP Bypass
17.9 Buffer-Overflows als Entwickler verhindern
17.10 Spectre und Meltdown
Meltdown
Abwehrmaßnahmen
Proof of Concept (Meltdown)
Spectre
Proof of Concept (Spectre)
Die Nachfolger von Spectre und Meltdown
Teil III Cloud, Smartphones, IoT
18 Sicherheit in der Cloud
18.1 Überblick
Argumente für die Cloud
Cloud-Risiken und -Angriffsvektoren
Empfehlungen
18.2 Amazon S3
Basisabsicherung in der Konsole
Das aws-Kommando
Dateien verschlüsseln
Öffentlicher Zugriff auf S3-Dateien
S3-Hacking-Tools
18.3 Nextcloud/ownCloud
Installation von Nextcloud
Zugriff auf das data-Verzeichnis blockieren
Updates durchführen
Verschlüsselung von Dateien
Sicherheitstest für ownCloud- und Nextcloud-Installationen
Brute-Force-Angriffe und -Absicherung
19 Office 365 absichern
19.1 Identitäten und Zugriffsverwaltung
Azure Active Directory (AAD)
Azure Active Directory und Office 365
Benutzerverwaltung im AAD
Anwendungsintegration
19.2 Secure Score
19.3 Mehrstufige Authentifizierung
Vorüberlegungen
Mehrstufige Authentifizierung für ein Benutzerkonto aktivieren
Benutzerkonfiguration der mehrstufigen Authentifizierung
App-Kennwörter für inkompatible Anwendungen und Apps
19.4 Bedingter Zugriff
Moderne Authentifizierung
Richtlinien anlegen
Bedingungen für Richtlinien
Zugriffskontrollen
19.5 Identity Protection
Auf Schwachstellen reagieren
19.6 Office 365 Cloud App Security
Aktivierung der Office 365 Cloud App Security
Konfigurieren von Richtlinien
Shadow-IT erkennen
19.7 Privileged Identities
Privileged Identities aktivieren
Einen Benutzer als Privileged Identity konfigurieren
Administratorberechtigungen anfordern
19.8 Viren- und Spamschutz im E-Mail-Verkehr
Exchange Online Protection (EOP)
Antivirus
Verbindungsfilter
Anti-Spam
DKIM
19.9 Schadcode-Erkennung in E-Mails mit Office 365 ATP
Schutz bei Dateianhängen
Schutz bei Links
Berichte und Nachverfolgung
URL-Ablaufverfolgung
19.10 Sicherheit in den Rechenzentren
Verschlüsselung Ihrer Daten
Zugriffskontrolle
Auditierungen und Datenschutz
20 Mobile Security
20.1 Sicherheitsgrundlagen von Android und iOS
Sandboxing
Berechtigungskonzept
Schutz vor Brute-Force-Angriffen bei Bildschirmsperre
Geräteverschlüsselung
Patchdays
20.2 Bedrohungen von mobilen Endgeräten
Diebstahl oder Verlust des mobilen Endgeräts
Ungesicherte und offene Netzwerke
Unsicheres App-Verhalten zur Laufzeit
Missbrauch von Berechtigungen
Unsichere Netzwerkkommunikation
Angriffe auf Datensicherungen (Backups)
Drittanbieter-Stores
20.3 Malware und Exploits
Stagefright (Android)
Stagefright-Beispiel 1 (Webserver)
Stagefright-Beispiel 2 (Python-Script)
Pegasus (iOS)
Spionage-Apps
20.4 Technische Analyse von Apps
Reverse Engineering von Apps
Automatisierte Schwachstellenanalyse von mobilen Applikationen
20.5 Schutzmaßnahmen für Android und iOS
Vermeiden Sie Rooting/Jailbreaking
Aktualisieren Sie Betriebssysteme und Apps
Geräteverschlüsselung
Diebstahlschutz und Aktivierungssperre
Sperrbildschirm
Virenschutz-Apps
Zwei-Faktor-Authentifizierung
Kritischer Review von Berechtigungen
Installation von Apps aus alternativen App Stores
Nutzung von VPN-Verbindungen
Exkurs: WebAuthn und FIDO2
Einsatz von Android und iOS im Unternehmen
20.6 Apple Supervised Mode und Apple Configurator
Fazit
20.7 Enterprise Mobility Management
Rollen- und Berechtigungsmanagement
Gerätemanagement
App-Management
Systemeinstellungen
Containerlösungen am Beispiel »Android for Work«
Tracking verwalteter Geräte
Reporting
Fazit
21 IoT-Sicherheit
21.1 Was ist das Internet der Dinge?
21.2 IoT-Schwachstellen finden
Shodan-Suchmaschine für öffentlich erreichbare IoT-Geräte
Shodan nutzen
Für Profis: Filtern mit Suchkommandos
Printer Exploitation Toolkit (PRET)
Routersploit
AutoSploit
Einfallstor Consumer-Geräte
Angriffe von innen mit einem Port-Scanner
Beispiel-Port-Scan eines Unterhaltungsgerätes
Lokales Netz versus Internet
Einfallsszenarien mit billigen IoT-Devices
Gefahr durch Netzbetreiber-Schnittstellen
21.3 Absicherung von IoT-Geräten in Netzwerken
21.4 IoT-Protokolle und -Dienste
MQ Telemetry Transport (MQTT)
Installation eines MQTT-Brokers
Die wichtigsten MQTT-Komponenten
MQTT-Beispiel
$SYS-Topic-Tree
Den MQTT-Broker mosquitto absichern
21.5 IoT-Funktechniken
6LoWPAN
ZigBee
LoRaWAN
NFC/RFID
NFC-Hacking
21.6 IoT aus Entwicklersicht
Server für den IoT-Betrieb
Embedded Linux-, Android- oder Windows-IoT-Geräte
Embedded Devices, Controller ohne klassisches Betriebssystem
21.7 Programmiersprachen für Embedded Controller
C
C++
Lua
21.8 Regeln für die sichere IoT-Programmierung
Möglichst einfache Abläufe
Kurze, testbare Funktionen
Übergabewerte müssen zu 100 % überprüft werden
Fehlercodes zurückgeben
Feste Grenzen in Schleifen
Keine (oder möglichst wenig) dynamische Speicherallozierung
Puffer oder Arrays ausreichend groß dimensionieren
Buffer und Array-Größen immer übergeben
Vorsicht bei Function-Pointers
Compiler Warnings einschalten
String Copy für wenig Ressourcen
Nutzung von Bibliotheken
Die Autoren
Die Serviceseiten
← Prev
Back
Next →
← Prev
Back
Next →