Sei sulla pagina 1di 10

Syllabus

Todo lo que necesitas para entrar en el mundo de hacking con ensamblador


Syllabus
Este curso dotará a los estudiantes con los conocimientos y herramientas para; Aprender
a programar y leer código ensamblador, entender y aplicar técnicas de ingeniería inversa
y saber como es el encontrar una vulnerabilidad y explotarla para programar un exploit.


Parte 1:

Las primeras 5 clases se estudia a profundidad en un modo de trabajo 10% teórico y


90% practico lo que es el lenguaje ensamblador.


Parte 2:

Las siguientes 4 clases se explican los conceptos de Ingeniería inversa y se usa el


framework Radare.


Parte 3:

En la 3era parte del curso de la clase 10 a la clase 14 se ven temas de desarrollo de
exploits, haciendo énfasis en las medidas de protección modernas y como evadirlas.


El curso tiene un total de 14 clases con una duración de un poco más de 18 horas.


Todos los conceptos y practicas están explicadas de forma minuciosa y muy detallada.
Syllabus
-Arquitectura de CPU

-Organización básica del sistema

-Registros del procesador

-Que es el lenguaje ensamblador?



-NASM

-Inicios en el debugeador gdb

-Mapeo en memoria de programas.

-Secciones de un programa

-Syscall

-Nuestro 1er programa en Ensamblador

-Ensamblado y linkeo

-Analisando en el debugeador gdb nuestro 1er programa

-Tipos de datos

-Creando un programa para el manejo de datos

-Manejo de hook’s

Syllabus
-Manejo de el stack (pila)

-Análisis de el stack en el debugeador gdb

-Instrucciones aritméticas

-Instrucciones de control

-Ciclos

-Procedimientos

-Strings

-Comparando un mismo programa escrito en C y en Ensamblador



-Las 4 etapas en la compilación de un programa en C

-Shellcoding (se inicia el enfoque de programar ensamblador enfocado a
hacking)

-Probando shellcodes de otras personas

-Stack Canaries: una medida de protección

-Analisis de una shellcode en el debugeador gdb

-Byte Nulo

-objdump un comando que nos ayuda al filtrado de opcodes

-execve

-Creación de shellcodes desde cero

-Xor Encoder y Decoder


Syllabus
-Ingeniería inversa

-Objetivo de la ingeniería inversa

-Para que se usa la ingeniería inversa

-Herramientas para la ingeniería inversa

-Radare2 el increíble framework para ingeniería inversa

-MMU

-Instalación de Radare2

-Los Endian

-Sistemas numéricos

-rabin2 para visualizar secciones de un programa

-Principios de uso con radare2

-Debugeando un programa con radare2

-Desensamblando programas con radare2

Syllabus
-Parcheo de un binario para reparar un overflow

-Binarios relocatables y no relocatables

-Análisis de un binario relocatable vs un binario no relocatable

-Secciones de un archivo ELF que mas información me pueden dar

-Obteniendo las librerías que usa un programa

-Constructores y destructores

-Resolviendo Crackme’s paso a paso

-Radare2 en sistemas de 64 bits

-Vdso

-Descargando secciones de un programa para analizarlo como un archivo


independiente

-Análisis estatico

-Extrayendo los archivos de un firmware.


Syllabus
-Exploiting

-Qué y cual es el objetivo del exploiting?

-Secciones de un programa

-Buffer Overflows

-Mapeo de programas en memoria

-ASLR

-Inyectando shellcodes en un programa vulnerable

-El paso a paso de explotar una vulnerabilidad a través de gdb.



-Automatizando el exploiting con rarun

-Evadiendo la protección del ASLR

-Setuid y sus peligros

-Exploit avanzados

Syllabus
-Mecanismos de protección(Bit NX, ASLR, Stack Canaries, W^X)

-Historia de DEP

-Procesos en tiempo de ejecución sin DEP

-Procesos en tiempo de ejecución con DEP

-Exploits ROP (Returned Oriented Programming)

-Gadgets

-Ejecución de ROP chain

-Checksec.sh programa para verificar protecciones

-Exceve

-Uso de pattern_create de metasploit

-Uso de patter_offset de metasploit

-Uso de ROPShell.py para encontrar gadgets

-Creacion de un exploit para explotar un binario con la técnica ROP

-Explicación y demostración de mmap

Syllabus
-Shellcodes de conexión inversa para evadir los firewalls.

-Probando la efectividad de el ASLR

-Otro Bypass a el ASLR (bruteforcing)

-Ataques format strings

-funciones de format strings

-Especificadores de formato

-Código seguro vs código inseguro

-Global offset table (GOT)

-Procedure Linkage Table (PLT)

-readelf

-Desreferenciación de punteros

-Explotación de un binario a través de format strings

-Pwntools un framework que nos ayuda en la explotación de binarios.

Syllabus
-Exploiting con la tecnica ret to libc

-Evasión de todas las medidas de protección modernas contra el


exploiting

-Exploits remotos

-Palabras finales (despedida, consejos, y hacia donde avanzar)

Potrebbero piacerti anche