Entrar al aula
×

Curso de Python Avanzado para Proyectos de Seguridad

35 horas
Bonificar curso

Python es un lenguaje interpretado muy utilizado como herramienta de pentesting, sobre todo para la creación de herramientas que permiten recolectar información y detectar fallos de seguridad en aplicaciones web.

Desde un enfoque teórico-práctico estudiaremos Python como un lenguaje orientado para investigadores de seguridad interesados tanto en la parte defensiva como en la ofensiva.

Python se utiliza para un gran número de proyectos incluyendo programación Web, herramientas de seguridad, scripting y automatización de tareas.

Dirigido a:

Desarrolladores con conocimientos básicos en Python.

Es recomendable que el alumno tenga unas bases del lenguaje y unos conocimientos básicos de programación orientada a objetos, estructuras de datos y manejo de ficheros.

Objetivo

El objetivo del curso es capacitar a aquellos interesados en ampliar los conocimientos sobre python, librerías y módulos que disponemos para realizar tareas relacionadas con peticiones, obtención de información, conexión con servidores o testeo de la seguridad de un sitio web.

Aprenderemos a utilizar Python como lenguaje de programación no solo para poder construir programas sino también para automatizar y especificar muchas de las tareas que se realizan durante un proceso de pentesting.

Los objetivos generales del curso serían:

  1. Aprender a crear scripts en Python con el objetivo de automatizar tareas de pentesting.

  2. Aprender las principales librerías disponibles en Python a la hora de desarrollar herramientas enfocadas a la seguridad.

  3. Aprender una metodología que permita escribir código en Python para realizar un proceso de pentesting.

  4. Aprender a desarrollar mediante programación en Python sus propias herramientas que se utilizan en un proceso de Ethical Hacking.

  5. Aprender a automatizar tareas de análisis y extracción de información de servidores.

  6. Fomentar el interés por la investigación y la seguridad informática.

Requisitos:

Es recomendable que el alumno tenga conocimientos sobre el lenguaje de programación Python y disponga del intérprete con la versión de Python 3.8 instalada en su sistema.

Temario

  1. Trabajando con sockets en Python
    • Introducción a python para proyectos de seguridad
    • Introducción a los sockets
    • Recopilación de información con sockets
    • Implementar en Python un escáner de puertos con sockets
    • Implementar en Python un servidor HTTP
    • Resumen
  2. Aplicaciones clientes-servidor con sockets en Python
    • Métodos para enviar y recibir datos entre un cliente y un servidor
    • Creando un cliente y un servidor TCP con sockets
    • Shell inversa con sockets
    • Resumen
  3. Módulos para realizar peticiones con Python
    • Protocolo HTTP y creación de clientes HTTP en python
    • Construyendo un cliente HTTP con urllib.request
    • Crear un cliente HTTP con requests
    • Resumen
  4. Recolección de información de servidores con Python
    • Utilizando Shodan para la obtención de información de un servidor
    • Utilizando Python para realizar búsquedas en Shodan
    • Utilizando el registro Whois para obtener información de un servidor
    • Extracción de información de servidores DNS
    • Resumen
  5. Extracción de metadatos con Python
    • Obtener información geográfica acerca de la localización de un servidor
    • Extracción de metadatos en documentos con el módulo PyPDF2
    • Extracción de metadatos en imágenes
    • Resumen
  6. WebScraping con Python
    • Extracción de contenidos web con Python
    • Extraer contenido y etiquetas con BeautifulSoup
    • Extracción de imágenes y enlaces con el módulo bs4
    • Resumen
  7. WebScraping avanzado con Scrapy
    • Arquitectura e instalación de Scrapy
    • Scrapy como framework de desarrollo de spyders
    • Proyecto Scrapy para extraer las conferencias europython
    • Resumen
  8. Escaneo de puertos y redes con Python
    • Nmap como herramienta de escáner de puertos
    • Escaneo de puertos con Python-nmap
    • Ejecutar scripts de nmap para detectar servicios y vulnerabilidades
    • Obtener las máquinas activas de un segmento de red
    • Resumen
  9. Conexiones con servidores FTP, SFTP, SSH desde Python
    • Conexiones con servidores FTP utilizando el módulo ftplib
    • Conexión con servidores SSH utilizando paramiko
    • Proceso de fuerza bruta contra un servidor SSH
    • Resumen
  10. Análisis de vulnerabilidades en aplicaciones web con Python
    • Introducción a la metodología OWASP
    • Introducción a la herramienta sqlmap para detectar vulnerabilidades del tipo sql injection
    • Introducción a la herramienta bandit para detectar vulnerabilidades en proyectos de python
    • Detectar vulnerabilidades en sitios web con herramientas automáticas
    • Resumen

Modalidades

  Con Tutor
Acceso secuencial a las unidades del curso Disponible
Descarga de contenidos en PDF Disponible
Acceso a recursos didácticos y multimedia Disponible
Ilimitadas consultas al tutor Disponible
Videoconferencias con el tutor desde el entorno de comunicaciones Disponible
Ejercicios prácticos corregidos y evaluados por el tutor Disponible
Certificado de realización PDF
Con código seguro de verificación
-
Certificado de aprovechamiento PDF
Con código seguro de verificación
Disponible
Posibilidad de bonificación hasta el 100% Disponible
  35 horas
  230€
Bonificar curso