Mehr Hacking mit Python
eBook - ePub

Mehr Hacking mit Python

Eigene Tools entwickeln für Hacker und Pentester

  1. 182 Seiten
  2. German
  3. ePUB (handyfreundlich)
  4. Über iOS und Android verfügbar
eBook - ePub

Mehr Hacking mit Python

Eigene Tools entwickeln für Hacker und Pentester

Angaben zum Buch
Buchvorschau
Inhaltsverzeichnis
Quellenangaben

Über dieses Buch

Wenn es um die Entwicklung leistungsfähiger und effizienter Hacking-Tools geht, ist Python für die meisten Sicherheitsanalytiker die Sprache der Wahl. Doch wie genau funktioniert das?In dem neuesten Buch von Justin Seitz - dem Autor des Bestsellers "Hacking mit Python" - entdecken Sie Pythons dunkle Seite. Sie entwickeln Netzwerk-Sniffer, manipulieren Pakete, infizieren virtuelle Maschinen, schaffen unsichtbare Trojaner und vieles mehr.Sie lernen praktisch, wie man• einen "Command-and-Control"-Trojaner mittels GitHub schafft• Sandboxing erkennt und gängige Malware-Aufgaben wie Keylogging und Screenshotting automatisiert• Windows-Rechte mittels kreativer Prozesskontrolle ausweitet• offensive Speicherforensik-Tricks nutzt, um Passwort-Hashes abzugreifen und Shellcode in virtuelle Maschinen einzuspeisen• das beliebte Web-Hacking-Tool Burp erweitert• die Windows COM-Automatisierung nutzt, um einen Man-in-the-Middle-Angriff durchzuführen• möglichst unbemerkt Daten aus einem Netzwerk abgreiftEine Reihe von Insider-Techniken und kreativen Aufgaben zeigen Ihnen, wie Sie die Hacks erweitern und eigene Exploits entwickeln können.

Häufig gestellte Fragen

Gehe einfach zum Kontobereich in den Einstellungen und klicke auf „Abo kündigen“ – ganz einfach. Nachdem du gekündigt hast, bleibt deine Mitgliedschaft für den verbleibenden Abozeitraum, den du bereits bezahlt hast, aktiv. Mehr Informationen hier.
Derzeit stehen all unsere auf Mobilgeräte reagierenden ePub-Bücher zum Download über die App zur Verfügung. Die meisten unserer PDFs stehen ebenfalls zum Download bereit; wir arbeiten daran, auch die übrigen PDFs zum Download anzubieten, bei denen dies aktuell noch nicht möglich ist. Weitere Informationen hier.
Mit beiden Aboplänen erhältst du vollen Zugang zur Bibliothek und allen Funktionen von Perlego. Die einzigen Unterschiede bestehen im Preis und dem Abozeitraum: Mit dem Jahresabo sparst du auf 12 Monate gerechnet im Vergleich zum Monatsabo rund 30 %.
Wir sind ein Online-Abodienst für Lehrbücher, bei dem du für weniger als den Preis eines einzelnen Buches pro Monat Zugang zu einer ganzen Online-Bibliothek erhältst. Mit über 1 Million Büchern zu über 1.000 verschiedenen Themen haben wir bestimmt alles, was du brauchst! Weitere Informationen hier.
Achte auf das Symbol zum Vorlesen in deinem nächsten Buch, um zu sehen, ob du es dir auch anhören kannst. Bei diesem Tool wird dir Text laut vorgelesen, wobei der Text beim Vorlesen auch grafisch hervorgehoben wird. Du kannst das Vorlesen jederzeit anhalten, beschleunigen und verlangsamen. Weitere Informationen hier.
Ja, du hast Zugang zu Mehr Hacking mit Python von Justin Seitz im PDF- und/oder ePub-Format sowie zu anderen beliebten Büchern aus Informatica & Programmazione in Python. Aus unserem Katalog stehen dir über 1 Million Bücher zur Verfügung.

Information

Verlag
dpunkt
Jahr
2015
ISBN
9783864917530

1 Einführung

