TRACEAR WINDOWS 7 EN RING0

Iniciado por ferleg, 29 Noviembre 2012, 23:31 PM

0 Miembros y 1 Visitante están viendo este tema.

ferleg

Hola a todos. Ya que este es un foro de hackers ¿o intentáis...?, pues pregunto:

Quisiera saber cómo puedo depurar=tracear el código de Windows, por ejemplo Windows 7, PERO EN RING0. O sea (perdonad) nada de mariconadas de OllyDbg y etcs todo el rato en RING3.

O sea como cuando se podía tracear el código de Windows ME o Windows XP usando el SoftICE: hacías una llamada por poner un ejemplo a CreateFileMapping, MapViewOfFileA, etcs, en un programa cebo en Windows, y por ejemplo en Windows ME ibas recorriendo la llamada por todo el SO Windows: VMM, IFSMgr, ... etcs.

Sólo que ahora el SoftICE no tracea Windows 7.

Si alguien de aquí, ¿sois hackers?, sabe y tracea Windows 7, o sabe de alguna herramienta para hacerlo ¿me puede decir cómo o cuál?

Tengo entendido que con WinDebug y usando 2 ordenadores conectados se puede hacer, pero hablando claro es un puto rollo, además que no acabo de saber manejar el WinDebug.

En fin, ¿alguna ayuda?

Dicho de otra manera y por poner un ejemplo sobre seguridad informática, a ver si tocándoos un poco la moral me ayudáis ;-) hackers:

Las casas antivirus usarán algún tracer para depurar sus residentes en Ring0, eso está claro. La pregunta es ¿cuál?

Gracias.

MCKSys Argentina

La verdad es que después de leer tu post, no me dan muchas ganas de contestar, pero como buen CLS, te daré una respuesta:

Como bien dices, Sice servía para Win98 e incluso XP. Después dejó de hacerlo.

Hoy día, puedes depurar ring0 con Windbg. Si no sabes usarlo, es otro tema, pero PUEDES usarlo.

Otra cosa que puedes usar es el gdb server de vmware y depurar el kernel del SO virtualizado.

Algunos links:

http://www.woodmann.com/collaborative/tools/index.php/Category:Ring_0_Debuggers
http://l0werring.wordpress.com/2009/08/29/ring-0-debugging-and-windbg-–-part-1/
http://silverstr.ufies.org/lotr0/windbg-vmware.html

PD: Pensar que el uso de OllyDbg para ring3 es "mariconear", es lo mismo que hacerlo acerca de Sice para ring0 (cuando podía usarse).
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


karmany

Digo lo mismo que MCKSys Argentina.
Yo también te recomiendo un excelente enlace para entender ring0
http://ricardonarvaja.info/WEB/OTROS/TUTES%20SACCOPHARYNX/

No lo he probado, ya que yo también usé Windbg con dos ordenadores, pero se habla bastante bien de http://rr0d.droids-corp.org/

Otros:
http://www.sysersoft.com/
http://code.google.com/p/hyperdbg/


PD. Tal vez me equivoque pero tu lenguaje, desde mi punto de vista, crea un entorno no muy afable y más cuando se solicita ayuda.

ferleg

Para MCKSys Argentina:

Los 3 links que me dabas los conocía los 3. De todas maneras, gracias.
Sin embargo esto otro que me decías: "gdb server de vmware y depurar el kernel del SO virtualizado", creo que no lo conozco y le echaré un vistazo. Gracias.

También deciros (sin ironía) que a pesar de sentiros ¿insultados? por mi post, gracias por responderme.

Lo último: sólo decirte que estás comparando usar el OllyDbg en RING3 con usar el SoftICE en RING0 diciendo que el asunto está al mismo nivel. Pues aunque te sientas "¿herido?" te vuelvo a decir que sí: (perdonad) pero OllyDbg (o cualquier otro) en RING3 es mariconeo al lado de un kernel debugger en RING0.

Depurar un programa lo sabe hacer casi cualquiera que sepa programar, mientras que entrar en las partes del SO y depurar drivers RING0 tanto personales como del SO, sólo lo sabe hacer quien conoce cómo está escrito el SO y lo ha traceado y modificado, cosa que la inmensa mayoría de los programadores que se quedan en el OllyDbg (u otros debuggers RING3) no saben ni sabrán nunca hacer. Comparar el RING3 con el RING0 y encima ponerlos al mismo nivel, no es de alguien que se supone sabe.

Saludos.

ferleg

Para karmany:

