macOS Keychain

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

Drugi načini podrške HackTricks-u:

WhiteIntel je pretraživač pokretan dark web-om koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane malvera za krađu podataka.

Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.

Možete posetiti njihovu veb stranicu i isprobati njihovu mašinu za besplatno na:


Glavni Keš lanci

  • Korisnički Keš lanac (~/Library/Keychains/login.keycahin-db), koji se koristi za čuvanje specifičnih korisničkih podataka poput lozinki aplikacija, internet lozinki, korisničkih generisanih sertifikata, mrežnih lozinki i korisničkih generisanih javnih/privatnih ključeva.

  • Sistemski Keš lanac (/Library/Keychains/System.keychain), koji čuva sistemski široke podatke kao što su WiFi lozinke, sistemski korenski sertifikati, sistemski privatni ključevi i sistemski lozinke aplikacija.

Pristup Lozinki Keš lanca

Ovi fajlovi, iako nemaju urođenu zaštitu i mogu biti preuzeti, su enkriptovani i zahtevaju korisničku plaintext lozinku za dešifrovanje. Alat poput Chainbreaker može se koristiti za dešifrovanje.

Zaštita Unosa Keš lanca

ACL-ovi

Svaki unos u keš lancu upravlja se Listama Kontrole Pristupa (ACL-ovi) koji određuju ko može izvršiti različite akcije na unosu keš lanca, uključujući:

  • ACLAuhtorizationExportClear: Dozvoljava nosiocu da dobije čisti tekst tajne.

  • ACLAuhtorizationExportWrapped: Dozvoljava nosiocu da dobije šifrovan čisti tekst sa drugom pruženom lozinkom.

  • ACLAuhtorizationAny: Dozvoljava nosiocu da izvrši bilo koju akciju.

ACL-ovi su dodatno praćeni listom pouzdanih aplikacija koje mogu izvršiti ove akcije bez upozorenja. To može biti:

  • Nil (nije potrebna autorizacija, svi su pouzdani)

  • Prazna lista (niko nije pouzdan)

  • Lista specifičnih aplikacija.

Takođe, unos može sadržati ključ ACLAuthorizationPartitionID, koji se koristi za identifikaciju teamid, apple, i cdhash.

  • Ako je naveden teamid, tada da bi se pristupio vrednosti unosa bez upita korišćena aplikacija mora imati isti teamid.

  • Ako je naveden apple, tada aplikacija mora biti potpisana od strane Apple-a.

  • Ako je naveden cdhash, tada aplikacija mora imati specifičan cdhash.

Kreiranje Unosa Keš lanca

Kada se novi unos kreira koristeći Keychain Access.app, primenjuju se sledeća pravila:

  • Sve aplikacije mogu šifrovati.

  • Nijedna aplikacija ne može izvoziti/dešifrovati (bez upozorenja korisnika).

  • Sve aplikacije mogu videti proveru integriteta.

  • Nijedna aplikacija ne može menjati ACL-ove.

  • PartitionID je postavljen na apple.

Kada aplikacija kreira unos u keš lancu, pravila su malo drugačija:

  • Sve aplikacije mogu šifrovati.

  • Samo kreirajuća aplikacija (ili bilo koje druge aplikacije eksplicitno dodate) mogu izvoziti/dešifrovati (bez upozorenja korisnika).

  • Sve aplikacije mogu videti proveru integriteta.

  • Nijedna aplikacija ne može menjati ACL-ove.

  • PartitionID je postavljen na teamid:[ovde_teamID].

Pristupanje Keš lancu

security

# Dump all metadata and decrypted secrets (a lot of pop-ups)
security dump-keychain -a -d

# Find generic password for the "Slack" account and print the secrets
security find-generic-password -a "Slack" -g

# Change the specified entrys PartitionID entry
security set-generic-password-parition-list -s "test service" -a "test acount" -S

API-ji

Enumeracija i iskopavanje tajni u ključnom lancu koje neće generisati upit mogu se obaviti pomoću alata LockSmith

Lista i dobijanje informacija o svakom unosu u ključnom lancu:

  • API SecItemCopyMatching daje informacije o svakom unosu i postoje neki atributi koje možete postaviti prilikom korišćenja:

  • kSecReturnData: Ako je tačno, pokušaće da dešifruje podatke (postavite na lažno da biste izbegli potencijalne iskačuće prozore)

  • kSecReturnRef: Dobijanje reference na stavku u ključnom lancu (postavite na tačno u slučaju da kasnije vidite da možete dešifrovati bez iskačućeg prozora)

  • kSecReturnAttributes: Dobijanje metapodataka o unosima

  • kSecMatchLimit: Koliko rezultata vratiti

  • kSecClass: Kakav je unos u ključnom lancu

Dobijanje ACL-ova za svaki unos:

  • Pomoću API-ja SecAccessCopyACLList možete dobiti ACL za stavku u ključnom lancu, i vratiće listu ACL-ova (kao što su ACLAuhtorizationExportClear i ostali prethodno pomenuti) gde svaka lista ima:

  • Opis

  • Lista pouzdanih aplikacija. To može biti:

  • Aplikacija: /Applications/Slack.app

  • Binarni fajl: /usr/libexec/airportd

  • Grupa: group://AirPort

Izvoz podataka:

  • API SecKeychainItemCopyContent dobija tekstualne podatke

  • API SecItemExport izvozi ključeve i sertifikate ali može biti potrebno postaviti lozinke da biste izvezli sadržaj šifrovan

I ovo su zahtevi da biste mogli izvesti tajnu bez upita:

  • Ako je 1+ pouzdanih aplikacija navedeno:

  • Potrebne su odgovarajuće autorizacije (Nil, ili biti deo dozvoljene liste aplikacija u autorizaciji za pristup tajnim informacijama)

  • Potrebno je da se potpis koda poklapa sa PartitionID

  • Potrebno je da se potpis koda poklapa sa onim od jedne pouzdane aplikacije (ili biti član odgovarajuće KeychainAccessGroup)

  • Ako su sve aplikacije pouzdane:

  • Potrebne su odgovarajuće autorizacije

  • Potrebno je da se potpis koda poklapa sa PartitionID

  • Ako nema PartitionID, onda ovo nije potrebno

Dakle, ako je navedena 1 aplikacija, potrebno je ubaciti kod u tu aplikaciju.

Ako je apple naznačen u partitionID, možete pristupiti tome sa osascript tako da sve što veruje svim aplikacijama sa apple u partitionID. Python takođe može biti korišćen za ovo.

Dva dodatna atributa

  • Nevidljivo: To je boolean zastava za sakrivanje unosa iz UI Keychain aplikacije

  • Opšte: Služi za čuvanje metapodataka (tako da NIJE ŠIFROVANO)

  • Microsoft je čuvao sve osvežene tokene za pristup osetljivim krajnjim tačkama u običnom tekstu.

Reference

WhiteIntel je pretraživač na dark vebu koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici bili napadnuti od strane malvera koji kradu podatke.

Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji kradu informacije.

Možete posetiti njihovu veb lokaciju i isprobati njihov pretraživač besplatno na:

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

Drugi načini podrške HackTricks-u:

Last updated