0x02 Video Tutorial: Buffer Overflow – Exploiting the Heap

mx_security_border

Wenn es um Buffer Overflow geht, reden die meisten Leuten von einem Überlauf im Stack Segment. Aber was ist mit dem Heap – dem Speicher, in dem dynamische Variablen zur Laufzeit eines Programms abgelegt werden?

In meinem ersten Video habe ich über Buffer Overflow im Stack Speicher gesprochen. Dabei habe ich gezeigt, wie die Datenstruktur aufgebaut ist und wie Variablen dort verarbeitet werden. Ich erkläre auf einfache Art und Weise, wie es zum einem Überlauf kommt und wie dieser ausgenutzt werden kann.

Über Stack Overflow findet man recht viele Informationen im Netz – allerdings fast nichts zu Heap Overflow. Wodurch wird diese Lücke verursacht und wie kann sie exploited werden?

Buffer Overflow ist die Folge einer Schwachstelle in Computer Software: Indem über Speichergrenzen heraus geschrieben wird, wird dieser Exploit von Angreifern benutzt, um das verwundbare Programm zum Absturz zu bringen. Und sogar Schadcode – der sogenannte Payload – kann hierdurch in das betroffene System eingefügt und ausgeführt werden.

In diesem Video Tutorial erkläre ich zunächst die Struktur des Heap- und des Stack-Segments und wie diese sich unterscheiden. Anschließend exploite ich mein eigenes Demo-Programm und erkläre, was zur Laufzeit des Programms im Speicher passiert.

Erfahren Sie in meinem Video, warum Usereingaben abgesichert werden müssen und wie ein potentieller Hacker diese Schwachstelle ausnutzen kann.

(more…)

0x01 Video Tutorial: Buffer Overflow im Stack Segment

mx_security_borderBuffer Overflow ist die Folge einer Schwachstelle in Computer Software: Indem über Speichergrenzen heraus geschrieben wird, wird dieser Exploit von Angreifern benutzt, um das verwundbare Programm zum Absturz zu bringen. Und sogar Schadcode – der sogenannte Payload – kann hierdurch in das betroffene System eingefügt und ausgeführt werden.

Im Stack Segment werden lokale Funktionsvariablen abgelegt, welche zum Beispiel durch User-Eingaben gefüllt werden. Die Architektur des Stacks erlaubt es Angreifern, wichtige Adressen zu überschreiben. Wird die User-Eingabe nicht vom Programm abgefangen und überprüft, kann das Programm beeinflusst werden, so dass Fremdcode eingefügt werden kann.

In diesem Video Tutorial reverse engineere ich meinen Demo Code mit dem Programm Immunity Debugger und zeige, wie das Programm verarbeitet wird:
Wie werden Variablen im Stack verarbeitet und wie reagiert das Programm zur Laufzeit? (more…)

Registry Hacking against sysprep errors

NOTE: This article is meant for system administrators only. DO NOT CHANGE YOUR REGISTRY if you administer your PRIVATE PC!

mx_microsoft_borderIf you want to create images and execute Sysprep, sometimes it can happen that the following error message is displayed when the computer was restarted:

The computer restarted unexpectedly or encountered an unexpected error. Windows installation can not proceed. To install windows click "OK" to restart the computer, and then restart the installation.

After restarting the computer an error message appears every time you restart the system, that prevents Windows from starting properly. But you’ve already prepared the system for the image creation so you don’t want to reinstall the system.

In this article I will show you how to save your image, without reinstalling the system. (more…)

Hacking Video Tutorial: Exploiting the Heap

mx_security_borderWhen it comes to buffer overflow, most people talk about an overrun in the stack segment. But what about the heap?
You rarely find documentation how a heap overflow is triggered and how you can exploit it.

Buffer Overflow is the consequence of a vulnerability in computer software. It is used by attackers to overwrite memory bounds, to crash the code and even to inject malicious code – the so called payload.

(more…)

Hacking Video Tutorial: Stack Buffer Overflow

mx_security_borderBuffer Overflow is the consequence of a vulnerability in computer software. It is used by attackers to overwrite memory bounds, to crash the code and even to inject malicious code – the so called payload.

In this video tutorial I’m reverse engineering my demo code with Immunity Debugger to show you how memory is processed in the stack.

(more…)

Offtopic: Fixing Magic Duels two-headed Giant-Mode

Joining-Problem while playing two-headed Giant Match

mx_offtopic_borderI was trying to play Magic Duels with a friend via steam on the internet. When we tried to play a two-headed Giant Match and invited each other we could not join the game. The hosting player did only see “Waiting for players to join the game” and the other player “Joining game“. Nothing happened.

Sometimes if the host quit, the other player received the message “Unable to join game, as that session is full or no longer available“, sometimes there was no other message than “Joining game” for the joining player and we had to quit the game via task manager.

When Magic was not launched and one of us was invited to play and clicked “Join game”, Magic started and the player received the message “Network error occurred“.

(more…)

Windows 10 per Windows Server 2012 R2 KMS-Host aktivieren

Hinweis: Dieser Artikel bezieht sich auf die Betriebssysteme Windows 10 (KMS-Client) und Windows Server 2012 R2 (KMS-Host). Andere Versionen wurden beim Schreiben des Artikels nicht berücksichtigt.

mx_microsoft_borderViele Firmen stehen vor einer neuen Herausforderung:
Windows 10 erschien bereits Ende Juli 2015, Windows Server 2016 gibt es aktuell nur in der Testversion, welche für den Produktivbetrieb noch nicht geeignet ist.

Möchte man Windows 10 im Unternehmen einsetzen und per KMS-Host lizensieren, so läuft der KMS-Host höchstwahrscheinlich noch auf einem Windows Server 2012 R2 Betriebssystem. Was bei diesem Setup zu beachten ist, werde ich in diesem Artikel erklären.

(more…)

Logjam – Sicherheitslücke beim Diffie-Hellman-Schlüsseltausch

mx_security_borderEine Forschergruppe verschiedener Institutionen (unter anderem CNRS, Inria, Microsoft Research) hat einige Schwachstellen im TLS-Verfahren entdeckt, unter anderem Logjam. Durch Logjam ist es möglich, bei angreifbaren Verbindungen das Diffie-Hellman-Schlüsseltausch-Verfahren auf 512-Bit zu reduzieren.
Dadurch kann der eigentlich verschlüsselte Traffic von einem Man-in-the-middle Angreifer gelesen und verändert werden.
(more…)