3 minute read

header-return

Datos de la Máquina

Contenido Descripción
OS: windows
Dificultad: Fácil
Puntos: 20
Lanzamiento: 27 Sep 2021
Creadores: MrR3boot

Reconocimiento

Primero agregaremos nuestra ip al archivo /etc/hosts con el dominio return.htb

hosts

nmap

Como siempre comenzaremos con un escaneo a los 65535 puertos TCP/IP para verificar cuales se encuentran abiertos, para esto ejecutaremos el siguiente comando:

nmap -n -p- -T4 --min-rate 10000 return.htb --open -oA alltcp

Como observamos en la siguiente imagen encontramos con los siguientes puertos abiertos:

  • 53 (domain)
  • 80 (http)
  • 135 (msrpc)
  • 139 (netbios-ssn)
  • 445 (microsfot-ds)
  • 464 (kpasswd5)
  • 593 (http-rpc-epmap)
  • 3269 (globalcatLDAPssl)
  • 49675 (unknown)

nmap-tcpscan

Una vez identificados los puertos abiertos, procederemos a identificar las versiones y servicios de cada uno, y de igual manera arrojaremos los script por defecto de nmap:

Cabe mencionar que el argumento -sCV es una union de usar -sV y -sC

nmap -sCV -n -p 53,80,135,139,445,464,593,3269,49675 -T4 return.htb -oA tcp-scripts

nmap-scripts

Al identificar una máquinas Windows con varios puertos abiertos, podemos hacer uso de la herramienta Crackmapexec, para confirmar el hostname.

cme

Haciendo una busqueda por internet encontre una guía para recopilar información usando Python3: Hacktricks

python-ldap

Agregamos el host en nuestro etc/hosts

echo '10.129.132.85	return.local' >> /etc/hosts

Printer Admin

Observando los puertos abiertos que encontramos en la fase de reconocimiento nos percatamos que teniamos el puerto 80 abierto, lo cual visitamos en el navegador y nos aparece un panel de administración de impresion.

printer-panel

Navegamos sobre la web y encontramos información relevante en la configuración

settings-printer

Observando la contraseña se encuentra cifrada, por lo cual buscando en la red nos escontramos con este articulo lo cual podemos interceptar la contraseña en texto plano con netcat.

nc-389

Crackmapexec

Ahora que tenemos las credenciales, trataremos de obtener más información con Crackmapexec.
cmd-cred

SMBMap

De igual forma podemos conectarnos ahora que ya tenemos credenciales.

smbmap -H return.local -u "svc-printer" -p "1edFg43012\!\!"

smbmap-01

Observamos que tenemos permisos de (Lectura y Escritura) sobre el disco C.

smbmap -H return.local -u "svc-printer" -p "1edFg43012\!\!" -r C$

smbmap-02

Nos vamos a la carpeta Usuarios para darle un vistazo.

smbmap -H return.local -u "svc-printer" -p "1edFg43012\!\!" -r C$/Users/

smbmap-03

Nos dirigos a el usuario con el cual iniciamos sesión.

smbmap -H return.local -u "svc-printer" -p "1edFg43012\!\!" -r C$/Users/svc-printer

smbmap-04

Hechamos un vistazo a las carpetas y nos vamos sobre Desktop

smbmap -H return.local -u "svc-printer" -p "1edFg43012\!\!" -r C$/Users/svc-printer/Desktop

smbmap-05

Tenemos la primer bandera de user.txt, ahora la descargamos sobre nuestra máquina.

smbmap -H return.local -u "svc-printer" -p "1edFg43012\!\!" -r C$/Users/svc-printer/Desktop -A "user.txt"

smbmap-06

Evil-WinRM

Con las credenciales que obtuvimos anteriormente de igual forma podremos obtener una shell interactiva usando Evil-WinRM
shell-evil-winrm

Recopilación de Información del Usuario

Ahora que tenemos una shell interactiva podemos investigar, usuarios, grupos y permisos.

  • whoami
  • whoami /groups
  • net users
  • net groups
  • net usr svc-printer
    evilwinrm-enum-01 evilwinrm-enum-02 evilwinrm-enum-03

Arriba hemos recopilado mucha información útil, lo más interesante que vemos es que nuestro usuario está en los grupos de Operadores del servidor. Detallado aquí vemos que esto nos da:

Members of the Server Operators group can sign in to a server interactively,
create and delete network shared resources, start and stop services,
back up and restore files, format the hard disk drive of the computer,
and shut down the computer.

Configuración de Servicios

El enfoque de nuestro próximo paso es interactuar con los servicios. Podemos ver desde dentro de Evil-WinRM a qué tenemos acceso:
evilwinrm-services

Primero tendremos que subir a Windows la versión de netcat. nc-upload

Despues de subirlo trataremos de crear nuestro propio servicio: own-service

Luego intenté cambiar la configuración de un servidor existente para que use mi netcat en su lugar para su binario:
config-service

Finalmente obtenemos el servicios VSS y anclamos nuestro binario a este: nc-vss

Verificamos que este servicio exista: service-vss

Antes de iniciarlo tendremos que poner a la escuche netcat en lel puerto especificado:

nc -nvlp 4444

Iniciamos el servicio:

create-service

Obtenemos Shell de Administrador

Una vez iniciado el servicio nos arrojara una shell en netcat. create-service

Ahora unicamente tendremos que encontrar nuestra bandera de root:

Cabe mencionar que las acciones las tendremos que hacer rápido ya que en cierto tiempo de termina el servicio y tendremos que volver iniciar netcat junto con el servicio: create-service

Good Luck! and Happy Hacking!

Tags:

Categories:

Updated: