¿Qué es el eJPTv2?
El eJPTv2 o eLearn Security Junior Penetration Tester version 2 es una certificación de pentesting o Red Team de nivel básico, con un precio de $250, aunque en ocasiones suelen lanzar descuentos. Desde el momento de su compra, tienes dos intentos de examen incluidos en el precio durante un periodo de 90 días.
Se trata de un examen 100% práctico y dinámico, en el que tendrás acceso a una máquina virtual y harás una prueba de penetración real. Según el INE, este examen valida tus conocimientos y habilidades necesarias para trabajar como pentester junior (Más adelante veremos si es cierto).
Esta certificación te reconoce para las siguientes áreas:
- IP Routing.
- Escaneo, enumeración y explotación básica de puertos y servicios conocidos.
- Escalada de privilegios.
- Pivoting básico y Port forwarding.
- Explotación con Metasploit.
- Recopilación de información.
El examen consta de 35 preguntas que deberás responder en máximo 48 horas, para aprobar debes obtener una puntuación del 70%. Algunas preguntas del examen tienen como respuesta resultados dinámicos, esto quiere decir que si reinicias la máquina virtual la respuesta puede cambiar, por eso mismo, te aconsejo que respondas las preguntas con resultados dinámicos en el momento que las encuentres y así te ahorres imprevistos.
Puedes encontrar más información actualizada sobre el examen aquí: eLearnSecurity Junior Penetration Tester v2 (eJPTv2)
Preparación para el eJPTv2
En este apartado vamos a hablar de 2 vías de preparación.
1. Curso oficial de eJPTv2 de INE.
Por un lado, la ruta de aprendizaje proporcionada por INE, que incluye el curso PTSv2 incluido con el pago del examen.
Este curso te enseña todo lo que necesitas para aprobar el examen. Contiene contenido en vídeo y laboratorios prácticos.
El PTSv2 cubre una amplia gama de temas y en mi opinión, es un curso muy completo. Aborda desde la recopilación de información hasta la post-explotación. Eso sí, el curso está en inglés con posibilidad de subtítulos en español.
Tanto si tienes un nivel principiante como intermedio, te recomiendo que hagas el curso ya que te ofrece una base sólida acerca del pentesting, herramientas y metodología.
El curso se divide en 4 módulos:
- Metodologías de evaluación En este módulo aprenderás sobre reconocimiento y footprinting de webs, enumeración whois, reconocimiento DNS, reconocimiento de firerwalls y WAF, enumeración de subdominios con sublist3r, Google dorking y descubrimiento de puertos con nmap.
- Auditoría de host y redes En este módulo aprenderás sobre herramientas para auditar redes y servicios. Enumeración del servicio SMB, FTP, SSH, HTTP y SQL con diferentes herramientas y metodologías.
- Pruebas de penetración en host y redes En este módulo aprenderás a explotar vulnerabilidades conocidas en Windows y Linux. Aprenderás a reconocer y explotar vulnerabilidades como Eternal blue, WebDAV con Metasploit, SMB con PsExec, WinRM, etc.
- Pruebas de penetración en aplicaciones web En este módulo aprenderás a explotar vulnerabilidades web como SQL injection, XSS y ataques a páginas de acceso.
Un curso muy completo que sin duda te prepara muy bien para enfrentar el examen con seguridad.
En mi caso, realicé el curso a pesar de tener experiencia con la resolución de máquinas en HTB y debo decir que el contenido es fácil de consumir, te dan documentación sobre los comandos y herramientas utilizadas que son muy útiles durante el examen.
Sin duda, con este curso puedes masterizar los fundamentos básicos del hacking que a largo plazo marcarán la diferencia.
2. Laboratorios CTF para eJPTv2
La otra vía es prepararte con laboratorios CTF de HackTheBox, TryHackMe, VulnHub o PortSwigger. Esto no quiere decir que no recomiende ver el curso de PTSv2. Simplemente es una forma de expandir tus conocimientos y prepararte para otras certificaciones o quizás tu primer empleo en ciberseguridad.
¿Qué son los CTF o Capture The Flag?
Básicamente los CTF son pruebas en las que los participantes deben resolver una serie de desafíos de seguridad con el objetivo de encontrar la bandera, que representa una cadena de texto dinámica.
En este tipo de plataformas, tienes acceso a una máquina virtual o red y debes descubrir y explotar vulnerabilidades para encontrar la bandera. Básicamente como un videojuego.
Todas las plataformas que he recomendado son freemium excepto VulnHub, en la que tienes acceso a más de 50 máquinas virtuales totalmente gratuitas.
Máquinas de Tryhackme para aprobar el eJPTv2
Máquinas de HackTheBox para aprobar el eJPTv2
Máquinas de VulnHub para aprobar el eJPTv2
Mi experiencia con el eJPTv2
Ahora sí ¿Cuál ha sido mi experiencia real con esta certificación?
Para comenzar, gracias a esta certificación, obtuve mi primer trabajo como analista de seguridad en un SOC.
Eso no quiere decir que solo con esta certificación vayas a conseguir trabajo. Hay que tener en cuenta tu experiencia, tu perfil, tu actitud, cómo te desenvuelves y qué transmites.
En mi caso, me ayudó a validar el conocimiento que había adquirido durante años.
Intenté entrar en alguna empresa como pentester junior, pero en mi caso no fue suficiente con esta certificación y tras hablar con profesionales del sector me han dejado dos consejos que valen oro:
- Es más fácil pivotar al ámbito que te gusta una vez estés dentro del sector. En mi caso, tengo más posibilidades de entrar a un red team si pivoto desde un blue team.
- Una certificación no te da la certeza de nada, acompáñalo con experiencia y proyectos propios.
Como certificación inicial creo que es idónea porque te da un primer contacto con la realidad del pentesting, ya que al examinarte en un entorno real, no tienes como objetivo capturar la bandera. Te permite conocer en profundidad como sería una prueba de penetración en un entorno laboral.
Además, no solamente tienes que hackear un único host sino que te dan acceso a una red y tú mismo tienes que descubrir cuántos equipo hay. Eso lo hace todo mucho más real.
¿Vale la pena?
Sinceramente, sí. Si quieres certificarte de eCCPTv2, eWPT u OSCP… Te vendrá bien saber cómo funcionan los exámenes de certificación y prepararte mentalmente para futuras certificaciones.
Algo tengo claro, y es que aunque sea una certificación para principiantes, demuestra que tener una buena metodología marca la diferencia.
Mis recomendaciones para aprobar el eJPTv2 al primer intento
- Ten paciencia, la ciberseguridad puede ser abrumadora por la cantidad de información que hay. Tienes 3 meses para presentarte al examen, practica todo lo que puedas, haz los laboratorios varias veces y toma apuntes.
- Utiliza varias herramientas y no te quedes con el primer resultado. En ocasiones hay herramientas que te muestran información errónea o no te muestran toda la información, compara la información con varias herramientas. De esta manera, podrás cerciorarte de la respuesta correcta.
- En el curso de PTSv2 te enseñan a utilizar la herramienta Metasploit, herramienta que en mi caso tuve que usar sí o sí en el examen.
- Las preguntas están para ayudarte y el laboratorio para ser hackeado. Me gusta tener presente el fenómeno de la “navaja de Ockham”. Es un principio que enfatiza la simplicidad y la eliminación de suposiciones innecesarias al tener múltiples explicaciones. Es decir, normalmente en lo más simple o lógico suele estar la respuesta.
- Enumera, enumera y enumera. Anota todo lo que encuentres, recuerda que no es un CTF. He preparado una plantilla en Notion para organizar el eJPTv2 que seguramente te será útil.
- Lee otras reviews del eJPTv2, lee cheatsheets y crea el tuyo propio en base a la información del PTSv2.
- Descansa bien la noche anterior, intenta estar aislado y sin distracciones durante el examen, toma descansos y lee bien las preguntas.
Cheatsheet para el eJPTv2
He preparado un cheatsheet de comandos que seguro que te serán de ayuda en el examen.
Descubrimiento de hosts
fping -a -g {Rango de IP}
- -a: Este argumento indica que muestre solamente las ips que están activas en la red.
- -g: Este argumento especifica que vamos a hacer el ping a un rango de ip.
nmap -sn {Rango de IP}
- -sn Este argumento indica a nmap que realice un escaneo de ping al rango de ip indicado.
netdiscover -r {Rango de IP}
- -r Este argumento indica que se va escanear un rango de ip.
IP Routing (Acceder a otra IP a la que no tengamos accesibilidad)
Route
#Para ver las redes a las que tenemos acceso
ip route add "IP descubierta" via "gateway"
Nmap
- Detección de sistema operativo
nmap -Pn -O "IP"
- -Pn: Indica que ignore la detección de host. Es útil cuando el host está filtrando o bloqueando el trafico ICMP.
- -O: Indica que muestre el sistema operativo.
Escaneo rápido de Nmap
nmap -sC -sV "IP"
- -sC: Indica que utilice unos scripts básicos de reconocimiento contra la IP.
- -sV: Indica que muestre la versión que está funcionando en los puertos encontrados.
Escaneo completo de Nmap
nmap -sCV -p- "IP" -oN escaneo_completo.txt
- -sCV: Es un conjunto del comando -sC y -sV.
- -p-: Indica que haga un escaneo a los 65535.
- -oN: Indica que el resultado que muestre Nmap por consola lo almacene en el archivo escaneo_completo.txt
Comprobación de vulnerabilidades con Nmap
nmap --script=servicio-* -p"puerto del servicio" "IP"
Ej: nmap --script=ftp-* -p21 "IP"
SMB
Comprobación de NULL SESSIONS:
smbclient -L "server"
smbclient \\\\\\\\$ip\\\\recurso
- -L: Mostrar por consola los recursos compartidos.
Comprobación de vulnerabilidades de SMB
nmap --script=smb-vuln* -p139,445 "ip"
Enumeración y explotación de aplicaciones web
Recomendaciones para el análisis de aplicaciones web:
- Revisa toda la página y el código fuente.
- Lee cada página, revisa posibles emails, usuarios, información, etc.
- Una vez encontrada la versión del sistema, busca en Google información acerca del servicio, busca exploits, CVEs, cualquier información que te permita determinar si la versión es vulnerable.
- Utiliza whatweb o Wappalyzer para encontrar información sobre la aplicación web.
- Realiza descubrimiento de directorios y de archivos.
Descubrimiento de directorios con Gobuster
gobuster dir -u "ip" -w /usr/share/wordlist.txt -t 30
- -u: Este argumento indica la IP/URL a analizar.
- -w: Este argumento indica el directorio donde se encuentra el diccionario.
- -t: Este argumento indica los hilos a los que se va a hacer el descubrimiento. Mientras más hilos, más ruido creas en la red y menos preciso es el escaneo.
Descubrimiento de archivos con extensiones Gobuster
gobuster -u "ip" -w /usr/share/wordlist.txt -t 30 -x .txt,.php.js
- -u: Este argumento indica la IP/URL a analizar.
- -w: Este argumento indica el directorio donde se encuentra el diccionario.
- -t: Este argumento indica los hilos a los que se va a hacer el descubrimiento. Mientras más hilos, más ruido creas en la red y menos preciso es el escaneo.
- -x: Este argumento indica las extensiones que se quieren analizar.
Inyección SQL automática
sqlmap -u <url>
sqlmap -u <url> -p <parámetro>
sqlmap -u <url> --tables
sqlmap -u <url> -D <nombre de la BBDD> -T <Nombre de la tabla> --dump
Comandos básicos para MySQL
mysql --user=root --port=13306 -p -h "ip"
- -p: Este argumento indica la solicitud de una contraseña al iniciar sesión.
- -h: Este argumento indica el host al que se quiere conectar.
> SHOW databases;
> SHOW tables FROM "nombre de la bbdd";
> USE "nombre de la bbdd";
> SELECT * FROM table;
Password Cracking con John
john -wordlist /usr/share/rockyou.txt "hash.txt"
Túneles SSH / Port forwarding
El port forwarding se utiliza para redirigir el tráfico de un puerto específico hacia otro desde la misma o una red distinta. Es decir, un túnel ssh nos permite acceder a un puerto que está activo en la máquina víctima.
Para conocer los puertos activos dentro de la máquina víctima utilizaremos el comando:
netsat -tuln
- -t: Muestra las conexiones TCP.
- -u: Muestra las conexiones UDP.
- -l: Muestra los puertos en modo escucha.
- -n: Muestra los números del puerto activo.
Para hacer el port forwarding, utilizaremos el siguiente comando:
ssh -L 4545:127.0.0.1:8888 user@"ip_víctima"
De esta manera, el puerto 4545 de la máquina víctima al cual no teníamos acceso, estará disponible en nuestra máquina en 127.0.0.1:8888
Fuerza bruta con Hydra
Es posible que en algún momento necesites hacer un ataque de fuerza bruta a un servicio, como ssh, FTP, etc.
hydra -L usuarios.txt -P contraseña.txt "ip" ssh -s 22
hydra -L usuarios.txt -P contraseña.txt telnet://"ip"
- -L: Indica el archivo donde se encuentran los posibles usuarios.
- -P: Indica el archivo donde se encuentran las posibles contraseñas.
- -s: Indica el puerto destino, en este caso al ser ssh, el puerto 22.
Comandos básicos de Metasploit
En el caso de Metasploit, recomiendo que estudies con los laboratorios del PTSv2, son muy completos y muestran exploits que utilizarás en el examen🤐
msfconsole
search x
use x
info
show options, show advanced options
SET X (e.g. set RHOST 10.10.10.10, set payload x)
Espero que este artículo haya sido útil para ti y te sea de ayuda a la hora de hacer el examen.
Actualmente me estoy preparando para la certificación eCPPTv2 ¿Te gustaría ver el proceso de preparación? Sígueme en YouTube, Instagram y TikTok para no perderte nada.
5 respuestas
Estoy preparandome para esta certificación y me ayudo mucho sobre todo con el listado de los labs espero presentarme este año asui que te contare que tal me ha ido
Excelente material tio.
Gracias Larry! Espero que te sea de ayuda
muchas gracias!
Gracias a ti, espero que te sea de ayuda!