Bounty
Last updated
Last updated
BOUNTY
HACKTHEBOX
WINDOWS
Realizamos un simple ping, esto nos ayudara a identificar el ttl y esto nos indica el OS al cual nos estamos enfrentado. Esto a veces varia, pero normalmente se tiene que en :
Linux -> ttl -> 64
Windows -> ttl -> 128
En este caso se tiene un ttl de 127, esto es debido a que nos conectamos atraves de un nodo intermediario y eso hace que el ttl disminuya en una unidad.
-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.
-p80 : 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.
Nos encontramos que el puerto 80 esta abierto, esto normalmente es "http" así que vamos a hechar un vistaso a la página web.
Hay muchas maneras de enumerar las tecnologias que se estan ejecutando en un servidor, pero las que yo utilizó normalmente es wappalyzer y whatweb
Wappalyzer
whatweb
Para descubrir directorios en el sitio web, realizaremos fuzzing con wfuzz el cual probará distintos directorios en el sitio web.
Se encuentra dos directorios, pero no tenemos acceso de listar el contenido de estos.
Con la herramienta gobuster vamos hacer fuzzing, esto para descubrir archivos que estan en el servido web al cual no se ve.
Al parecer los archivo que se suben al servidor se almacenan en /uploadedfiles/
Vamos a subir un archivo apsx malicioso para poder conectarnos al servidor.
El archivo no puede ser cargado al servidor, seguramente tiene alguna regla definida a nivel de codigo.
Logramos cargar nuestro archivo al servidor, ahora probaremos a entablarnos una consola interactiva del servidor hacia nuestra maquina atacante. Pero vemos que no se puede, ya que nos marca un error.
Probamos a subir varios extenciones de archivos y nos deja subir un web.config, un web.config es como un .htaccess de un servidor apache
Tenemos una manera de ejecutar comandos, si probamos inyectantando el siguiente codigo.
Vemos que se puede ejecutar comandos a novel de sistema.
Para obtenre una consola interactiva, usaremos nishang.
Una vez descargado, vamos a insertar lo siguiente al final
Archivo web.config
Con ncat nos ponemos a la escucha por el puerto que colocamos en el archivo "nishangPStcp.ps1" y con python un servidor en el puerto 80
Ganamos acceso al servidor y somos el usuario merlin
En el escritorio de merlin obtendremos nuestra flag.
Enumeramos el sistema y tenemos una posible via de escalar privilegios
Leyendo el siguiente artículo vemos como explotar esta vulnerabilidad:
Vamos a descargar todo lo que necesitamos:
.bat :
shell.bat
nishang
Ya tenemos todo, ahora vamos a cargar a la maquina victima.
Una vez subida todo lo necesario, ejecutemos lo siguiente, pero antes debemos de tener un servidor web a nivel de red, esto lo podemos hacer con python3 :
Ya seriamos administradores wow:
Tenemos un archivo "/transfer.aspx" el cual permitesubir un archivo. subimos una imagen para ver que ocurre.
Vamos a realizar una para evadir de alguna manera los filtros, para que así se logre cargar.
Explotar el impersonate privileges en un laboratorio:
juicy patato :