Cómo preparar el eJPT: guía práctica de enumeración y pentesting
Guía práctica para preparar eJPT mediante reconocimiento, Nmap, enumeración de servicios, explotación, post-explotación, pivoting y documentación técnica.

Preparar el eJPT no consiste en memorizar una lista interminable de comandos. La clave está en desarrollar una metodología: descubrir el entorno, enumerar cada servicio, relacionar evidencias, validar hipótesis y documentar lo encontrado.
Esta guía reúne un flujo de trabajo práctico para laboratorios y entornos autorizados. Cada comando incluye qué hace, por qué se utiliza y qué información deberías buscar antes de continuar.
Utiliza estas técnicas únicamente en sistemas propios, laboratorios o entornos para los que tengas autorización expresa.
¿Qué evalúa el eJPT?
El examen de INE se centra en cuatro dominios. Entender su peso ayuda a repartir mejor el tiempo de estudio:
| Dominio | Peso aproximado |
|---|---|
| Assessment Methodologies | 25% |
| Host and Network Auditing | 25% |
| Host and Network Penetration Testing | 35% |
| Web Application Penetration Testing | 15% |
La parte más importante no es ejecutar una herramienta concreta, sino convertir resultados técnicos en decisiones. Un puerto abierto es solo el principio: hay que identificar el servicio, su versión, su configuración y las posibles relaciones con otros equipos.
Consultar la información oficial de la certificación eJPT
Metodología de trabajo
Un flujo sencillo y repetible puede dividirse en estas fases:
- Preparación: comprobar conectividad y crear una estructura de notas.
- Descubrimiento: localizar hosts activos y redes accesibles.
- Enumeración: identificar puertos, servicios, versiones y recursos expuestos.
- Análisis: relacionar la información y formular hipótesis.
- Explotación controlada: validar una vulnerabilidad en el laboratorio.
- Post-explotación: entender privilegios, credenciales y conectividad interna.
- Documentación: conservar evidencias, comandos y conclusiones.
Si una fase no produce una vía clara, vuelve a enumerar. En pentesting, la mayoría de los bloqueos se resuelven revisando información que se pasó por alto.
1. Preparar el entorno
Antes de escanear, confirma tu dirección IP y las rutas disponibles.
ip a
ip route
| Comando | Para qué sirve | Qué debes observar |
|---|---|---|
| ip a | Muestra interfaces y direcciones IP del equipo. | La interfaz de la VPN o del laboratorio y su rango de red. |
| ip route | Muestra la tabla de rutas. | Qué redes son alcanzables y por qué interfaz saldrá el tráfico. |
Organiza los resultados desde el principio:
laboratorio/
├── scans/
├── loot/
├── screenshots/
└── notes.md
Esta estructura separa escaneos, archivos recuperados, capturas y notas. Evita depender del historial de la terminal y facilita reconstruir el proceso más tarde.
2. Descubrimiento de hosts
Para identificar equipos activos dentro de una red:
nmap -sn 10.10.10.0/24 -oN scans/hosts.txt
| Parámetro | Función |
|---|---|
| -sn | Realiza descubrimiento de hosts sin escanear puertos. |
| 10.10.10.0/24 | Define el rango objetivo. |
| -oN | Guarda el resultado en formato de texto normal. |
Busca las líneas Host is up y anota cada IP. Si sabes que un equipo existe pero no responde al descubrimiento, prueba:
nmap -Pn 10.10.10.25
-Pn indica a Nmap que trate el host como activo y continúe con el escaneo. Es útil cuando ICMP está filtrado, aunque el análisis será más lento.
3. Escaneo completo de puertos TCP
Una revisión inicial de todos los puertos evita depender únicamente de los mil más comunes:
nmap -p- --open -T4 10.10.10.25 -oA scans/all-ports
| Parámetro | Función |
|---|---|
| -p- | Escanea los 65.535 puertos TCP. |
| --open | Muestra solo puertos abiertos o potencialmente abiertos. |
| -T4 | Acelera el escaneo en redes estables de laboratorio. |
| -oA | Guarda el resultado en formatos normal, XML y grepable. |
Un resultado podría ser:
21/tcp open ftp
22/tcp open ssh
80/tcp open http
445/tcp open microsoft-ds
Cada línea incluye el puerto, el protocolo, el estado y una estimación del servicio. Todavía no demuestra qué software hay detrás; sirve para decidir la siguiente enumeración.
4. Detectar servicios y versiones
Con la lista de puertos abierta, realiza un escaneo dirigido:
nmap -sC -sV -p21,22,80,445 10.10.10.25 -oA scans/services
| Parámetro | Función |
|---|---|
| -sC | Ejecuta los scripts predeterminados de Nmap para obtener contexto. |
| -sV | Intenta identificar producto y versión del servicio. |
| -p21,22,80,445 | Limita el análisis a los puertos descubiertos. |
Revisa especialmente:
- Versiones exactas y banners.
- Acceso anónimo o recursos compartidos.
- Títulos, redirecciones y tecnologías web.
- Nombres de host, dominio o sistema operativo.
- Scripts que indiquen configuraciones débiles.
La detección de versiones se basa en respuestas del servicio, por lo que debes tratar el resultado como una pista y validarlo antes de buscar exploits.
Cómo funciona la detección de versiones de Nmap
5. No olvidar UDP
Servicios como DNS, SNMP o TFTP pueden quedar fuera si solo revisas TCP:
nmap -sU --top-ports 50 10.10.10.25 -oN scans/udp.txt
| Parámetro | Función |
|---|---|
| -sU | Realiza un escaneo UDP. |
| --top-ports 50 | Comprueba los 50 puertos UDP más frecuentes. |
| -oN | Guarda el resultado en texto. |
En UDP es habitual encontrar el estado open|filtered: Nmap no ha recibido una respuesta suficiente para distinguir entre un puerto abierto y uno filtrado. Necesitarás enumeración específica para confirmarlo.
6. Enumeración HTTP
Revisar cabeceras
curl -I http://10.10.10.25
| Elemento | Función |
|---|---|
| curl | Realiza peticiones HTTP desde terminal. |
| -I | Solicita únicamente las cabeceras de respuesta. |
Comprueba el código de estado, el servidor declarado, cookies, redirecciones y cabeceras de seguridad. Una cabecera no garantiza una versión real, pero puede orientar la investigación.
Identificar tecnologías
whatweb http://10.10.10.25
WhatWeb intenta reconocer CMS, frameworks, librerías, servidores y otras tecnologías visibles. Utiliza el resultado para crear una lista de componentes que después puedas verificar manualmente.
Descubrir rutas y archivos
gobuster dir -u http://10.10.10.25 -w /usr/share/wordlists/dirb/common.txt -x php,txt,html
| Parámetro | Función |
|---|---|
| dir | Activa el modo de descubrimiento de directorios y archivos. |
| -u | Define la URL objetivo. |
| -w | Indica el diccionario utilizado. |
| -x | Añade extensiones a cada palabra probada. |
No te limites a respuestas 200. Los estados 301/302 pueden revelar rutas redirigidas y un 403 confirma que el recurso existe aunque no sea accesible directamente.
7. Enumeración FTP
Comprueba primero si el servidor permite acceso anónimo:
nmap --script=ftp-anon,ftp-syst -p21 10.10.10.25
| Elemento | Función |
|---|---|
| ftp-anon | Comprueba si se acepta el usuario anonymous. |
| ftp-syst | Solicita información del sistema FTP. |
| -p21 | Limita el análisis al puerto FTP habitual. |
Para acceder manualmente:
ftp 10.10.10.25
Durante la sesión revisa archivos de configuración, copias de seguridad, nombres de usuario y permisos de escritura. Descarga solo lo necesario y conserva una copia original antes de analizarla.
8. Enumeración SMB
Listar recursos compartidos sin contraseña:
smbclient -L //10.10.10.25/ -N
| Parámetro | Función |
|---|---|
| -L | Solicita la lista de recursos compartidos. |
| -N | Evita pedir contraseña e intenta una sesión nula. |
Revisar permisos de forma resumida:
smbmap -H 10.10.10.25
| Parámetro | Función |
|---|---|
| smbmap | Enumera recursos SMB y permisos disponibles. |
| -H | Define el host objetivo. |
También puedes ampliar la información con scripts de Nmap:
nmap --script=smb-enum-shares,smb-enum-users -p445 10.10.10.25
El primer script enumera recursos compartidos y el segundo intenta obtener usuarios. Los nombres encontrados pueden reutilizarse en otros servicios, pero evita ataques de contraseñas sin una hipótesis clara.
9. Enumeración SMTP
Conectarse al servicio permite leer el banner y probar comandos soportados:
nc -nv 10.10.10.25 25
| Parámetro | Función |
|---|---|
| -n | Evita resolver DNS y utiliza la IP directamente. |
| -v | Muestra información detallada de la conexión. |
| 25 | Puerto SMTP habitual. |
Después puedes automatizar comprobaciones iniciales:
nmap --script=smtp-commands,smtp-enum-users -p25 10.10.10.25
smtp-commands lista capacidades anunciadas por el servidor. smtp-enum-users comprueba si determinadas respuestas permiten inferir usuarios válidos.
10. Enumeración SNMP
Si UDP 161 responde y el laboratorio utiliza la comunidad pública por defecto:
snmpwalk -v2c -c public 10.10.10.25
| Parámetro | Función |
|---|---|
| -v2c | Usa la versión 2c del protocolo SNMP. |
| -c public | Define la cadena de comunidad utilizada para consultar. |
| snmpwalk | Recorre el árbol de objetos accesible. |
SNMP puede exponer nombres de host, interfaces, rutas, procesos, software o usuarios. Guarda el resultado y busca términos concretos en lugar de leer toda la salida de forma lineal.
11. Crear una matriz de credenciales
Las credenciales rara vez aparecen de forma aislada. Mantén una tabla para registrar de dónde procede cada dato y dónde se ha validado:
| Usuario | Contraseña | Origen | Servicio probado | Resultado |
|---|---|---|---|---|
| admin | encontrada en backup | FTP | SSH | Pendiente |
| webuser | reutilizada | configuración web | SMB | Válida |
Este registro reduce repeticiones, evita perder contexto y ayuda a identificar reutilización de contraseñas entre servicios.
12. Buscar y validar exploits
Una vez confirmados producto y versión, puedes buscar referencias locales:
searchsploit "apache 2.4"
searchsploit consulta la copia local de Exploit Database. El texto entre comillas limita la búsqueda al producto y versión indicados.
Antes de ejecutar cualquier resultado, comprueba:
- Que la versión afectada coincide realmente.
- Que el sistema operativo y la arquitectura son compatibles.
- Qué condiciones previas necesita el exploit.
- Qué hace el código y qué cambios puede producir.
- Si existe una forma menos intrusiva de validar la vulnerabilidad.
Encontrar un exploit no demuestra que el objetivo sea vulnerable. La enumeración y la lectura del código siguen siendo necesarias.
13. Enumeración interna en Linux
Tras obtener acceso a un laboratorio Linux, empieza por conocer usuario, sistema y red:
whoami
id
hostname
uname -a
sudo -l
ip a
ip route
| Comando | Información obtenida |
|---|---|
| whoami | Usuario actual. |
| id | UID, GID y grupos del usuario. |
| hostname | Nombre del equipo. |
| uname -a | Kernel y arquitectura. |
| sudo -l | Comandos que el usuario puede ejecutar mediante sudo. |
| ip a | Interfaces y direcciones internas. |
| ip route | Redes alcanzables desde el host. |
Después revisa posibles vectores locales:
find / -perm -4000 -type f 2>/dev/null
getcap -r / 2>/dev/null
cat /etc/crontab
ps aux
ss -tulpn
| Comando | Para qué sirve |
|---|---|
| find ... -perm -4000 | Localiza binarios con el bit SUID. |
| getcap -r / | Enumera capacidades asignadas a binarios. |
| cat /etc/crontab | Revisa tareas programadas del sistema. |
| ps aux | Muestra procesos y sus usuarios. |
| ss -tulpn | Lista puertos y servicios en escucha. |
No trates cada resultado como una vulnerabilidad automática. Comprueba permisos, propietarios, argumentos y si el binario o servicio puede controlarse realmente.
14. Enumeración interna en Windows
whoami
whoami /priv
whoami /groups
hostname
systeminfo
ipconfig /all
net user
net localgroup administrators
cmdkey /list
tasklist /svc
netstat -ano
| Comando | Información obtenida |
|---|---|
| whoami /priv | Privilegios asignados al usuario. |
| whoami /groups | Grupos y roles efectivos. |
| systeminfo | Versión, parches y arquitectura del sistema. |
| ipconfig /all | Interfaces, DNS, gateway y configuración de red. |
| net user | Usuarios locales visibles. |
| net localgroup administrators | Miembros del grupo de administradores. |
| cmdkey /list | Credenciales almacenadas por Windows. |
| tasklist /svc | Procesos y servicios asociados. |
| netstat -ano | Conexiones, puertos y PID relacionado. |
Cruza los PID de netstat con tasklist para saber qué proceso escucha en un puerto interno. Revisa también privilegios y credenciales almacenadas antes de buscar técnicas de escalada más complejas.
15. Redes internas y pivoting
Un host comprometido puede tener acceso a redes que no son visibles desde tu equipo. En Linux:
ip a
ip route
arp -a
En Windows:
ipconfig /all
route print
arp -a
| Comando | Qué aporta |
|---|---|
| ip a / ipconfig | Interfaces y rangos conectados. |
| ip route / route print | Rutas hacia otras redes. |
| arp -a | Equipos con los que el host se ha comunicado en la red local. |
Antes de crear un túnel, dibuja las redes y responde tres preguntas: qué equipo puede alcanzar la red interna, qué servicio necesitas consultar y qué tráfico debe atravesar el pivote. Sin ese mapa es fácil crear rutas incorrectas.
16. Ejemplo de razonamiento completo
Imagina que el escaneo muestra FTP, SSH y HTTP:
- FTP permite acceso anónimo. Entras y encuentras una copia de seguridad.
- La copia contiene una configuración web. Aparecen un usuario y una contraseña.
- La web confirma el mismo nombre de usuario. La credencial gana contexto.
- Pruebas la credencial en SSH. Obtienes acceso autorizado al laboratorio.
- sudo -l muestra un comando permitido. Investigas si puede utilizarse para elevar privilegios.
- ip route revela otra subred. Documentas la conectividad antes de plantear el pivoting.
La cadena funciona porque cada acción nace de una evidencia anterior. Ese enfoque es más fiable que lanzar herramientas sin una pregunta concreta.
Errores frecuentes al preparar el eJPT
- Escanear solo los puertos habituales.
- Ignorar UDP.
- Empezar a explotar antes de terminar la enumeración.
- Confiar ciegamente en banners o detectores automáticos.
- No revisar el contenido de backups y archivos de configuración.
- Perder credenciales por no registrar su origen.
- Ejecutar exploits sin leer requisitos ni código.
- Olvidar interfaces y rutas después de obtener acceso.
- No guardar resultados ni capturas.
- Dedicar demasiado tiempo a una sola hipótesis sin volver a enumerar.
Conclusión
La mejor preparación para el eJPT es practicar un proceso completo y repetible. Descubrir, enumerar, relacionar datos, validar y documentar son habilidades más importantes que memorizar comandos aislados.
Utiliza esta guía como punto de partida, adapta las tablas a tu forma de trabajar y, después de cada laboratorio, revisa qué evidencia pasaste por alto. Esa revisión es donde la metodología empieza a convertirse en criterio técnico.
Recursos para seguir practicando
He publicado el material ampliado con cheatsheets y plantillas reutilizables para laboratorios:
- Repositorio eJPT Cheatsheet en GitHub
- Plantilla para documentar laboratorios
- Plantilla de apoyo para el examen
El vídeo que aparece a continuación cuenta mi experiencia real con el eJPTv2 y complementa esta guía con decisiones de preparación, metodología y lecciones del examen.
Cómo aprobé el eJPTv2: mi experiencia real en el examen
Un repaso personal a la preparación, la metodología y los aprendizajes que me ayudaron a superar la certificación.