Page cover

👾Lab - Hard

Introducción

El tercer servidor es otro servidor interno que se utiliza para gestionar archivos y material de trabajo, como formularios. Además, en el servidor se utiliza una base de datos cuya finalidad desconocemos.


Pregunta 1

¿Qué archivo puedes recuperar que pertenezca al usuario "simon"?

Escaneo de puertos

sudo nmap -v -sV -p- 10.129.201.127

PORT     STATE SERVICE
135/tcp  open  msrpc
445/tcp  open  microsoft-ds
3389/tcp open  ms-wbt-server

Encontramos 3 puertos abiertos, entre ellos el 445 SMB y el 3389 RDP que nos interesan de cara a una enumeración de usuarios y el bruteforce de estos servicios.

También con un escaneo dirigido al puerto 1433 encontramos la base de datos:

nmap -Pn -sV -sC -p 1433 10.129.158.12

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-07 15:54 CEST
Nmap scan report for inlanefreight.htb (10.129.158.12)
Host is up (0.055s latency).

PORT     STATE SERVICE  VERSION
1433/tcp open  ms-sql-s Microsoft SQL Server 2019 15.00.2000.00; RTM
| ms-sql-info: 
|   10.129.158.12:1433: 
|     Version: 
|       name: Microsoft SQL Server 2019 RTM
|       number: 15.00.2000.00
|       Product: Microsoft SQL Server 2019
|       Service pack level: RTM
|       Post-SP patches applied: false
|_    TCP port: 1433
| ms-sql-ntlm-info: 
|   10.129.158.12:1433: 
|     Target_Name: WIN-HARD
|     NetBIOS_Domain_Name: WIN-HARD
|     NetBIOS_Computer_Name: WIN-HARD
|     DNS_Domain_Name: WIN-HARD
|     DNS_Computer_Name: WIN-HARD
|_    Product_Version: 10.0.17763
|_ssl-date: 2024-05-07T13:54:51+00:00; +1s from scanner time.
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Not valid before: 2024-05-07T13:50:35
|_Not valid after:  2054-05-07T13:50:35

Bruteforce de SMB

Vamos a usar el módulo smb_login de Metasploit para hacer el bruteforce contra el usuario Simon:

Encontramos las credenciales simon:liverpool para acceder por SMB

Enumeración de SMB

Con crackmapexec encontramos que podemos acceder al recurso compartido Home

Encontramos 3 usuarios: Fiona, John y Simon

Bingo! Hemos encontrado el archivo objetivo, nos lo podemos descargar con get.


Pregunta 2

Enumera el objetivo y busque una contraseña para el usuario Fiona. ¿Cuál es su contraseña?

Accedemos a la carpeta de Fiona que encontramos por SMB y vemos que hay un archivo de credenciales: creds.txt

Con este archivo podríamos probar a hacer bruteforce contra SMB o RDP y el usuario Fiona.

Bruteforce de SMB

Bingo! Obtenemos la contraseña de FIona: 48Ns72!bns74@S84NNNSl

Con estas credenciales, vamos a enumerar los recursos compartidos

Enumeración de SMB

Igual que el usuario Simon, tenemos el recurso compartido Home accesible.

Hay 3 archivos que parecen importantes dentro de este usuario John, 2 de ellos con información relevante:

Bruteforce de RDP

Vamos a hacer bruteforce a RDP para poder acceder al sistema de forma gráfica:

Obtenemos la contraseña RDP de Fiona, que es la misma del servicio SMB: 48Ns72!bns74@S84NNNSl

Conexión por RDP

Mimikatz no consigue extraer hashes, ya que necesitamos más privilegios, pero encontramos que podemos acceder al SQL Server:

Probamos con todas las posibles combinaciones de John pero no podemos acceder, por lo que vamos a probar a entrar a la base de datos de otra manera: con sqlcmd


Pregunta 3

Envíe el contenido del archivo flag.txt en el escritorio del administrador.

Acceso a base de datos

Una vez que hemos accedido por RDP, abrimos un cmd o powershell y ejecutamos lo siguiente:

Enumeramos las bases de datos pero no encontramos nada relevante, por lo que vamos a probar a autenticarnos como el usuario administrador

Impersonation

Vamos a impersonarnos como el usuario john de la siguiente manera:

Nos conseguimos autenticar como el usuario john

Identificación de servidores vinculados MSSQL

Encontramos un servidor vinculado a MSSQL: LOCAL.TEST.LINKED.SRV

Enumeración del servidor vinculado MSSQL

Extracción de la flag

El siguiente comando es un poco "tricky", ya que tenemos que hacer un execute del select que hace un bulk del archivo que queremos leer, y le tenemos que asignar el servidor vinculado MSSQL al final:

Y buumm! Conseguimos acceder al archivo que queramos correctamente, en este caso la flag!

Última actualización

¿Te fue útil?