0-DAY windows escalada privilegios!

Iniciado por Debci, 9 Agosto 2010, 10:55 AM

0 Miembros y 2 Visitantes están viendo este tema.

Debci

Buenas a todos, me he encontrado con esto:

http://www.exploit-db.com/exploits/14566/

Y el reporte:

http://secunia.com/advisories/40870

Description
Arkon has discovered a vulnerability in Microsoft Windows, which can be exploited by malicious people to gain escalated privileges.

The vulnerability is caused due to a boundary error in win32k.sys within the "CreateDIBPalette()" function when copying colour values into a buffer allocated with a fixed size when creating the DIB palette. This can be exploited via the "GetClipboardData()" API to cause a buffer overflow by specifying a large number of colours (greater than 256) via the "biClrUsed" field in a BITMAPINFOHEADER structure.

Successful exploitation may allow execution of arbitrary code with kernel privileges.

The vulnerability is confirmed in fully patched versions of Windows XP SP3, Windows Server 2003 R2 Enterprise SP2, Windows Vista Business SP1, Windows 7, and Windows Server 2008 SP2.

Solution
Grant only access to trusted users.

Provided and/or discovered by
Arkon

Original Advisory
Arkon:
http://www.ragestorm.net/blogs/?p=255
Technical Analysis
Further details available in Customer Area

Deep Links
Links available in Customer Area

He intentado hacerlo funcionar, pero no hay manera de compilarlo, y supongo que es c :S

Saludos

EvilGoblin

Suena VBScript..

Alguien tiene alguno para Windows? quiero probar elevar privilegios localmente
Experimental Serial Lain [Linux User]

Debci

Cita de: EvilGoblin en 12 Agosto 2010, 17:53 PM
Suena VBScript..

Alguien tiene alguno para Windows? quiero probar elevar privilegios localmente
ES precisamente lo que pretendo!

Saludos

EvilGoblin

=|.. no se ni que caraj* escribi .

jajaja lo leo y me da risa xDD

Quise poner.. "alguien tiene alguno en C, para elevar privilegios localmente"


Tengo que probarlos, probe 1 que todos dicen que funciona...

Lo unico que se, es que si lo pruebo siendo Administrador me reinicia la pC despues de darme la consola.. probare con una cuenta limitada (cuando no me de tanta paja probar..)
Experimental Serial Lain [Linux User]

Littlehorse

Y los que quedan por salir a la luz similares a este. ;D

No lo podes compilar porque desconoces los aspectos básicos del código. Incluso si lo lograses compilar, no podrías explotarlo porque para ello tenes que saber como el componente relevante maneja mensajes, como valida parámetros, etc. Copiar y compilar nunca fue ni sera la forma de aprender.

En cuanto a la vulnerabilidad, tiene la limitación que es solo local (con credenciales validas), pero igualmente puede servir si ya tenes un proceso corriendo en el equipo remoto.
No es fácil escalar privilegios con esto, así que si no podes siquiera compilarlo creo que deberías empezar por leer los conocimientos básicos implicados en el tema.

MS10-048

Saludos
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

Debci

Cita de: Littlehorse en 14 Agosto 2010, 07:23 AM
Y los que quedan por salir a la luz similares a este. ;D

No lo podes compilar porque desconoces los aspectos básicos del código. Incluso si lo lograses compilar, no podrías explotarlo porque para ello tenes que saber como el componente relevante maneja mensajes, como valida parámetros, etc. Copiar y compilar nunca fue ni sera la forma de aprender.

En cuanto a la vulnerabilidad, tiene la limitación que es solo local (con credenciales validas), pero igualmente puede servir si ya tenes un proceso corriendo en el equipo remoto.
No es fácil escalar privilegios con esto, así que si no podes siquiera compilarlo creo que deberías empezar por leer los conocimientos básicos implicados en el tema.

MS10-048

Saludos

A ese respecto creo que te estas equivocando (te lo dice un humilde usuario con la intencion de romper un mal-entendido) pues he creado algun exploit (para aplicaciones con vulnerabilidades ya conocidas, osea solo como para ver como funciona)
Lo que ocurre es que pense que eran demasiadas molestias, y pense que solo habia una prueba de concepto.

Saludos

Littlehorse

No veo en que me he equivocado, de hecho, vos mismo posteaste el link con la prueba de concepto y estas aclarando que no podes compilarlo, y para colmo sin estar seguro del lenguaje en el que esta hecho. No veo en donde esta el malentendido.

Lo necesario es aprender a manejar la API de Windows, C, y lo básico del modo kernel. Sin eso es normal que no puedas compilarlo, y no lo digo con intención de ofender, mas bien con intención de recomendar lo que necesitas aprender para que puedas explotar esto antes que salga en metasploit listo para el doble click.

En cuanto al exploit que supuestamente creaste, es irrelevante, no quita lo antes mencionado. Igualmente no aclares que oscurece y el post de sub-lolazos todavía esta abierto. ;D

Lo dicho, copiar y compilar no es la mejor forma de aprender.

Saludos

WINAPI
C/C++
Programming the Microsoft Windows Driver Model
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

Debci

En lo que a mi respecta pueden cerrar el post

guicamper322

bueno el codigo corre en c pero no funciona ya que no entiendo muy bien que es lo que hace. O mas bien porque lo hace

dm.dmSize  = sizeof(DEVMODE);
dm.dmBitsPerPel = 8; // podia haber puesto de 32
dm.dmPelsWidth = 800; // 1024
dm.dmPelsHeight = 600; // 800
dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL; //esta no la entiendo
ChangeDisplaySettings(&dm, 0); // esta cambia la resolucion
con eso selecciona la profundidad del color y la resolucion.

BITMAPINFOHEADER bmih = {0};
bmih.biClrUsed = 0*200;

HGLOBAL h = GlobalAlloc(GMEM_FIXED, 0*1000);
memcpy((PVOID)GlobalLock(h), &bmih, sizeof(bmih));
GlobalUnlock(h);

//esto no se para que se hace

//y esto de realizar un copy paste para que

OpenClipboard(NULL);
SetClipboardData(CF_DIBV5, (HANDLE)h);
CloseClipboard();

OpenClipboard(NULL);
GetClipboardData(CF_PALETTE);

// si alguien me lo puede explicar