Random IRC quote :      <@madalenasbuenas> (_\o/_)

Casi 0days de llorar…

Muchas veces haciendo ingeniería inversa (o mero fuzzing) de algún software encontramos vulnerabilidades que no valen para vender por uno u otro motivo (por ejemplo, porque son puñeteros DOSes) pero que podrían ser útiles o interesantes aunque solo sea por ver que fallas se encuentran en ciertos softwares «empresariales». En este caso os voy a hablar de algunas vulnerabilidades de este tipo que me he encontrado y que tengo por costumbre no reportarlas al vendedor cuando ha habido trato previo y han pasado de mí o han tardado más de 3 meses en dar la respuesta inicial…
(más…)

Rootkit Arsenal, Installing a Call Gate

Buenas, leyendo el libro “The Rootkit Arsenal: Escape and Evasion in the Dark Corners of the System” quería matizar un par de cosas sobre el capítulo “Hooking the GDT – Installing a Call Gate”. Al final del artículo se incluye un POC driver con el soporte del WalkGDT para varios COREs entre otras.

Una Call Gate es un mecanismo en la arquitectura x86 de Intel para cambiar el nivel de privilegio de la CPU cuando se ejecuta una función predefinida llamada mediante una instrucción CALL/JMP FAR.

Una llamada a una Call Gate permite obtener un privilegio superior al actual, por ejemplo podemos ejecutar con un CALL FAR en ring3 una rutina en ring0. Una Call Gate es una entrada en la GDT (Global Descriptor Table) o en la LDT  (Local Descriptor Table).
(más…)

Apuestas

¿Nos los aprobarán? ¿Me meterán por fin al talego? WTF? Hagan sus apuestas. Hagan sus suposiciones…

Más pistas en algún post del blog de s21sec

eu20101

Renfe for fun and profit ( II ;) )

Como usuario habitual de Renfe no me hace mucha gracia esta situación, éste el motivo por el cual escribo este post. Esperando que lo solucionen, con los 11,5 millones de euros que costó la web…

Bueno y porque nos lo pasamos bien haciendo el cabra de vez en cuando…

A veces parece que las cosas van todas juntas, después de lo de CocaCola seguimos con el tema de los SMS spoofeados. Esta vez toca Renfe.

En los SMS el remitente puede ser alfanumérico también. Estos suelen ser usados por servicios o entidades bien conocidas como Bancos, Instituciones etc…Para evitar spoofing, en muchas pasarelas SMS que permiten a sus clientes remitentes alfanuméricos, éstos son revisados antes de permitir su uso.

Renfe usa para sus comunicaciones, envio de localizadores etc el remitente alfanumérico «renfe» que no deja lugar a dudas. Que cualquiera pueda enviar un SMS bajo el remitente «renfe» a un móvil arbitrario, controlando también el mensaje, no es muy seguro.

Por ejemplo, imaginemos un caso donde alguien recibe un sms de renfe pidiéndole que llame a determinado número con el fin de comprobar sus datos de facturación, o avisándole que un asesor de renfe le llamará en breve con el mismo fin.

Pues vamos a ver cómo lo podemos hacer…
(más…)

Saltándonos DEP: a lo Savant

Estas últimas 3 semanas he estado picado con un bug que me decidí a salsear para seguir aprendiendo más cosas de estas que no se enseñan en la escuela. El bug en cuestión se trata de un clásico stack overflow en la version 3.1 y inferiores de Savant Web Server. A pesar de haber varios exploits ya publicados para este fallo, todos ellos estaban diseñados para funcionar en XP SP2 o inferiores. En mi caso particular se dio la coincidencia de que tengo instalada una maquina virtual de 2003 Server SP1. Este sistema tiene dos peculiaridades. La primera, es que desde Service Pack 1 incluye soporte para tecnologias DEP o lo que los chicos de Microsoft llaman prevención de ejecución de datos. La segunda tiene que ver con las politicas de implantación de DEP. Tal y como MS nos cuenta en su web, existen varias politicas definidas para ello. La que nos interesa es la llamada OptOut, la cual por defecto activa DEP para todos los procesos del sistema que explícitamente no indiquen lo contrario.

Volviendo al tema del bug en cuestión, como ya he dicho se trata de un clásico overflow de buffer en la pila. En este caso la situación se dá cuando un usuario realiza una petición HTTP que no está reconocida, o dicho de otra forma, cuando el usuario tiene ganas de marcha. He dicho que se trata de un clásico overflow en la pila, y eso no es nada nuevo. Cierto. Pero por algo hemos comentado el DEP en Windows 2003 Server SP1. Hablando en plata, lo que no he encontrado en ningún sitio es un exploit público que sobrepase DEP para este bug, y puesto que ya está hecho a lo mejor le sirve de ayuda a alguien para sus futuros planes de dominar el mundo 🙂

Bromas aparte, por motivos éticos, no voy a publicar el codigo del exploit, por dos razones basicas:

  • Cualquiera que séa capaz de entender este post, es capaz de escribir su propio exploit.
  • El bug sigue sin ser corregido en la última versión del software.

Desgraciadamente, parece ser que el proyecto lleva algún tiempo abandonado y aprovechando esto, con motivos siempre educativos, vamos a ver que se puede hacer. Odio tener que poner disclaimers en los posts, pero es mejor prevenir que curar. El que utilice lo aquí mostrado con cualquier tipo de fin, lo hace bajo su propia responsabilidad y sin ninguna garantía. Accediendo a esta pagina estas de acuerdo con lo aquí mencionado. Ahora al lio.

(más…)