Seitz | Hacking mit Python | E-Book | www2.sack.de
E-Book

E-Book, Deutsch, 224 Seiten

Seitz Hacking mit Python

Fehlersuche, Programmanalyse, Reverse Engineering
1. Auflage 2009
ISBN: 978-3-89864-981-0
Verlag: Rheinwerk Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark

Fehlersuche, Programmanalyse, Reverse Engineering

E-Book, Deutsch, 224 Seiten

ISBN: 978-3-89864-981-0
Verlag: Rheinwerk Verlag
Format: PDF
Kopierschutz: 1 - PDF Watermark



Python wird mehr und mehr zur bevorzugten Programmiersprache von Hackern, Reverse Engineers und Softwaretestern, weil sie es einfach macht, schnell zu entwickeln. Gleichzeitig bietet Python die Low-Level-Unterstützung und die Bibliotheken, die Hacker glücklich machen. Hacking mit Python bietet eine umfassende Anleitung, wie man diese Sprache für eine Vielzahl von Hacking-Aufgaben nutzen kann. Das Buch erläutert die Konzepte hinter Hacking-Tools und -Techniken wie Debugger, Trojaner, Fuzzer und Emulatoren. Doch der Autor Justin Seitz geht über die Theorie hinaus und zeigt, wie man existierende Python-basierte Sicherheits-Tools nutzt - und wie man eigene entwickelt, wenn die vorhandenen nicht ausreichen. Sie lernen, wie man: - lästige Reverse Engineering- und Sicherheits-Aufgaben automatisiert - einen eigenen Debugger entwirft und programmiert - Windows-Treiber 'fuzzed' und mächtige Fuzzer von Grund auf entwickelt - Code- und Library-Injection, Soft- und Hard-Hooks und andere Software-Tricks vornimmt - gesicherten Traffic aus einer verschlüsselten Webbrowser-Session erschnüffelt - PyDBG, Immunity Debugger, Sulley, IDAPython, PyEMU und andere Software nutzt Die weltbesten Hacker nutzen Python für ihre Arbeit. Warum nicht auch Sie?

