Vulnerability Scanning + Penetration Testing Seminar IT-Sicherheit Felix Riemann felixriemann@student.uni-kassel.de 29. Januar 2011
Gliederung Vulnerability Scanning Was ist das? Scanner Demo: Nessus Penetration Testing Was ist das? Motivation Ablauf eines Penetrationstests Demo: Metasploit Quellen F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 2 / 20
Vulnerability Scanning Was ist das? Übersuchung der Systeme und Dienste eines Computernetzes auf mögliche Schwachstellen Bekannte Sicherheitslücken in Soft- und Hardware Fehlkonfigurationen (z.b. Standardpasswörter) Idealerweise regelmäßig Täglich werden neue Schwachstellen entdeckt Fehlkonfigurationen können durch Fehlbedienung entstehen Patches können die Konfiguration zurücksetzen Untersuchung hauptsächlich per Netzwerk Für bestimmte Tests werden lokale Hilfsprogramme auf den Zielsystemen benötigt F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 3 / 20
Vulnerability Scanning Was ist das? Mit guten oder bösen Absichten Was den Admin interessiert, interessiert auch den Eindringling Schwachstellen werden soweit möglich im Normalfall nur erkannt, nicht ausgenutzt Kein automatisches Beseitigen von Schwachstellen Teilweise bieten Tools jedoch Lösungsansätze an Ergebnis: Auflistung möglicher Sicherheitslücken F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 4 / 20
Vulnerability Scanning Tools (eine Auswahl) Portscanner z.b. Nmap, THC-Amap, Sniffer z.b. Wireshark, Tcpdump, Web Application Vulnerability Scanner Nikto2, Burp Suite, Vulnerability Scanner z.b. Nessus, OpenVAS, Qualys Guard, F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 5 / 20
Nessus Ursprünglich unter GPL-Lizenz entwickelt Seit Version 3 kommerziell entwickelt GPL-Code als OpenVAS geforkt und weiterentwickelt Aktuell: Version 4.4 (November 2010) Für Privatanwendung kostenlos Registrierung von email-adresse für jede Installation nötig Kommerzielle Anwendung: 1 200 $/Jahr Zeitgesteuerte Ausführung Zusätzliche Tests (z.b. für SCADA-Systeme) Configuration + Content Auditing Vorkonfigurierte Virtuelle Appliances SaaS-Variante: Perimeter Service F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 6 / 20
Nessus Tests sind als Plugins realisiert Aktueller Stand: ca. 41 000 Plugins Eigene Plugins können eingebunden werden Unterstützung für externe Tools z.b. Nmap, Nikto2, THC-Hydra Client-Server-Struktur Steuerbar von Kommandozeile und Web-Oberfläche Verfügbar für Windows, Linux, BSD, Solaris und iphone (Client) Homepage: http://www.nessus.org F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 7 / 20
Penetrationstests Was ist das? Prozess zur Evaluierung des aktuellen Zustands der IT-Sicherheit eines Unternehmens und zur Entdeckung von Schwachstellen Durchführung durch Dritte Risikobewertung von gefundenen Schwachstellen Schwachstellen können zum Test auch ausgenutzt werden Nicht notwendigerweise auf logische Tests beschränkt z.b. Test der Zugangssicherheit der Server-Räume Empfehlungen zur Durchführung etwa von NIST und BSI F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 8 / 20
Penetrationstests Motive Verpflichtung zum Test durch Branche z.b. bei Kreditkartendienstleistern (PCI DSS) Test der eigenen IT-Sicherheit Ausreichende Absicherung gegen Angriffe von Außen Welche Gefahr könnte von Insidern ausgehen? Absicherung von Geschäftsgeheimnissen Vermeidung von Missbrauch Korrekte Reaktion auf erkannte Angriffe Zertifizierung der IT-Sicherheit Optimierung des IT-Budgets F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 9 / 20
Ablauf eines Penetrationstests Absprache mit Auftraggeber Zweck des Tests Bestimmte Anforderungen an den Test Welche Systeme dürfen/sollen untersucht werden? Betriebskritische Systeme können vom Test ausgenommen werden Systeme in fremden Datacentern dürfen nicht ohne Erlaubnis des Betreibers untersucht werden Wie weit dürfen die Tests gehen? Sollen Sicherheitslücken nur gesucht oder auch getestet werden? Risikoreiche Tests außerhalb der Geschäftszeiten durchführen Welche Informationen zum Ziel werden vorab bereitgestellt? Angriff durch (ehemaligen) Mitarbeiter F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 10 / 20
Ablauf eines Penetrationstests Absprache mit Auftraggeber Ausgangspunkt des Tests Simulation eines Angriffs aus dem Internet Simulation eines Angriffs aus dem Firmennetz Abstimmung eines Notfallplans Was muss vorher gesichert werden? Wer muss benachrichtigt werden? Wer muss über den Test informiert werden? Betriebsrat insb. bei Anwendung von Social Engineering Mitarbeiter Infrastrukturbetreiber (ISP, Hoster, ) F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 11 / 20
Ablauf eines Penetrationstests Sammeln von Informationen über Organisationsstruktur des Unternehmens Beobachtung des Unternehmensstandorts Webseiten des Unternehmens Stellenausschreibungen WHOIS-Records Netzwerkstruktur Abfrage von DNS-Servern Webseiten des Unternehmens Stellenausschreibungen Mailinglistenbeiträge von Mitarbeitern Traceroute Portscans Wardriving F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 12 / 20
Ablauf eines Penetrationstests Sammeln von Informationen über Eingesetzte Software / Hardware Portscans + Fingerprinting Stellenausschreibungen Mailinglistenbeiträge von Mitarbeitern z.b. Support-Anfragen/-Beiträge Mögliche Schwachstellen Port-Scans (z.b. mit nmap) Vulnerability Scans (Nessus, Nikto2, ) Security-Mailinglisten (z.b. Bugtraq) Schwachstellen-Datenbanken (z.b. OSVDB, CVE) F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 13 / 20
Ablauf eines Penetrationstests Auswertung der Informationen und Planung Auswertung der im letzten Schritt gesammelten Informationen Abgleich mit Testzielen Chancen für einen erfolgreichen Angriff Nötiger Aufwand für einen erfolgreichen Angriff Auswählen der Angriffsziele Angriffsziele noch einmal mit Auftraggeber abstimmen F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 14 / 20
Ablauf eines Penetrationstests Angriff auf Schwachstellen Versuch die ausgewählten Schwachstellen anzugreifen Paketgeneratoren Password Cracker Netzwerksniffer z.b. zum Mitschneiden von Zugangsdaten XSS, SQL-Injections, Buffer Overflows Social Engineering, Phishing Malware Verwendung von Exploit-Frameworks (Metasploit, w3af) F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 15 / 20
Ablauf eines Penetrationstests Auswertung und Aufräumen Wiederherstellung des Ausgangszustands Zurücksetzen von geänderten Systemkonfigurationen Entfernen von Malware Erstellung des Abschlußberichts Resultat des Tests Bewertung der gefundenen Schwachstellen Welche Schwachstellen konnten genutzt werden? Welche nicht? Auf welche Daten konnte zugegriffen werden? Konnten kritische Dienste gestört werden? Testprotokoll Dokumentation der vorherigen Testschritte Verwendete Tools und ihre Log-Dateien Lösungsvorschläge anbieten F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 16 / 20
Metasploit Framework Framework zum Entwickeln von Exploits Aktuelle Version: 3.5.1 (Dezember 2010) BSD-Lizenz Entwicklung mit Ruby Unterstützung für Nessus und Nmap Kommerzielle Varianten Metasploit Express Metasploit Pro F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 17 / 20
Metasploit Framework Aktueller Inhalt Über 640 Exploits auch Client-Side-Exploits (z.b. für Acrobat Reader) Über 320 Hilfmodule z.b. zum Durchtesten von Passwortlisten Über 200 Payloads Wird von Exploit ausgeführt (z.b. Remote-Terminal) Über 20 Encoder Verschleierung von Angriffen vor Virenscannern F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 18 / 20
Quellen http://www.nessus.org http://www.metasploit.com http://www.isecom.org/osstmm/ http://de.wikipedia.org/wiki/vulnerability_scan http://en.wikipedia.org/wiki/vulnerability_scanner http://en.wikipedia.org/wiki/penetration_test http://de.wikipedia.org/wiki/penetrationstest_(informatik) BSI-Studie Durchführungskonzept für Penetrationstests, https://www.bsi.bund.de/cln_156/contentbsi/publikationen/studien/ pentest/index_htm.html F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 19 / 20
Quellen PCI Data Security Standard v2.0, https: //www.pcisecuritystandards.org/security_standards/documents.php Sebastian Schreiber, Kosten und Nutzen von Penetrationstests, http://www.syss.de/fileadmin/downloads/artikel/hmd_kosten_ PenTests_APRIL_2006.pdf Andreas Rominger, Timo Schmid, Michael Staats, Penetration Testing, http://subs.emis.de/lni/proceedings/proceedings44/gi-proceedings. 44.innen-49.pdf NIST Special Publication 800-115, Technical Guide to Information Security Testing and Assessment, http://csrc.nist.gov/publications/nistpubs/800-115/sp800-115.pdf F. Riemann (Universität Kassel) Vulnerability Scanning + Penetration Testing 29.01.2011 20 / 20