elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 12:41  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed  (Leído 2,694 veces)
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
[Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« en: 19 Abril 2008, 02:48 »

http://www.securityfocus.com/bid/28571  Apr/08/2008

como veran , se trata de un heap overflow en la funcion CreateDibPatternBrushPt
que es una funcion que sirve para crear un pincel , pasandole como parametro , un puntero a un Packed DIB ,
se puede usar tanto en wmf , como en emf ,
lo que se me ocurre seria pasandole un dib especial , como se carga en memoria , se pueda llegar a lograr este heap overflow

si alguien esta interesado (y sabe de estructuras y funciones wmf) para hacer Pruebas de concepto conmigo , solo avise por aca ,
yo estuve hoy todo el dia peleando , con esta funcion gdi , y el Dib , pero hay muy poca info para c / c++ ,

Funcion vulnerable:
http://msdn2.microsoft.com/en-us/library/aa931561.aspx

Estructura wmf:
http://www.geocad.ru/new/site/Formats/Graphics/wmf/wmf.txt

muchas gracias :D
« Última modificación: 19 Abril 2008, 02:51 por leos_79 » En línea
Rozor

Desconectado Desconectado

Mensajes: 269


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #1 en: 20 Abril 2008, 17:29 »

Y no sabes dentro de la estructura donde esta el heap overflow?.

Ahora me voy a poner a hacer pruebas aver si acabo una cosilla que empeze anoche, que tambien me estuve mirando el txt de la estructura que pusiste thank por cierto ;).

Es nuevo el bug? de cuando es?. No he visto el adversorie aunque tampoco he mirado en securityfocus xDDDDDDD bue sigo liado con lo mio cuando puedas pega la contestacion por cierto en milw0rm si vi un video para hacer metafiles haciendo av evasion. igual te puede interesar aunque lo primero es explotar ;) bue ya me comentaras.
En línea

out in the streets they call it murder....
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #2 en: 21 Abril 2008, 01:35 »

antes de saber eso quiero saber como se usa la funcion , para poder experimentar con la misma , o si es un parametro para otra funcion
porq la busque en el <windows.h> en el wingdi.h  y esta definida como un parametro.

lo de la evacion de AV no sirve , dado que cualquier av competente , te detecta la funcion escape con el parametro setabortdoc , osea el  0626 0009
el 0626 es la funcion escape , y el 0009 es el parametro Setabortdoc
pero quiero ver si se puede implementar algo paracido
con CreateDibPatternBrushPt

saludos!

PD: el bug ahi te puse la fecha , es nuevisimo , del 8 de abril.
« Última modificación: 21 Abril 2008, 01:37 por leos_79 » En línea
Rozor

Desconectado Desconectado

Mensajes: 269


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #3 en: 21 Abril 2008, 16:18 »

Si tio sorry no vi el link estaba fumado xDDDDDD


Hay info nueva: http://www.argeniss.com/research/TokenKidnapping.pdf esta en el update del 21/04/08 en securityfocus.

Aver si esta noche conseguimos explotar algo ;)
En línea

out in the streets they call it murder....
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #4 en: 21 Abril 2008, 18:11 »

conseguiste informacion sobre la funcion / parametro vulnerable en el wmf?
En línea
Rozor

Desconectado Desconectado

Mensajes: 269


As I Walk Through The Valley Of The Shadow Of Dead


Ver Perfil WWW
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #5 en: 21 Abril 2008, 21:52 »

No, esta noche me pondre a fuzzear. Aver si sacamos la explotación. En el caso de conseguir explotar pero no conseguir injectar shellcode de forma afirmativa, paso el bug para que se lo pueda mirar mas peña, y si consigo el exploit tonces publico exploit.

Has leido el pdf? yo no he podido, antes de hacer el fuzzer mirare como va aver si me da pistas de algo.

TAOF - The Art Of Fuzzing.
En línea

out in the streets they call it murder....
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #6 en: 22 Abril 2008, 00:18 »

en el pdf no hay nada acerca de esto jeje ,
yo lo unico que necesito saber es como funciona  la funcion valga la redundancia
mmm publicar el exploit? yo publicaria nomas el DoS si existe y el q realmente le interese pasarle el exploit , para evitar script kiddies mas q nada , dado q si se consigue vamos a tener muchos jpg malignos dando vueltas como ya paso una vez
jeje

saludos!!
tengo q estudiar cosas de la facu , algebra :S , pero mas tarde me conecto y lo vemos , leos_79@hotmail.com agregame
saludoss !
En línea
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #7 en: 23 Abril 2008, 01:49 »

Código:
META_DIBCREATEPATTERNBRUSH = 0x142
const BS_DIBPATTERNPT=6;
 DIB_RGB_COLORS=0;


FUNCION
Código:
Createpatternbrush
{
DWORD tamañodelrecord
WORD funcion
WORD parametros 
}


PARAMETROS
Código:

{
1 = BS_DIBPATTERNPT=6;
2 =DIB_RGB_COLORS=0;
3 =  bmi      BITMAPINFO structure
4 = bits     Actual device-independent bitmap bits.
}

En Resumen

0004 0000   0142           60ff
TAMAÑO      FUNCION    PARAMETROS


bien como veran eh avanzado bastante en cuanto a este tema
vi que CreateDibPatternBrush (0x142) , es la funcion y q con el parametro 6,
seria la famosa funcion  CreateDibPatternBrushPt   (de pointer)
lo que nose es que son esos 2 ultimos parametros , y como se implementan
el BITMAPINFO es una estructura de informacion acerca de un mapa de bits. supongo que hay q meterlo en un wmf record , pero como :S
y el ultimo que dice bits (4) no tengo idea que es :S

si alguien se le ocurre algo , obviamente sera bienvenido.


PD : no estoy muy seguro de el WORD de los parametros , creo q deberia ser mas grande
« Última modificación: 23 Abril 2008, 03:05 por leos_79 » En línea
leos_79

Desconectado Desconectado

Mensajes: 189


Anyway, Anyhow, Anywhere


Ver Perfil
Re: [Gdi.dll, Heap Overflow] POC -> gente del tema Needed
« Respuesta #8 en: 30 Abril 2008, 18:11 »

de las 500 personas que miraron el tema , alguien consiguio algo , al menos algun DoS ?
yo consegui un DoS , pero con un exe llamanado a la funcion esa y pasandole cualquiero puntero, pero desde el archivo, no consegui nada nada nada
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

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