Justin Seitz ist als Sicherheitsingenieur bei der Firma Immunity, Inc., beschäftigt, wo er einen Großteil seiner Arbeitszeit für Softwaretests, Reverse Engineering, Python-Entwicklung und Analyse von Malware aufwendet.
Seitz Hacking mit Python jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1;Vorwort;6
2;Danksagungen;8
3;Inhaltsverzeichnis;10
4;Einführung;14
5;1 Ihre Entwicklungsumgebung einrichten;16
5.1;1.1 Anforderungen an das Betriebssystem;16
5.2;1.2 Python 2.5 herunterladen und installieren;17
5.2.1;1.2.1 Python unter Windows installieren;17
5.2.2;1.2.2 Python unter Linux installieren;17
5.3;1.3 Einrichten von Eclipse und PyDev;19
5.3.1;1.3.1 Des Hackers bester Freund: ctypes;20
5.3.2;1.3.2 Dynamische Libraries nutzen;21
5.3.3;1.3.3 C-Datentypen konstruieren;23
5.3.4;1.3.4 Parameter per Referenz übergeben;25
5.3.5;1.3.5 Strukturen und Unions definieren;25
6;2 Debugger und Debugger-Design;28
6.1;2.1 Universal-CPU-Register;29
6.2;2.2 Der Stack;31
6.3;2.3 Debug-Events;33
6.4;2.4 Breakpunkte;34
6.4.1;2.4.1 Software-Breakpunkte;34
6.4.2;2.4.2 Hardware-Breakpunkte;37
6.4.3;2.4.3 Speicher-Breakpunkte;39
7;3 Entwicklung eines Windows-Debuggers;42
7.1;3.1 Prozess, wo bist Du?;42
7.2;3.2 Den Zustand der CPU-Register abrufen;50
7.2.1;3.2.1 Threads aufspüren;51
7.2.2;3.2.2 Alles zusammenfügen;52
7.3;3.3 Debug-Event-Handler implementieren;56
7.4;3.4 Der machtvolle Breakpunkt;60
7.4.1;3.4.1 Software-Breakpunkte;60
7.4.2;3.4.2 Hardware-Breakpunkte;65
7.4.3;3.4.3 Speicher-Breakpunkte;69
7.5;3.5 Fazit;73
8;4 PyDbg - ein reiner Python-Debugger für Windows;74
8.1;4.1 Breakpunkt-Handler erweitern;74
8.2;4.2 Handler für Zugriffsverletzungen;77
8.3;4.3 Prozess-Schnappschüsse;80
8.3.1;4.3.1 Prozess-Schnappschüsse erstellen;80
8.3.2;4.3.2 Alles zusammenfügen;82
9;5 Immunity Debugger - Das Beste beider Welten;86
9.1;5.1 Den Immunity Debugger installieren;86
9.2;5.2 Immunity Debugger - kurze Einführung;87
9.2.1;5.2.1 PyCommands;88
9.2.2;5.2.2 PyHooks;88
9.3;5.3 Entwicklung von Exploits;90
9.3.1;5.3.1 Exploit-freundliche Instruktionen finden;90
9.3.2;5.3.2 »Böse« Zeichen filtern;92
9.3.3;5.3.3 DEP unter Windows umgehen;95
9.4;5.4 Anti-Debugging-Routinen in Malware umgehen;99
9.4.1;5.4.1 IsDebuggerPresent;100
9.4.2;5.4.2 Prozessiteration unterbinden;100
10;6 Hooking;102
10.1;6.1 Soft Hooking mit PyDbg;102
10.2;6.2 Hard Hooking mit dem Immunity Debugger;107
11;7 DLL- und Code-Injection;114
11.1;7.1 Erzeugung entfernter Threads;114
11.1.1;7.1.1 DLL-Injection;116
11.1.2;7.1.2 Code-Injection;118
11.2;7.2 Zum Übeltäter werden;121
11.2.1;7.2.1 Dateien verstecken;121
11.2.2;7.2.2 Eine Hintertür codieren;122
11.2.3;7.2.3 Kompilieren mit py2exe;126
12;8 Fuzzing;130
12.1;8.1 Fehlerklassen;131
12.1.1;8.1.1 Pufferüberläufe;131
12.1.2;8.1.2 Integerüberläufe;132
12.1.3;8.1.3 Formatstring-Angriffe;134
12.2;8.2 Datei-Fuzzer;135
12.3;8.3 Weitere Überlegungen;141
12.3.1;8.3.1 Codedeckungsgrad (Code Coverage);141
12.3.2;8.3.2 Automatisierte statische Analyse;142
13;9 Sulley;144
13.1;9.1 Sulley installieren;145
13.2;9.2 Sulley-Primitive;145
13.2.1;9.2.1 Strings;146
13.2.2;9.2.2 Trennsymbole;146
13.2.3;9.2.3 Statische und zufällige Primitive;146
13.2.4;9.2.4 Binäre Daten;147
13.2.5;9.2.5 Integerwerte;147
13.2.6;9.2.6 Blöcke und Gruppen;148
13.3;9.3 WarFTPD knacken mit Sulley;149
13.3.1;9.3.1 FTP - kurze Einführung;150
13.3.2;9.3.2 Das FTP-Protokollgerüst erstellen;151
13.3.3;9.3.3 Sulley-Sessions;152
13.3.4;9.3.4 Netzwerk- und Prozessüberwachung;153
13.3.5;9.3.5 Fuzzing und das Sulley-Webinterface;154
14;10 Fuzzing von Windows-Treibern;158
14.1;10.1 Treiberkommunikation;159
14.2;10.2 Treiber-Fuzzing mit dem Immunity Debugger;160
14.3;10.3 Driverlib - das statische Analysetool für Treiber;163
14.3.1;10.3.1 Gerätenamen aufspüren;164
14.3.2;10.3.2 Die IOCTL-Dispatch-Routine aufspüren;165
14.3.3;10.3.3 Unterstützte IOCTL-Codes aufspüren;167
14.4;10.4 Einen Treiber-Fuzzer entwickeln;169
15;11 IDAPython - Scripting für IDA Pro;174
15.1;11.1 IDAPython installieren;175
15.2;11.2 IDAPython-Funktionen;176
15.2.1;11.2.1 Utility-Funktionen;176
15.2.2;11.2.2 Segmente;176
15.2.3;11.2.3 Funktionen;177
15.2.4;11.2.4 Cross-Referenzen;177
15.2.5;11.2.5 Debugger-Hooks;178
15.3;11.3 Beispielskripten;179
15.3.1;11.3.1 Aufspüren von Cross-Referenzen auf gefährliche Funktionen;179
15.3.2;11.3.2 Codeabdeckung von Funktionen;181
15.3.3;11.3.3 Stackgröße berechnen;182
16;12 PyEmu - der skriptfähige Emulator;186
16.1;12.1 PyEmu installieren;186
16.2;12.2 PyEmu-Übersicht;187
16.2.1;12.2.1 PyCPU;187
16.2.2;12.2.2 PyMemory;188
16.2.3;12.2.3 PyEmu;188
16.2.4;12.2.4 Ausführung;188
16.2.5;12.2.5 Speicher- und Register-Modifier;188
16.2.6;12.2.6 Handler;189
16.3;12.3 IDAPyEmu;194
16.3.1;12.3.1 Funktionen emulieren;196
16.3.2;12.3.2 PEPyEmu;199
16.3.3;12.3.3 Packer für Executables;200
16.3.4;12.3.4 UPX-Packer;200
16.3.5;12.3.5 UPX mit PEPyEmu entpacken;201
17;Index;206


Justin Seitz ist als Sicherheitsingenieur bei der Firma Immunity, Inc., beschäftigt, wo er einen Großteil seiner Arbeitszeit für Softwaretests, Reverse Engineering, Python-Entwicklung und Analyse von Malware aufwendet.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.