Klausur Flashcards
Arten von Sicherheitsbewertungen?
- Dokumentationsanalyse
- Interviews
- Technische Tests
Technische Tests?
- Schwachstellen-scan (Automatisch)
- Teilmanueller Scan (Manuelle Verifikation)
- Penetrationstest (Handarbeit)
Defnition Penetration Testing?
Prüfung der Sicherheit möglichst aller
Systembestandteile und Anwendungen eines
Netzwerks- oder Softwaresystems mit Mitteln und Methoden, die ein Angreifer (ugs. „Hacker“) anwenden würde.
Hackerparagraph?
§202 Verletzung des Briefgeheimnisses
§202a Ausspähen von Daten
§202b Abfangen von Daten
§202c VOrbereiten des Ausspähens und Abfangens von Daten
Genehmigung für die Durchführung?
- Provider
- System Owner und Operator
- Application Owner und Operator
- Database Operator
- Data Owner / Business Owner
- Betriebsrat?
- Datenschutzbeauftragter?
- Incident-Response-Team?
- usw.
Durchführungskonzept für Penetrationstests?
- Informationsbasis
- Aggressivität
- Umfang
- Vorgehensweise
- Technik
- Ausgangspunkt
Testvarianten der Informationsbassis?
- Blackbox / Zero-Knowledge
- Greybox
- Whitebox
Testvarianten von Aggressivität?
- Passiv (kein Ausnutzen von Schwachstellen, minimales Risiko)
- vorsichtig (Ausnutzug von Schwachstellen, wenn davon i.d.R. keine Gefahr ausgeht)
- abwägend (Abwägung Risiko vs. Erfolgswahrscheinlichkeit. z.B. Brute Force pws)
- aggresiv (hohes Risiko (Ausfall vieler Komponenten möglich)
hoher Erkenntnisgewinn z.B. AUsnutzung von Buffer-Overflow Schwachstellen bei nich eindeutig identifizierten Zielen)
Testvarianten von Umfang?
- fokussiert (Prüfung einzelner Systeme z.B. bei Erweiterung der Systemlandschaft, geringer Erkenntnisgewinn: neue Systeme sind häufig seher sicher)
- begrenzt (Beschränkung auf bestimmte Systemgrupppen / Repräsentanten)
- vollständig (hoher Erkenntnisgewinn, evtl. lange Testdauer)
Varianten der Vorgehensweise?
- Verdeckt (nur ein minimaler Personenkreis weiß über den Test Bescheid, Prüfung sekundärer Sicherheits-Systeme / Eskalations-Prozeduren, vorsichtige Tests (Stealth))
- offensichtlich (gesteigerte Effizienz durch Automatisierung, schnellere Reaktion auf mögliche Probleme (DoS))
Ausgangspunkte?
- von außen (Test der DMZ, wenig Systeme mit wenig erreichbaren Diensten, vollständige Betrachtung aller Dienste möglich)
- von innen (Zugriff auf Systeme ohne Firewalls, viele Systeme mit vielen erreichbaren Diensten, eher stichprobenhaft (Sampling), Netzwerkverkehr kann mit analysiert werden, Bildet Praktikanten-Szenario ab.)
Phasen eines Pentests?
- Vorbereitung
- Informationsbeschaffung
- Bewertung der Informationen
- Aktive Angriffe
- Abschlussanalyse
Klassifizierung von Schwachstellen?
Ist erforderlich
- Vergleichbarkeit
- Priorisierung.
Typische Fragen:
- Wie gut sind wird?
- Wie sind wir im Vergleich mit anderen?
- Wie ist der Trend userer Sicherheit?
CVSS?
Common Vulerability Scoring System (CVSS)
- Bewertungssystem für Sicherheitslücken
- Bewertung nach Faktem kein (wenig) Interpretationsspielraum
- Vergleichbarkeit von Schwachstellen
CVSS Probleme?
- Abschalten der Verschlüsselung minimiert CVSS-Score
- Es bleibt Interpretationsspielraum
Daher Verbesserungen:
CVSS Temporal Score und CVSS Enivronmental Score
Einfache Klassifizierung?
- Kritisch (Kompromittierung von Systemen oder Daten mit einfachen Mitteln möglich)
- Hoch (Erforderlicher aufwand zur Kompromittierung ist deutlich höher)
- Mittel (Sicherheitslücken, die erst zusammen mit weiteren, auch menschlichen, Komponenten geeignet sind, einen Sicherheitsvorfall zuzulassen)
- Niedrig (Schwächen, die keine Änderung oder Einsichtnahme durch nicht authentisierte Angreifer zulässt Aunutzung nur theoretisch / Laborcharakter)
- Information Leaks (Preisgabe von Informationen, die weitere Angriffe erleichtern: Versionsinofrmationen, Benutzernamen etc.)
Ziele von Penetration Testing?
- Einheitliches Vorgehen / Vergleichbarkeit von Prüfungen
- Verringerung von Test-Risiken
- Einheitliche Ausbildung neuer Prüfer
- Wirtschaftlicher Umgang mit knappen Ressourcen (Zeit, Personal, Hardware, Software)
- Nichts Wesentliches übersehen
OWASP?
Open Web Application Security Project
- TOP 10
- Application Security verfication Standard
OSSTMM (Open Source Security Testing Methodology Manual)
BSI: Durfürungskonzept für Penetrationstests
Footprinting?
Ermittlung von:
- IP-Adressen
- Domain-Namen
- E-Mail-Adressen
Werkzeuge:
- Extern:
- 1 Whois-Datenbank
- 2 Suchmaschinen
- 3 DNS-Zonentransfer
- 4 Mailserver, ….
- Intern:
- 1 Sniffen
- 2 Lesen, …
Scanning?
- Aktive Systeme finden (Host Discovery)
- Aktive Dienste finden (TCP - und UDP-Portscan)
- Dienste identifizieren
Host Discovery methoden?
- Ping Sweep
- ICMP Echo (ping) Requests
- sehr schnell
- Problem: Firewall - Portscan
- zuverlässig
- dauert länger
- Mittelweg: nur wenige Ports scannen
Portscan unterschiede Open, Closed, filtered?
- Port Open wenn, nach SYN ein SYN+ACK zurück kommt
- Closed wenn nach Syn ein RST zurück kommt
- Filtered wenn nach SYN nichts zurück kpommt.
SYN und Connect Scan?
SYN-Scan: Nach Antwort auf SYN-Paket wird RST geschickt. Keine
vollständigen TCP-Verbindungen. Benötigt root-Rechte (RAW Sockets)
Connect-Scan: Aufbau von vollständigen TCP-Verbindungen. Funktioniert
auch ohne Root-Rechte, weil OS-API genutzt werden kann. Langsamer.
Well-Known-Ports?
21: FTP
22: SSH
53: DNS
80: HTTP
443: HTTPS
445: SMB
3306. MySQL
3389: Remote Desktop
Enumeration?
Ermittlung weiterer Informationen:
- Versionsstand von Software
- Installierte Patches
- Betriebssystem
- Benutzerkonten
- Laufende Dienste
Arten von SQL-Injection?
- Boolean-based blind
- Error-based
- Union-based
- Stacked Queries (blind)
- Time-based blind
External Entity Injection?
Trend: Microservices
• Einsatz von APIs (SOAP, REST, RPC, RFC, …)
• Bei XML:
]>&xxe;
XSS?
OWASP A7
• Ausgabe ungefilterter Benutzereingaben auf Webseite
• Modifizierung der Webseite durch zusätzliche HTML-
oder JavaScript-Tags Gefahren:
1. Veränderung des Aussehens der Seite (Defacement)
2. Nachladen von Schadcode (Drive-by-Download)
3. Stehlen von Sitzungsbezeichnern (Session-Hijacking)
4. Kopieren vertraulicher Informationen (z.B. Passwörter,
Kreditkartendaten, SSN)
Arten von Cross-Site Scripting?
- Reflected / Non-Persistent Cross-Site Scripting
- Persistent / Stored Cross-Site Scripting
- DOM-based Cross-Site Scripting
Interne Penetrationstests?
Situation • Wesentlich größere Anzahl an Systemen • Wesentlich größere Anzahl an Diensten • Veraltete Software • Schwache Konfigurationen • Physischer Zugriff • Aber auch Firewalls und Netz-Segmente
Techniken für interne Penetrationtests?
Techniken
• Man-in-the-Middle-Angriffe
• Tunneling
• Exploiting
Warum Penetrationstests?
- Fremdkontrolle ist Selbstkontrolle überlegen
- Der „bezahlte Hacker“ verfügt über viel Erfahrung
- ISO 27001 (Penetrationstests als Teil eines ISMS)
- Regulierung (PCI, BaFIN: regelmäßige Prüfungen der IT-Sicherheit vorgeschrieben)
- IT-Sicherheitsgesetz (Für Kritische Infrastruktur regelmäßige Prüfungen vorgeschrieben)
- Aus Eigeninteresse (Penetrationstests sind ein wirkungsvolles Mittel, Risiken transparent zu
machen und durch nachgelagerte Maßnahmen zu reduzieren)
Wann kommt es zum Risiko?
Wenn Vulnerability, Threat und Asset aufeinander treffen
OWASP A1?
Injection
- Schwachstelle: Nicht vertrauenswürdige Date werden an einen Interpreter übergeben
- SQL, OS-Commands, LDAP, Xpath, …
- Zugriff auf Daten ohne Autorisierung
OWASP A2?
Broken Authentication
- Fehler in Anmeldung / Sitzungsmanagement kompromittieren die ganze Anwendung
- Angriffe:
1. Cookies stehlen
2. Sitzung übernehmen
3. Passwörter ermitteln
Session Hijacking?
- Brute Force: Hierbei werden sukzessive unterschiedliche IDs generiert und auf Gültigkeit getestet.
- Berechnung: Schlecht vergebene Session-IDs liegt ein einfacher Algorithmus für die Berechnung zu Grunde. Dies ermöglicht es einem Angreifer, die ID einer gültigen Session zu errechnen.
• Cross-Site Scripting: Die Session-IDs bereits authentifizierter Benutzer werden durch Ausnutzung einer Cross-Site Scripting-
Schwachstelle gestohlen.
• Sniffen: Einem Angreifer in einer Man-in-the-Middle-Position gelingt es, den Sitzungsbezeichner aus dem Netzwerkverkehr zu extrahieren.
OWASP A3?
Sensitive Data Exposure
Preisgabe sensibler Daten
• PII (Pers.-bezogene Daten)
• Finanz-/HR-/Gesundheits-/…-/daten
Schwachstellen
• fehlende / unzureichende Verschlüsselung (transit/rest)
• Verwendung von Passwort-Hashes ohne Salt
• automatische Ver-/Entschlüsselung beim
Datenbankzugriff
• Ausgabe von Passwörtern, Kreditkartennummern, etc.
in Serverantwort
Ziele SSL-Verschlüsselung?
Der Einsatz von SSL hat folgende Ziele:
- Authentizität (SSL-Zertifikate)
- Integrität („Prüfsumme“, MAC)
- Vertraulichkeit (Verschlüsselung)
Schwachstellen SSL-Konfiguration?
- Nicht vertrauenswürdiges SSL-Zertifikat
- Veraltetes SSL-Zertifikat
- Einsatz des falschen Zertifikats
- Unterstützung von SSLv2
- Unterstützung kurzer Schlüssellängen
- Unterstützung unsicherer Chiffren: RC4
- Kompression vor der Verschlüsselung
- Neuaushandlung der Verschlüsselungsparameter
- Veraltete SSL-Komponenten (z.B. Heartbleed)
SSL Heartbleed?
• Schwachstelle in bestimmten OpenSSL-Versionen
• erlaubt einem Angreifer, einen zufälligen Speicherbereich des Server-Prozesses auszulesen
(Information Disclosure-Schwachstelle)
• zahlreiche Tools zum Ausnutzen online verfügbar
• ermöglicht Zugriff auf
– Session Tokens
– Passwörter
– privates Schlüsselmaterial
OWASP A4?
External Enitiy Injection
- Trend: Microservices
- Einsatz von API’S (SOAP, REST, RPC, RFC, …)
Schwachstellen bei:
- Billion Laughs Attack
- Fehlende/Fehlerhafte Authentisierung
- Fehlende/Fehlerhafte Autorisierung
- Fehlende/Fehlerhafte Verschlüsselung
- Injection (SQL, OS Command, LDAP, XML, …)
OWASP A5?
Broken Access Control
Direkter Zugriff auf Objekte, z.B. über ID
Beispiel:
• User hat Zugriff auf Objekt Nummer 100
- ww.example.com/show.aspx?id=100
- kann aber durch URL-Manipulation auch auf Objekte 101, 102, … zugreifen
- ww.example.com/show.aspx?id=101
OWASP A6?
Security Misconfiguration
Fehlerhafte Konfigurationen können z.B. sein
- Default-Einstellungen
- Dienste im Internet erreichbar
- Zugriff auf Administrations-Interfaces
- aktiviertes Directory Listing
- Schreibrechte im Webroot
- Backup-Dateien
- Test-Accounts auf Produktivsystemen
- Beispielscripte auf Produktivsystemen
- Ausgabe von Fehlermeldungen an den Benutzer
OWASP 7?
Cross-Site Scripting (XSS)
• Ausgabe ungefilterter Benutzereingaben auf Webseite
• Modifizierung der Webseite durch zusätzliche HTML-
oder JavaScript-Tags
Gefahren von XSS?
- Veränderung des Aussehens der Seite (Defacement)
- Nachladen von Schadcode (Drive-by-Download)
- Stehlen von Sitzungsbezeichnern (Session-Hijacking)
• Kopieren vertraulicher Informationen (z.B. Passwörter,
Kreditkartendaten, SSN)
OWASP A10?
Insuficcient Logging &
Monitoring
“Eigentlich” können Angriffe gut und schnell erkannt werden
Detect (z.B. WAF, ungültige Eingaben, zu
schnelle Request-Folge)
Respond (z.B. IP-Adressen oder Nutzer sperren)
Rechteausweitung unter Linux?
- Kerner Exploits
- Exploit lokaler Dienste
- suid-Programme
- sudo-konfiguration
- lesbare private ssh-schlüssel
- Austausch von Programmdateien (Cronjobs, priviligierte Scripte, …)
- Passwörter die rumliegen
Burp Intruder?
- Tool zum Automatisierten Durchprobieren von Parametern z.B. PW-Angriffe
1. Positionen definieren
- Angriffstyp definieren
- Sniper: Eine Payload nacheinander in verschiedene Positionen
- Battering Ram: Eine Payload gleichzeitig in versch. Positionen
- Pitchfork: Je ein Parameter aus jedem Payload-Set
- Cluster Bomb: Alle Kombinationen aus den Payload-Sets
- Payloads definieren (Listen, Zahlen, Dateinamen, Brute-
Force, usw…) - zurücklehnen und zugucken
Arten von Spuren?
- Zugriff auf lokale pw-hashes (LM/NTLM)
- Zugriff auf klartext-pw angemeldeter user im RAM
- Zugriff auf Access tokens
- Zugriff auf domain cached credentials
Wieso nur open/closed bei Connect-Scan?
Connect-Scan bewirkt einen connect()-Systemaufruf und die Verbindung wird anstatt von nmap vom Betriebssystem aufgebaut. Das OS kennt kann nur zwischen bestehender (vollständiger) und nicht bestehender Verbindung unterscheiden, daher gibt es nur die Ausgabe open/closed.
Schwachstellen von LM-Hashes?
◦ Maximal 14 Zeichen
◦ Umwandlung aller Buchstaben in Großbuchstaben (reduziert die Entropie)
◦ Teilen in zwei Hälften à 7 Zeichen (ermöglicht es, beide Teile separat anzugreifen/ bei PW mit Länge <=7 ist der zweite teil immer statisch =0)
◦ Verwendung von DES
◦ Keine Verwendung von Salt kann über Rainbow-Tables angegriffen werden
Warum nennt man Metasploit auch einen Exploit-Baukasten?
Weil Metasploit verschiedene Komponenten hat (z.B. Scanner-Modul, Exploit-Modul, Payloads), die baukastenartig zu einem Angriffswerkzeug kombiniert werden können.
Was kann man gegen CSRF tun?
◦ Ein geheimes Token einführen, das nur schwer vom Angreifer erraten werden kann.
◦ Dieses wird bei jedem Seitenaufruf der Webanwendung als Parameter in URLs oder als verstecktes Element (Hidden-Field) in Formularen mit übertragen.
◦ Die Webanwendung prüft bei jedem Client-Request, ob das übertragene Token mit dem zur Sitzung hinterlegten Wert übereinstimmt. Im Fehlerfall wird der angeforderte Aufruf abgelehnt.
◦ Ohne Kenntnis dieses Tokens kann ein Angreifer keinen gültigen HTTP-Request nachstellen.
Erkläre Time-Based Blind SQL-Injection.
Ein Angreifer sendet SQL-Queries und beobachted die zeitlichen Differezen zwischen den Antworten. Die Antwortzeit lässt darauf schließen, ob das Ergebnis der Query wahr oder falsch ist. Abhängig vom ergebnis erfolgt die HTTP-Response sofort oder mit zeitlicher Verzögerung. Aus der DB selbst werden keine Daten zurückgegeben. Der Angriff ist langsam, da der Datenbankinhalt bit für bit enumeriert werden muss.
Ein Angreifer errät dabei jedes Zeichen des gewünschten Datums auf folgende Weise:
Ist erste Bit 1 wenn ja pause, wenn Ausführung verzögert erste bit = 1 wenn nicht erste bit 0. Usw.