¿Qué es el Pentesting?
El Penetration Testing (o pentesting) es un proceso autorizado de evaluación de seguridad donde se simulan ataques reales contra sistemas, redes o aplicaciones para identificar vulnerabilidades.
**Advertencia Legal**: Solo realiza pruebas de penetración en sistemas para los cuales tengas autorización explícita por escrito. El acceso no autorizado a sistemas es ilegal.
Fases del Pentesting
1. Reconocimiento (Reconnaissance)
La recopilación de información es crucial:
1
2
3
4
5
6
7
8
9
10
# Reconocimiento pasivo con whois
whois example.com
# DNS enumeration
dig example.com ANY
nslookup -type=any example.com
# Subdomain enumeration
subfinder -d example.com
amass enum -d example.com
2. Escaneo (Scanning)
1
2
3
4
5
6
7
8
# Escaneo básico con Nmap
nmap -sV -sC target.com
# Escaneo completo de puertos
nmap -p- -T4 target.com
# Escaneo de vulnerabilidades
nmap --script vuln target.com
Interpretando resultados:
| Puerto | Servicio | Potencial Riesgo |
|---|---|---|
| 21 | FTP | Credenciales débiles, anonymous |
| 22 | SSH | Fuerza bruta, versiones viejas |
| 80/443 | HTTP/S | OWASP Top 10 |
| 3306 | MySQL | Acceso sin autenticación |
3. Enumeración
1
2
3
4
5
6
7
8
# Enumeración web con gobuster
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
# Enumeración SMB
enum4linux -a target.com
# Banner grabbing
nc -nv target.com 80
4. Explotación
Una vez identificadas las vulnerabilidades:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env python3
"""
Script educativo - Verificación de SQLi básico
Solo usar en entornos autorizados
"""
import requests
def check_sqli(url, param):
payloads = ["'", "1' OR '1'='1", "1' AND '1'='2"]
for payload in payloads:
test_url = f"{url}?{param}={payload}"
response = requests.get(test_url)
if "error" in response.text.lower() or "sql" in response.text.lower():
print(f"[!] Posible SQLi detectado con: {payload}")
return True
return False
# Uso (solo en entornos de prueba)
# check_sqli("http://testsite.local/search", "id")
5. Post-Explotación
1
2
3
4
5
6
7
8
# Escalación de privilegios - Enumerar sistema
uname -a
cat /etc/passwd
sudo -l
# Buscar archivos interesantes
find / -perm -4000 2>/dev/null # SUID
find / -name "*.conf" 2>/dev/null
6. Documentación
La documentación es fundamental. Un buen reporte incluye:
- Executive Summary
- Alcance y metodología
- Hallazgos detallados
- Evidencias (screenshots, logs)
- Recomendaciones de remediación
- Clasificación de riesgo (CVSS)
Herramientas Esenciales
Distribución
- Kali Linux - La más popular
- Parrot OS - Alternativa ligera
- BlackArch - Para usuarios avanzados
Por Categoría
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Reconocimiento
- Maltego
- theHarvester
- Recon-ng
# Escaneo
- Nmap
- Masscan
- Nikto
# Explotación
- Metasploit
- Burp Suite
- SQLmap
# Password Cracking
- John the Ripper
- Hashcat
- Hydra
Laboratorios de Práctica
Practica legalmente en estos entornos:
- DVWA - Damn Vulnerable Web Application
- HackTheBox - Máquinas virtuales vulnerables
- TryHackMe - Aprendizaje gamificado
- VulnHub - VMs descargables
- OWASP WebGoat - Aprendizaje de seguridad web
Configurar DVWA localmente
1
2
3
4
5
# Con Docker
docker run --rm -it -p 80:80 vulnerables/web-dvwa
# Acceder en: http://localhost
# Credenciales: admin/password
OWASP Top 10
Las vulnerabilidades web más críticas:
- Broken Access Control
- Cryptographic Failures
- Injection
- Insecure Design
- Security Misconfiguration
- Vulnerable Components
- Auth Failures
- Software Integrity Failures
- Logging Failures
- SSRF
Certificaciones
Si quieres profesionalizarte:
| Certificación | Nivel | Enfoque |
|---|---|---|
| eJPT | Principiante | Fundamentos |
| CEH | Intermedio | Teórico |
| OSCP | Avanzado | Práctico |
| OSCE3 | Experto | Especializado |
Ética y Legalidad
Siempre sigue estas reglas:
- ✅ Obtén autorización por escrito
- ✅ Define claramente el alcance
- ✅ Documenta todo
- ✅ Reporta todas las vulnerabilidades
- ❌ Nunca accedas sin permiso
- ❌ No causes daño innecesario
- ❌ No filtres información sensible
Recursos de Aprendizaje
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Libros:
- "The Web Application Hacker's Handbook"
- "Penetration Testing" - Georgia Weidman
- "Red Team Field Manual"
Canales YouTube:
- IppSec
- John Hammond
- LiveOverflow
Comunidades:
- r/netsec
- HackTheBox Discord
- InfoSec Twitter
Conclusión
El pentesting es una disciplina que requiere práctica constante y actualización continua. Comienza con los fundamentos, practica en entornos legales y siempre actúa de manera ética.
1
2
$ echo "Happy hacking! 🔐"
Happy hacking! 🔐