HackTheBox Authority

nmap -sS -Pn -n -vvv --open --min-rate 5000 10.10.11.222 -oG port

PORT     STATE SERVICE          REASON
53/tcp   open  domain           syn-ack ttl 127
80/tcp   open  http             syn-ack ttl 127
88/tcp   open  kerberos-sec     syn-ack ttl 127
135/tcp  open  msrpc            syn-ack ttl 127
139/tcp  open  netbios-ssn      syn-ack ttl 127
389/tcp  open  ldap             syn-ack ttl 127
445/tcp  open  microsoft-ds     syn-ack ttl 127
464/tcp  open  kpasswd5         syn-ack ttl 127
593/tcp  open  http-rpc-epmap   syn-ack ttl 127
636/tcp  open  ldapssl          syn-ack ttl 127
3268/tcp open  globalcatLDAP    syn-ack ttl 127
3269/tcp open  globalcatLDAPssl syn-ack ttl 127
5985/tcp open  wsman            syn-ack ttl 127
8443/tcp open  https-alt        syn-ack ttl 127

Puertos Abiertos.


nmap -sCV -p53,80,88,135,139,389,445,464,593,636,3268,3269,5985,8443 10.10.11.222 -oN target.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-05-04 03:46 EDT
Nmap scan report for 10.10.11.222
Host is up (0.045s latency).

PORT     STATE SERVICE       VERSION
53/tcp   open  domain        Simple DNS Plus
80/tcp   open  http          Microsoft IIS httpd 10.0
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-title: IIS Windows Server
|_http-server-header: Microsoft-IIS/10.0
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-05-04 03:49:45Z)
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
389/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
| ssl-cert: Subject: 
| Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, DNS:authority.htb.corp, DNS:htb.corp, DNS:HTB
| Not valid before: 2022-08-09T23:03:21
|_Not valid after:  2024-08-09T23:13:21
|_ssl-date: 2025-05-04T03:50:40+00:00; -3h56m31s from scanner time.
445/tcp  open  microsoft-ds?
464/tcp  open  kpasswd5?
593/tcp  open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp  open  ssl/ldap      Microsoft Windows Active Directory LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
| ssl-cert: Subject: 
| Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, DNS:authority.htb.corp, DNS:htb.corp, DNS:HTB
| Not valid before: 2022-08-09T23:03:21
|_Not valid after:  2024-08-09T23:13:21
|_ssl-date: 2025-05-04T03:50:40+00:00; -3h56m31s from scanner time.
3268/tcp open  ldap          Microsoft Windows Active Directory LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
| ssl-cert: Subject: 
| Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, DNS:authority.htb.corp, DNS:htb.corp, DNS:HTB
| Not valid before: 2022-08-09T23:03:21
|_Not valid after:  2024-08-09T23:13:21
|_ssl-date: 2025-05-04T03:50:40+00:00; -3h56m31s from scanner time.
3269/tcp open  ssl/ldap      Microsoft Windows Active Directory LDAP (Domain: authority.htb, Site: Default-First-Site-Name)
|_ssl-date: 2025-05-04T03:50:40+00:00; -3h56m31s from scanner time.
| ssl-cert: Subject: 
| Subject Alternative Name: othername: UPN:AUTHORITY$@htb.corp, DNS:authority.htb.corp, DNS:htb.corp, DNS:HTB
| Not valid before: 2022-08-09T23:03:21
|_Not valid after:  2024-08-09T23:13:21
5985/tcp open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
8443/tcp open  ssl/http      Apache Tomcat (language: en)
| ssl-cert: Subject: commonName=172.16.2.118
| Not valid before: 2025-05-02T03:46:41
|_Not valid after:  2027-05-04T15:25:05
|_ssl-date: TLS randomness does not represent time
|_http-title: Site doesn't have a title (text/html;charset=ISO-8859-1).
Service Info: Host: AUTHORITY; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: -3h56m31s, deviation: 0s, median: -3h56m31s
| smb2-time: 
|   date: 2025-05-04T03:50:32
|_  start_date: N/A
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required

Versiones y servicios que corren para cada uno de esos puertos.


Ldapsearch

Verificamos el dominio y lo agregamos al etc/hosts.


SMB Enumeration

Recursos compartidos.

Noos conectamos con una session nula y nos descargamos todo lo que encontramos.


Cracking Ansible Vault

/home/kali/Desktop/HackTheBox/Authority/content/Automation/Ansible/PWM/defaults


