Active

Máquina de dificultad fácil de la plataforma HackTheBox

Comprobación

Comenzamos con esta máquina creándonos como siempre un directorio con el mismo nombre de la máquina, metiéndonos dentro y con la utilidad “maquina” nos creamos nuestros directorios de trabajo

Una vez que tenemos nuestros directorios creados vamos a lanzarle una traza icmp a la IP de la máquina víctima para ver si la podemos ver desde nuestra máquina de atacante

Observamos que podemos ver la máquina perfectamente

En función del ttl que tenemos cuando lanzamos un ping a la máquina víctima, podemos más o menos identificar ante qué sistema operativo nos estamos enfrentando, 64 suele ser para Linux y 128 para Windows

Como podemos observar en nuestro ping nos sale que el ttl es 127, eso es porque antes de llegar a la IP de la máquina víctima nuestra traza pasa por un nodo intermediario, si le hacemos un trace route podemos observarlo

Podemos ver que el paquete pasa por la IP 10.10.14.1 antes de llegar a su objetivo

Una vez que vemos que tenemos conectividad con nuestra máquina víctima vamos a pasar al escaneo de puertos

Escaneo de puertos

Vamos a comenzar con el escaneo básico de puertos que hacemos siempre para ver a qué nos estamos enfrentando

Este es el escaneo que solemos hacer y en el que incluimos parámetros de nmap que nos ayudan a ir más rápido y a ser más sigiloso, por ejemplo el parámetro -sS nos permite no ejecutar un three-way handshake lo que hace que sea más rápido y sigiloso ya que no deja evidencias de que se haya establecido una conexión, –min-rate 5000 nos permite especificarle a la herramienta que no queremos que se efectúe el escaneo con una velocidad menor a 5000 paquetes por segundo, -n le indica a nmap que no queremos que haga resolución dns, -Pn para que no nos haga descubrimiento de hosts a través del protocolo arp y por último -oG para exportar todas las evidencias en un formato que sea fácil de tratar más tarde con regex

Una vez que termina el escaneo, con la herramienta portsClean.sh vamos a poder extraer los datos más relevantes del escaneo

Viendo los puertos que están abiertos más o menos podemos hacernos la idea de que estamos ante un controlador de dominio

Después de ver todos los puertos que están abiertos vamos a realizar otro escaneo contra estos puertos específicamente para poder determinar qué versión está corriendo por detrás y para lanzar unos scripts básicos de reconocimiento que tiene previamente nmap programados en Lua

Todo el output del escaneo vamos a meterlo en el archivo “versiones” en el mismo formato en el que nos lo reporta nmap por consola

Como podemos ver tenemos el puerto 88 para kerberos, el 445 para smb, el 3268 para ldap…

Tenemos muchos puertos abiertos los que nos da a pensar que esto es un dominio

Usuario sin privilegios

Como es un dominio lo primero es ver el nombre del dominio y el nombre de la máquina

Podemos ver que la máquina se llama DC y que el dominio es “active.htb”

Para poder añadir el nombre del dominio y la IP de manera rápida hay un parámetro en netexec que nos permite generar un archivo el cual podemos fusionar con nuestro /etc/hosts para así poder añadirlo sin tener que recordar la IP ni el nombre del dominio

Ahí podemos ver que es más cómodo que abrir el /etc/hosts y añadirlo nosotros manualmente

Una vez que tenemos ya el dominio en el /etc/hosts vamos a ver si podemos visualizar recursos compartidos a través del protocolo smb sin credenciales

Podemos ver que tenemos solamente capacidad de lectura en el directorio “Replication” por lo que vamos a ver qué es lo que hay dentro

Dentro podemos ver otro directorio llamado “active.htb” por lo que nos va a tocar seguir buscando dentro para ver si podemos llegar a ver algún archivo crítico

Podemos ver que el directorio “active.htb” tiene los mismos directorios que suele tener un archivo SYSVOL por lo que vamos a buscar si hay un archivo groups.xml que contenga un usuario y contraseña

Después de buscar en varias rutas, he encontrado un archivo “Groups.xml”

Por lo que este archivo nos lo traemos a nuestra máquina para ver qué es lo que contiene dentro

Podemos ver que tenemos un usuario “SVC_TGS” y lo que parece su contraseña en el campo “cpassword”

La contraseña vamos a descifrarla con la herramienta gpp-decrypt, esto es posible a que Microsoft en su día utilizó una clave AES pública la cual se contempla dentro del script gpp-decrypt

Ahí tenemos una contraseña en texto claro, lo que todavía no sabemos es si es válida para el usuario “SVG_TGS”

Para poder validarlo vamos a usar la herramienta netexec de nuevo

Usuario administrador

Podemos observar que sí que es válida la contraseña para ese usuario

Una vez que tenemos un usuario válido vamos a ver si hay algún usuario dentro de la máquina que sea vulnerable a un kerberoasting

Ahí podemos ver que la cuenta del administrador del dominio es vulnerable a un kerberoasting por lo que ahora que tenemos su TGS vamos a intentar romperlo con john

Podemos ver que hemos sacado en claro la contraseña del administrador por lo que ahora vamos a conectarnos a la máquina con la herramienta psexec.py que funciona sobre SMB

Una vez que estamos dentro en el directorio del usuario SVG_TGS podemos ver la flag en su escritorio

Ahora nos vamos a ir al directorio de administrador para ver su flag y con esto daríamos por terminada la máquina

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut