Este curso está diseñado para enseñar a las personas que quieren introducirse en el mundo del hacking de una manera práctica. Su estructura pretende ser simple, con videos en promedio de 5 min y no más de 10 min 1 hora, donde se cubriran los aspectos básicos de Hacking, Conceptos y Técnicas Generales, Preparación del Laboratorio y Ejemplos prácticos de cada uno de los temas a tratar.
La estructura del curso está basada en el libro de Georgia Weidman (Penetration Testing: A Hands-on Introduction to Hacking) y las investigaciones del autor Julio Ureña(PlainText), se pretenden tratar temas actuales y relevantes incluso para la preparación del OSCP.
Decidí crear un canal de Discord para las personas que quieran dar apoyo o necesiten apoyo durante la realización de este curso.
Veremos el contenido general del curso, los prerequisitos y la guía que estaremos usando.
1.1 - Video de Introducción
1.2 - Prerequisitos y Consejos
1.3 - Guía Del Curso
Trabajaremos la preparación del laboratorio para practicar los ejercicios que estaremos realizando, veremos las opciones de hipervisores, instalación de sistemas operativos y configuraciones generales.
2.1 - Preparación del Laboratorio
2.2 - Instalación de Kali Linux
2.3 - Instalación de Windows 10
2.4 - Configuraciones Generales de Windows
2.5 - Instalación de Aplicaciones Vulnerables
2.6 - Instalación de Sublime Linux
Las habilidades de trabajo en linux serán escenciales para el hacking/pentesting, en esta sesión exploraremos la linea de comando de linux y discutiremos algunas de las aplicaciones más comunes y su uso. Esta sesión es solo una introducción, el aprendizaje de la linea de comando lo desarrollarás a medida que vayas trabajando y necesitando realizar tareas.
3.1 - Comandos básicos de Linux
3.2 - Permisos de Archivos
3.3 - Redirecciones y Pipes
Aprender a utilizar los comandos en Windows es super importante, en esta sesión veremos uso general del cmd y aplicaciones que nos servirán para controlar el sistema operativo desde la consola. Esta sesión es solo una introducción, el aprendizaje de la linea de comando lo desarrollarás a medida que vayas trabajando y necesitando realizar tareas.
4.1 - Comandos básicos de Windows
4.2 - Permisos de Archivos
4.3 - Redirecciones y Pipes
Necesitarás aprender diferentes herramientas para facilitar tu trabajo en el mundo del hacking. Esta sesión cubriremos diferentes herramientas que usaremos durante este curso.
5.1 - SSH Client & Server (Windows & Linux)
5.2 - NetCat "La Navaja Suiza"
La programación es esencial para todo profesional de tecnología (opinión personal), con esta podrás mejorar/automatizar la forma en que trabajas, como hacker te permitirá comprender mucho mejor lo que atacas y reutilizar el trabajo realizado por otros (usaremos muchos scripts que otros crearon). Cubriremos de forma básica los elementos generales de programación y Scripting.
6.1 - Programación 101
6.2 - Programación en Bash (Linux)
6.3 - Programación en Python
6.4 - Programación en C
Metasploit es una plataforma de prueba de penetración que le permite encontrar, validar y explotar vulnerabilidades. Proporciona la infraestructura, el contenido y las herramientas para realizar pruebas de penetración en sentido general. Es un marco de referencia para el desarrollo de exploits que gracias a la comunidad que lo soporte y Rapid7 se mantiene actualizado con nuevos exploits. Tiene una versión pro (pagada) y la de la comunidad que es la que nosotros utilizaremos (gratis).
7.1 - Introducción a Metasploit
7.2 - Uso de módulo de explotación
7.3 - Bind Shell
7.4 - Reverse Shell
7.6 - Payloads & Msfvenom
7.7 - Módulos Auxiliares
El correcto uso de una metodología durante la ejecución de una prueba de penetración será determinante para obtener el resultado deseado. Una metodología de pentesting ayudará a definir cada una de las etapas y la forma en que se ejecutará la prueba de penetración. En este capítulo utilizaremos la metodología PTES como ejemplo.
8.1 - Metodologías de Pentesting
La enumeración es la etapa donde colectamos tanta información como sea posible de nuestro objetivo. Es una parte fundamental en toda prueba de penetración y comunmente determinante para el exito de una prueba de penetración. En este capitulo discutiremos de la enumeración en sentido general y hablaremos de tecnicas de enumeración pasivas y activas.
9.1 - Enumeración
9.2 - Enumeración Pasiva
9.3 - Herramienta para Enumeración: theHarvester
9.4 - Enumeración de DNS
9.5 - Redes Básico
9.6 - Nmap Descubrimiento de equipos en la red
9.7 - Nmap TCP Scan
9.8 - Nmap Scripts
9.9 - Nmap UDP & Enumeración de SNMP
El análisis de de vulnerabilidades es la etapa donde tratamos de identificar vulnerabilidades en los servicios que estamos revisando. Activamente tratamos de encontrar problemas en los servicios que nos permitan comprometer el sistema en la fase de explotación. Aunque existen diferentes herramientas que automaticamente encontrarán vulnerabilidades en los sistemas, es importante la revisión manual.
10.0 - Metasploitable
10.1 - Nessus
10.2 - NMAP Scripts
10.3 - Páginas Web
Finalmente llegamos a la parte divertida, "Explotación", en esta parte nuestro trabajo será confirmar que las vulnerabilidades que hemos descubierto realmente tienen un efecto sobre el sistema analizado y que podemos ganar acceso o abusar de las vulnerabilidades.
11.1 - Uso de Módulo de Metasploit
11.2 - Uso de Metasploit para Web Apps
11.3 - Abuso de Configuraciones por Defecto
11.4 - Modificación de Exploits Públicos
La mayoría de las empresas crean sus propias aplicaciones web y aunque muchas herramientas automáticas ayudan a detectar vulnerabilidades en las aplicaciones web, nada puede reemplazar a un pentester con un proxy analizando el funcionamiento de una página web y encontrando fallas. En esta sesión, nos enfocaremos en la detección manual y algunos elementos automáticos, de vulnerabilidades en páginas web.