Que hicimos sacamos el ticket lo enviamos a un archivo llamado vault, luego usamos el contenido del archivo vault para geerar un hash crackeable usando John y tenemos la contraseña.


A través de la herramienta de ansible-vault trataremos de desencriptar las credenciales de Ansible. FInalmente, logramos obtener las credenciales del usuario PWM y credenciales de un usuario de LDAP


Initial Access

Nos loguemos con las credenciales encontradas de el vault1 y vault2.

En la configuracion de este servicio observamos que podemos importarle una configuracion, y descargar la configuracion actual, Vamos a descargar la actual y ver que podemos modificar.

Observamos una via potencial de enviarnos algun tipo de conexion aca, en vez de que apunte asu propio servicio lo haremos que apunte a nuestra direccion IP.

Subiremos esta configuracion modificada y nos ponemos en escucha por el puerto que esta usando las APP.


Conexion entrante svc_ldap,OU=Service Accounts,OU=CORP,DC=authority,DC=htblDaP_1n_th3_cle4r!, parecen credenciales del servicio ldap.


NXC

Tenemos credenciales validas para conectarnos viawinrm, el usuario pertenece seguro al Remote Management User.


WinRm

Bueno nos conectamos y obtenemos la primera bandera.


Privilege Escalation

El comando le dice a Certipy que se conecte al servidor del dominio (10.10.11.222) usando el usuario svc_ldap con su contraseña, y que busque si hay cuentas o configuraciones en Active Directory que tengan vulnerabilidades conocidas, como usuarios que pueden pedir certificados sin control, delegaciones inseguras o permisos mal configurados.

En resumen, hay una plantilla de certificado llamada CorpVPN que podrías aprovechar si se cumplen ciertos requisitos. Te explico de forma sencilla:


📌 ¿Qué encontraste?

  • Autoridad de Certificados (CA) activa llamada AUTHORITY-CA.

  • Una plantilla de certificado activa llamada CorpVPN.

  • Está configurada para que el usuario que la solicite elija el nombre del certificado (SAN) → esto puede ser peligroso si no está bien controlado.

  • La clave privada es exportable, lo cual facilita abusos.

  • Cualquier usuario autenticado (Authenticated Users) puede solicitar certificados.


🧨 ¿Por qué es potencialmente vulnerable?

Porque podrías solicitar un certificado en nombre de otro usuario, como un Domain Admin, y luego usar ese certificado para autenticarte y obtener acceso a alto nivel en el dominio

Agregamos el dominio authority.authority.htb al etc/hosts


NXC

La salida indica que el módulo MAQ ha ejecutado correctamente y ha obtenido el valor de MachineAccountQuota, que es 10 en este caso.

🔍 ¿Qué significa esto?

  • El MachineAccountQuota define cuántas cuentas de equipo pueden ser creadas por un solo usuario en Active Directory.

  • En tu caso, el valor de 10 significa que cualquier usuario puede crear hasta 10 cuentas de máquina en el dominio. Esto puede ser aprovechado para crear cuentas de máquinas maliciosas (como si fueran equipos legítimos), lo cual es una forma de pivotar o escalar privilegios.


Impacket-addcomputer

Perfecto, agregaste exitosamente otra cuenta de máquina llamada EVIL01$ con una contraseña robusta (Str0ng3st_P@ssw0rd!).


Perfecto! Logramos obtener un certificado válido para el usuario administrator@authority.htb usando la cuenta de máquina EVIL01$, lo cual es un abuso exitoso del template CorpVPN.

¿Qué significa esto?

Acabavamos de emitir un certificado que permite autenticarse como el administrador del dominio.

Aunque no somos administrator, el template no verifica que seas el dueño del UPN, lo cual es una vulnerabilidad grave en el entorno Active Directory Certificate Services (AD CS).


Openssl

Con ese comando estás extrayendo la clave privada desde el .pfx, y la estás guardando en un archivo (administrator.key) en formato PEM



Este comando busca obtener un Ticket de Servicio (TGS) para el servicio cifs/AUTHORITY.authority.htb utilizando el ticket de la cuenta EVIL01$. El -impersonate Administrator está diciendo que se quiere obtener un ticket de servicio como si fueras el usuario "Administrator", a pesar de estar usando las credenciales de la máquina EVIL01$.


Impacket-Secretsdump

Nos dumpeamos los hashes.


Evil-Winrm

Última actualización