
El uso de la maquina virtual nos va a ayudar a centrarnos en los aspectos clave, dejando de lado configuraciones podremos aprender el desarrollo de exploits para Linux
(Ver recursos Externos para Descarga) En esta clase aprendemos a cargar la maquina virtual en Oracle VirtualBox
Habilitamos el acceso remoto a la maquina, esto nos permite poder acceder al contenido con los ejercicios
En esta clase hacemos una introducción con conceptos básicos que nos van a ir acompañando durante todo el viaje
Vamos a aprender sobre los registros x64 y como funcionan con las llamadas a el sistema operativo
La depuración de Binarios Linux es una de las etapas básicas, en esta clase vamos a entender los fundamentos del debuggin con GDB y PEDA
Lo primero que debemos aprender es a controlar el registro RSP, en esta clase vemos paso por paso como tomar el control
En esta clase vamos debugear un binario para de esta forma poder detectar código oculto , y tomar el control de dichos segmentos.
La protección que añade el sistema operativo Linux llamada NX protege a un binario en sobre escritura en los buffers, en esta clase aprendemos como funcionan todos esos mecanismos
El proceso de randomizacion que aplica el sistema operativo hace que sea casi imposible adivinar en donde se encuentran los registros del binario, en esta clase aprendemos en que consiste
Hacemos un caso de estudio sobre el mecanismo stack canary, paso a paso para entender como funciona y donde podemos sacar provecho de nuestras habilidades
En esta segunda etapa descubrimos las filtraciones de datos "leak" y hacemos uso de las técnicas de depuración
En esta clase realizamos nuestra prueba de concepto, escribiendo el código con la herramienta PwnTools de Python
Aprenderemos el contexto en donde se aplica Rop
En este video entendemos una breve definición de Rop Injection
Aprendemos los conceptos clave para ROP injection
En este video entendemos el éxito de esta técnica de explotación
Aprenderemos algunas limitaciones de esta técnica
Hacemos uso de los gadgets, con la programación de retorno de objetos logramos abrir el camino hacia técnicas avanzadas
En esa clase vamos a aprender en que consiste saltar hacia las tablas Plt, con un ejemplo practico vamos a aplicar nuestro Poc al binario Linux
En esta clase ponemos en practica técnicas avanzadas de desarrollo de codigo en C que permite exponer las fallas de seguridad, paso a paso y desde cero, finalizamos con nuestro trabajo escrito en python con pwntools
El presente curso tiene como objetivo enseñar de manera ética como es que ocurren las fallas de seguridad en los programas compilados para arquitectura de 64 bytes en sistemas operativos Linux asi como el desarrollo de exploits , a lo largo del curso vamos a tocar temas básicos como las librerías vulnerables dentro del entorno de programación en C, aprenderemos a depurar binarios con el famoso debugger GDB, analizaremos de forma practica y paso a paso como es que las malas practicas en programación impactan en la seguridad de las aplicaciones, pondré a tu disposición una maquina virtual con todos los ejercicios, de esta manera podrás practicar todo lo aprendido en un entorno controlado y seguro, siguiendo las buenas practicas de la ética de la seguridad.
Estos son los temas que veremos a lo largo del curso.
Desbordamiento de Buffer
Protecciones NX
Canario Stack
Programación ROP (return plt)
Tecnicas avanzadas de ROP Gadgets (return csu)
Todos los programas han sido creados desde cero y con la finalidad de aprender los fundamentos de la seguridad de una manera didáctica, todo sobre una arquitectura moderna simulando al máximo un ambiente real en donde se ejecutan programas reales.
Si tu objetivo es poder detectar fallas en los programas para Linux x64 que implementan la librerias C estándar, entonces este curso es para ti.