Relevant
En esta maquina nos enfrentaremos a un servidor IIS, servicio de smb del cual tendremos que explotar. El servicio smb, en el cual se tiene un directorio el cual es compartido a la red, pero este tiene permisos de escritura el cual usaremos para obtener una shell en esta. Una vez realizado la intrusión encontraremos que el permiso SeImpersonatePrivilege nos permitirá escalar privilegios hasta el usuario administrador.

Enumeración
Iniciaremos enumerando los puertos abiertos de la maquina victima, este lo haremos con la herramienta nmap
Veamos a detalle cada parametro:
-p-: esta opción indica anmapque escanee todos los puertos, es decir, desde el puerto 1 hasta el puerto 65535. El guion (-) especifica el rango de puertos completo.--open: esta opción indica anmapque muestre solo los puertos que están abiertos. Esto reduce el ruido en la salida al mostrar solo los puertos accesibles.--min-rate 5000: esta opción establece la velocidad mínima de envío de paquetes a 5000 paquetes por segundo. Esto puede acelerar el escaneo de puertos al enviar paquetes más rápidamente.-vvv: esta opción activa el modo de verbosidad máximo, lo que significa quenmapmostrará una cantidad considerable de información sobre el progreso del escaneo y los detalles de los puertos y hosts descubiertos.-Pn: esta opción le indica anmapque no realice el descubrimiento de hosts, lo que significa que no enviará pings para determinar si los hosts están activos. Esto es útil si el objetivo no responde a los pings, pero aún así queremos escanear sus puertos.-n: esta opción le indica anmapque no realice la resolución de DNS inversa para las direcciones IP encontradas. Esto ayuda a acelerar el escaneo evitando la búsqueda de nombres de host.10.10.126.60: la dirección IP del objetivo que se está escaneando.-oG allportSScan: esta opción indica anmapque genere la salida en formato "grepable" y guarde los resultados en un archivo llamado "allportSScan". Este formato es adecuado para el procesamiento posterior de los resultados del escaneo.
Luego de enumerar y saber que puertos están abiertas procederemos a enumerar los servicios y versiones que se ejecutan en cada puerto para explotar cada uno de ellos.
Los parámetros que usamos de nmap fueron :
-p80,135,139,445,3389,49663,49667,49670: esta opción especifica los puertos que se escanearán. En este caso, se están escaneando los puertos 80, 135, 139, 445, 3389 y los puertos de rango 49663 a 49670.-sC: esta opción activa el escaneo de scripts de nmap, lo que implica ejecutar scripts prediseñados para detectar vulnerabilidades y recopilar información adicional sobre los servicios que se están ejecutando en los puertos escaneados.-sV: esta opción activa la detección de versión, lo que significa quenmapintentará determinar las versiones de los servicios que se están ejecutando en los puertos escaneados.-Pn: esta opción le indica anmapque no realice el descubrimiento de hosts, lo que significa que no enviará pings para determinar si los hosts están activos. Esto es útil si el objetivo no responde a los pings, pero aún queremos escanear sus puertos.-n: esta opción le indica anmapque no realice la resolución de DNS inversa para las direcciones IP encontradas. Esto ayuda a acelerar el escaneo evitando la búsqueda de nombres de host.-vvv: esta opción activa el modo de verbosidad máximo, lo que significa quenmapmostrará una cantidad considerable de información sobre el progreso del escaneo y los detalles de los puertos y servicios descubiertos.-oN servicesScan: esta opción indica anmapque genere la salida en formato normal y guarde los resultados en un archivo llamado "servicesScan". Este formato es adecuado para la revisión manual de los resultados del escaneo.
Enumeración de smb
Luego de enumerar los puertos, procederemos a enumerar el servicio smb, haciendo uso de smbmap

Podemos ver que el directorio nt4wrksv el cual se tiene acceso a leer y escribir. Ahora con la herramienta de smbcleint ingresaremos con el fin de leer los archivos

En el directorio nt4wrksv en el cual tenemos permisos de lectura, encontraremos un archivo passwords.txt en el cual encontraremos lo siguiente:

Haciendo uso de base64 podremos dar lectura al texto decodificado.
Teniendo las credenciales intentaremos ingresar con psexec

Pero no podemos debido a que el usuario no tiene suficientes permisos

Enumerando el sitio web, encontremos con el siguiente directorio en el puerto 49663

Anteriormente se había visto el archivo password.txt enumerando el servicio smb en un directorio que teníamos permisos de escritura.
Explotación
En este caso tenemos un servicio web que esta gestionado por un IIS por lo que debemos de subir un fichero en .aspx, para ello tenemos dos casos.
Caso 1
En este caso haremos uso de un script el cual haremos uso para obtener una shell
Link de la repo: aspx-reverse-shell
Ahora solo cambiaremos la ip y el puerto.

Ingresaremos al directorio con smbclient y agregaremos nuestro archivo malicioso

Caso 2
Para el segundo caso haremos uso de msfvenom con el cual generaremos nuestro fichero malicioso para luego agregar nuestro archivo el directorio compartido de smb

Escalada de privilegios
Luego de hacer la petición al sitio web en el directorio donde se encontraba passwords.txt y cambiemos por nuestro archivo podremos obtener una shell. Luego enumerar con lo siguiente whoami /priv podremos encontrar lo siguiente.

El permiso que encontramos es SeImpersonatePrivilege el cual podremos usar para escalar privilegios
SeImpersonatePrivilege
Podemos hacer uso de los siguientes post y poder documentarnos con :
Haremos uso de PrintSpoofer64.exe para poder escalar privilegios, pero antes debemos de subir el archivo

Luego podremos encontrar nuestro archivo en la dirección c:\inetpub\wwwroot\nt4wrksv. Ahora podremos copiarnos a un directorio que tenemos privilegios para ejecutar.
Ejecutamos :
Y podremos escalar privilegios

Last updated