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 <[email protected]>
RCPT TO: Recipient Name <[email protected]>
DATA
From: Sender Name <[email protected]>
To: Recipient Name <[email protected]>
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