Perdonad si os sentísteis heridos con cómo preguntaba. Pero es que muchos van de "hackers" (hablo en general, no tanto de este foro) y lo único que hacen es nombrar cosas y programas y tutoriales, pero saber y hacer, saben y hacen poco. Por eso, como no sabía si era vuestro caso, pues os pude resultar "hiriente".

Me dabas un enlace para entender RING0.
Gracias, pero yo el RING0 ya lo entiendo. No es ése mi problema.
Sino el no poderlo tracear desde que se terminó la cosa con el SoftICE.

Decirte además que la mayoría de los artículos de ese enlace que me dabas, están desfasados, muchos de hace 5 o 10 años. Y por poner un ejemplo: los CallGates de los que hablan algunos de esos artículos, imagino que sean los antiguos de Win9X, cosa que para WinNT olvídate que no funcionan.

Gracias también por los 2 enlaces a kernel debuggers que me dabas.

El del syser lo conocía. Ya probé el syser en su día y no acaba de convencerme, pretende ser el sustituto del SoftICE y en mi opinión no le llega ni a la mitad.
Por poner dos ejemplos: no me funciona bien, medio se me cuelga, y por decir otra cosa: es que mientras estoy traceando la memoria de Windows = código ASM RING0 de algún driver del SO Windows, no muestra el nombre del driver en cuestión. Mientras que por ejemplo el SoftICE te mostraba en todo momento a qué modulo del SO pertenecía el código ASM que uno estaba recorriendo: (por ejemplo en Win9X) VMM, IFSMgr, ...

El del hyperdbg me parece que también en su día algo miré y no me acabó tampoco de funcionar o convencer. Pero como no lo recuerdo bien, voy a echarle otro vistazo. Gracias.

En general: Gracias por responderme.

PD: me quedo con ganas de poder hablar con algún programador de algún laboratorio de virus, por ejemplo de PANDA ya que son españoles, y que me digan tan sólo ese dato: CON QUE KERNEL DEBUGGER TRABAJAN. Porque yo usaría ese mismo, el que fuese. Si a ellos les sirve, a mí también.

karmany

No te puedo afirmar nada porque hace tiempo que no lo hago pero igual te sirve de orientación. Creo que algunos usan IDA PRO para depurar en ring0. No sé si se puede o se tendrá que utilizar el plugin WinDBG... no lo sé.
Tal vez estos links te aclaren algo ... o no...:

http://www.hex-rays.com/products/ida/support/tutorials/debugging_gdb_windows_vmware.pdf

http://www.hex-rays.com/products/ida/support/tutorials/debugging_windbg.pdf

http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/1101-1200/1164-PACE.Ilok.Resolving.The.Hooked.Ring0.Int3.Stolen.Calls-SND.rar

http://ricardonarvaja.info/WEB/CURSO%20NUEVO/TEORIAS%20NUMERADAS/701-800/722-COMO%20COMENZAR%20A%20TRABAJAR%20CON%20WINDBG%20y%20VMWARE%20en%20RING0.rar

Yo sólo quisiera, desde mi desconocimiento e ignorancia, que el día que tengas clara tu respuesta, pasaras por aquí simplemente a comentarnos brevemente tu experiencia.

Un saludo.

ferleg

Gracias por tu respuesta y por los enlaces que me dabas. Parecen interesantes y parece que me pudieran servir.

Ahora no tengo tiempo para empezar a probarlos, etcs. Tengo exámenes de universidad en poco y estoy con ellos agobiado y hasta las narices.

Pero recojo lo que dices y cuando dentro de un tiempo (unos meses) les eche un vistazo, si llego a algo, os diré y comentaré.


Todo ha sido que desde hace un tiempo estoy buscando la manera de poder volver a tracear en RING0 como hacía hace años. Pero ahora el Windows 7, porque paso del ME, XP, NT, ... Quiero conocer lo nuevo y último.

En cuanto a expertos, yo no me considero experto.
Sino solo que algo hice en el pasado, y en el presente quiero retomarlo y hacer más. Eso es todo.

Gracias de nuevo por tus respuestas. Un saludo a todos.

Eternal Idol

Lamentablemente ya sabias la respuesta desde antes de preguntar, se usa WinDbg para depurar en Modo Kernel, dos maquinas, una puede ser virtual como ya te dijeron.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

MCKSys Argentina

Cita de: ferleg en 30 Noviembre 2012, 14:51 PM
Comparar el RING3 con el RING0 y encima ponerlos al mismo nivel, no es de alguien que se supone sabe.

Bueno, esa es tu opinión.

De todas formas, la respuesta que te di, es aún válida...

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Иōҳ

Karmany, discúlpame por el offtopic, pero que risa que me he tirado xDDDD
Eres adicto a la Ing. Inversa? -> www.noxsoft.net