EspañolEnglishEuskeraCatalà
  • Aula Vigo

  • Online or in-person

  • 2.0 credits

  • Extensión Universitaria

  • from March, 4th 2022 to April, 19th 2022

Online or in-person
from March, 4th 2022 to April, 19th 2022

Hacking ético: Explotación de binarios. Exploit: Código informático capaz de aprovechar una vulnerabilidad de software

Print PDF

Este curso, tiene como objetivo dotar a l@s alumn@s de los conocimientos técnicos mínimos necesarios para comenzar a auditar productos software complejos, así como afianzar conceptos clave en materia de ciberseguridad. Con un fuerte componente práctico, al finalizarlo habrás programado para una máquina de turing, tendrás conocimientos de ensablador y el kernel Linux, sabrás identificar vulnerabilidades en un binario y serás capaz de tomar control total de un sistema. Es el comienzo del camino para un Hacker ético.

El curso se distribuye a lo largo de cinco semanas dedicadas a aprender conceptos clave como memoria virtual, W^X ó comunicación interprocesos. Culminando en una semana dedicada al completo a la elaboración de una cadena de explotación (exploit toolchain).

El curso se ofrece en múltiples modalidades sin perjuicio entre alumn@s presenciales y a distancia, siendo las prácticas comunes e individuales, con el único requisito de contar con un ordenador capaz de ejecutar una máquina virtual Linux.

Dates and places
From March, 4th 2022 to April, 19th 2022
17:00 to 20:00 h.

Lugar:

Aula Universitaria de la UNED en Vigo


