Git Product home page Git Product logo

guia-escritura-exploits's Introduction

Guía de auto-estudio para la escritura de exploits

La guía tiene un repositorio en Github y un micrositio en Jekyll que puede ser más amigable de usar.

¿Cómo empiezo?

1. Sistema operativo: los exploits están pensados para ser trabajados en un sistema GNU/Linux de 32 bits. Por ejemplo, en la guía trabajé con un Debian 8 de 32 bits, virtualizado con todas las mitigaciones dehabilitadas. En la sección de configuración se especifica como habilitar y deshabilitar estas protecciones en un sistema GNU/Linux.

Para comenzar con los exploits básicos es necesario, en un principio, utilizar un entorno sin las mitigaciones que se han introducido en los sistemas operativos y compiladores modernos. A medida que se profundiza en técnicas de ataque más avanzadas se procede a habilitar las mitigaciones.

2. Herramientas: Instalá las herramientas de análisis de binarios y debugging.

3. Niveles: Te recomendamos empezar por el Nivel 1. Todos los niveles tienen una parte teórica con todos los conceptos necesarios para resolver la parte práctica de cada nivel. La guía esta pensada para que primero leas la parte teórica, al final de la misma se indican qué ejercicios pueden ser resueltos. La idea es que pruebes resolverlos y después compares tu resolución con la propuesta en el apartado práctico de ese nivel.
En el nivel 1: Introducción teórica. Práctica.

¿Qué son los ABOs?

Los abos son una serie de ejercicios creados por Gerardo Richarte. Son programas vulnerables escritos en C que sirven como una presentación introductoria a la escritura de exploits y presentan un amplio abanico de vulnerabilidades.
Las vulnerabilidades presentes en gran parte de los ejercicios resultan triviales, por ejemplo como en el uso de una funcion obsoleta como gets(). Esto se debe a que justamente el objetivo de estos ejercicios no es aprender a detectar vulnerabilidades sino a escribir exploits que se aprovechen de ellas.

Indice

Nivel 1: Exploits con corrupción de memoria.
Introducción teórica. Práctica.

Nivel 2: Exploits con corrupción de memoria II.
Introducción teórica. Práctica.

Nivel 3: Exploits con reescritura de la GOT.
Introducción teórica. Práctica.

Nivel 4: Exploits con variables de entorno.
Práctica.

Nivel 5: Exploits con format strings.
Introducción teórica. Práctica.

Nivel 6: Exploits con Return to libc.
Introducción teórica. Práctica.

guia-escritura-exploits's People

Contributors

alanvivona avatar ggoral avatar jheguia avatar mattaereal avatar schomatis avatar teresalberto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.