Sie sind hier
E-Book

Hacking mit Python

Fehlersuche, Programmanalyse, Reverse Engineering

AutorJustin Seitz
Verlagdpunkt
Erscheinungsjahr2009
Seitenanzahl224 Seiten
ISBN9783898649810
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis25,99 EUR
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.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Vorwort6
Danksagungen8
Inhaltsverzeichnis10
Einführung14
1 Ihre Entwicklungsumgebung einrichten16
1.1 Anforderungen an das Betriebssystem16
1.2 Python 2.5 herunterladen und installieren17
1.2.1 Python unter Windows installieren17
1.2.2 Python unter Linux installieren17
1.3 Einrichten von Eclipse und PyDev19
1.3.1 Des Hackers bester Freund: ctypes20
1.3.2 Dynamische Libraries nutzen21
1.3.3 C-Datentypen konstruieren23
1.3.4 Parameter per Referenz übergeben25
1.3.5 Strukturen und Unions definieren25
2 Debugger und Debugger-Design28
2.1 Universal-CPU-Register29
2.2 Der Stack31
2.3 Debug-Events33
2.4 Breakpunkte34
2.4.1 Software-Breakpunkte34
2.4.2 Hardware-Breakpunkte37
2.4.3 Speicher-Breakpunkte39
3 Entwicklung eines Windows-Debuggers42
3.1 Prozess, wo bist Du?42
3.2 Den Zustand der CPU-Register abrufen50
3.2.1 Threads aufspüren51
3.2.2 Alles zusammenfügen52
3.3 Debug-Event-Handler implementieren56
3.4 Der machtvolle Breakpunkt60
3.4.1 Software-Breakpunkte60
3.4.2 Hardware-Breakpunkte65
3.4.3 Speicher-Breakpunkte69
3.5 Fazit73
4 PyDbg - ein reiner Python-Debugger für Windows74
4.1 Breakpunkt-Handler erweitern74
4.2 Handler für Zugriffsverletzungen77
4.3 Prozess-Schnappschüsse80
4.3.1 Prozess-Schnappschüsse erstellen80
4.3.2 Alles zusammenfügen82
5 Immunity Debugger - Das Beste beider Welten86
5.1 Den Immunity Debugger installieren86
5.2 Immunity Debugger - kurze Einführung87
5.2.1 PyCommands88
5.2.2 PyHooks88
5.3 Entwicklung von Exploits90
5.3.1 Exploit-freundliche Instruktionen finden90
5.3.2 »Böse« Zeichen filtern92
5.3.3 DEP unter Windows umgehen95
5.4 Anti-Debugging-Routinen in Malware umgehen99
5.4.1 IsDebuggerPresent100
5.4.2 Prozessiteration unterbinden100
6 Hooking102
6.1 Soft Hooking mit PyDbg102
6.2 Hard Hooking mit dem Immunity Debugger107
7 DLL- und Code-Injection114
7.1 Erzeugung entfernter Threads114
7.1.1 DLL-Injection116
7.1.2 Code-Injection118
7.2 Zum Übeltäter werden121
7.2.1 Dateien verstecken121
7.2.2 Eine Hintertür codieren122
7.2.3 Kompilieren mit py2exe126
8 Fuzzing130
8.1 Fehlerklassen131
8.1.1 Pufferüberläufe131
8.1.2 Integerüberläufe132
8.1.3 Formatstring-Angriffe134
8.2 Datei-Fuzzer135
8.3 Weitere Überlegungen141
8.3.1 Codedeckungsgrad (Code Coverage)141
8.3.2 Automatisierte statische Analyse142
9 Sulley144
9.1 Sulley installieren145
9.2 Sulley-Primitive145
9.2.1 Strings146
9.2.2 Trennsymbole146
9.2.3 Statische und zufällige Primitive146
9.2.4 Binäre Daten147
9.2.5 Integerwerte147
9.2.6 Blöcke und Gruppen148
9.3 WarFTPD knacken mit Sulley149
9.3.1 FTP - kurze Einführung150
9.3.2 Das FTP-Protokollgerüst erstellen151
9.3.3 Sulley-Sessions152
9.3.4 Netzwerk- und Prozessüberwachung153
9.3.5 Fuzzing und das Sulley-Webinterface154
10 Fuzzing von Windows-Treibern158
10.1 Treiberkommunikation159
10.2 Treiber-Fuzzing mit dem Immunity Debugger160
10.3 Driverlib - das statische Analysetool für Treiber163
10.3.1 Gerätenamen aufspüren164
10.3.2 Die IOCTL-Dispatch-Routine aufspüren165
10.3.3 Unterstützte IOCTL-Codes aufspüren167
10.4 Einen Treiber-Fuzzer entwickeln169
11 IDAPython - Scripting für IDA Pro174
11.1 IDAPython installieren175
11.2 IDAPython-Funktionen176
11.2.1 Utility-Funktionen176
11.2.2 Segmente176
11.2.3 Funktionen177
11.2.4 Cross-Referenzen177
11.2.5 Debugger-Hooks178
11.3 Beispielskripten179
11.3.1 Aufspüren von Cross-Referenzen auf gefährliche Funktionen179
11.3.2 Codeabdeckung von Funktionen181
11.3.3 Stackgröße berechnen182
12 PyEmu - der skriptfähige Emulator186
12.1 PyEmu installieren186
12.2 PyEmu-Übersicht187
12.2.1 PyCPU187
12.2.2 PyMemory188
12.2.3 PyEmu188
12.2.4 Ausführung188
12.2.5 Speicher- und Register-Modifier188
12.2.6 Handler189
12.3 IDAPyEmu194
12.3.1 Funktionen emulieren196
12.3.2 PEPyEmu199
12.3.3 Packer für Executables200
12.3.4 UPX-Packer200
12.3.5 UPX mit PEPyEmu entpacken201
Index206

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

XCerpt und XChange

E-Book XCerpt und XChange

Studienarbeit aus dem Jahr 2005 im Fachbereich Informatik - Programmierung, Note: 1.0, Universität Paderborn, Veranstaltung: Anwendungsspezifische Sprachen im Umfeld von XML, 5 Quellen im ...

Weitere Zeitschriften

arznei-telegramm

arznei-telegramm

Das arznei-telegramm® informiert bereits im 50. Jahrgang Ärzte, Apotheker und andere Heilberufe über Nutzen und Risiken von Arzneimitteln. Das arznei-telegramm®  ist neutral und ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

Deutsche Hockey Zeitung

Deutsche Hockey Zeitung

Informiert über das internationale, nationale und internationale Hockey. Die Deutsche Hockeyzeitung ist Ihr kompetenter Partner für Ihr Wirken im Hockeymarkt. Sie ist die einzige ...