Penetration-Testing
Transcription
Penetration-Testing
IndianZ Penetration-Testing Penetration Testing means to test the security of a computer system beyond it's limit. December 2010 Penetration-Testing Seite 1 von 98 Haftung + Verantwortung Penetration Testing kann gesetzlich als Straftat (Hacking) verfolgt werden ● Exploits verursachen unvorhersehbare Zustände in Systemen (produktiv?) ● Die in dieser Präsentation beschriebenen Techniken können auch für kriminelle Zwecke verwendet werden ● Verantwortungsvoller Umgang mit diesem Wissen wird vorausgesetzt ● IndianZ übernimmt KEINERLEI Haftung bei der legalen oder illegalen Anwendung dieses Wissens ● Penetration-Testing Seite 2 von 98 Agenda Security Testing ● Begriffe, Hacking, Gesetz, Technik, Ethik, Organisation, Methoden, Zertifizierungen ● Prozess ● Kickoff, Footprinting, Portscanning, Fingerprinting, Vulnerability Research, Exploiting, Hide Traces, Documentation, Presentation, Debriefing ● ISECOM OSSTMM ● Tipps und Tricks ● Penetration-Testing Seite 3 von 98 Security Testing Penetration-Testing Seite 4 von 98 Security Testing Risk Analysis ● Risikoanalyse ● Schätzung ● Meist Interview-basiert ● Eintretenswahrscheinlichkeit mal Schadenausmass = Risiko Index ● Vulnerability Scan ● Automatisierte Untersuchung auf Schwachstellen ● Banner und Verwundbarkeitsdatenbank ● Penetration-Testing Seite 5 von 98 Security Testing Assessment ● Manuelle Überprüfung ● Stichproben ● Effizienz ● Ethical Hacking ● “Capture-the-Flag” ● Realistisches Szenario, bestimmte Frage ● Security y/n? ● Penetration-Testing Seite 6 von 98 Security Testing Penetration Test ● Manuelle Überprüfung ● Alle Schwachstellen ● Kaum False Positives ● Onsite Audit ● Überprüfung lokaler Konfigurationseinstellungen ● Schwachstellen, die von aussen unsichtbar sind ● Lokales Subnet (Filtering) ● Penetration-Testing Seite 7 von 98 Sicherheit Security ● Militärischen Ursprungs, physikalische Sicherheit, Separierung von Schutzobjekt und Bedrohung ● Safety ● Operative Bedeutung, wenn Separierung nicht möglich, Kontrolle der gefährlichen Effekte ● ● Angemessen: Budget Sicherheit < Wert Assets Penetration-Testing Seite 8 von 98 Sicherheit ● Sicherheit degradiert über Zeit (ohne zutun) ● neue Attacken, neue Technologien, sich ändernde Umsysteme Penetration-Testing Seite 9 von 98 Sicherheit ● Beispiel Banktresor: ● ● ● Banktresore sind nicht unknackbar Sie haben einen Widerstandsgrad (definiert, wie lange sie gängigen Angriffsversuchen widerstehen) IT- und Informationssicherheit: ● ● Man kann nicht verhindern, dass jemand mit genügend Ressourcen (Technik und Zeit) die Sicherheit brechen kann Aber man kann es Angreifern sehr schwer machen ;-) Penetration-Testing Seite 10 von 98 Sicherheit ● PDCA-Zyklus (Deming-Kreis) 1982 Penetration-Testing Seite 11 von 98 Security Testing ● Security-Testing-Zyklus Penetration-Testing Seite 12 von 98 Hacker's the dark side Penetration-Testing Seite 13 von 98 Hack Methodik 1 Fussabdruck nehmen (Footprinting) ● 2 Systeme und Ports identifizieren (Scanning) ● 3 Dienste identifizieren (Fingerprinting) ● 4 Verwundbarkeitsanalyse (Vulnerability Research) ● 5 Verwundbarkeit(en) ausbeuten (Exploit) ● 6 Zugriff ausweiten (Privilege Escalation) ● 7 Zugriff sicherstellen (Backdooring) ● 8 System säubern (Cleaning) ● 9 Weitere Attacken (Target Network) ● Penetration-Testing Seite 14 von 98 Realität Hacker ● Viele Hindernisse ● Firewalls, Filtering-Devices ● Intrusion Detection/Prevention ● Patch Management ● Authentisierung und gute Passwörter ● Benutzer Sensibilisierung ● Hardening ● Virtualisierung und Jails/Chroot ● Memory Protection ● Sichere Programmierung ● Zeitbedarf gegenüber Auffälligkeit Penetration-Testing Seite 15 von 98 Hacker Was zeichnet einen Hacker aus? ● Verbeisst sich in Problematik ● Will “Ding” im Detail verstehen ● Will “Ding” zweckentfremden ● Neugier, Geduld, Spieltrieb, Zeit... ● Whitehat → Grey-/Gray-Hat → Blackhat ● Vergleich mit Holzschnitzerei ● jeder kann Schnitzen lernen ● aber ein Meisterwerk aus Holz schaffen? ● Penetration-Testing Seite 16 von 98 Hacker ● Real-Life-Treffpunkte ● ● ● http://hackerspaces.org/wiki/Hacker_Spaces Links & Stuff ● Blackhat: http://www.blackhat.com/ ● Phrack: http://www.phrack.com/issues.html Legale Weiterbildung ● Wargames: http://www.overthewire.org/wargames ● Hacker Games: http://www.hackergames.net/ ● Hack this Site: http://www.hackthissite.org/ ● Hack & Learn: http://www.hackergame.ch/ Penetration-Testing Seite 17 von 98 Hacker / Security Tester Hype Hacken Auftrag Motiv Ethik/Moral Bericht Hacker Ja Ja Nein oder kriminell Persönlicher Profit, politisch Keine oder eigene Kein Hacking = Art (Kunst) Penetration-Testing Security Tester Ja Ja, mit Ethik Ja, mit Vertrag Für mehr Sicherheit Ja, Vertrag, Haftung, Gesetze Bericht und Präsentation Security Testing = Science (Wissenschaft) Seite 18 von 98 Penetration Testing Testen auf Durchdringung der Sicherheit ● Analyse der Sicherheit eines IT-Systems ● Schwachstellen gefährden Schutzziele ● Verfügbarkeit, Vertraulichkeit, Integrität und Nachvollziehbarkeit ● ALLE möglichen/ausnutzbaren Schwachstellen ● Penetration-Testing Seite 19 von 98 Riskmgmt / Pentest klassische Risikomanagement = Schätzung ● Risiko = Eintrittswahrscheinlichkeit mal Schadenausmass ● Nachteil: Bewertung von Risiken ist Gefühlssache ● Pentest = Messung ● Analyse der Sicherheit Objekt, Stichprobe ● Nachteil: Qualifikation Tester ● Penetration-Testing Seite 20 von 98 Recht ● ● ● ● ● Schweizer Strafgesetzbuch StGB Artikel 143 DSG 143bis ● Datenschutz ● Art. 7 Datensicherheit 144bis 147 FMG 150 ● Fernmelderecht 179novies URG 251-254 ● Urheberrecht 135 173-178 ... 197 162bis 148 Penetration-Testing Bemerkung Datenbeschaffung bereichernd Hacken Datenbeschädigung Computerbetrug Leistung erschleichen Beschaffen von Personendaten Urkundenfälschung Gewaltdarstellungen Ehrverletzungen Pornographie Rassendiskriminierung Check-/Kreditkartenmissbrauch Seite 21 von 98 Law & Order ● Gemäss Obligationenrecht (Haftpflicht) und StGB ● Rechtfertigungsgrund(Einwilligung des Verletzten) ● Leichte Fahrlässigkeit OR Art. 100 wegbedingen ● Haftung mit Betragsbeschränkung ● Haftung nur für direkte Schäden ● Vier-Augen-Prinzip ● ● Daten verschlüsselt austauschen/abspeichern ● ● stillschweigendes Einverständnis, Restrisiko DSG Artikel 7, Datensicherheit Einhaltung Sorgfaltspflicht und Geheimhaltung Penetration-Testing Seite 22 von 98 Ethik ● Vertraulichkeit vor und nach Test ● keine öffentlichen Gespräche über Kunden ● Marketing verwendet keine Kundendaten ● ● verschlüsselte Kommunikation mit Kunden ● ● Beispielbericht verlangen PGP, GnuPG oder ähnliches verschlüsselte Speicherung von Kunden-Daten ● PGP, GnuPG oder Truecrypt ● nur abgemachte Tests bewilligte Systeme ● nicht durchgeführte Tests ausweisen (Begründung) Penetration-Testing Seite 23 von 98 Ethik ● Denial-of-Service braucht spezielle Bewilligung ● Social-Engineering nur mit geschulten Mitarbeitern ● Kommunikation und Eskalation für Notfälle ● für gehostete Systeme/ISP schriftliche Bewilligung ● Zertifizierung der Tester bevorzugt ● keine Blackhats, einwandfreier Leumund ● keine Gratis-Dienstleistungen (Werbe-Trophies) ● nie nur automatisierte/kommerzielle Tools ● manuelle Verifikation immer notwendig ● kein Einsatz von Angst, Unsicherheit, Zweifel und Irreführung Penetration-Testing Seite 24 von 98 Methoden (2008) Buch / Dokument Herausgeber Die Kunst des Penetration Testing 2007 Computer & Literatur Durchführungskonzept für Penetrationstests 2006 BSI Gray Hat Hacking 2005 McGraw-Hill/Osborne Guideline on Network Security Testing 2003 NIST Information Systems Security Assessment Framework OISSG Network Security Assessment (Second Edition) 2007 O'Reilly Open Source Security Testing Methodology Manual 2001 ISECOM Open Web Application Security Project OWASP Guide OWASP Penetration Testing 2006 MITP Penetration Testing and Cisco Network Defense 2005 CISCOpress Penetration Testing Framework VulnAssess Sicherheitsüberprüfung von IT-Systemen mit Hilfe von Tiger-Teams 1999 ISACA Penetration-Testing Seite 25 von 98 Penetration Tester Kreativität und Jagdinstinkt eines Hackers ● Umgang mit Kunden, Gepflogenheiten als IT-Berater ● Knowhow OS, Anwendungen und Sicherheitslücken ● Programmieren, Erstellung/Änderung Programme ● Systematisches Abwickeln von Tests ● Bericht schreiben und Präsentation halten ● Verständlichkeit und Qualität des Berichts ● Verständnis/Sprache für Technik/Management ● Penetration-Testing Seite 26 von 98 Certifications ● ISECOM (www.isecom.org) ● ● ISC2 (www.isc2.org) ● ● Certified Information Systems Auditor (CISA) EC Council (www.eccouncil.org) ● ● Certified Information Systems Security Professional (CISSP) ISACA (www.isaca.ch) ● ● OSSTMM Professional Security Tester /Analyst (OPST/OPSA) Certified Ethical Hacker/Licensed Penetration Tester (CEH/LPT) Offensive Security (www.offensive-security.com) ● Offensive Security Certified Professional (OSCP) Penetration-Testing Seite 27 von 98 Technik Betriebssystem(e) ● Linux, Windows ● Virtualisation ;-) ● Netzwerk ● Ungefilterter Zugriff ● Source-Ports spoof → kein NAT ● Bandbreite (uplink) ● Knowhow und Tools ● Penetration-Testing Seite 28 von 98 Technik Knowhow Betriebssysteme ● Linux (Gentoo, Debian, Slackware) ● Windows (XP, Vista, 200-2008) ● Knowhow Netzwerk ● Protokolle (DNS, SMB, SNMP, SMTP, FTP, SSH, SSL, TFTP, ...), OSI-Layer ● Knowhow Programmierung ● C, C#, Perl, Python, Ruby, Bash, Html, Php, Java, ... ● Penetration-Testing Seite 29 von 98 Technik Knowhow Technologien ● Wireless, Bluetooth, RFID, ... ● VoIP, X.25, SS7, ... ● Cisco, AIX, HPUX, Solaris, … ● Apache, IIS, PHP, … ● Knowhow Security, Vulnerabilities, Hardening ● Knowhow Security/Hacking Tools ;-) ● Penetration-Testing Seite 30 von 98 Tools ● Sniffer ● ● Scanner ● ● Nmap, Amap, Nessus, Openvas, Unicornscan, Paketto, Scanudp, Superscan, Scanline, Angry IP, Winfingerprint Netzwerk ● ● Tcpdump, Wireshark, Dsniff Hping, Nemesis, Ettercap, Yersinia, Firewalk, Hunt, Juggernaut, Irpas, Nemesis, Sing, Netcat Web ● Paros, Burp, Webscarab, Proxmon, Ratproxy, W3af, Nikto, Grendelscan, Springenwerk, Wapiti Penetration-Testing Seite 31 von 98 Tools ● Bluetooth ● ● Wireless ● ● Tnscmd, OAT, OAK, SQLAT, SQLping, Osql, SQLbf VoIP ● ● Netstumbler, Kismet, Aircrack-ng, WellenReiter, Airsnort Database ● ● BlueDiving, Blooover, BtAudit, BtScanner Sivus, SIPscan, Oreka, VoIPong, RTPbreak, SIPp RPC ● Rpcdump, Rpcinfo, Epdump Penetration-Testing Seite 32 von 98 Tools ● Password Crack ● ● Exploit ● ● Metasploit, Inguma SNMP ● ● Hydra, Ophcrack, John the ripper, Brutus ae2, Lcp, Cain&Abel, (L0phtcrack) Snmpwalk, ADMsnmp, Getif NetBIOS/SMB ● Nbtscan, Enum, Dumpsec, Netbios Audit Tool (NAT) Penetration-Testing Seite 33 von 98 Tools ● Mehr Tools ;-) Securitytools: http://sectools.org/ IndianZ: http://www.indianz.ch/ Packetstorm: http://packetstormsecurity.org/ Securityteam: http://www.securiteam.com/tools/ Darknet: http://www.darknet.org.uk/ Penetration-Testing Seite 34 von 98 Organisation Teamleader und Tester ● Ab 5 Tester sehr hohe Komplexität ● Vereinfachen mit Checklisten (Software-gestützt) ● Vorsicht vor Interessenkonflikten/Politik ● Budget und Ressourcen ● 5d/w = 3d produktiv + 2d Research/Development ● Motivation, Einsatz, Arbeit zu Randzeiten ● Spezialisierung innerhalb Teams auf Technologien ● Challenges, Referate, Security Conventions ● Penetration-Testing Seite 35 von 98 Organisation Lebenszyklus Systeme ● Einbettung Sicherheit ● Vor Produktivstart ● Zyklisch Wiederkehrend ● Ablösung und Veränderungen ● Interne Kompetenzstelle für Abnahmetests ● Projekt STOP-Befugnis ● Beratung bei Projektstart (Anforderungen) ● Stichproben-Audits ● Penetration-Testing Seite 36 von 98 Organisation Projekte nicht länger als 3 Monate, splitten ● Zeit Reporting mindestens ½ Zeit Testing ● Eventuell Zeit Reporting = Zeit Testing ● Projektplanung (Reserven einplanen) ● Objectives Days: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 •Testing •Analysis •Reporting •Workshop Penetration-Testing Seite 37 von 98 Organisation Interne Tester Vorteile Nachteile Vertraulichkeit und Aufbau Knowhow Datenschutz Kontrollfunktion Investitionskosten Weisungsbefugnis Motivation Team IT Landschaft bekannt Knowhow aktuell halten Effizienz Training Team Steuerung Bericht Augen zudrücken Vergleichbarkeit interne Politik, (Trending) Interessens-konflikte Penetration-Testing Externe Tester Vorteile Nachteile Nutzung aktuelles Verlass auf Qualität Knowhow Tester Wiederkehrende Motivation Team Kosten Bericht nur bedingt Training Team beeinflussbar Vergleichbarkeit IT Landschaft (unterschiedliche unbekannt Dienstleister) keine Politik Effizienz Vergleichbarkeit (gleicher Dienstleister) Seite 38 von 98 CERT/CIRT Computer Emergency/Incident Response Team ● Ideale Team-Besetzung ● ● Netzwerk-Spezialist ● Sicherheitsprodukt-Spezialist ● Forensic-Spezialist ● Rechts-Spezialist ● Spezialist physische Sicherheit ● Programmierer Organisatorische Einbettung (Stab, weit oben) ● Politische Aspekte ● Penetration-Testing Seite 39 von 98 CERT/CIRT Einsatz von Honeynets/-pots ;-) ● Kombination mit Monitoring (IDS) ● Spezialisierung ● TELCO (SS7, X.25, VoIP), SCADA ● Links ● Carnegie Mellon University: http://www.cert.org/ FIRST: http://www.first.org/ Internet Storm Center SANS: http://isc.sans.org/ Switch: http://www.switch.ch/cert/ Penetration-Testing Seite 40 von 98 Process ● 00 Kickoff ● 01 Footprinting ● 02 Portscanning ● 03 Fingerprinting ● 04 Vulnerability Research ● 05 Exploiting ● 06 Hide Traces ● 07 Documentation ● 08 Presentation ● 09 Debriefing Penetration-Testing Seite 41 von 98 00 Kickoff ● Vertragverhandlungen, Vertrag ● Haftung, Geheimhaltung, Gesetze/Regulationen ● Ethik (Spielregeln) ● Test ● Wurde der Vertrag unterschrieben? ● Was ist das Ziel des Tests? ● Was ist das Untersuchungsobjekt (Scope)? ● Wer hat welche Verantwortung? ● Wer sind die Ansprechpersonen? ● Wie sieht der Testplan aus? ● Was wird wie dokumentiert (Reporting)? Penetration-Testing Seite 42 von 98 00 Kickoff Klassifikation (BSI) Informationsbasis Agressivität Umfang passiv scannend Whitebox vorsichtig abwägend vollständig Vorgehensweise Technik Blackbox begrenzt verdeckt Netzwerkzugang Ausgangspunkt Penetration-Testing sonst. Kommunikation von aussen aggressiv fokussiert offensichtlich physischer Zugang Social-Engineering von innen Seite 43 von 98 01 Footprinting ● DNS, Whois ● Webseiteninhalte ● Bouncing Email ● Traceroute(s!) ● Suchmaschinen/OSINT (Open Source Intelligence) ● Newsgroups, Postings ● Wayback Machine (www.webarchive.org) ● EDGAR, ZEFIX (zefix.admin.ch) ● Netcraft (www.netcraft.com) ● Suchmachinen (Google, Microsoft Live, Boolean Logic) Penetration-Testing Seite 44 von 98 DNS Penetration-Testing Seite 45 von 98 01 Footprinting ● Traceroutes ● UDP Traceroute, ICMP Traceroute, TCP Traceroute Penetration-Testing Seite 46 von 98 01 Footprinting ● Discovery oder Enumeration (Inventar) ● Ping ● ● ● ● SNMP ● ● ● ● ARP-Ping (Layer 2) ICMP-Ping (Layer 3) ● Netmask, Timestamp TCP-Ping (Layer 4) Netzwerkdevices, Printers Community: public und private UDP 161 (SNMP) / UDP 162 (TRAP) NetBIOS ● ● Windows TCP/UDP 135-139/445 Penetration-Testing Seite 47 von 98 02 Portscanning ● Analyse ALLER offenen Ports TCP und UDP ● ● ● Portnummern ● http://www.iana.org/assignments/port-numbers ● http://www.isecom.info/cgi-local/protocoldb/browse.dsp Port-Sweep ;-) ● ● 0-1023, --top-ports 100, -F, 0-65535 (-p-), ... Abfrage eines Ports auf mehreren Systemen Portscan :-( ● Abfrage mehrerer Ports auf einem System Penetration-Testing Seite 48 von 98 02 Portscanning Penetration-Testing Seite 49 von 98 02 Portscanning ● Tcp Three-Way-Handshake ● ● Syn → Syn/Ack → Ack UDP unzuverlässig und langsam (ICMP-Errors) ● Payloads (Protokolle) ● Beschränkung Range (nmap --top-ports 100, -F) ● Verifikation Resultate mit zweitem, unabhängigen Tool ● Timing und Parallelität ● Spoofed Source-Ports → no NAT! Penetration-Testing Seite 50 von 98 03 Fingerprinting ● Analyse ALLER offenen Ports UDP/TCP + Protokolle ● Analyse der Banner ● Analyse von Fehlermeldungen und Anmeldungsmaske ● Analyse der Lowlevel-Informationen des Netzwerkes ● ● TCP-Sequenznummer, IP-ID, Window-Size, TTL Vergleich der Netzwerkantwort mit einer Datenbank Penetration-Testing Seite 51 von 98 04 Vulnerability Research Automatisiert: Nessus, OpenVAS, ATK ● Manuell: Internet Research ● CVE: http://cve.mitre.org/ NVD: http://nvd.nist.gov/ OSVDB: http://osvdb.org Secunia: http://secunia.com/ Securityfocus: http://www.securityfocus.com/vulnerabilities/ Archives Neohapsis: http://archives.neohapsis.com/ Security Tracker: http://www.securitytracker.com/ Information Auftraggeber bei kritischen Risiken ● Gewichtung, Kategorisierung, Priorisierung ● Penetration-Testing Seite 52 von 98 04 Vulnerability Research ● Nessus ● Critical (Kritisch) ● High (Hoch) ● ● ● Medium (Mittel) Low (Tief) Info (Information) ● OSSTMM ● ● Weakness (Schwäche) ● Concern (Bedenken) ● ● Penetration-Testing Vulnerability (Verwundbarkeit) Exposure (Informationspreisgabe) Anomaly (Anomalie) Seite 53 von 98 05 Exploiting Exploits existieren seit den 70ern ● Exploit vulnerability = Verwundbarkeit ausbeuten ● Ein Computer unterscheidet bei der Eingabe nicht zwischen Programminstruktionen und Daten ● Wenn ein Prozessor Programminstruktionen sieht, versucht er, diese auszuführen ● Exploits sind plattform-abhängig ● Exploit/Shellcode vorgängig testen (<rm -rf />?) ● Hohes Risiko Exploit auf produktive Systeme ● Penetration-Testing Seite 54 von 98 05 Exploiting Exploit selber suchen und programmieren ● Höchste Disziplin ;-), aber... ● C, Perl, Python, Assembler, … ● Speicher, Architektur (32/64-bit), Testumgebung ● Debugger, Fuzzer, … ● Erfahrung, Zeit (>1w search/develop) ● Benutzung eines Frameworks ● Metasploit: www.metasploit.com ● Inguma: http://inguma.sourceforge.net ● Penetration-Testing Seite 55 von 98 05 Exploiting ● Download Internet Exploit Search: http://exploitsearch.com/ Securityvulns: http://securityvulns.com/exploits/ Milw0rm: http://www.milw0rm.com/ Packetstorm: http://packetstormsecurity.org/assess/exploits/ Archives Neohapsis: http://archives.neohapsis.com/ BugReport: http://www.bugreport.ir/ VuPenSecurity: http://www.vupen.com/exploits/ Shellcode: http://shellcode.org/ Penetration-Testing Seite 56 von 98 Vuln/Exploit Tools kommerziell ● ● ● Nessus Vulnerability Scanner ● Tenable Security ● $1200/y, Home Use ;-) Core Impact Exploit Framework ● Core Security Technologies ● ~$30'000/y CANVAS Exploit Framework ● Immunity Inc ● $1450 (+2920/y Upd/Supp, 35'980/y Early) Penetration-Testing Seite 57 von 98 Vuln/Exploit Tools Open Source ● ● ● Attack Toolkit (ATK win32) ● Vulnerability Scanner ● Seit 2004 OpenVAS ● Vulnerability Scanner ● Seit 2007 aktiv :-) Metasploit ● Exploitation Framework ● Seit 2003 Penetration-Testing Seite 58 von 98 05 Exploiting ● Password Cracking ● Online: Hydra, Brutus AE2 ● Lokal: LCP, Ophrack, Cain&Abel, John the Ripper ● ● Netzwerk ● ● Passwort-Dateien ● Active Directory (%windir%\ntds\ntds.dit) ● Lokale SAM (%windir%\repair\SAM) ● *NIX: /etc/passwd und /etc/shadow ARP-Hijacking, ICMP-Redirect, Loose Source Routing, Routing, Covert Channels, (Denial-of-Service) Applikationen (2 Benutzer, Privilege Escalation) Penetration-Testing Seite 59 von 98 05 Exploiting ● Webzugriffe / -angriffe ● Referrer Attacks (webbugs, url session) ● URL Redir, DIR Traversal ● XSS (Cross Side Scripting) ● XSRF (Cross Side Request Forgery) ● XST (Cross Side Tracing) ● *Inject (scripts, html, xml, sql) ● *Session (guess, hijack, fix) Penetration-Testing Seite 60 von 98 05 Exploiting ● Email Spam-Check (cat relay.txt | telnet smtp.x.y 25) HELO myhost MAIL FROM: Sender Name <user@example.org> RCPT TO: Recipient Name <user@example.net> DATA From: Sender Name <user@example.org> To: Recipient Name <user@example.net> Subject: test . QUIT Penetration-Testing Seite 61 von 98 06 Hide Traces Nicht Hacker, der Logfiles säubert, sondern Tester, der die Spuren seines Penetration Tests säubert ● ● Exploited Systems, Backdoors, Logfiles ● Manipulationen: Speicher, Disk ● Zeitstempel, Protokollierung Tests ● Mitschnitt des Netzwerkverkehrs ● Nachvollziehbarkeit des Tests ● Anschuldigungen Auftraggeber Penetration-Testing Seite 62 von 98 07 Documentation ● Fortlaufend Findings notieren ● WICHTIGSTES Element eines Penetration Tests ● Gewichtung von Risiken, Gefährdungspotential ausweisen ● Einfach formuliert und verständlich, Zielgruppen-gerecht ● Wahrheitsgetreue Fakten (nicht Vermutungen) ● Neutral (nichts verstecken, beeinflussen oder beschönigen) ● Verantwortliche Personen nie blossstellen ● Blickwinkel Berichts immer nach vorne gerichtet ● Fokus auf „wie kann es verbessert werden“ ● Veranschaulichung mit Grafiken, aber nicht überladen Penetration-Testing Seite 63 von 98 07 Documentation ● Aufbau Bericht ● ● ● ● ● ● ● ● ● ● Titelseite Management Summary (maximal 2 Seiten) Parteien Ausgangslage, Ziele, Randbedingungen, Methode Durchgeführte Tests, nicht durchgeführte Tests Gefundene Schwachstellen Erklärung, Risiko, Gewichtung im Kontext (zu den Aufgaben/Risiken des Systems) Vorgeschlagene Massnahmen Referenz auf Schwachstelle, Erklärung, Massnahme, Zeitrahmen, Verantwortlich, Risiko Anhang mit Rohdaten des Tests (auf CD oder DVD) Penetration-Testing Seite 64 von 98 Massnahmen ● Problem: zu viele offene Ports (zu grosse Angriffsfläche) ● ● Variante 1: neue Firewall, blockiert Zugriffe von aussen ● Schneller, pragmatischer, reaktiv Variante 2: Schliessen der nicht benötigten Ports ● Aufwändiger, nachhaltiger, proaktiv Kosten gespart (keine Neuanschaffung und kein Betrieb der Firewall notwendig) ● Sicherheit wirklich erhöht (Angriffsfläche reduziert, keine Abhängigkeit von der Firewall) ● Penetration-Testing Seite 65 von 98 Massnahmen Härtung Betriebssystem ● Default-Installation und Default-Passwörter entfernen ● Compiler entfernen ● Installationen von Softwarekomponenten auf das absolut notwendige Minimum beschränken ● Schliessen von unnötig offenen Ports, Deaktivierung von unnötigen Diensten ● Ersatz von unsicheren Protokollen und Diensten ● Patching und Updates zeitnah (vorgängig getestet) ● Separierung kritischer Bereiche mittels eigener Zonen ● Filterung ingress und egress ● Zyklische Überprüfung des aktuellen Status des Systems, Alarm und Reaktion bei Veränderungen ● Penetration-Testing Seite 66 von 98 Massnahmen Massnahmen Grundschutz Organisatorisch Technisch Strategisch Baulich Notfall Penetration-Testing Liste (nicht abschliessend) Updates/Patching, Backup, Antivirus, Antispyware, hostbasierte Firewall, Überwachung/Auditing, Protokollierung, starke Passwörter (A-Z,a-z,0-9,*#-!?_) Gesetze, aktuelles Organisationshandbuch, personifizierte Rollen, strenges und unumgehbares Rollenkonzept, Beachtung von Interessens- und Befugniskonflikten, Protokollierung, Mehr-Augen-Prinzip, need-to-see-Prinzip, need-to-know-Prinzip, Auditing und Revision, Ausbildung, Sensibilisierung Filtering, Zugriffskontrolle, Verschlüsselung, digitale Unterschriften, Integritätssicherung, Safety, Authentisierung, Verkehrsflussanalysen, Routingkontrolle, Intrusion Detection/ Prevention, Antimalware, Antispyware Policies, Weisungen Mitarbeiterhandbuch, Standards Zugangskontrolle, Feuer- und Wasserschutz, Katastrophenplanung, Redundanzen, Evakuierungsplan, USV (unterbrechungsfreie Stromversorgung), Überspannungsschutz Vorsorgemassnahmen, Sofortmassnahmen, Wiederanlaufsmassnahmen Seite 67 von 98 Timeline (Jeremiah Grossman) Penetration-Testing Seite 68 von 98 08 Presentation ● Bericht einige Tage vor Präsentation beim Auftraggeber Eventuell zwei verschiedene Präsentationen, HighlevelManagement und Lowlevel Technik ● ● Raum für Fragen und Unklarheiten ● Nie mehr Tester als Auftraggeber an der Präsentation Vertrauliche Informationen nur mit zuständigen Verantwortlichen besprechen ● ● Videos und Live-Demos: langsam und klar, Botschaft! ● Maximal zwei Stunden Penetration-Testing Seite 69 von 98 09 Debriefing ● Lehren aus dem Projekt ● Archivierung neuer Angriffstechniken und Hilfsmittel ● Tools, Checklisten, Exploits ● Analyse von gemachten Fehlern ● Knowhow-Transfer Laufende Information über Aktualitäten, Trends, Angriffstechniken und Verwundbarkeiten ● ● Evolve or die ;-) Penetration-Testing Seite 70 von 98 OSSTMM ● ● ISECOM OSSTMM ● Institute for Security and Open Methodologies ● Open Source Security Testing Methodology Manual Offener Standard für Sicherheitstests ● Seit 2001, aktuell Version 3.0 ● Rules of Engagement ● Risk Assessment Values Penetration-Testing Seite 71 von 98 OSSTMM Attack Surface = attackable parts ● Vector = from where to where ● Controls = impact / loss reduction ● Limitations = weaknesses, vulnerabilities ● Operation = justified risk of business ● Porosity = interactive points ● Safety = control danger effects ● Security = separate asset from threat ● Target = asset + controls ● Penetration-Testing Seite 72 von 98 OSSTMM Channels Penetration-Testing Seite 73 von 98 OSSTMM Test Penetration-Testing Seite 74 von 98 OSSTMM CIA Penetration-Testing Seite 75 von 98 OSSTMM RAV Penetration-Testing Seite 76 von 98 OSSTMM 4PP Penetration-Testing Seite 77 von 98 OSSTMM Trifecta ● The Auditors Trifecta 1. How do current operations work? 2. How do they work differently from how management thinks they work? 3. How do they need to work? Penetration-Testing Seite 78 von 98 OSSTMM Trifecta+4PP Penetration-Testing Seite 79 von 98 OSSTMM Trust Analysis Penetration-Testing Seite 80 von 98 OSSTMM Process Penetration-Testing Seite 81 von 98 OSSTMM STAR Security Testing Audit Report ● Standard Report mit Beilagen ● ISECOM zertifiziert STAR Reports ● Penetration-Testing Seite 82 von 98 OSSTMM RAV Penetration-Testing Seite 83 von 98 OSSTMM RAV Penetration-Testing Seite 84 von 98 OSSTMM RAV Penetration-Testing Seite 85 von 98 OSSTMM + Risk Analysis Penetration-Testing Seite 86 von 98 Digg deeper Pentesting, wie denn jetzt ganz genau? Penetration-Testing Seite 87 von 98 Ablauf Pentest ● IP aus Discovery oder Scope-Informationen ● 1 System Portscan ● 2 offener Port ● 3 Port Fingerprint ● 4 Attacke(n) Dienst ● 5 Report Resultate ● Attacken ● Client-Software, Exploit, Password Cracking, Fuzzing, ... Penetration-Testing Seite 88 von 98 Pentest Reduce to the Max ● Effizienz im Zeitbedarf bei qualitativen Resultaten ● Scripts für Automatisation Tasks ● Bash → Portierung Python ● Scriptname dnsweep.sh hostalyze.sh hostsweep.sh portalyze.sh webalyze.sh Zweck DNS-Untersuchung einer Internet-Domäne Vollständige Untersuchung eines einzelnen Systems Erkennung eines aktiven Systems auf dem Netzwerk Untersuchung eines Ports auf einem System Vollständige Untersuchung eines einzelnen Webservers Penetration-Testing Seite 89 von 98 Pentest Automatisierung Footprinting + Portscanning + Fingerprinting Penetration-Testing Seite 90 von 98 Pentest ● Tools benötigt Scriptname dnsweep.sh Programme whois, host, dig, hping2, scandns.pl tee, echo, ifconfig, date, grep, tcpdump hostalyze.sh nmap, traceroute, tcptraceroute, hping2, unicornscan, scanudp, host, afd, nc (netcat), ike-scan, dcetest, nbtscan, lsrscan, amap, scandns.pl, rpcdump.py, nfsping.pl, tnscmd.pl tee, echo, ifconfig, date, grep, tcpdump, python, perl, smbclient (samba), snmpwalk (net-snmp), openssl, rpcinfo, showmount (nfs) hostsweep.sh arping, hping2 tee, echo, ifconfig, date, grep, tcpdump portalyze.sh hping2, nc (netcat), amap tee, echo, ifconfig, date, grep, tcpdump webalyze.sh hping2, nc (netcat), nikto, openssl, nmap tee, echo, ifconfig, date, grep, tcpdump Penetration-Testing Seite 91 von 98 Pentest ● Aufruf und Parameter Scriptname dnsweep.sh Aufruf und Parameter ./dnsweep.sh IP DOMAIN.XY DNSIP ./dnsweep.sh 192.168.0.10 whatever.ch 192.168.0.53 hostalyze.sh ./hostalyze.sh IP ./hostalyze.sh 192.168.0.10 hostsweep.sh ./hostsweep.sh IP ./hostsweep.sh 192.168.0.10 portalyze.sh ./portalyze.sh IP PORT ./portalyze.sh 192.168.0.10 80 ./webalyze.sh IP webalize.sh ./webalyze.sh 192.168.0.10 Penetration-Testing Seite 92 von 98 Pentest ● Resultate Scriptname dnsweep.sh hostalyze.sh Resultate IP_dnsweep_DATE.txt IP_dnsweep_DATE.tgz (Tcpdump) IP_nmap_tcp/udp_DATE.xml (Resultat im Browser ansehen, nmap.xsl benötigt) IP_hostalyze_DATE.txt (Resultate) IP_hostalyze_DATE.tgz (Tcpdump) hostsweep.sh IP_hostsweep_DATE.txt IP_hostsweep_DATE.tgz (Tcpdump) portalyze.sh webalize.sh IP_portalyze_PORT_DATE.txt IP_portalyze_PORT_DATE.tgz (Tcpdump) IP_webalyze_DATE.txt IP_webalyze_DATE.tgz (Tcpdump) Penetration-Testing Seite 93 von 98 Pentest ● Laufzeit Scriptname dnsweep.sh hostalyze.sh hostsweep.sh portalyze.sh webalize.sh Laufzeit LAN/Internet 1 Min (nur Internet) 10-60 Min / 20 min 1-10 Min / 1 Min 1-5 Min / 5 Min 1-20 Min / 20 Min ☺ Penetration-Testing Seite 94 von 98 Tipps und Tricks ● WYSIWYD = What you see is what you do (Tcpdump ;-) ● Zwei Tools einsetzen (Verifikation von Resultaten) ● Banner können gefaked werden (66% verify OSSTMM) ● UDP applikativ testen (DNS, NetBIOS, TFTP, SNMP) ● UDP kaum scanbar, wenn ICMP gefiltert ● Low-Level-Informationen auswerten ● Window-Size, Sequenz-Nr., TTL, IPID ● False Positives erkennen, IIS auf Unix, Ports = OS? ● ICMP OS Fingerprinting versus TCP OS Fingerprinting ● Unsicher? Nochmals testen! Penetration-Testing Seite 95 von 98 Tipps und Tricks ● ● Performance versus Auffälligkeit ● Range begrenzen ● Aggressives Timing und Parallelität ● Full-Blown Nessus versus Nmap → Nessus auf open Ports Port Sweeps statt Port Scans ● ● Ein Port auf mehreren Systemen statt mehrere Ports auf einem System Password Cracking ● Ein Passwort bei mehreren Benutzern ausprobieren statt mehrere Passwörter bei einem Benutzer (Account Lockout) Penetration-Testing Seite 96 von 98 Links Security Mailinglisten: http://seclists.org/ ● Penetration Testing Directory: http://www.penetrationtests.com/ ● Heise Security: http://www.heise.de/security/ ● Securityfocus: http://www.securityfocus.com/ ● Darknet: http://www.darknet.org.uk/ ● Blackhat: http://www.blackhat.com/ ● SANS Diary: http://isc.sans.org/diary.php ● SANS Reading Room: http://www.sans.org/reading_room/ ● Melani: http://www.melani.admin.ch/ ● Secunia: http://secunia.com/ ● Phrack Magazine: http://www.textfiles.com/magazines/PHRACK/ ● IndianZ: http://www.indianz.ch/ ● Penetration-Testing Seite 97 von 98 Besten Dank... … für Ihre Aufmerksamkeit! Wem darf ich eine Frage beantworten? ;-) IndianZ www.indianz.ch Penetration-Testing Seite 98 von 98