Random IRC quote :      <matalaz> con tu cabeza debajo de mi bota

Los debuggers y el principio de incertidumbre

Hace casi ochenta años que fué enunciado uno de los principios más conocidos de la mecánica cuántica: el principio de incertidumbre o indeterminación de Heinsenberg. Para explicar este principio en lenguaje coloquial se puede decir que mientras más certeza se tenga sobre la posición de una partícula menos se conocerá su velocidad, y mientras más se conozca su velocidad, menos se sabrá acerca de su posición. Si se intenta medir de alguna forma la posición de la partícula, la propia medición alterará su velocidad, y lo mismo le ocurrirá a la posición si se intenta determinar la velocidad. El principio de incertidumbre de Heinsenberg habla de que todo sistema se altera al ser observado. A nivel atómico no existen observadores absolutamente pasivos. Pero no hay que profundizar tanto en la estructura de la materia para comprobar la validez del principio de incertidumbre, en el mundo de los ceros y los unos también se cumple esta ley universal.

(más…)

Actualiza tu hiew! :-)

Hiew es una herramienta  Hiewampliamente utilizada para la búsqueda de vulnerabilidades, y análisis de binarios en general, soporta desensamblado, análisis de cabeceras ELF, PE, etc..

La versión 7.21 de este programa era susceptible a un stack overflow cuando parseaba las cadenas de texto legible contenidas en un binario, esta característica está disponible presionando ALT+F6 cuando estamos en modo hexadecimal. Internamente hiew utilizaba un buffer de 1024 bytes para almacenar y manejar estas cadenas, si el fichero contiene una cadena mayor de este tamaño la pila es sobreescrita, un atacante malintencionado podría ser capaz de generar un fichero con estas características pudiendo conseguir ejecutar código en el contexto del propio hiew.

Esta vulnerabilidad, aunque no afecta al usuario final directamente, podría poner en evidencia a más de un analísta de seguridad, entre los que probablemente se encuentren compañías dedicadas al análisis forense, recuperación de datos, compañías antivirus …

La vulnerabilidad ha sido re-descubierta  por miembros del equipo de 48Bits.com,  el cual tras contactar con Eugene Suslikov, se llevó una sorpesa al ver que esta ya había sido parcheada por el propio autor (a partir de la versión 7.22 la vulnerabilidad desaparece), una colleja por lo tanto para nosotros mismos!! 😉 , de cualquier manera el advisory que se escribió en su momento está disponible  aquí. Y es interesante por la posible complejidad de explotación de la propia vulnerabilidad.

El único motivo de publicar esta notica es precisamente lo que el título indica, Actualiza tu hiew!!!! 😀 .

Un saludo de parte del equipo de 48Bits para Eugene Suslikov.

Fallo de diseño en la librería NTDLL.DLL de Microsoft Windows afecta seriamente a compañías de seguridad informática

El equipo de investigación de 48Bits ha identificado una vulnerabilidad en la transformación de las rutas de estilo «DOS» a las rutas de estilo «NT», esta vulnerabilidad está localizada en la función RtlDosPathNameToNtPathName_U, la cual es exportada por la librería NTDLL.DLL.NTDLL

RtlDosPathNameToNtPathName_U internamente chequea si la ruta dada se encuentra ya en estilo «NT» o está por el contrario en estilo «DOS», llamando respectivamente a las funciones RtlpWin32NTNameToNtPathName_U o RtlGetFullPathName_Ustr. Es en estas funciones donde la sintaxis es comprobada.

Cuando una ruta dada acaba con uno o mas caracteres de espacio, RtlpWin32NTNameToNtPAthName_U los mantiene en la ruta a devolver, por el contrario RtlGetFullPathName_Ustr los elimina, es aquí donde el fallo de diseño entra en juego porque este tipo de rutas no devolveran la ruta real de estilo «NT» , cuando de hecho es posible crear este tipo de archivos.

Cualquier programa que confie en RtlDosPathNameToNtPathName_U para realizar las conversiones entre rutas, es propenso a manejar de manera indebida ficheros con este tipo de rutas.
 

(más…)

Corrupción de Heap en itss.dll

La librería de Microsoft ,itss.dll (Infotech storage) es vulnerable a un ataque de corrupción de memoria heap. Esto es debido a que no checkea bien determinados datos dentro de los ficheros CHM.La explotación (trivial) con éxito de esta vulnerabilidad puede permitirnos ejecutar código arbitrario.

El asunto no es demasiado grave, sino más bien leve debido a que Microsoft considera a los ficheros CHM como potencialmente peligrosos, muy parecidos a cualquier fichero ejecutable. Por lo tanto, cualquier usuario que ejecute un CHM se está exponiendo por definición a una ejecución de código.

El problema surge cuando un usuario avanzado o un investigador decompile el fichero CHM sospechoso antes de ejecutarlo, el fallo saltará símplemente decompilándolo .

Envié la vulnerabilidad a Microsoft y éstos se comprometieron a solucionarla en el próximo service pack.

El advisory y la prueba de concepto os la podéis bajar en www.reversemode.com

Un saludo!

El misterioso caso del «hosts» fantasma

Hace algún tiempo tuve un problema con Windows XP en mi trabajo. Quería probar un sitio web que estaba en fase de desarrollo y era imprescindible que mi ordenador resolviera un determinado nombre de dominio con la IP del servidor web de desarrollo, y no con la del servidor real donde más tarde se alojaría el sitio, y que era por cierto la que devolvía el servidor DNS de la empresa. Por supuesto fui a modificar el fichero que sirve para estos menesteres c:\windows\system32\drivers\etc\hosts. Supuestamente al asociar la IP del servidor de desarrollo con el nombre del dominio en mi fichero hosts, mi equipo no preguntaría al servidor DNS cual era la IP a la que tenía que conectarse, sino que se conectaría directamente con el servidor de desarrollo. Pero no funcionaba. (más…)