Python-Hacker. Mit diesen beiden Wörtern können Sie mich tatsächlich beschreiben. Bei Immunity habe ich das Glück, mit Leuten zu arbeiten, die wirklich wissen, wie man in Python programmiert. Ich gehöre nicht zu diesen Leuten. Ich verbringe einen Großteil meiner Zeit mit Penetrationstests und das verlangt die rasche Entwicklung von Python-Tools, deren Fokus auf der Ausführung und der schnellen Lieferung von Ergebnissen liegt (nicht notwendigerweise auf Schönheit, Optimierung oder gar Stabilität). Im Verlauf dieses Buches werden Sie sehen, dass das meine Art der Programmierung ist, doch ich glaube, dass dies auch dazu beiträgt, mich zu einem guten Pentester zu machen. Ich hoffe, dass diese Philosphie und dieser Stil auch Ihnen helfen werden.
Während Sie das Buch durchlesen, werden Sie auch feststellen, dass ich in keines der Themen wirklich tief einsteige. Das ist durchaus gewollt: Ich versorge Sie mit dem fundamentalen Grundwissen und rege ein wenig Ihren Appetit an. Zusätzlich bringe ich einige Ideen ein und stelle Ihnen einige Übungsaufgaben, damit sich Ihre Gedanken in eine eigene Richtung entwickeln können. Ich möchte, dass Sie diese Ideen untersuchen, und freue mich, von Ihren eigenen Implementierungen, Tools und Übungsaufgaben zu hören.
Wie bei jedem technischen Buch werden Leser mit unterschiedlichem Wissen zu Python (oder generell Informationssicherheit) dieses Buch anders erleben. Einige werden sich einfach die Kapitel herausgreifen, die für ihren aktuellen Job gerade von Interesse sind, andere werden es von vorne bis hinten durcharbeiten. Als (fortgeschrittener) Anfänger in der Python-Programmierung würde ich Ihnen empfehlen, mit dem ersten Kapitel zu beginnen und nacheinander alle Kapitel durchzugehen. Sie werden dabei einige gute Bausteine kennenlernen.
Zu Beginn schaffe ich einige Netzwerk-Grundlagen (Kapitel 3) und arbeite mich langsam durch Raw Sockets (Kapitel 4) vor zur Nutzung von Scapy (Kapitel 5) und einigen interessanteren Netzwerktools. Im nächsten Teil des Buches befasse ich mich mit dem Hacking von Webanwendungen. Ich beginne mit der Entwicklung eigener Werkzeuge (Kapitel 6) und erweitere dann die beliebte Burp-Suite (Kapitel 7). Danach werden wir uns eingehend mit Trojanern beschäftigen. Das beginnt mit GitHubs »Command and Control« (Kapitel 8) und endet mit einigen Tricks, um die Windows-Rechte auszuweiten (Kapitel 11). Im letzten Kapitel nutzen wir Volatility, um einige offensive Speicherforensiktechniken zu automatisieren.
Ich versuche, die Beispiele kurz zu halten und auf den Punkt zu bringen, was auch für die Erklärungen gilt. Falls Sie Python-Neuling sind, empfehle ich Ihnen, jede einzelne Zeile einzutippen, damit sich Ihre »Coding-Muskeln« entwickeln können. Den Quellcode aller Beispiele finden Sie auf http://www.dpunkt.de/mehr-python-hacking.
Los geht‘s!

2 Ihre Python-Umgebung einrichten

Das ist der langweiligste, aber dennoch ein sehr wichtiger Teil dieses Buches. Hier richten wir eine Umgebung ein, in der Sie Python-Programme entwickeln und testen können. Wir absolvieren einen Crashkurs zur Einrichtung einer Kali Linux-VM (virtuellen Maschine) und installieren eine nette IDE, sodass Sie alles haben, was Sie zur Entwicklung von Code benötigen. Am Ende dieses Kapitels sollten Sie alle Übungen und Codebeispiele in Angriff nehmen können, die im Rest des Buches auf Sie zukommen.
Bevor Sie loslegen, müssen Sie den VMWare Player1 herunterladen und installieren. Sie sollten auch einige Windows-VMs vorbereiten, einschließlich Windows XP und Windows 7, vorzugsweise in der 32-Bit-Version.

2.1 Kali Linux installieren

