Archivos del blog

DLL Hijacking Linux (Windows like)

Mucho se ha hablado (y el revuelo ha sido enorme) estos días sobre un “fallo/feature/vulnerabilidad” en la forma en la que Windows busca las librerías compartidas (DLL) que necesita un ejecutable. El problema viene cuando los programadores no indican la

Tagged with: , , , ,
Publicado en exploiting, hacking, Linux

Exploitation: Format Strings II

En la entrada previa hemos visto cómo gracias al descuido del programador y al especificador de formato %s podemos leer posiciones arbitrarias de memoria. Esto en sí ya es muy importante, sobretodo en situaciones en las que tenemos que evadir

Tagged with: , ,
Publicado en exploiting, hacking

Exploitation: Shellcodes en Linux II

En la entrada anterior nos habíamos quedado con el problema de la eliminación de los null bytes para conseguir que nuestra shellcode funcionara correctamente. En esta eliminaremos esos null bytes y nos enfrentaremos a otros problemas asociados normalmente al desarrollo

Tagged with: , ,
Publicado en exploiting, hacking

Exploitation: Shellcodes en Linux I

En las entradas de la serie Exploitation (a beginners intro ;)) hemos utilizado shellcodes como un chorro de bytes que copiábamos en nuestros exploits, pero ha llegado el momento de comprender qué son esos bytes y cómo podemos construir nuestras

Tagged with: , ,
Publicado en exploiting, hacking

Exploitation: Evadiendo NX

En esta entrada vamos a explicar un método para saltarnos la protección NX en Linux, aunque la técnica también se utiliza en Windows de la misma manera. En la mayor parte de los casos, los programas no necesitan ejecutar código

Tagged with: , , ,
Publicado en exploiting, hacking

Exploitation: Format Strings I

Este tipo de vulnerabilidad se debe al funcionamiento interno de las funciones de la familia printf, que junto a un uso inadecuado de las mismas puede dar lugar a la lectura y escritura de posiciones arbitrarias de memoria. Por desgracia

Tagged with: , ,
Publicado en exploiting, hacking

Exploitation: Integer Overflow

Los desbordamientos de entero (integer overflow) son una de las vulnerabilidades más difíciles de detectar en un programa. En primer lugar, porque la forma de pensar para dar con ellos puede parecer obtusa al principio. En segundo lugar, porque un

Tagged with: , , ,
Publicado en exploiting, hacking

Exploitation: Stack Overflow II

Siguiendo con el ejemplo de la entrada anterior, vamos a demostrar un par de métodos para ejecutar nuestro propio código tras explotar una vulnerabilidad de tipo stack overflow. A lo largo de esta entrada haremos uso de lo que se

Tagged with: , ,
Publicado en exploiting, hacking

Exploitation: Stack Overflow I

El desbordamiento de pila o stack overflow, es un caso de buffer overflow que se produce, como es obvio, en el segmento de memoria reservado a la pila. Este tipo de ataques son antiguos y la mayoría de compiladores y

Tagged with: , , ,
Publicado en exploiting, hacking

Exploitation: Conocimientos previos II

Como explicaba en la entrada anterior, la memoria está dividida en 5 segmentos. Para aclarar conceptos vamos a ejecutar el siguiente programa (el código debería ser autoexplicativo). Lo importante no es tanto el código como el resultado, que permite comprobar

Tagged with: , , , ,
Publicado en exploiting, hacking
Archive