1 – Trabajando con sockets en Python
Conocerá el módulo sockets para realizar peticiones de red, resolver un dominio a partir de una dirección ip y viceversa, implementar un escáner de puertos y crear su propio servidor http para atender peticiones.
2 – Aplicaciones clientes-servidor con sockets en Python
Conocerá el módulo sockets para implementar una aplicación cliente-servidor para el paso de mensajes y obtener una shell inversa en Python.
3 – Módulos para realizar peticiones con Python
Conocerá los principales módulos disponibles tanto en la librería estándar como en forma de módulo para realizar peticiones a un sitio web y una API REST.
4 – Recolección de información de servidores con Python
Conocerá los principales módulos disponibles en Python con el objetivo de extraer información de servidores y servicios que están ejecutando, así como información como nombres de dominio y banners. Con las herramientas que estudiaremos podemos sacar información que nos puede resultar útil para fases posteriores en nuestro proceso de pentesting o auditoría.
5 – Extracción de metadatos con Python
Conocerá los principales módulos disponibles en Python con el objetivo automatizar la extracción de metadatos de documentos e imágenes. El proceso de extracción de información permite recoger metadatos de documentos y en ocasiones también es posible obtener la ubicación geográfica o el autor del documento.
6 – WebScraping con Python
Conocerá los principales módulos disponibles en Python con el objetivo automatizar la extracción de información de un sitio web. Si queremos extraer el contenido de una página web automatizando la extracción de información, muchas veces nos encontramos con que la página web no ofrece ninguna API para obtener los datos que necesitas y es necesario recurrir a técnicas de scraping para recuperar datos de una web de forma automática. Algunas de las herramientas más potentes, las podemos encontrar en Python, entre las que podemos destacar BeautifulSoup y Scrapy.
7 – WebScraping avanzado con Scrapy
Conocerá Scrapy como framework para extraer información de sitios web de forma automática mediante la creación de spyders. Scrapy también permite exportar los datos extraídos en diferentes formatos como csv, xml y json con el objetivo de analizar estos datos posteriormente.
8 – Escaneo de puertos y redes con Python
Conocerá los principales módulos disponibles en Python con el objetivo automatizar los procesos de escáner de puertos y redes. Algunas de las herramientas que permiten realizar un escáner de puertos y automatizar la detección de servicios y puertos abiertos, las podemos encontrar en Python, entre las que podemos destacar Python-nmap. También usaremos nmap para detectar vulnerabilidades en servicios específicos gracias a los scripts de nmap.
9 – Conexiones con servidores FTP, SFTP, SSH desde Python
Conocerá los principales módulos disponibles en Python con el objetivo automatizar los procesos de conexión a un servidor FTP, SFTP y SSH. Algunas de las herramientas que permiten conectarnos con estos servidores las podemos encontrar en Python, entre las que podemos destacar FTPLib y Paramiko.
10 – Análisis de vulnerabilidades en aplicaciones web con Python
Conocerá las principales herramientas desarrolladas por la comunidad de Python con el objetivo de detectar vulnerabilidades en aplicaciones web como sql injection y cross site scripting utilizando la metodología OWASP. Se estudiarán con detalle las herramientas sqlmap y bandit para detectar vulnerabilidades en sitios web y aplicaciones desarrolladas en Python.