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.