Curso de Seguridad Creación Exploits​

1.   
OBJETIVOS Y COMPETENCIAS

En este curso el alumno
adquirirá los conocimientos y habilidades necesarias para realizar tareas de
depuración y proceso de creación de código malicioso, también conocido como
“exploit”.

Las competencias y
conocimientos que los alumnos adquirirán tras finalizar el curso son las
siguientes:

Conceptos básicos y
fundamentales del lenguaje ensamblador.

Conocimiento en
profundidad de cómo comenzar el proceso de depuración de software.

Los métodos y técnicas
de creación de fuzzers.

Los métodos y técnicas
de creación de código exploit.

¿A
QUIÉN VA DIRIGIDO?

Personal con
conocimientos de pentesting.

Perfiles profesionales
con experiencia en el ámbito de la ingeniería y/o programación.

1.   
Requisitos o conocimientos previos

Para la realización de
este curso se requieren las siguientes aptitudes y conocimientos básicos
previos:

Redes informáticas.

GNU/Linux (sistemas
operativos).

Entornos de
virtualización.

Conocimientos avanzados
de informática

Conocimientos de algún
lenguaje de programación orientada a objetos

Conocimientos básicos
del funcionamiento de la memoria en sistemas operativos de 32 y 64 bits.

1.   
MATERIAL Y METODOLOGÍA
DEL CURSO

La estructura de este
curso se compone de un 50% de teoría y un 50% de práctica. No existe una parte
diferenciada entre ambas, sino que están mutuamente integradas para poder
visualizar mejor los conceptos y facilitar el aprendizaje al alumno.

En este curso se
proporcionarán los siguientes recursos y materiales didácticos:

El alumno dispondrá de
las diapositivas que se irán exponiendo durante el curso.

También se le ofrecerán
lecturas, estudios de casos y documentación para que profundice en su
aprendizaje.

Dentro del marco
práctico, el alumno dispondrá de máquinas virtuales individuales y laboratorios
con distintos niveles de dificultad con los que se realizarán las prácticas del
curso.

4.1.
EVALUACIÓN

Para la evaluación de
este curso el alumno deberá superar una puntuación mínima en el desarrollo de
los ejercicios propuestos en cada uno de los módulos que compone el curso.

1.   
CERTIFICACIÓN

Una vez el alumno haya
completado el curso, realizado el respectivo proceso de evaluación y superado
la calificación mínima de corte, se le remitirá un certificado digital de
cumplimiento del curso con sus respectivos datos.

1.   
DURACIÓN

La duración estimada del
curso en su formato online es de 100 horas aproximadamente.

1.   
CONTENIDO DEL CURSO

1.   
MÓDULO 0 – INTRODUCCIÓN:

Qué es el debugging

Qué es el fuzzing

Laboratorios

Fundamentos del curso

1.   
MÓDULO 1 – Conceptos de
debugging y fuzzing:

Definiciones

Ensamblado

EIP

Instrucciones

Prólogo de una función

Epilogo de una función

Dirección de retorno

Reversing estático

1.   
MÓDULO 2 – Introducción
al buffer overflow (Smashing Stack):

Introducción

Buffer Overflow

Fuzzing y debugging

Encontrando el offset
para el exploit

Creación del exploit

1.   
MÓDULO 3 –
Sobreescritura de SEH (Buffer overrun):

Introducción

SEH

Fuzzing y debugging

Egghunting 

1.   
MÓDULO 4 – Bypass de
DEP:

Introducción

Teoría adicional de
Buffer Overflow

Llamadas de Windows

Return Oriented
Programming

1.   
MÓDULO 5 – Bypass de NX
y ASLR:

Introducción

Teoría adicional de
Buffer Overflow

GDB Linux

Depurando un binario en
Linux

Evadiendo ASLR y NX

1.   
MÓDULO 6 – Buffer
Overflow en entorno de 64 bits:

Introducción

Registros

Instrucciones

Arrays

Llamando una función

Escribiendo una función

Alojamiento dinámico en
la stack

Stack Smashing en 64
bits

 

Evasión de NX

 

Abrir chat
Hola
¿En qué podemos ayudarte?
¿Hablamos?