Relevant
Last updated
Last updated
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.
Link
Created by
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 a nmap
que 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 a nmap
que 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 que nmap
mostrará 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 a nmap
que 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 a nmap
que 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 a nmap
que 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 que nmap
intentará determinar las versiones de los servicios que se están ejecutando en los puertos escaneados.
-Pn
: esta opción le indica a nmap
que 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 a nmap
que 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 que nmap
mostrará 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 a nmap
que 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.
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.
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
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
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
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
Link de la repo: