Audit methods and risk analysis
Thema 7 Benoist
Thema 7 Benoist
-
- 1 / 25
-
Cartes-fiches
Welche vier Test Techniken gibt es?
- Manual Inspection and reviews
- human-driven reviews
- Thread Modeling
- Decomposit application and then classify the assets.
- Explore potential threats/vulnerabilities
- Code Review
- Completeness and effectiveness,Accuracy,Fast (for competent reviewers)
- Penetration Testing
Wie sollte man beim überprüfen von Seiten vorgehen? (Methodology for Testing )
- make a map of the site
- Informationen von Website sammel
- find entry points
- Eingangspunkte wie DB Listener, SSL , HTTP GEt usw finden
- systematically check input validation
- Gedacht um Injections auführen zu können
- attack authentication/authorization mechanism
- mit dem erlernten Informationen die Authentication/Authorization angreifen
- Test business logic
- Die Geschäftslogik versuchen zu manipulieren wie zb im eShop Einkaufsmenge verändern
Eine der ersten Testing Schritte ist "Draw a site map ". Wie wird das gemacht und was soll es bringen?
Damit soll soviel Informationen wie nur möglich über die Seite herausgefunden werden.
- Form
- Resources
- Aufbau
- Entry points usw
Am besten macht es mit einem Spyder (wget oder OWASP ZAP) damit das ganze automatisch gemacht wird.
Manuell geht es natürlich auch, geht aber länger
Eine der ersten Testing Schritte ist "Information Gathering ". Wie wird es gemacht und was soll es bringen?
Soviel Informationen über die Seite herausfinden wie nur möglich
- Programmiersprache
- Architektur: frameworks, layers
- CMS
- Struktur
- Wem gehört die Seite (whois)
- robots.txt -> forbidden for crawlers
- Webserver OS und Version
- Source code
Was sind Entry Points einer Webseite?
DB Listeners
SSL/ TLS
HTTP GET, POST and Cookies
API : SOAP or JSON
Was versteht man unter Configuration Management Testing?
Das Testen von Einstellungen und Konfigurationen. Vielleicht entdeckt man dabei eine Schwachstelle wie beispielsweise einen schwachen Cipher
Was kann bei Test Configuration Managemt alles getestet werden und wie?
- SSL/TLS: usage of weak ciphers or old SSL version
- DB Listener: testen ob DB von aussen erreichbar ist
- Infrastructure Configuration: FW, OS, LDAP; server usw
- Application Configuration: test default installations, priviliges,
- File extensions handling: schauen ob system extensions überprüft bei uploads
- old files und Backups: schauen ob irgendwo noch alte files oder backups rumliegen welche informationen beinhalten
- Infrastructure und Application Admin Interfaces: schauen ob admin interface erreichbar ist
Was versteht man unter Check Input Validation?
Das Validieren des Inputs in Forms usw. Dabei geht es darum sich beispielsweise vor stored XSS zu schützen
Was versteht man unter Input Validation Testing? und nennen sie mögliche Angriffe in diesem Zusammenhang
Die meisten Seiten bieten Schnittstellen damit ein User etwas eingeben kann um mit der Page zu interagieren.
Diese Inputs sollten stehts validiert werden da sie sonst angegriffen werden können
- Testing for Reflected Cross Site Scripting
- Testing for Stored Cross Site Scripting
- Testing for DOM based Cross Site Scripting
- Testing for Cross Site Flashing
- SQL Injection (depending on Data Base)
- LDAP Injection
- ORM Injection
- XML Injection
- SSI Injection
- XPath Injection
- IMAP/SMTP Injection
- Code Injection
- OS Commanding
- Buffer overflow Testing
- Testing for HTTP Splitting/Smuggling
Was versteht man unter Authentication Testing?
Authentication testing kann man in drei Gruppen unterteilen:
Authentication Testing
Session Management Testing
Authorization Testing
Hier geht es darum, durch das Testen einen Loch im Authentication oder Authorization Mechanismus zu finden
Was kann alles bei Authentication Testing ausprobiert werden?
- Credentials transport -> schauen ob credentials verschlüsselt übertragen werden wie zb TLS
- Testing user enumeration -> schauen ob bspw die User ID einfach hhochgezählt wird und man damit etwas anfangen kann
- Mit Dictinorary Credentials durchprobieren
- Mit Bruteforce Credentials durchprobieren -> nicht immer einfach wegen lockout
- Bypass authentication schema -> erste Seite ist vielleicht PW geschützt, die restlichen möglicherweise aber nicht
- Schwachstellen in "Passwort vergessen" Funktion
- Replay Attacken
- Mutli Faktor Authentisierung testen
- Race Conditions testen -> wenn mehrere User gleichzeitig versuchen sich anzumelden kann es zu fehler führen
Was kann alles bei Session Management Testing ausprobiert werden?
- Session Management Schema -> Session Mechanismus verstehen und so evtl. umgehen könne
- Cookie Attributes -> schauen ob cookie attribute(secure, httponly, domain/Path) gesetzt sind
- Session Fixation -> user dazu bringen einen vom Angreifer bekanntes cookie zu verwenden
- Exposed Session Variables-> gültige Session IDs stehlen oder duch durch durchprobieren eine finden
- CSRF -> testen ob Aktionen einen Token verwenden oder eine zweite Authentisierung brauchen
Was kann alles bei Authorization Testing ausprobiert werden?
- Path traversal -> Page durchgehen um zu schauen ob gewisse Seiten auch ohne Anmeldung erreichbar sind
- bypassing authorization schema -> schauen wie Authorization gelöst wurde und allenfalls Fehler finden um zu umgehen
- Privilege Escalation -> horizontal und vertikal
Was versteht man unter Business Logic Testing?
Die Business Logik im Programm kann Schwachstellen beinhalten wie beispielsweise eine Bestellung im eShop auslösen ohne zuerst zu bezahlen.
Dabei wird unterschieden zwischen
- logic in the application
- ajax functions
Nennen sie ein paar Beispiele wie man die Logik in der Applikation manuipulieren kann
Example 1 Setting the quantity of a product on an e-commerce site as a negative number may result in funds being credited to the attacker.
Example 2 Accessing directly to the validation of an order without having payed for it
Example 3 Being able to enter data with another identity
Um was geht es bei Writing Test Reports / Value real risk?
Es geht darum ein Dokument zu schreiben wo eine Webseite auf deren Sicherheit analysiert wird. Mit dem OWASP risk rating wird dann das effektive Risiko anhand einer Zahle definiert