diff --git a/src/pentesting-cloud/confidential-computing/luks2-header-malleability-null-cipher-abuse.md b/src/pentesting-cloud/confidential-computing/luks2-header-malleability-null-cipher-abuse.md new file mode 100644 index 000000000..d216284d4 --- /dev/null +++ b/src/pentesting-cloud/confidential-computing/luks2-header-malleability-null-cipher-abuse.md @@ -0,0 +1,142 @@ +# LUKS2 Header Malleability and Null-Cipher Abuse in Confidential VMs + +{{#include ../../banners/hacktricks-training.md}} + +## TL;DR + +- Baie Linux-gebaseerde Confidential VMs (CVMs) wat op AMD SEV-SNP of Intel TDX loop, gebruik LUKS2 vir permanente stoor. +- Die on-disk LUKS2-header is manipuleerbaar en is nie integriteits-beskerm teen aanvallers met toegang tot die stoor nie. +- As die header se data-segment enkripsie op 'n null cipher gestel is (bv. "cipher_null-ecb"), aanvaar cryptsetup dit en lees/skryf die gast stelselmatig plaintekst terwyl dit glo die skyf is enkripteer. +- Voor en insluitend cryptsetup 2.8.0 kon null ciphers vir keyslots gebruik word; sedert 2.8.1 word hulle vir keyslots met nie-leë wagwoorde verwerp, maar null ciphers bly toegelaat vir volume segments. +- Remote attestation meet gewoonlik VM-kode/konfigurasie, nie veranderlike eksterne LUKS-koppe nie; sonder eksplisiete validering/meting kan 'n aanvaller met skyf-skryftoegang plaintekst I/O afdwing. + +## Background: LUKS2 on-disk format (what matters for attackers) + +- 'n LUKS2-toestel begin met 'n header gevolg deur enkripteerde data. +- Die header bevat twee identiese kopieë van 'n binêre afdeling en 'n JSON-metadata afdeling, plus een of meer keyslots. +- JSON-metadata definieer: + - watter keyslots geaktiveer is en hul wrapping KDF/cipher + - segments wat die data-area beskryf (cipher/mode) + - digests (bv. hash van die volume key om passwoorde te verifieer) +- Tipiese veilige waardes: keyslot KDF argon2id; keyslot en data segment enkripsie aes-xts-plain64. + +Quickly inspect the segment cipher directly from JSON: +```bash +# Read JSON metadata and print the configured data segment cipher +cryptsetup luksDump --type luks2 --dump-json-metadata /dev/VDISK \ +| jq -r '.segments["0"].encryption' +``` +## Hoof oorsaak + +- LUKS2 headers word nie geverifieer teen stoor-manipulasie nie. ’n Host/stoor-aanvaller kan die JSON-metadata wat deur cryptsetup aanvaar word, herskryf. +- Vanaf cryptsetup 2.8.0 word headers wat ’n segment se encryption op cipher_null-ecb stel, aanvaar. Die null cipher ignoreer sleutels en lewer plaintext. +- Tot en met 2.8.0 kon null ciphers ook vir keyslots gebruik word (keyslot open met enige passphrase). Sedert 2.8.1 word null ciphers vir keyslots met nie-leë wagwoorde verwerp, maar bly toegelaat vir segments. Om slegs die segment cipher te verwissel gee steeds plaintext I/O ná 2.8.1. + +## Dreigingsmodel: why attestation didn’t save you by default + +- CVMs is ontwerp om vertrouwelikheid, integriteit en outentisiteit in ’n onbetroubare host te verseker. +- Remote attestation meet gewoonlik die VM image en launch configuration, nie die veranderlike LUKS header wat op onbetroubare stoor woon nie. +- As jou CVM ’n on-disk header vertrou sonder robuuste validasie/attestation, kan ’n stoor-aanvaller dit verander na ’n null cipher en sal jou guest ’n plaintext volume mount sonder fout. + +## Eksploitasie (skryf toegang tot stoor benodig) + +Voorvereistes: +- Skryftoegang tot die CVM se LUKS2-geënkripteerde bloktoestel. +- Die guest gebruik die on-disk LUKS2 header sonder robuuste validasie/attestation. + +Stappe (op hoë vlak): +1) Lees die header JSON en identifiseer die data segment-definisie. Voorbeeld teikenveld: segments["0"].encryption. +2) Stel die data segment encryption op ’n null cipher, bv. cipher_null-ecb. Hou keyslot-parameters en digest-struktuur ongeskonde sodat die guest se gewone passphrase steeds “werk.” +3) Werk beide header-kopieë en geassosieerde header-digeste by sodat die header selfkonsekwent is. +4) By die volgende opstart voer die guest cryptsetup uit, ontsluit suksesvol die bestaande keyslot met sy passphrase, en mount die volume. Omdat die segment cipher ’n null cipher is, is alle lees/skryf operasies plaintext. + +Variant (pre-2.8.1 keyslot misbruik): as ’n keyslot se area.encryption ’n null cipher is, open dit met enige passphrase. Kombineer met ’n null segment cipher vir naatlose plaintext toegang sonder om die guest se geheim te ken. + +## Robuuste mitigasies (vermy TOCTOU met detached headers) + +Behandel altyd on-disk LUKS headers as onbetroubare inset. Gebruik detached-header mode sodat validasie en opening dieselfde vertroude bytes uit beskermde RAM gebruik: +```bash +# Copy header into protected memory (e.g., tmpfs) and open from there +cryptsetup luksHeaderBackup --header-backup-file /tmp/luks_header /dev/VDISK +cryptsetup open --type luks2 --header /tmp/luks_header /dev/VDISK --key-file=key.txt +``` +Dwing dan een (of meer) van die volgende af: + +1) Gebruik 'n MAC op die volledige header +- Bereken/verifieer 'n MAC oor die volledige header voordat dit gebruik word. +- Maak die volume slegs oop wanneer die MAC verifieer. +- Voorbeelde in die praktyk: Flashbots tdx-init en Fortanix Salmiac het MAC-gebaseerde verifikasie aangeneem. + +2) Streng JSON-validasie (agtertoe verenigbaar) +- Dump JSON-metadata en valideer 'n streng allowlist van parameters (KDF, ciphers, segment count/type, flags). +```bash +#!/bin/bash +set -e +# Store header in confidential RAM fs +cryptsetup luksHeaderBackup --header-backup-file /tmp/luks_header $BLOCK_DEVICE +# Dump JSON metadata header to a file +cryptsetup luksDump --type luks2 --dump-json-metadata /tmp/luks_header > header.json +# Validate the header +python validate.py header.json +# Open the cryptfs using key.txt +cryptsetup open --type luks2 --header /tmp/luks_header $BLOCK_DEVICE --key-file=key.txt +``` +
+Voorbeeld-validator (dwing veilige velde af) +```python +from json import load +import sys +with open(sys.argv[1], "r") as f: +header = load(f) +if len(header["keyslots"]) != 1: +raise ValueError("Expected 1 keyslot") +if header["keyslots"]["0"]["type"] != "luks2": +raise ValueError("Expected luks2 keyslot") +if header["keyslots"]["0"]["area"]["encryption"] != "aes-xts-plain64": +raise ValueError("Expected aes-xts-plain64 encryption") +if header["keyslots"]["0"]["kdf"]["type"] != "argon2id": +raise ValueError("Expected argon2id kdf") +if len(header["tokens"]) != 0: +raise ValueError("Expected 0 tokens") +if len(header["segments"]) != 1: +raise ValueError("Expected 1 segment") +if header["segments"]["0"]["type"] != "crypt": +raise ValueError("Expected crypt segment") +if header["segments"]["0"]["encryption"] != "aes-xts-plain64": +raise ValueError("Expected aes-xts-plain64 encryption") +if "flags" in header["segments"]["0"] and header["segments"]["0"]["flags"]: +raise ValueError("Segment contains unexpected flags") +``` +
+ +3) Meet/attesteer die header +- Verwyder random salts/digests en meet die gesaniteerde header in TPM/TDX/SEV PCRs of KMS-beleidstoestand. +- Gee ontsleutelingssleutels slegs vry wanneer die gemete header ooreenstem met 'n goedgekeurde, veilige profiel. + +Operasionele riglyne: +- Handhaaf detached header + MAC of streng validering; vertrou nooit on-disk headers direk nie. +- Verbruikers van attestasie moet pre-patch framework weergawes in allow-lists weier. + +## Aantekeninge oor weergawes en die instandhouer se standpunt + +- cryptsetup-instandhouers het verduidelik dat LUKS2 nie ontwerp is om integriteit teen manipulering van stoormedia in hierdie konteks te bied nie; null ciphers word behou vir agtertoe-kompatibiliteit. +- cryptsetup 2.8.1 (19 Okt 2025) verwerp null ciphers vir keyslots met nie-leë wagwoorde, maar laat steeds null ciphers vir segments toe. + +## Vinnige kontroles en triage + +- Inspekteer of enige segment-enkripsie ingestel is op 'n null cipher: +```bash +cryptsetup luksDump --type luks2 --dump-json-metadata /dev/VDISK \ +| jq -r '.segments | to_entries[] | "segment=" + .key + ", enc=" + .value.encryption' +``` +- Verifieer keyslot- en segment-algoritmes voordat u die volume oopmaak. As u nie MAC kan doen nie, dwing streng JSON-validasie af en maak die volume oop met die detached header uit beskermde geheue. + +## Verwysings + +- [Vulnerabilities in LUKS2 disk encryption for confidential VMs (Trail of Bits)](https://blog.trailofbits.com/2025/10/30/vulnerabilities-in-luks2-disk-encryption-for-confidential-vms/) +- [cryptsetup issue #954 (null cipher acceptance and integrity considerations)](https://gitlab.com/cryptsetup/cryptsetup/-/issues/954) +- [CVE-2025-59054](https://nvd.nist.gov/vuln/detail/CVE-2025-59054) +- [CVE-2025-58356](https://nvd.nist.gov/vuln/detail/CVE-2025-58356) +- [Related context: CVE-2021-4122 (auto-recovery path silently decrypting disks)](https://www.cve.org/CVERecord?id=CVE-2021-4122) + +{{#include ../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/pentesting-cloud-methodology.md b/src/pentesting-cloud/pentesting-cloud-methodology.md index 2e41ecf09..8d525e631 100644 --- a/src/pentesting-cloud/pentesting-cloud-methodology.md +++ b/src/pentesting-cloud/pentesting-cloud-methodology.md @@ -1,4 +1,4 @@ -# Pentesting Cloud Metodologie +# Pentesting Cloud Methodology {{#include ../banners/hacktricks-training.md}} @@ -6,35 +6,35 @@ ## Basiese Metodologie -Elke cloud het sy eie eienaardighede maar oor die algemeen is daar 'n paar **gemeenskaplike dinge wat 'n pentester moet kontroleer** wanneer 'n cloud-omgewing getoets word: +Elke cloud het sy eie eienaardighede maar oor die algemeen is daar 'n paar **gewone dinge wat 'n pentester behoort te kontroleer** wanneer 'n cloud-omgewing getoets word: - **Benchmark kontroles** -- Dit sal jou help om die **grootte** van die omgewing en watter **dienste gebruik word** te verstaan -- Dit sal jou ook toelaat om vinnige **miskonfigurasies** te vind aangesien jy die meeste van hierdie toetse met **outomatiese tools** kan uitvoer -- **Dienste-enumerasie** -- Jy sal waarskynlik nie baie meer miskonfigurasies hier vind as jy die benchmark-toetse korrek uitgevoer het nie, maar jy mag sommige vind wat nie in die benchmark-toets gesoek is nie. -- Dit sal jou toe laat weet **wat presies in die cloud-omgewing gebruik word** +- Dit sal jou help om **die grootte te verstaan** van die omgewing en **gebruikte services** +- Dit sal jou ook toelaat om 'n paar **vinnige miskonfigurasies** te vind aangesien jy die meeste van hierdie toetse met **geautomatiseerde tools** kan uitvoer +- **Services Enumeration** +- Jy sal waarskynlik nie veel meer miskonfigurasies hier vind as jy die benchmark-toetse korrek uitgevoer het nie, maar jy mag sommige vind wat in die benchmark-toets nie gesoek is nie. +- Dit sal jou toelaat om te weet **wat presies gebruik word** in die cloud-omgewing - Dit sal baie help in die volgende stappe -- **Kontroleer blootgestelde assets** -- Dit kan tydens die vorige afdeling gedoen word; jy moet **alles vind wat moontlik aan die Internet blootgestel is** en hoe dit toegang verkry. -- Hier verwys ek na **manueel blootgestelde infrastruktuur** soos instances met webbladsye of ander poorte wat blootgestel is, en ook ander **cloud managed services wat gekonfigureer kan word** om blootgestel te wees (soos DBs of buckets) -- Dan moet jy kontroleer **of daardie hulpbron blootgestel kan word of nie** (vertroulike inligting? kwesbaarhede? miskonfigurasies in die blootgestelde diens?) -- **Kontroleer permissies** -- Hier moet jy **al die permissies van elke role/user** binne die cloud uitvind en hoe dit gebruik word -- Te **veel hoogs bevoorregte** (kontroleer alles) rekeninge? Genereerde sleutels wat nie gebruik word?... Die meeste van hierdie kontroles behoort reeds in die benchmark-toetse gedek te wees -- As die kliënt OpenID of SAML of ander **federasie** gebruik, mag jy hulle moet vra vir verdere **inligting** oor **hoe elke rol toegewys word** (dit is nie dieselfde dat die admin rol aan 1 gebruiker toegewys is of aan 100 nie) -- Dit is **nie genoeg om te vind** watter gebruikers **admin** permissies het "\*:\*". Daar is 'n groot aantal **ander permissies** wat, afhangende van die gebruikte dienste, baie **sensitief** kan wees. -- Verder is daar **potensiële privesc** maniere om te volg deur permissies te misbruik. Al hierdie dinge moet in ag geneem word en **soveel privesc-paadjies as moontlik** moet gerapporteer word. -- **Kontroleer Integrasies** -- Dit is hoogs waarskynlik dat **integrasies met ander clouds of SaaS** binne die cloud-omgewing gebruik word. -- Vir **integrasies van die cloud wat jy oudit** met ander platforms moet jy aanmeld **wie toegang het om daardie integrasie te (mis)bruik** en jy moet vra **hoe sensitief** die aksie is wat uitgevoer word.\ -Byvoorbeeld, wie kan in 'n AWS bucket skryf waarheen GCP data kry (vra hoe sensitief die aksie in GCP is met betrekking tot daardie data). -- Vir **integrasies binne die cloud wat jy oudit** vanaf eksterne platforms, moet jy vra **wie ekstern toegang het om daardie integrasie te (mis)bruik** en kontroleer hoe daardie data gebruik word.\ -Byvoorbeeld, as 'n diens 'n Docker image gebruik wat in GCR gehost word, moet jy vra wie dit kan wysig en watter sensitiewe inligting en toegang daardie image sal kry wanneer dit binne 'n AWS cloud uitgevoer word. +- **Check exposed assets** +- Dit kan gedoen word tydens die vorige afdeling; jy moet **alles uitsien wat moontlik op een of ander wyse na die Internet blootgestel is** en hoe dit toeganklik is. +- Hier bedoel ek **manueel blootgestelde infrastruktuur** soos instances met web pages of ander ports wat blootgestel is, en ook ander **cloud managed services wat gekonfigureer kan word** om blootgestel te wees (soos DBs of buckets) +- Dan moet jy kontroleer **of daardie resource blootgestel kan word of nie** (vertroulike inligting? kwetsbaarhede? miskonfigurasies in die blootgestelde service?) +- **Check permissions** +- Hier behoort jy **al die permissions van elke role/user** binne die cloud uit te vind en hoe dit gebruik word +- Te **veel hoogs bevoorregte** (control everything) rekeninge? Gegenereerde sleutels wat nie gebruik word?... Die meeste van hierdie kontroles behoort reeds in die benchmark-toetse gedoen te wees +- As die kliënt OpenID of SAML of ander **federation** gebruik, mag jy hulle vir verdere **inligting** moet vra oor **hoe elke role toegewys word** (dit is nie dieselfde dat die admin role aan 1 gebruiker toegewys is of aan 100 nie) +- Dit is **nie genoeg om te vind** watter gebruikers **admin** permissions het "\*:\*". Daar is baie **ander permissions** wat, afhangend van die gebruikte services, baie **sensitief** kan wees. +- Boonop is daar **potensiële privesc** maniere om te volg deur misbruik van permissions. Al hierdie dinge moet in ag geneem word en **so veel moontlike privesc-paaie** moet gerapporteer word. +- **Check Integrations** +- Dit is hoogs waarskynlik dat **integrations met ander clouds of SaaS** binne die cloud-omgewing gebruik word. +- Vir **integrations van die cloud wat jy oudit** met ander platforme moet jy aanraai **wie toegang het om daardie integration te (mis)bruik** en jy moet vra **hoe sensitief** die aksie is wat uitgevoer word.\ +Byvoorbeeld, wie kan in 'n AWS bucket skryf waar GCP data van kry (vra hoe sensitief daardie aksie in GCP is wat daardie data verwerk). +- Vir **integrations binne die cloud wat jy oudit** vanaf eksterne platforme, moet jy vra **wie eksterne toegang het om daardie integration te (mis)bruik** en kyk hoe daardie data gebruik word.\ +Byvoorbeeld, as 'n service 'n Docker image gebruik wat in GCR gehost word, moet jy vra wie toegang het om dit te wysig en watter sensitiewe inligting en toegang daardie image sal kry wanneer dit binne 'n AWS cloud uitgevoer word. -## Multi-Cloud gereedskap +## Multi-Cloud tools -Daar is verskeie tools wat gebruik kan word om verskillende cloud-omgewings te toets. Die installasiestappe en links gaan in hierdie afdeling aangedui word. +Daar is verskeie tools wat gebruik kan word om verskillende cloud-omgewings te toets. Die installasie-stappe en links gaan in hierdie afdeling aangedui word. ### [PurplePanda](https://github.com/carlospolop/purplepanda) @@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env ### [Prowler](https://github.com/prowler-cloud/prowler) -Dit ondersteun **AWS, GCP & Azure**. Sien hoe om elke verskaffer te konfigureer by [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) +Dit ondersteun **AWS, GCP & Azure**. Kyk hoe om elke verskaffer te konfigureer by [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) ```bash # Install pip install prowler @@ -146,7 +146,7 @@ done {{#tabs }} {{#tab name="Install" }} -Laai en installeer Steampipe ([https://steampipe.io/downloads](https://steampipe.io/downloads)). Of gebruik Brew: +Laai Steampipe af en installeer dit ([https://steampipe.io/downloads](https://steampipe.io/downloads)). Of gebruik Brew: ``` brew tap turbot/tap brew install steampipe @@ -168,9 +168,9 @@ steampipe check all ```
-Kontroleer alle Projekte +Kontroleer alle projekte -Om al die projekte te kontroleer, moet jy die `gcp.spc`-lêer genereer wat al die projekte aandui om te toets. Volg net die aanwysings in die volgende skrip. +Om al die projekte te kontroleer, moet jy die `gcp.spc` lêer genereer wat aandui watter projekte getoets moet word. Volg net die aanwysings in die volgende skrip ```bash FILEPATH="/tmp/gcp.spc" rm -rf "$FILEPATH" 2>/dev/null @@ -194,11 +194,11 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate ```
-Om **ander GCP-insigte** te sien (nuttig om dienste te lys) gebruik: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights) +Om **ander GCP-insigte** na te gaan (nuttig om dienste te lys) gebruik: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights) -Om Terraform GCP-kode te kontroleer: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance) +Om Terraform GCP-kode na te gaan: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance) -Meer GCP-plugins vir Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp) +Meer GCP-plugins van Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp) {{#endtab }} {{#tab name="AWS" }} @@ -234,15 +234,15 @@ Meer AWS-plugins vir Steampipe: [https://github.com/orgs/turbot/repositories?q=a ### [~~cs-suite~~](https://github.com/SecurityFTW/cs-suite) AWS, GCP, Azure, DigitalOcean.\ -Dit vereis python2.7 en lyk of dit nie meer onderhou word nie. +Dit vereis python2.7 en blyk ononderhou te wees. ### Nessus -Nessus het 'n _**Audit Cloud Infrastructure**_ scan wat die volgende ondersteun: AWS, Azure, Office 365, Rackspace, Salesforce. 'n Paar ekstra konfigurasies in **Azure** is nodig om 'n **Client Id** te bekom. +Nessus het 'n _**Audit Cloud Infrastructure**_ scan wat die volgende ondersteun: AWS, Azure, Office 365, Rackspace, Salesforce. Sekere ekstra konfigurasies in **Azure** is nodig om 'n **Client Id** te bekom. ### [**cloudlist**](https://github.com/projectdiscovery/cloudlist) -Cloudlist is 'n **multi-cloud tool om Assets te kry** (Hostnames, IP Addresses) van Cloud Providers. +Cloudlist is 'n **multi-cloud tool for getting Assets** (Hostnames, IP Addresses) van Cloud Providers. {{#tabs }} {{#tab name="Cloudlist" }} @@ -265,7 +265,7 @@ cloudlist -config ### [**cartography**](https://github.com/lyft/cartography) -Cartography is 'n Python-gereedskap wat infrastruktuurbates en die verhoudings tussen hulle konsolideer in 'n intuïtiewe grafiek-oorsig wat aangedryf word deur 'n Neo4j-databasis. +Cartography is 'n Python-instrument wat infrastruktuurbates en die verhoudings tussen hulle in 'n intuïtiewe grafiekweergave konsolideer en deur 'n Neo4j-databasis aangedryf word. {{#tabs }} {{#tab name="Install" }} @@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \ ### [**starbase**](https://github.com/JupiterOne/starbase) -Starbase versamel bates en verhoudings vanaf dienste en stelsels, insluitend wolk-infrastruktuur, SaaS-toepassings, sekuriteitskontroles en meer, in 'n intuïtiewe grafiek-uitsig wat deur die Neo4j-databasis ondersteun word. +Starbase versamel bates en verhoudings van dienste en stelsels, insluitend cloud-infrastruktuur, SaaS-toepassings, sekuriteitskontroles en meer, in 'n intuïtiewe grafiek-aansig wat deur die Neo4j-databasis ondersteun word. {{#tabs }} {{#tab name="Install" }} @@ -361,7 +361,7 @@ uri: bolt://localhost:7687 ### [**SkyArk**](https://github.com/cyberark/SkyArk) -Ontdek die mees bevoorregte gebruikers in die gescande AWS of Azure omgewing, insluitend die AWS Shadow Admins. Dit gebruik powershell. +Ontdek die mees bevoorregte gebruikers in die gescande AWS of Azure-omgewing, insluitend die AWS Shadow Admins. Dit gebruik powershell. ```bash Import-Module .\SkyArk.ps1 -force Start-AzureStealth @@ -372,11 +372,11 @@ Scan-AzureAdmins ``` ### [Cloud Brute](https://github.com/0xsha/CloudBrute) -'n hulpmiddel om 'n maatskappy se (teiken) infrastruktuur, lêers en toepassings op die top cloud-providers te vind (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode). +'n instrument om die infrastruktuur, lêers en apps van 'n maatskappy (teiken) op die grootste cloud providers (Amazon, Google, Microsoft, DigitalOcean, Alibaba, Vultr, Linode) te vind. ### [CloudFox](https://github.com/BishopFox/cloudfox) -- CloudFox is 'n hulpmiddel om uitbuitbare aanvalspaaie in cloud infrastruktuur te vind (tans slegs AWS & Azure ondersteun met GCP binnekort). +- CloudFox is 'n tool om uitbuitbare aanvalspaaie in cloud-infrastruktuur te vind (tans word net AWS & Azure ondersteun, met GCP wat binnekort volg). - Dit is 'n enumeration tool wat bedoel is om manuele pentesting aan te vul. - Dit skep of wysig geen data binne die cloud-omgewing nie. @@ -410,13 +410,12 @@ aws-security/ azure-security/ {{#endref}} -### Attack Graph +## Algemene cloud-sekuriteitsfunksies -[**Stormspotter** ](https://github.com/Azure/Stormspotter)skep 'n “attack graph” van die resources in 'n Azure subscription. Dit stel red teams en pentesters in staat om die attack surface en pivot opportunities binne 'n tenant te visualiseer, en versnel jou verdedigers om vinnig te oriënteer en incident response-werk te prioritiseer. - -### Office365 - -Jy het **Global Admin** of minstens **Global Admin Reader** nodig (let wel dat Global Admin Reader 'n bietjie beperk is). Hierdie beperkings verskyn egter in sommige PS modules en kan omseil word deur toegang tot die funksies **via the web application**. +### Vertroulike rekenaarskap +{{#ref}} +confidential-computing/luks2-header-malleability-null-cipher-abuse.md +{{#endref}} {{#include ../banners/hacktricks-training.md}}