Kali ist der Nachfolger der von Offensive Security entwickelten BackTrack-Linux-Distribution, die von Grund auf als Penetrationstest-Betriebssystem konzipiert wurde. Es wird mit einer ganzen Reihe vorinstallierter Tools ausgeliefert und basiert auf Debian Linux, d.h., Sie können eine Vielzahl von Tools und Bibliotheken nachinstallieren.
Besorgen Sie sich zuerst ein Kali-VM-Image von der folgenden URL: http://images.kali.org/Kali-Linux-1.1.0c-vm-486.7z2. Laden Sie das Image herunter und entpacken Sie es. Durch einen Doppelklick wird es dann im VMWare Player gestartet. Der Standardbenutzername lautet root und das Passwort toor. Sie sollten in einer vollständigen Kali-Desktop-Umgebung landen (siehe Abbildung 2–1).
image
Abb. 2–1 Der Kali-Linux-Desktop
Zuerst wollen wir nun sicherstellen, dass die korrekte Version von Python installiert ist. Im gesamten Buch arbeiten wir mit Python 2.7. In der Shell (Applications › Accessories › Terminal) führen Sie den folgenden Befehl aus:
root@kali:~# python --version
Python 2.7.3
root@kali:~#
Wenn Sie das von mir weiter oben empfohlene Image heruntergeladen haben, wird Python 2.7 automatisch installiert. Bitte beachten Sie, dass einige Codebeispiele aus diesem Buch mit anderen Versionen von Python nicht funktionieren.
Nun wollen wir nützliche Python-Paketmanagement-Tools in Form von easy_install und pip installieren. Diese ähneln dem Paketmanager apt, da sie es erlauben, Python-Bibliotheken direkt zu installieren, ohne sie manuell herunterladen, entpacken und installieren zu müssen. Wir installieren beide Pakete durch Eingabe des folgenden Befehls:
root@kali:~#: apt-get install python-setuptools python-pip
Sobald die Pakete installiert sind, können wir einen kurzen Test machen, indem wir das Modul installieren, das wir in Kapitel 8 verwenden, um einen GitHub-basierten Trojaner zu bauen. Geben Sie den folgenden Befehl in Ihrem Terminal ein:
root@kali:~#: pip install github3.py
Die Ausgabe im Terminal sollte anzeigen, dass die Bibliothek heruntergeladen und installiert wurde.
Dann öffnen wir eine Python-Shell und prüfen, ob die Bibliothek korrekt installiert wurde:
root@kali:~#: python
Python 2.7.3 (default, Mar 14 2014, 11:57:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import github3
>>> exit()
Sind Ihre Ergebnisse nicht mit diesen identisch, ist Ihre Python-Umgebung nicht korrekt konfiguriert und Sie haben große Schande über uns gebracht! In diesem Fall müssen Sie sicherstellen, dass alle obigen Schritte ausgeführt wurden und die korrekte Kali-Version installiert wurde.
Denken Sie daran, dass der Code für die meisten Beispiele in diesem Buch in verschiedenen Umgebungen entwickelt werden kann, einschließlich Mac, Linux und Windows. Es gibt einige Windows-spezifische Kapitel, aber das lasse ich Sie zu Beginn des jeweiligen Kapitels wissen.
Nachdem wir nun eine virtuelle Maschine für das Hacking eingerichtet haben, wollen wir eine Python-IDE für die Entwicklung installieren.

2.2 WingIDE

Eigentlich bin ich kein Verfechter kommerzieller Software, doch WingIDE ist die beste IDE, mit der ich in den letzten sieben Jahren bei Immunity gearbeitet habe. WingIDE bietet alle gängigen IDE-Funktionalitäten wie Autovervollständigung und die Beschreibung von Funktionsparametern, doch sind es vor allem die Debugging-Fähigkeiten, die es von anderen IDEs abhebt. Im Folgenden gebe ich einen kurzen Überblick über die kommerzielle Version von WingIDE, aber natürlich können Sie die Version nutzen, die sich für Sie am besten eignet.3
Sie können WingIDE von http://www.wingware.com/ herunterladen; ich empfehle die Testversion (Trial), damit Sie aus erster Hand einige der Features erleben können, die in der kommerziellen Version zur Verfügung stehen.
Sie können auf jeder gewünschten Plattform entwickeln, doch zumindest am Anfang sollten Sie WingIDE auf Ihrer Kali-VM installieren. Wenn Sie meinen
Anweisungen bis hierhin gefolgt sind, sollten Sie das 32-Bit-deb-Paket für WingIDE herunterladen und in Ihrem Benutzerverzeichnis speichern. Öffnen Sie dann ein Terminal und führen Sie den folgenden Befehl aus:
root@kali:~# dpkg -i wingide5_5.0.9-1_i386.deb
Damit sollte WingIDE problemlos installiert werden. Kommt es zu Installationsfehlern, sind möglicherweise einige Abhängigkeiten nicht erfüllt....

Inhaltsverzeichnis

  1. Cover
  2. Titel
  3. Impressum
  4. Widmung
  5. Vorwort
  6. Danksagungen
  7. Inhalt
  8. 1 Einführung
  9. 2 Ihre Python-Umgebung einrichten
  10. 3 Das Netzwerk: Grundlagen
  11. 4 Das Netzwerk: Raw Sockets und Sniffing
  12. 5 MIT SCAPY das Netzwerk übernehmen
  13. 6 Hacking im Web
  14. 7 Den Burp-Proxy erweitern
  15. 8 Command and Control per Github
  16. 9 Typische Trojaner-Aufgaben unter Windows
  17. 10 Hacking-Spaß mit dem Internet Explorer
  18. 11 Windows-Rechte ausweiten
  19. 12 Offensive Forensik automatisieren
  20. Index
  21. Fußnoten