Geleitwort zur ersten Auflage | 7 |
Wie sage ich es am besten? | 7 |
Aber wir haben doch eine Firewall! | 8 |
Das Geschäft mit der Angst | 8 |
Sicherheit als Erfolgsfaktor | 9 |
Wie berechne ich einen Business Case? | 11 |
Ziele eines Penetrationstests | 13 |
Fazit | 13 |
Vorwort | 15 |
Wie ist dieses Buch aufgebaut? | 16 |
Wer sollte dieses Buch lesen? | 17 |
Strafrechtliche Relevanz | 18 |
Danksagungen | 18 |
1 Eine Einführung in das Pentesting und in Exploiting-Frameworks | 27 |
1.1 Was ist Pentesting? | 27 |
1.2 Die Phasen eines Penetrationstests | 30 |
1.2.1 Phase 1 – Vorbereitung | 31 |
1.2.2 Phase 2 – Informationsbeschaffung und -auswertung | 31 |
1.2.3 Phase 3 – Bewertung der Informationen/Risikoanalyse | 31 |
1.2.4 Phase 4 – Aktive Eindringversuche | 32 |
1.2.5 Phase 5 – Abschlussanalyse | 32 |
1.2.6 Eine etwas andere Darstellung | 33 |
1.3 Die Arten des Penetrationstests | 34 |
1.3.1 Kurze Darstellung der einzelnen Testarten | 34 |
1.4 Exploiting-Frameworks | 36 |
1.4.1 Umfang von Exploiting-Frameworks | 36 |
1.4.2 Vorhandene Frameworks | 50 |
1.5 Dokumentation während eines Penetrationstests | 56 |
1.5.1 BasKet | 57 |
1.5.2 Zim Desktop Wiki | 58 |
1.5.3 Dradis | 59 |
1.5.4 Microsoft OneNote | 62 |
1.6 Überlegungen zum eigenen Testlabor | 63 |
1.6.1 Metasploitable v2 | 65 |
1.6.2 MSFU-Systeme | 66 |
1.6.3 Testsysteme für Webapplikationsanalysen | 67 |
1.6.4 Foundstone-Hacme-Systeme | 68 |
1.7 Zusammenfassung | 69 |
2 Einführung in das Metasploit-Framework | 71 |
2.1 Geschichte von Metasploit | 71 |
2.2 Architektur des Frameworks | 74 |
2.2.1 Rex – Ruby Extension Library | 75 |
2.2.2 Framework Core | 77 |
2.2.3 Framework Base | 77 |
2.2.4 Modules | 78 |
2.2.5 Framework-Plugins | 78 |
2.3 Installation und Update | 78 |
2.3.1 Kali Linux | 79 |
2.4 Ein erster Eindruck – das Dateisystem | 84 |
2.5 Benutzeroberflächen | 86 |
2.5.1 Einführung in die Metasploit-Konsole (msfconsole) | 86 |
2.5.2 Armitage | 95 |
2.5.3 Metasploit Community Edition | 98 |
2.6 Globaler und modularer Datastore | 102 |
2.7 Einsatz von Datenbanken | 104 |
2.7.1 Datenbankabfragen im Rahmen eines Penetrationstests | 107 |
2.8 Workspaces | 109 |
2.9 Logging und Debugging | 110 |
2.10 Zusammenfassung | 112 |
3 Die Pre-Exploitation-Phase | 113 |
3.1 Die Pre-Exploitation-Phase | 113 |
3.2 Verschiedene Auxiliary-Module und deren Anwendung | 114 |
3.2.1 Shodan-Suchmaschine | 115 |
3.2.2 Internet Archive | 118 |
3.2.3 Analyse von der DNS-Umgebung | 121 |
3.2.4 Discovery-Scanner | 124 |
3.2.5 Portscanner | 126 |
3.2.6 SNMP-Community-Scanner | 128 |
3.2.7 VNC-Angriffe | 131 |
3.2.8 Windows-Scanner | 135 |
3.2.9 SMB-Login-Scanner | 138 |
3.2.10 Weitere Passwortangriffe | 139 |
3.3 Netcat in Metasploit (Connect) | 146 |
3.4 Zusammenfassung | 148 |
4 Die Exploiting-Phase | 149 |
4.1 Einführung in die Exploiting-Thematik | 149 |
4.2 Metasploit-Konsole – msfconsole | 152 |
4.2.1 Session-Management | 162 |
4.3 Metasploit Community Edition | 165 |
4.4 Zusammenfassung | 171 |
5 Die Post-Exploitation-Phase: Meterpreter-Kung-Fu | 173 |
5.1 Grundlagen – Was zur Hölle ist Meterpreter? | 173 |
5.2 Eigenschaften | 174 |
5.3 Grundfunktionalitäten | 175 |
5.4 Post-Exploitation-Module und Meterpreter-Skripte | 181 |
5.4.1 Post-Information Gathering | 184 |
5.4.2 VNC-Verbindung | 190 |
5.4.3 Netzwerk-Enumeration | 191 |
5.4.4 Weiteren Zugriff sicherstellen | 194 |
5.5 Timestomp | 199 |
5.6 Windows-Privilegien erweitern | 202 |
5.7 Programme direkt aus dem Speicher ausführen | 211 |
5.8 Meterpreter-Erweiterungsmodule | 214 |
5.8.1 Incognito – Token Manipulation | 215 |
5.9 Pivoting | 223 |
5.9.1 Portforwarding | 224 |
5.9.2 Routen setzen | 227 |
5.9.3 Weitere Pivoting-Möglichkeiten | 232 |
5.10 IRB und Railgun in der Post-Exploitation-Phase | 240 |
5.11 Systemunabhängigkeit des Meterpreter-Payloads | 242 |
5.12 Zusammenfassung | 243 |
6 Automatisierungsmechanismen und Integration von 3rd-Party-Scannern | 245 |
6.1 Ganz nüchtern betrachtet | 245 |
6.2 Pre-Exploitation-Phase | 246 |
6.2.1 Scanning in der Pre-Exploitation-Phase | 248 |
6.2.2 Automatisierte Passwortangriffe | 251 |
6.3 Einbinden externer Scanner | 253 |
6.3.1 Nmap-Portscanner | 253 |
6.3.2 Nessus-Vulnerability-Scanner | 258 |
6.3.3 NeXpose-Vulnerability-Scanner | 266 |
6.4 Armitage | 272 |
6.5 IRB und Ruby-Grundlagen | 275 |
6.6 Erweiterte Metasploit-Resource-Skripte | 278 |
6.7 Automatisierungsmöglichkeiten in der Post-Exploitation-Phase | 282 |
6.7.1 Erste Möglichkeit: über die erweiterten Payload-Optionen | 282 |
6.7.2 Zweite Möglichkeit: über das Session-Management | 285 |
6.7.3 Dritte Möglichkeit: Post-Module | 285 |
6.8 Zusammenfassung | 288 |
7 Spezielle Anwendungsgebiete | 289 |
7.1 Webapplikationen analysieren | 289 |
7.1.1 Warum Webanwendungen analysiert werden müssen | 289 |
7.1.2 Wmap | 291 |
7.1.3 Remote-File-Inclusion-Angriffe mit Metasploit | 299 |
7.1.4 Arachni Web Application Security Scanner Framework und Metasploit | 301 |
7.2 Datenbanken analysieren | 312 |
7.2.1 MS-SQL | 313 |
7.2.2 Oracle | 320 |
7.2.3 MySQL | 332 |
7.2.4 PostgreSQL | 337 |
7.3 Virtualisierte Umgebungen | 340 |
7.3.1 Metasploit im Einsatz | 341 |
7.3.2 Directory Traversal | 343 |
7.4 IPv6-Grundlagen | 344 |
7.4.1 Konfigurationsgrundlagen | 346 |
7.5 IPv6-Netzwerke analysieren | 347 |
7.6 Zusammenfassung | 353 |
8 Client-Side Attacks | 355 |
8.1 Sehr bekannte Client-Side-Angriffe der letzten Jahre | 356 |
8.1.1 Aurora – MS10-002 | 356 |
8.1.2 Browserangriffe automatisieren via browser_autopwn | 361 |
8.2 Remote-Zugriff via Cross-Site-Scripting | 366 |
8.2.1 XSSF – Management von XSS Zombies mit Metasploit | 368 |
8.2.2 Von XSS zur Shell | 377 |
8.3 Angriffe auf Client-Software über manipulierte Dateien | 380 |
8.4 Ein restriktives Firewall-Regelwerk umgehen | 381 |
8.5 Zusammenfassung | 389 |
9 Weitere Anwendung von Metasploit | 391 |
9.1 Einen externen Exploit über Metasploit kontrollieren | 391 |
9.1.1 Multi-Handler – Fremde Exploits in Metasploit aufnehmen | 392 |
9.1.2 Plaintext-Session zu Meterpreter upgraden | 393 |
9.2 Pass the Hash | 395 |
9.2.1 Pass the Hash automatisiert | 399 |
9.3 SET – Social Engineer Toolkit | 403 |
9.3.1 Überblick | 404 |
9.3.2 Update | 405 |
9.3.3 Beispielanwendung | 405 |
9.4 BeEF – Browser-Exploitation-Framework | 413 |
9.5 Die Metasploit Remote API | 417 |
9.6 vSploit | 422 |
9.7 Metasploit Vulnerability Emulator | 424 |
9.8 Tools | 426 |
9.9 Zusammenfassung | 429 |
10 Forschung und Exploit-Entwicklung – Vom Fuzzing zum 0 Day | 431 |
10.1 Die Hintergründe | 431 |
10.2 Erkennung von Schwachstellen | 434 |
10.2.1 Source-Code-Analyse | 434 |
10.2.2 Reverse Engineering | 435 |
10.2.3 Fuzzing | 435 |
10.3 Auf dem Weg zum Exploit | 439 |
10.4 EIP – Ein Register, sie alle zu knechten … | 444 |
10.5 MSFPESCAN | 446 |
10.6 MSF-Pattern | 449 |
10.7 Der Sprung ans Ziel | 452 |
10.8 Ein kleiner Schritt für uns, ein großer Schritt für den Exploit | 457 |
10.9 Kleine Helferlein | 461 |
10.10 Ein Metasploit-Modul erstellen | 465 |
10.11 Immunity Debugger mit Mona – Eine Einführung | 468 |
10.11.1 Mona-Grundlagen | 469 |
10.12 Die Applikation wird analysiert – Auf dem Weg zum SEH | 475 |
10.12.1 Ein (Structured) Exception Handler geht seinen Weg | 478 |
10.12.2 Mona rockt die Entwicklung eines Metasploit-Moduls | 482 |
10.13 Bad Characters auffinden | 487 |
10.14 Command Injection auf Embedded Devices | 489 |
10.14.1 Exploit per Download und Execute | 495 |
10.14.2 Exploit per CMD-Stager | 497 |
10.15 An der Metasploit-Entwicklung aktiv teilnehmen | 503 |
10.16 Zusammenfassung | 507 |
11 Evading-Mechanismen | 509 |
11.1 Antivirus Evading | 510 |
11.2 Trojanisieren einer bestehenden Applikation | 514 |
11.3 Weitere Post-Exploitation-Tätigkeiten | 519 |
11.4 IDS Evading | 520 |
11.4.1 NOP-Generatoren | 521 |
11.4.2 Im Exploit integrierte Evading-Funktionalitäten | 523 |
11.4.3 Evading-Funktionen vorhandener Exploits | 525 |
11.4.4 Erweiterte Evading-Funktionen durch den Einsatz von Fragroute | 527 |
11.4.5 Das IPS-Plugin | 535 |
11.5 Fazit | 536 |
12 Metasploit Express und Metasploit Pro im IT-Sicherheitsprozess | 537 |
12.1 Metasploit Express und Metasploit Pro | 538 |
12.2 Metasploit Express | 538 |
12.3 Metasploit Pro | 540 |
12.3.1 Anwendungsbeispiel | 546 |
12.4 Zusammenfassung | 558 |
13 Cheat Sheet | 561 |
13.1 Vorbereitungsarbeiten und Bedienung des Frameworks | 561 |
13.1.1 Datastores | 561 |
13.1.2 Datenbankabfragen im Rahmen eines Penetrationstests | 562 |
13.1.3 Workspaces verwalten | 562 |
13.1.4 Logging aktivieren | 562 |
13.1.5 Metasploit-Ergebnisse exportieren | 563 |
13.2 Anwendung eines Moduls | 563 |
13.2.1 Session-Management | 564 |
13.3 Post-Exploitation-Phase | 564 |
13.3.1 Spuren verwischen | 565 |
13.3.2 Pivoting bzw. in weitere Netzwerke vordringen | 565 |
13.3.3 Lokale Privilege Escalation | 566 |
13.3.4 Domain Privilege Escalation | 567 |
13.4 Automatisierungsmechanismen | 567 |
13.5 Nmap Cheat Sheet | 568 |
13.6 Client-Side Attacks | 569 |
13.6.1 Trojanisieren einer bestehenden Applikation und AV Evading | 569 |
13.6.2 Ein restriktives Firewall-Regelwerk umgehen | 570 |
Literaturverzeichnis und weiterführende Links | 573 |
Schlusswort | 587 |
Index | 589 |
www.dpunkt.de | 0 |