|
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 |
|