AWS - Nitro Enum
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
AWS Nitro is 'n suite van innovatiewe tegnologieë wat die onderliggende platform vir AWS EC2-instanties vorm. Ingevoerd deur Amazon om veiligheid, prestasie en betroubaarheid te verbeter, benut Nitro op maat gemaakte hardewarekomponente en 'n liggewig hypervisor. Dit abstraheer baie van die tradisionele virtualisering funksionaliteit na toegewyde hardeware en sagteware, minimaliseer die aanvaloppervlak en verbeter hulpbron doeltreffendheid. Deur virtualisering funksies af te laai, laat Nitro EC2-instanties toe om naby bare-metal prestasie te lewer, wat dit veral voordelig maak vir hulpbron-intensiewe toepassings. Boonop verseker die Nitro Veiligheidschip spesifiek die veiligheid van die hardeware en firmware, wat sy robuuste argitektuur verder versterk.
AWS Nitro Enclaves bied 'n veilige, geïsoleerde rekenaaromgewing binne Amazon EC2-instanties, spesifiek ontwerp vir die verwerking van hoogs sensitiewe data. Deur die AWS Nitro Stelsel te benut, verseker hierdie enclaves robuuste isolasie en veiligheid, ideaal vir die hantering van vertroulike inligting soos PII of finansiële rekords. Hulle beskik oor 'n minimalistiese omgewing, wat die risiko van data blootstelling aansienlik verminder. Boonop ondersteun Nitro Enclaves kriptografiese attestering, wat gebruikers in staat stel om te verifieer dat slegs geautoriseerde kode loop, wat noodsaaklik is vir die handhawing van streng nakoming en databeskermingsstandaarde.
Nitro Enclave beelde word van binne EC2-instanties uitgevoer en jy kan nie van die AWS webkonsol sien of 'n EC2-instantie beelde in Nitro Enclave uitvoer of nie.
Volg al die instruksies uit die dokumentasie. Hierdie is egter die belangrikste:
Die beelde wat jy in Nitro Enclave kan hardloop, is gebaseer op docker beelde, so jy kan jou Nitro Enclave beelde van docker beelde soos:
Soos jy kan sien, gebruik die Nitro Enclave beelde die uitbreiding eif
(Enclave Image File).
Die uitvoer sal soortgelyk lyk aan:
Soos per die dokumentasie, om 'n enclave-beeld te laat loop, moet jy dit toewys met geheue van ten minste 4 keer die grootte van die eif
lêer. Dit is moontlik om die standaardhulpbronne wat aan dit gegee moet word in die lêer te konfigureer.
Onthou altyd dat jy ook 'n paar hulpbronne vir die ouer EC2 instansie moet bespreek!
Nadat jy die hulpbronne weet wat aan 'n beeld gegee moet word en selfs die konfigurasie-lêer gewysig het, is dit moontlik om 'n enklave-beeld te laat loop met:
As jy 'n EC2-gasheer kompromitteer, is dit moontlik om 'n lys van lopende enklave-beelde te verkry met:
Dit is nie moontlik om 'n shell binne 'n lopende enklave-beeld te kry nie, omdat dit die hoofdoel van die enklave is, maar as jy die parameter --debug-mode
gebruik, is dit moontlik om die stdout daarvan te kry met:
As 'n aanvaller 'n EC2-instantie kompromitteer, sal hy standaard nie in staat wees om 'n shell binne-in hulle te kry nie, maar hy sal in staat wees om hulle te terminate met:
Die enigste manier om te kommunikeer met 'n enclave wat 'n beeld uitvoer, is deur vsocks.
Virtual Socket (vsock) is 'n sokketfamilie in Linux wat spesifiek ontwerp is om kommunikasie tussen virtuele masjiene (VMs) en hul hypervisors, of tussen VMs selfs te fasiliteer. Vsock stel doeltreffende, bi-rigting kommunikasie in staat sonder om op die gasheer se netwerkstapel te staatmaak. Dit maak dit moontlik vir VMs om te kommunikeer selfs sonder netwerk konfigurasies, met 'n 32-bis Context ID (CID) en poortnommers om verbindings te identifiseer en te bestuur. Die vsock API ondersteun beide stroom- en datagram sokket tipes, soortgelyk aan TCP en UDP, wat 'n veelsydige hulpmiddel bied vir gebruikersvlak toepassings in virtuele omgewings.
Daarom lyk 'n vsock adres soos volg: <CID>:<Port>
Om CIDs van die enclave wat beelde uitvoer te vind, kan jy eenvoudig die volgende cmd uitvoer en die EnclaveCID
kry:
Let daarop dat daar van die gasheer af geen manier is om te weet of 'n CID enige poort blootstel nie! Tensy jy 'n paar vsock poort skandeerder soos https://github.com/carlospolop/Vsock-scanner gebruik.
Vind hier 'n paar voorbeelde: