HackMyVM Hash — Linux


Para poder hacer uso de esta máquina primero debemos descargar el archivo y así poder desplegar el laboratorio.
Descargamos el archivo de la página https://hackmyvm.eu/machines/
Al momento de descargar esta máquina y descomprimir el archivo, en este caso observamos un archivo.
Para desplegar el laboratorio usaremos nuestro hipervisor favorito e iniciamos la máquina. En caso de no observar la IP de la máquina podemos emplear arp-scan
para ver la dirección IP en nuestra red que sería la 192.168.0.153
.
Realizamos un ping a la dirección IP y podemos validar que tenemos alcance.
Empezamos con un escaneo de puertos y podemos ver que solo tenemos los puertos 22,80 y 3389.
Empezamos realizando un escaneo más profundo de los puertos identificados, pero no vemos más información que probablemente tengamos un login.
Vamos al navegador e ingresamos la dirección IP y no vemos ningún contenido, pero al inspeccionar el código, vemos que habla con marco
y de un archivo .bak
.
Realizando un escaneo de subdirectorios, considerando esa extensión vemos que tenemos un check.bak
.
Al ingresar ese nombre en el navegador nos da para descargar el archivo, lo cual realizamos.
Al momento de abrir el archivo podemos ver que tenemos lo que viene a ser las credenciales hasheadas
.
Podemos observar que la comparación que realiza es usando ==
y no ===
así también usa un solo un subconjunto empieza con 0e
seguido solo de números, así que debemos emplear un password, que al hashearlo
empiece con 0e
y el resto de parámetros deben ser letras. Buscamos listas sha256
como la siguiente lista y al filtrar por la letra podemos ver que tenemos el siguiente, pero vemos que no son puros números.
Buscando con Google Dorking
para facilitar el filtrado y podemos ver que tenemos varios archivos.
Al ingresar al siguiente GitHub podemos ver que tenemos los hashes que buscábamos.
Si ingresamos cualquier palabra, pero considerando cualquiera de esas palabras que generan el hash, podemos ver que tenemos acceso.
Creamos el archivo id_rsa
, damos permisos de ejecución y usando el usuario marco
podemos acceder con este usuario.
Listamos los archivos y archivos ocultos donde podemos ver que tenemos uno llamado X
que está oculto, y probando con un sudo -l
vemos que esa palabra corresponde a la contraseña de este usuario.
marcothehasher
Revisando si tenemos más carpetas, vemos que dentro de la carpeta del usuario maria
hay un script, pero al ejecutarlo, no podemos hacerlo.
Ya que tenemos problemas, nos conectamos agregando -XY
en nuestro comando.
Ejecutamos el script, pero solo nos ejecuta una ventana y nada más, por ello revisando permisos SUID podemos ver que tenemos pkexec
y al verificar si podemos escalar por ese lado, no tenemos gcc
ni make
así que no es posible, pero viendo al final tenemos polkit
.
Buscando alguna vulnerabilidad de este, podemos ver que tenemos el siguiente CVE-2021-4034 el cual también hace uso de pkexec
.
Buscando sobre este CVE encontramos un GitHub que ya contiene el exploit automatizado y para ello descargamos y seguimos los pasos.
Ya que no tiene acceso a curl
, lo hacemos en nuestra máquina local y luego iniciamos nuestro servidor web.
Luego de ello copiamos el archivo en la máquina víctima y podemos ver que al ejecutarlo ya tenemos acceso root
. De esta manera culminamos esta máquina.
Subscribe to my newsletter
Read articles from Gm4tsy directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
