Was versteht man bei einem Penetrationstest unter Testrisiken? Welche Maßnahmen können ergriffen werden, um das Testrisiko zu verringern?
Testrisiken beschreiben alle Risiken, die durch einen Penetrationstest entstehen können.
Dazu zählen Totalausfall des/der Systeme, Teilausfall von Subsystemen, Verwechselung von Zielen, falsch eingesetzte Tools z.B. wegen fehlender/falscher Informationen, Beeinträchtigung der Verfügbarkeit von Produktivsystemen, False Positives im Abschlussbericht,
Nichteinhaltung von Zusagen,
Maßnahmen: schriftliche Genehmigungen aller betroffenen Parteien einholen, enge Abstimmung mit Entscheidungsträgern, an geeignete Standards halten, Best Practices folgen, Qualitätsmanagement, Zeitpuffer
Wie unterscheiden sich die Status open, closed und filtered voneinander? Welche Veränderung in der Ausgabe ist zu erwarten, wenn der Prüfer aufgrund unzureichender Rechte stattdessen einen Connect-Scan durchgeführt wird? Warum ist das so?
Der SYN-Scan findet auf Applikationsebene statt, benötigt root-Rechte und baut keine volsständigen TCP-Verbindungen auf.
Connect-Scan bewirkt connect()-Systemaufruf und die Verbindung wird vom Betriebssystem aufgebaut. Das OS kennt ebenfalls die Zustände open/closed/filtered, daher ändert sich die Ausgabe nicht.
Erkläre Time-Based Blind SQL-Injection
Ein Angreifer sendet SQL-Queries und beobachtet die zeitlichen Differenzen zwischen den Antworten. Die Antwortzeit lässt darauf schließen, ob das Ergebnis der Query wahr oder falsch ist. Nach und nach lassen sich so Datenbankinhalte enumerieren, auch wenn die DB selbst keine Daten zurückgibt.
Der Angriff ist langsam, da der Datenbankinhalt Buchstabe für Buchstabe enumeriert werden muss.
Was kann man gegen CSRF tun?
CSRF ist möglich, weil der Browser automatisch alle Parameter zur Authentifizierung (Cookie, IP,…) bei jeder Anfrage inkludiert und die Web-Applikation nicht zwischen forged und legitimen Anfragen seitens des Clients unterscheiden kann.
Gegen CSRF bräuchte man einen Identifier/Token, der dem Angreifer unbekannt ist und der nicht mit einem Request mitgeschickt wird.
Warum nennt man Metasploit auch einen Exploit-Baukasten?
Metasploit bietet eine baukastenartige Kombination passender Komponenten (Scannermodule, Exploitmodule, Post-Explotation-Module, Payloads, Encoder) zu einem funktionierenden Angriffswerkzeug.
Nennen Sie drei Folgen von XSS-Schwachstellen.
Defacement: Veränderung des Aussehens der Seite
Drive-by-Download: Nachladen von Schadcode
Session Hijacking: Stehlen von Sitzungsbezeichnern
kopieren vertraulicher Informationen
Nennen Sie drei Schwachstellen von LM-Hashes
Ein Penetrationstest kann u.a. in der Aggressivität variiert werden. Nennen Sie Unterschiede und Risiken, die von einer passiven bzw. aggressiven Vorgehensweise ausgehen
Aggressiv: aktives Ausnutzen von Schwachstellen, hohes Risiko, hoher Erkenntnisgewinn
Passiv: kein Ausnutzen von Schwachstellen, minimales Risiko, geringerer Erkenntnisgewinn,
Benennen Sie die 5 in der Vorlesung behandelten Phasen, aus denen ein Pentest besteht.
Vorbereitung Informationsbeschaffung Bewertung der Informationen Aktive Angriffe Abschlussanalyse
Angriffe gegen Sitzungen werden in den OWASP Top 10 auf Platz 2 geführt. Typischerweise bedingt die Übernahme einer Sitzung die Kompromittierung eines Sitzungs-Tokens. Nennen Sie drei Angriffe, die solch eine Kompromittierung ermöglichen. Stichworte genügen.
Der Heartbleed-Angriff ermöglicht einem Angreifer das Auslesen von Teilen des Arbeitsspeichers eines verwundbaren Serverdienstes. Was empfehlen Sie (ein Satz genügt) einem Dienst-Betreiber, der diese Schwachstelle auf seinem System schließen möchte?
OpenSSL-Update machen
Hat man auf einem Windows-System administrative Rechte, so kann man Spuren anderer Benutzer suchen und angreifen. In der Vorlesung wurden vier verschiedene Arten von Spuren genannt. Nennen und beschreiben Sie diese kurz.