Testy penetracyjne oraz bezpieczeństwo aplikacji

Transkrypt

Testy penetracyjne oraz bezpieczeństwo aplikacji
Warsztaty “Testy penetracyjne oraz bezpieczeństwo aplikacji
webowych - najlepsze praktyki OWASP”
1. Wprowadzenie do tematyki.
2. Wprowadzenie do założeń organizacji OWASP.
3. Wprowadzenie do zagadnień dotyczących przeprowadzania testów penetracyjnych aplikacji
webowych (i nie tylko)
4. Fuzzing
5. Architektura i technologie wykorzystywane do budowy zaawansowanych aplikacji webowych:
• XHTML
• CSS
• PHP, Perl, Python, ASP
• JS, AJAX
• JAVA
• Flash
• XML
6. Najpopularniejsze podatności wykorzystywane podczas ataków:
- Authentication/authorization Vulnerability:
▪ Wykorzystanie nagłówka Referer
▪ Systemy autentykacji typu single-sign-on
▪ Autentykacja poprzez zaufane adresy IP
▪ Autentykacja poprzez zaufane domeny DNS
▪ Dropowanie uprawnień po poprawnym zalogowaniu się (Privilege Escalation)
- Password Management Vulnerability
▪ Bruteforce oraz ataki słownikowe
▪ Puste hasła
▪ Hasła ukryte w formularzach HTML
▪ Hasła systemowe
▪ hasła trzymane w postaci czystego tekstu
- Availability Vulnerability
▪ DOS/DDOS
- Cryptographic Vulnerability
- Encoding Vulnerability
- Environmental Vulnerability
- Error Handling Vulnerability
- Input Validation Vulnerability
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
Buffer overflow
Format string overflow
heap overflow
stack overflow
Log injection
Log forging
Walidacja XML
Niekontrolowane kody wyjścia
Walidacja danych wejściowych po stronie klienta – Javascript
Brakujące argumenty
PHP file inclusion (RFI, LFI, RCE)
- Path Vulnerability
▪ Path Traversal Attack
▪ Link following Attack
- Protocol Errors
▪ Integralność danych
▪ Certificate revocation
▪ Certificate expiration
▪ Składowanie haseł w postaci gotowej do odzyskania
▪ IP/DNS Spoofing
- Session Management Vulnerability
▪ Session fixation
▪ Długość session-ID
▪ Niepoprawne składowanie plików sesyjnych
- Synchronization and Timing Vulnerability
▪ Capture-replay
▪ Race conditions
7.
•
•
•
•
•
•
•
•
•
Metody i technologie wykorzystywane do nieautoryzowanego pozyskiwania haseł:
Phishing (wiele rodzajów)
Inżynieria socjalna (Socjotechnika)
Spoofing
Sniffing
Zatruwanie pamięci podręcznej DNS
Fałszywy serwer DHCP/DNS w sieci LAN
Wykorzystanie podatności przeglądarek internetowych
SQL Injection, Blind SQL Injection
Cross Site Scripting – XSS
•
•
•
•
•
•
•
Cross Site Request Forgery - XSRF
Malware
Denial of service
TEMPEST
Niepoprawne uprawnienia w systemach firm hostingowych
Iframe exploits
ćwiczenia praktyczne ukazujące powyższe techniki ataków
8. Szczegółowy przegląd metod i narzędzi wykorzystywanych do testowania bezpieczeństwa
aplikacji webowych podczas przeprowadzania testów penetracyjnych:
•
OWASP CAL9000
• OWASP Webgoat
• OWASP Webscarab
•
OWASP JBroFuzz
•
Paros Proxy
•
nmap & Zenmap
•
Wireshark
•
tcpdump
•
Firefox 3 – rozbudowany hacktool
•
Burp Suite
•
Grenedel-Scan
•
OWASP DirBuster
•
OWASP SQLiX
•
OWASP WSFuzzer
•
Metasploit 3
•
w3af & GTK GUI for w3af
•
Netcats collection
•
Nikto
•
Fierce Domain Scaner
•
Maltego CE
•
Httprint
•
SQLBrute
•
Spike Proxy
•
Rat Proxy
•
ProxyStrike
•
Webshag
• ćwiczenia praktyczne dotyczące wykorzystania powyższych narzędzi
9. Praktyczne wykorzystanie oraz analiza exploitów z roku 2008-2009 wykorzystujących błędy w
popularnych aplikacjach webowych:
▪ Wordpress
▪ Mamboo/Joomla
▪ Dotproject
▪ Drupal
▪ Phpbb
▪ Oscommerce
▪ Flatnuke
▪ Php-fusion
▪ i wiele innych
10.. Metody i technologie wykorzystywane do podniesienia poziomu bezpieczeństwa serwerów
HTTP oraz aplikacji webowych:
▪ Web application firewall (WAF) :
• WebKnight
• ModSecurity
▪ PHP suhosin
▪ mod_rewrite
▪ mpm_itk
▪ chroot/jail
▪ SELinux
▪ dobre praktyki
11. Podsumowanie.