Explotación de la memoria dinámica

*Heap Exploitation* De manra muy simple, la memoria dinámica es aquella que se maneja en tiempo de ejecución. A esta sección de la memoria se le conoce como Heap. Al igual que la pila (Stack), el Heap también puede ser abusado para ganar control sobre la ejecución de un proceso, y a esto se le conoce como Heap Exploitation. La forma de explotar el Heap es muy distinta a la de explotar la pila, y algo más complicada.
Leer más

Explotando la corrupción de memoria en arquitectura ARM

Como ya he dicho muchas otras veces, la mejor forma de aprender es practicando (…y enseñando). Explotación de vulnerabilidades en general en arquitecturas x86, son bien conocidas y hay documentación por doquier, de forma gratuita online y en libros, pero cuando nos enfrentamos a arquitecturas ARM, la documentación ya no es tan abundante. Con el boom de la tecnología móvil y el famoso Internet of things (IoT), la arquitectura ARM está en nuestro día a día y posiblemente interactuemos con ella mucho más de lo que nos imaginemos.
Leer más

Fundamentos del direccionamiento de memoria en C

Excelente artículo (no es extenso y es muy claro) donde Dennis Ku*bes nos explica los fundamentos de como funciona la memoria cuando programamos en lenguaje C. Conceptos básicos que nos aclaran el funcionamiento en la memoria de matrices (array) y structs. En los comentarios he visto esta otra web: http://www.c-faq.com/ muy útil para ampliar estos conceptos y otros muchos sobre el lenguaje C. Visto en HackerNews. Artículo original (en inglés).
Leer más

Solucionando algunos problemas de memoria en Windows 32-bit

(Imágen obtenida de aquí) Una aclaración, un sistema operativo de 32-bit, en principio, sólo puede acceder a una memoria de 4GB: 2^32=4,3 GB. Sin embargo existe una característica que lleva implementándose desde 1995 que es la llamada PAE (Physical Address Extension) además de incluirse en los microprocesadores x86 una ampliación de las líneas de direcciones de 32 a 36 bits. Esto, en teoría, incrementaría la cantidad de memoria accesible de 4 a 64GB (usando por ejemplo las page tables).
Leer más

15 años sin el genio Carl Sagan

Nuestros amigos de Microsiervos nos recuerdan en su web una fecha imporante, hoy se cumplen 15 años desde el fallecimiento del genio Carl Sagan. Aún recuerdo cuando era pequeño y me sentaba hipnotizado, oyendo la espectacular música (creada por Vangelis) de entrada de la serie Cosmos. No me enteraba de casi nada pero me gustaba, y de alguna manera se quedó para siempre en mi subconsciente. Gracias Dr. Sagan, este es nuestro post en su memoria.
Leer más

MoonSols Windows Memory Toolkit, herramienta para analizar la memoria

Windows MoonSols es un kit de herramientas para analizar la memoria RAM del ordenador para Windows. Está diseñado para comprobar el fichero de hibernación de Windows (en todas sus versiones), volcados de memoria provocados por errores y otros volcados de memoria asociados por ejemplo a programas de virtualización como VMWare. MoonSols hace posible convertir todos los volcados de memoria (crashdumps) para poder ser analizados con Windows Debugger (WinDbg). Es un programa de pago pero tiene una versión llamada “de Comunidad” que es gratuita y tiene casi todas las funcionalidades que la versión de pago.
Leer más

Bill Gates nunca dijo eso de los 640KB de RAM ...

640K [of computer memory] ought to be enough for anybody. — Bill Gates 640K (de RAM) debe de ser suficiente para todos - Bill Gates Aquí se justifica diciendo: I've said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time … I keep bumping into that silly quotation attributed to me that says 640K of memory is enough.
Leer más

Robando ficheros de la tarjeta de memoria en Android

En este vídeo podéis ver como usando Metasploit se pueden robar ficheros de la tarjeta de memoria de terminales Android, al menos de la versión Froyo 2.2. Usando un enlace malicioso y gracias a los servicios de acortar url (url shortener) que se pueden usar para ocultar a primera vista el servidor/recurso al que estás accediendo y por supuesto aprovechando una vulnerabilidad en el sistema, vemos como el teléfono abre una web que parece legítima (Adobe en el vídeo), pero previamente a mandado una de las fotos que almacena en su tarjeta de memoria al servidor del atacante.
Leer más

Emulador de Game Boy escrito en Javascript: Bancos de memoria

Nueva entrega de este magnífico tutorial. En este caso veremos el uso de bancos de memoria, o la necesidad del swapping cuando nuestro juego completo no cabe en la memoria. Aquí tenéis las entradas anteriores: La CPU La Memoria La GPU Gráficos Integración Entrada de datos Sprites Interrupciones
Leer más

La lanzadera espacial de la NASA funciona con un megabyte de RAM

Sí, has leído bien, el ordenador que controla la lanzadera funciona con un sólo megabyte de RAM, de acuerdo con este artículo. Por lo visto este ordenador funciona con un hardware bastante antiguo, unos 30 años, aunque el que use 1 MB de RAM es consecuencia de una actualización que dicho sistema sufrió en 1991. Obviamente este sistema no tiene que tratar con gráficos ni nada por el estilo, sino con el procesamiento de datos puro y duro, aunque todavía tenga que hacer todo tipo de operaciones complicadas con dichos datos.
Leer más