Cmspit
Last updated
Last updated
CMSpit
TRYHACKME
LINUX
Realizamos un escaneo de puertos con la herramienta nmap, en esta caso lo podemos realizar con muchas otras pero yo la realizaré con nmap
-p- : Es el rango de puertos las cuales va escanear.
--open : Solo nos reportará los puertos que tienen status "open".
--min-rate : Indica la tasa minima de paquetes, esto acelerará el escaneo. Esto puede tener muchas deficiencias cuando la condición de la red es muy mala y en ese caso es mejor realizar un T4 o T5.
-vvv : Con este parametro podemos ver la output mientras va escaneando y asi adelantar un poco mas de trabajo.
-n : Parametro que indica que no deseamos que realiza host discovery, con esto activo puede demorar un poco mas el escaneo.
NMAP nos reporta dos puertos el 22 y 80, entonces con nmap vamos a escanear los servicios y versiones que se estan ejecutando en estos puertos.
-p22,80 : Puertos en espacificos que deseamos escanear.
-sC : Scripts por defecto que se usaran para la enumeración.
-sV :Enumerar las versiones y servicios
-sCV : Otra manera de indicar -sC y -sV de manera junta.
-oN : Para que nos guarde la información enumerada en formato nmap.
Se encuentra un sitio web con un login, de la cual no tenemos credenciales.
Enumerando un poco no topamos un directorio que nos muestra la versión
Teniendo la versión, buscamos un exploit y nos topamos con uno. Este permite enumerar usuarios y cambiar la contraseña.
Nos lo traemos a nuestro direcorio de trabajo y ejecutamos. Enumeramos los usuarios existentes:
admin
darkStart7471
skidy
ekoparty
De los cuales podemos cambiar las contraseñas. En caso nuestro cambiaremos la contraseña del usuario admin.
Estando logueados podemos enumerar el CMS para realizar ejecución de comandos dentro del sistema. En este apartado vemos un campo en el cual podemos subir un archivo.
Vemos un boton para poder subir un archivo
shell.php
Este archivo en php(web shell) nos permitira ejecutar comandos en el sistema victima.
Ya tenemos la shell.php subida.
Necesitamos la ruta de donde se almacenó nuestro shell.php y para eso nos vamos al apartado siguiente
Si le pasamos el comando ls -la, vemos que los lista los archivos existentes dentro del sistema víctima
Para obtener el acceso a la maquína, vamos a crearnos un archivo index.html que contendra lo siguiente.
index.html
Esto se puede realizar de muchas maneras ya que tenemos ejecución de comandos a nivel del sistema víctima.
Luego iniciamos un servidor en python indicandole el puerto en donde va ejecutarse.
Y ponernos a la escucha en el puerto 443 para ganar acceso a la máquina, ya que en el archivo index.html le indicamos que a ese puerto nos enviará una shell.
En la url ponemos lo siguiente:
Realizamos un curl a nuestro servidor que esta con python y lo vamos a interpretar con bash, esto noes permite entablarnos un shell a nivel de terminal
Una vez ganado acceso, realizamos un tratamiento de la tty, para tener un mejor manejo de la consola y que esta sea iteractiva
Enumerando los directorios, en /home/stux encontramos un archivo .dbshell
En este archivo encontramos credenciales del usuario stux que usa en una base de datos. Entonces podemos probar si se reutilizan las credenciales
Desde luego se estan reutilizando las credenciales
Teniendo las credenciales vamos a enumerar los privilegios que tiene este usuario
Ya tenemos nuestra flag, pero lo que queremos es ganar privilegios de usuario root
Buscando en la web y damos con un blog en la que explica la vulnerabilidad y como podemos ejecutar comandos de manera manual.
Exploit que podemos usar para generar de manera automatizada nuestra imagen con el payload indicado.
Vamos a instalar la djvulibre-bin
Tambien necesitaremos un imagen y nuestro payload que queremos que ejecute root.
Payload, contendra lo siguiente:
Con esto vamos a la /bin/bash para que sea SUID y con bash -p podamos ser usuario root.
Ejecutamos bzz:
Creamos un exxploit.djvu:
configfile
Ahora solo le pasamos el payload a nuestra imagen y cuando se ejecute con exiftool ejecutaremos el comando que le indicamos en nuestro payload
Subimos nuestra imagen con al maquina victima, hay muchas maneras de como subirlo (pyhton, ncat).
La bash no es SUID
Ejecutamos exiftool ccon nuestra imagen, y deberia de haber cambiado los permisos de la /bin/bash
La /bin/bash ahora es SUID
Vamos a subir una en php.
Si nos vamos a , vemos una manera de obtener los archivos. Haciendo uso del siguiente comando
BLOG :