Hours
Teaching hours: 48
Credits
2 credits ECTS.
Online or in-person
You can choose in-person assistance or live or delayed online assistance.
Program
  • Friday, March, 4th 2022
    • 17:00-20:00 h. Electrónica para Hackers.
      Presentación del curso, guía de contenidos y pruebas (1h)
      Teoría atómica y la unión PN (2h)
    • Tuesday, March, 8th 2022
      • 17:00-20:00 h. El transistor y puertas lógicas (3h)
      • Wednesday, March, 9th 2022
        • 17:00-20:00 h. Flip-Flops (1h)
          La máquina de Turing (2h)
          Ejercicio propuesto: Simulador máquina de Turing.
        • Friday, March, 11th 2022
          • 17:00-20:00 h. Fundamentos de hardware.
            Introducción al hardware: Historia y evolución (1h)
            ntroducción a simplez: Una arquitectura didáctica (1h)
            Ejercicios: lenguaje ensamblador (1h)
          • Tuesday, March, 15th 2022
            • 17:00-20:00 h. El bus, la memoria y los modos de direccionamiento (2h)
              Ejercicios: Modos de direccionamiento (1h)
            • Wednesday, March, 16th 2022
              • 17:00-20:00 h. El procesador segmentado (1h)
                Gestión de la periferia (1h)
                Interrupciones (1h)
                Ejercicio propuesto: Programación para Simplez.
              • Friday, March, 18th 2022
                • 17:00-20:00 h. Fundamentos de sistemas operativos.
                  Introducción a los sistemas operativos (1h)
                  Funciones del sistema operativo (1h)
                  Demostración: El cargador de arranque (1h)
                • Tuesday, March, 22nd 2022
                  • 17:00-20:00 h. La memoria virtual, segmentación y paginación (1h)
                    Procesos, hilos y modos de ejecución (1h)
                    Comunicación interproceso, memoria comprartida y concurrencia (1h)
                  • Wednesday, March, 23rd 2022
                    • 17:00-20:00 h. Introducción al lenguaje C y la librería estandar (2h)
                      Introducción a la práctica de sistemas operativos (1h)
                      Ejercicio propuesto: Shell en C.
                    • Friday, March, 25th 2022
                      • 17:00-20:00 h. Ejecutables y contramedidas.
                        Formatos ejecutables (1h)
                        Introducción a los binarios ELF (1h)
                        Terminología de ejecutables: Compilador, linker, segmento, sección (1h)
                      • Tuesday, March, 29th 2022
                        • 17:00-20:00 h. Regiones de memoria y estructura de un proceso (1h)
                          El proceso de carga de un ejecutable (1h)
                          Código relocalizables (1h)
                        • Wednesday, March, 30th 2022
                          • 17:00-20:00 h. Sneak peek: El Overflow (30 min)
                            Stack canaries (30 min)
                            NX (30 min)
                            ASLR (30 min)
                            Introducción a la práctica semanal (1 h)
                            Ejercicio propuesto: Carga dinámica.
                          • Friday, April, 1st 2022
                            • 17:00-20:00 h. Hacking de aplicaciones.
                              Introducción al hacking de binarios (1h)
                              Introducción a la ingeniería inversa (1h)
                              Herramientas para ingeniería inversa: Ghidra (1h)
                            • Tuesday, April, 5th 2022
                              • 17:00-20:00 h. Vulnerabilidades, patrones y funciones peligrosas de C (1h)
                                El buffer overflow (1h)
                                Introducción a GDB (1h)
                              • Wednesday, April, 6th 2022
                                • 17:00-20:00 h. Ejercicio guiado: Programando un exploit (3h)
                                • Tuesday, April, 19th 2022
                                  • 17:00-20:00 h. Ataques avanzados: Return2libc, ROP (1h)
                                    Introducción a la práctica (1h)
                                    Despedida del curso (1h)
                                    Ejercicio final.
                                  Attendance
                                  This activity allows the student to participate in-person assistance or live or delayed online assistance, without having to go to the center.
                                  Enrollment

                                  Tenga en cuenta que con los datos aportados en su solicitud de matrícula se confeccionan los certificados, asegúrese que son correctos y están completos.
                                  Nombre, con mayúscula la primera letra y minúsculas el resto.
                                  Apellidos, ambos e igual que en el caso anterior, con mayúscula la primera letra y minúsculas el resto. Y en ambos casos con las tildes correspondientes.
                                  NIF. número y letra (mayúscula) ej. 12345678H
                                  IMPORTANTE:
                                  La devolución del importe de la matrícula se efectuará únicamente si se solicita con al menos 3 días hábiles de antelación al día de comienzo de la actividad, y siempre justificada por causas de enfermedad o incompatibilidad laboral sobrevenida, para lo que el alumno deberá presentar la documentación que así lo acredite.
                                  Una vez comenzado el curso no se realizarán devoluciones.
                                  Se podrá anular un curso sí concurren condiciones excepcionales relacionadas con aspectos docentes o de infraestructura económica y material que impidan su correcta celebración. En tal caso, el alumno tendrá un plazo de 6 meses desde la fecha de cancelación, para solicitar la devolución del importe de la matrícula.

                                    Ordinary enrollment
                                  Asistencia presencial en el aula 98 €
                                  Asistencia online en diferido 98 €
                                  Asistencia online en directo 98 €
                                  Directed by
                                  Javier Martínez Torres
                                  CEO de Possible Incorporated. Profesor Titular de Matemática Aplicada de la UVIGO en excedencia. Profesor-tutor con Venia Docendi del Centro Asociado de la UNED en Pontevedra
                                  Coordinated by
                                  Rafael Cotelo Pazos
                                  Coordinador de Extensión Universitaria y Actividades Culturales de la UNED en Pontevedra
                                  Lecturer
                                  Xabier Iglesias Pérez
                                  Graduado en ingeniería informática. Mención en ingeniería de computadoras
                                  Aimed at
                                  • Entusiastas y aspirantes a un puesto en ciberseguridad.
                                  • Estudiantes de ingeniería o FP del área STEM.
                                  • Profesionales con perfil técnico (Desarrolladores, técnicos de sistemas, ingenieros, etc).
                                  • Personas preparando certificaciones como OSCP o CEH.

                                  En el curso se asumen conocimientos de programación e informática consecuentes con los perfiles anteriores.
                                  Goals
                                  • Establecer la base fundacional requerida para facilitar el aprendizaje posterior en la materia de ciberseguridad.
                                  • Familiarizar al alumno con las diferentes capas de abstracción que interactúan con el software actual.
                                  • Introducir conocimiento específico en las áreas: diseño de hardware, desarrollo de sistemas operativos, ingeniería inversa y programación de exploits.
                                  • Dotar al alumno de las herramientas necesarias para auditar la seguridad de un software y elaborar pruebas de concepto adecuadas.
                                  Methodology
                                  Presencial.
                                  En directo a través de Microsoft Teams. Los estudiantes inscritos reciben la información de acceso en la dirección de correo electrónico que hayan indicado al matricularse.
                                  En diferido. Los estudiantes reciben las grabaciones de cada una de las sesiones del curso en el plazo máximo de tres días a partir de su grabación.

                                  • Previo al comienzo del curso tendrá las instrucciones y datos de conexión en MI ESPACIO: https://extension.uned.es/miespacio (opción 1: estudiante UNED, opción 2: no estudiante UNED.
                                    • Los alumnos que asistan de forma presencial deberán traer su ordenador portátil.
                                  Grading system
                                  Para recibir el certificado de aprovechamiento es necesario asistir y/o visualizar el 85% de las horas lectivas y completar con éxito la práctica final.

                                  + información: xabier.iglesias.perez@udc.es 
                                  Objetivos de Desarrollo Sostenible

                                  Esta actividad impacta en los siguientes Objetivos de Desarrollo Sostenible:

                                  More
                                  UNED Pontevedra - Aula Universitaria de Vigo
                                   Auditorio de Congresos Mar de Vigo, Avenida Beiramar nº 59 - 4ª planta.
                                  36202 Vigo Pontevedra
                                  986954834 / negociadodealumnos@pontevedra.uned.es
                                  Images from the activity
                                  Saltar al contenido
                                  • Facebook

                                  • Twitter

                                  • UNED