Autor
|
Tema: Articulo interesante, saltarse hooks de la sdt. (Leído 10,033 veces)
|
bizco
Desconectado
Mensajes: 698
|
http://www.matousec.com/info/articles/khobe-8.0-earthquake-for-windows-desktop-security-software.php verificado, es super sencillo saltarse las restricciones.
|
|
« Última modificación: 12 Mayo 2010, 11:35 am por Karcrack »
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Pero esto no es nuevo , lo bueno es que esta bien explicado :http://www.eset.com/blog/2010/05/11/khobe-wan-these-arent-the-droids-youre-looking-for :http://blogs.eset-la.com/laboratorio/2010/05/11/khobeterremoto-causado-caida-alfiler/ Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
bizco
Desconectado
Mensajes: 698
|
no claro que no, pero yo personalmente para ese uso no lo conocia. es super sencillo y efectivo .
|
|
|
En línea
|
|
|
|
dark_hat
Desconectado
Mensajes: 185
|
Si he entendido bien, el método consiste en que un hilo de ejecución secundario cambie los parámetros de una llamada al system después de que el AV los compruebe y antes de que se realice la verdadera llamada al sistema no hookeada no?
|
|
« Última modificación: 13 Mayo 2010, 00:41 am por dark_hat »
|
En línea
|
Eso que huele es un poco de incienso, eso marrón una tableta de turrón...
|
|
|
bizco
Desconectado
Mensajes: 698
|
asi es. aqui dejo un pequeño ejemplo basandome en ese articulo de como burlar la proteccion de un software en modo kernel desde modo usuario http://www.sendspace.com/file/hyt16dSolo hay que escribir el process id del proceso a testear, este tiene que estar bloqueando OpenProcess desde el kernel.
|
|
« Última modificación: 12 Mayo 2010, 19:58 pm por ctlon »
|
En línea
|
|
|
|
Debci
Wiki
Desconectado
Mensajes: 2.021
Actualizate o muere!
|
WoW que bueno no tenia ni idea Saludos
|
|
|
En línea
|
|
|
|
dark_hat
Desconectado
Mensajes: 185
|
Pero y digo yo, ¿cómo debe hacer el hilo que cambiará los parámetros para saber cuándo cambiarlos sin hacerlo ni antes de la comprobación del AV ni después de la system call?
|
|
« Última modificación: 13 Mayo 2010, 00:42 am por dark_hat »
|
En línea
|
Eso que huele es un poco de incienso, eso marrón una tableta de turrón...
|
|
|
isseu
Desconectado
Mensajes: 325
°º¤ø,¸¸,El conocimiento es poder°º¤ø,¸¸,ø¤º°`°º¤ø,
|
Pero y digo yo, ¿cómo debe hacer el hilo que cambiará los parámetros para saber cuándo cambiarlos sin hacerlo ni antes de la comprobación del AV ni después de la system call?
Segun el texto lo hace hookeando el System Service Descriptor Table (SSDT). No se como, pero ponen algunos codigos por hay
|
|
|
En línea
|
|
|
|
bizco
Desconectado
Mensajes: 698
|
por ejemplo yo lo hago de este modo, hago un bucle y dentro de el intento obtener un manejador con NtOpenProcess: while(!Fin) { uno.UniqueProcess=(DWORD*)1234; NtOpenProcess(&hProc,PROCESS_ALL_ACCESS,&nn,&uno); if (hProc!=0) { printf("OpenProcess OK %X -> Presiona enter para cerrar el proceso.",hProc); getchar(); TerminateProcess(hProc,0); Fin=1; }
antes de entrar en el while he creado un thread que cambia el pid por el del proceso real que se quiere abrir, en el while abrimos el proceso inexistente con pid 1234. en el otro thread cambio el pid por el que realmente se quiere abrir del mismo modo hasta que Fin es 1 que solo se cumple cuando ya tenemos el manejador del proceso, y el hook a sido burlado. es una forma un poco burra de hacerlo, pero es al instante, asi que es valida. Como prueba intenta cerrar un proceso que use este metodo desde el taskmgr y veras que te dice acceso denegado, despues usa el ejemplo que puse arriba y veras que es cuestion de segundos.
|
|
« Última modificación: 13 Mayo 2010, 00:53 am por ctlon »
|
En línea
|
|
|
|
|
|