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..5b72d7eec
--- /dev/null
+++ b/src/pentesting-cloud/confidential-computing/luks2-header-malleability-null-cipher-abuse.md
@@ -0,0 +1,141 @@
+# LUKS2 Header Malleability and Null-Cipher Abuse in Confidential VMs
+
+{{#include ../../banners/hacktricks-training.md}}
+
+## TL;DR
+
+- Mnoge Linux-based Confidential VMs (CVMs) koje rade na AMD SEV-SNP ili Intel TDX koriste LUKS2 za persistent storage. On-disk LUKS2 header je malleable i nije zaštićen integritetom protiv napadača sa pristupom disku.
+- Ako je enkripcija data segmenta zaglavlja podešena na null cipher (npr. "cipher_null-ecb"), cryptsetup to prihvata i guest transparentno čita/piše plaintext dok veruje da je disk enkriptovan.
+- Pre i uključujući cryptsetup 2.8.0, null ciphers su mogli da se koriste za keyslots; od 2.8.1 su odbijeni za keyslots sa ne-praznim lozinkama, ali null ciphers ostaju dozvoljeni za volume segments.
+- Remote attestation obično meri VM code/config, ne mutabilna eksternih LUKS header-a; bez eksplicitne validacije/measurement-a, napadač sa pravom pisanja na disk može naterati plaintext I/O.
+
+## Background: LUKS2 on-disk format (what matters for attackers)
+
+- LUKS2 uređaj počinje zaglavljem, nakon čega sledi enkriptovani data.
+- Zaglavlje sadrži dve identične kopije binarnog dela i JSON metadata sekciju, plus jedan ili više keyslots.
+- JSON metadata definiše:
+ - enabled keyslots i njihov wrapping KDF/cipher
+ - segments koji opisuju data area (cipher/mode)
+ - digests (npr. hash of the volume key za verifikaciju passphrases)
+- Tipične sigurne vrednosti: keyslot KDF argon2id; keyslot i enkripcija data segmenta 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'
+```
+## Uzrok
+
+- LUKS2 headers nisu autentifikovani protiv menjanja na skladištu. Napadač sa strane hosta/skladišta može prepisati JSON metadata koje prihvata cryptsetup.
+- Počevši od cryptsetup 2.8.0, zaglavlja koja postavljaju enkripciju segmenta na cipher_null-ecb se prihvataju. null cipher ignoriše ključeve i vraća plaintext.
+- Do 2.8.0, null ciphers su se takođe mogli koristiti za keyslots (keyslot se otvara sa bilo kojim passphrase). Od 2.8.1, null ciphers se odbacuju za keyslots sa ne-praznim lozinkama, ali ostaju dozvoljeni za segments. Promena samo segment cipher i dalje daje plaintext I/O posle 2.8.1.
+
+## Model pretnje: zašto attestation nije spasilo po defaultu
+
+- CVMs imaju za cilj da obezbede poverljivost, integritet i autentičnost na nepouzdanom hostu.
+- Remote attestation obično meri VM image i launch configuration, a ne promenljivi LUKS header koji se nalazi na nepouzdanom skladištu.
+- Ako vaš CVM veruje on-disk headeru bez robusne validacije/measurement, napadač sa skladišta može ga izmeniti u null cipher i vaš guest će mountovati plaintext volume bez greške.
+
+## Eksploatacija (zahteva write pristup storage-u)
+
+Preduslovi:
+- Pristup za pisanje na LUKS2-enkriptovani block device CVM-a.
+- Guest koristi on-disk LUKS2 header bez robusne validacije/attestation.
+
+Koraci (visok nivo):
+1) Pročitajte header JSON i identifikujte definiciju data segmenta. Primer ciljnog polja: segments["0"].encryption.
+2) Postavite enkripciju data segmenta na null cipher, npr. cipher_null-ecb. Ostavite keyslot parametre i digest strukturu neizmenjenim tako da uobičajeni passphrase gosta i dalje „radi“.
+3) Ažurirajte obe kopije headera i pripadajuće header digeste tako da je header samokonzistentan.
+4) Pri narednom boot-u, guest pokreće cryptsetup, uspešno otvara postojeći keyslot svojim passphrase-om i mountuje volumen. Pošto je segment cipher null cipher, svi čitanja/pisanja su plaintext.
+
+Varijanta (pre-2.8.1 keyslot abuse): ako je area.encryption keyslota null cipher, on se otvara sa bilo kojim passphrase-om. Kombinujte to sa null segment cipher-om za neprimetni plaintext pristup bez poznavanja guest tajne.
+
+## Robusne mitigacije (izbegnite TOCTOU sa detached headers)
+
+Uvek tretirajte on-disk LUKS headers kao nepouzdan ulaz. Koristite detached-header mode tako da validacija i otvaranje koriste iste pouzdane bajtove iz zaštićenog RAM-a:
+```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
+```
+Zatim primenite jedno (ili više) od:
+
+1) Primeni MAC na celo zaglavlje
+- Izračunaj/proveri MAC preko celog zaglavlja pre upotrebe.
+- Otvaraj volumen samo kada se MAC verifikuje.
+- Primeri u praksi: Flashbots tdx-init i Fortanix Salmiac su usvojili MAC-based verification.
+
+2) Stroga JSON validacija (kompatibilno unazad)
+- Dump JSON metadata i validiraj strogi allowlist parametara (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
+```
+
+Primer validatora (primenjuje bezbedna polja)
+```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) Izmerite/potvrdite zaglavlje
+- Uklonite nasumične soli/digeste i izmerite sanitizovano zaglavlje u TPM/TDX/SEV PCR-ove ili stanje KMS politike.
+- Izdajte ključeve za dešifrovanje samo kada izmereno zaglavlje odgovara odobrenom, sigurnom profilu.
+
+Operativne smernice:
+- Obavezno koristite odvojeno zaglavlje + MAC ili strogu validaciju; nikada direktno ne verujte zaglavljima na disku.
+- Konsumenti attestacije treba da odbace pre-patch verzije framework-a iz allow-listi.
+
+## Napomene o verzijama i stavu održavaoca
+
+- održavaoci cryptsetup-a pojasnili su da LUKS2 nije dizajniran da obezbedi integritet protiv manipulacije skladištem u ovom okruženju; null ciphers su zadržani radi kompatibilnosti unazad.
+- cryptsetup 2.8.1 (Oct 19, 2025) odbacuje null ciphers za keyslots sa ne-praznim lozinkama, ali i dalje dozvoljava null ciphers za segments.
+
+## Brze provere i trijaža
+
+- Proverite da li je enkripcija bilo kog segmenta postavljena na null cipher:
+```bash
+cryptsetup luksDump --type luks2 --dump-json-metadata /dev/VDISK \
+| jq -r '.segments | to_entries[] | "segment=" + .key + ", enc=" + .value.encryption'
+```
+- Proverite keyslot i segment algoritme pre otvaranja volumena. Ako ne možete da verifikujete MAC, primenite strogu JSON validaciju i otvorite koristeći detached header iz zaštićene memorije.
+
+## References
+
+- [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 7a04c2d84..cc2b551e9 100644
--- a/src/pentesting-cloud/pentesting-cloud-methodology.md
+++ b/src/pentesting-cloud/pentesting-cloud-methodology.md
@@ -1,4 +1,4 @@
-# Pentesting Cloud Metodologija
+# Pentesting Metodologija oblaka
{{#include ../banners/hacktricks-training.md}}
@@ -6,39 +6,39 @@
## Osnovna metodologija
-Svaki cloud ima svoje osobenosti, ali generalno postoji nekoliko **zajedničkih stvari koje pentester treba da proveri** kada testira cloud okruženje:
+Svaki cloud ima svoje specifičnosti, ali generalno postoji nekoliko **uobičajenih stvari koje pentester treba da proveri** kada testira cloud okruženje:
-- **Benchmark provere**
-- Ovo će vam pomoći da **razumete veličinu** okruženja i **korišćene servise**
-- Takođe će vam omogućiti da pronađete neke **brze greške u konfiguraciji** pošto većinu ovih testova možete izvršiti pomoću **automatizovanih alata**
-- **Enumeracija servisa**
-- Verovatno nećete naći mnogo više grešaka u konfiguraciji ovde ako ste pravilno izvršili benchmark testove, ali možete naći neke koje se nisu tražile u benchmark testu.
-- Ovo će vam omogućiti da znate **šta se tačno koristi** u cloud okruženju
-- Ovo će mnogo pomoći u narednim koracima
-- **Provera izloženih resursa**
-- Ovo može biti urađeno tokom prethodnog dela, potrebno je da **otkrijete sve što je potencijalno izloženo** Internetu na neki način i kako se može pristupiti.
-- Ovde mislim na **ručno izloženu infrastrukturu** kao što su instance sa web stranicama ili drugim izloženim portovima, i takođe na druge **cloud managed services koje se mogu konfigurisati** da budu izložene (kao što su DBs ili buckets)
-- Zatim treba da proverite **da li taj resurs može biti izložen ili ne** (poverljive informacije? ranjivosti? greške u konfiguraciji izloženog servisa?)
-- **Provera dozvola**
-- Ovde treba da **utvrdite sve dozvole svake uloge/korisnika** u cloud-u i kako se koriste
-- Previše **visoko privilegovanih** (kontrolišu sve) naloga? Generisani ključevi se ne koriste?... Većina ovih provera bi već trebalo da je urađena u benchmark testovima
-- Ako klijent koristi OpenID, SAML ili neku drugu **federation**, možda ćete morati da od njih zatražite dodatne **informacije** o **kako se svaka uloga dodeljuje** (nije isto da je admin uloga dodeljena jednom korisniku ili 100)
-- Nije dovoljno da se utvrdi koji korisnici imaju **admin** dozvole "*:*". Postoji mnogo **ostalih dozvola** koje, u zavisnosti od korišćenih servisa, mogu biti veoma **osetljive**.
-- Štaviše, postoje **potencijalni privesc** načini koji se mogu ispratiti zloupotrebom dozvola. Sve ovo treba uzeti u obzir i prijaviti **što više privesc puteva koliko je moguće**.
-- **Provera integracija**
-- Veoma je verovatno da su **integracije sa drugim cloud-ovima ili SaaS** korišćene unutar cloud okruženja.
-- Za **integracije cloud-a koje auditirate** sa drugim platformama treba da obavestite **ko ima pristup da (zloupotrebi) tu integraciju** i treba da pitate **koliko je osetljiva** akcija koja se izvršava.\
-Na primer, ko može da upisuje u AWS bucket iz kojeg GCP dobija podatke (pitajte koliko je osetljiva ta radnja u GCP prilikom obrade tih podataka).
-- Za **integracije unutar cloud-a koji auditirate** iz eksternih platform, treba da pitate **ko ima eksterni pristup da (zloupotrebi) tu integraciju** i proverite kako se ti podaci koriste.\
-Na primer, ako servis koristi Docker image hostovan u GCR, treba da pitate ko ima pristup da modifikuje taj image i koje osetljive informacije i pristupe će taj image dobiti kada se izvrši unutar AWS cloud-a.
+- **Benchmark checks**
+- Ovo će vam pomoći da **shvatite veličinu** okruženja i **korišćene servise**
+- Takođe će vam omogućiti da pronađete neke **quick misconfigurations** pošto većinu ovih testova možete izvesti pomoću **automated tools**
+- **Services Enumeration**
+- Verovatno nećete pronaći mnogo više misconfigurations ovde ako ste ispravno izvršili benchmark tests, ali možda ćete pronaći neke koji nisu bili obuhvaćeni benchmark testom.
+- Ovo će vam omogućiti da znate **šta se tačno koristi** u cloud env
+- Ovo će puno pomoći u narednim koracima
+- **Check exposed assets**
+- Ovo se može raditi tokom prethodnog dela; treba da **otkrijete sve što je potencijalno izloženo** na Internet na neki način i kako se može pristupiti.
+- Ovde podrazumevam **manually exposed infrastructure** kao instance sa web stranicama ili drugim portovima izloženim, kao i druge **cloud managed services** koje se mogu konfigurisati da budu izložene (kao DBs ili buckets)
+- Zatim treba da proverite **da li taj resurs može biti izložen ili ne** (poverljive informacije? vulnerabilities? misconfigurations in the exposed service?)
+- **Check permissions**
+- Ovde treba da **otkrijete sve permissions svakog role/user** unutar clouda i kako se koriste
+- Previše **highly privileged** (control everything) naloga? Generated keys not used?... Većina ovih provera bi trebala biti urađena u benchmark tests već
+- Ako klijent koristi OpenID ili SAML ili neku drugu federaciju možda ćete morati da tražite dodatne **informacije** o **kako se dodeljuje svaka uloga** (nije isto ako je admin uloga dodeljena 1 korisniku ili 100)
+- Nije dovoljno da pronađete koji korisnici imaju **admin permissions** "*:*". Postoji mnogo drugih **permissions** koji, u zavisnosti od korišćenih servisa, mogu biti veoma **osetljivi**.
+- Štaviše, postoje potencijalni privesc načini za zloupotrebu permissions. Sve ovo treba uzeti u obzir i **prijaviti što više privesc paths** koliko je moguće.
+- **Check Integrations**
+- Veoma je verovatno da se koriste **integrations with other clouds or SaaS** unutar cloud okruženja.
+- Za **integrations of the cloud you are auditing** sa drugim platformama treba da obavestite **ko ima pristup da (ab)use tu integraciju** i treba da pitate **koliko je osetljiva** akcija koja se izvodi.\
+Na primer, ko može da piše u jedan AWS bucket iz kog GCP uzima podatke (pitati koliko je ta akcija osetljiva u GCP pri obradi tih podataka).
+- Za **integrations inside the cloud you are auditing** iz eksternih platforma, treba da pitate **ko ima spoljašnji pristup da (ab)use tu integraciju** i proverite kako se ti podaci koriste.\
+Na primer, ako servis koristi Docker image hostovan u GCR, treba da pitate ko ima pristup da modifikuje taj image i koje osetljive informacije i pristupe će taj image dobiti kada se pokrene unutar AWS clouda.
-## Multi-Cloud alati
+## Alati za Multi-Cloud
-Postoji nekoliko alata koji se mogu koristiti za testiranje različitih cloud okruženja. Koraci instalacije i linkovi biće navedeni u ovom delu.
+Postoji nekoliko alata koji se mogu koristiti za testiranje različitih cloud okruženja. Koraci instalacije i linkovi biće navedeni u ovom odeljku.
### [PurplePanda](https://github.com/carlospolop/purplepanda)
-Alat za **identifikovanje loših konfiguracija i privesc path u cloud-ovima i između cloud-ova/SaaS.**
+Alat za **identifikovanje loših konfiguracija i privesc path u cloud-ovima i između cloud/SaaS.**
{{#tabs }}
{{#tab name="Install" }}
@@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env
### [Prowler](https://github.com/prowler-cloud/prowler)
-Podržava **AWS, GCP & Azure**. Pogledajte kako konfigurisati svakog provajdera na [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
+Podržava **AWS, GCP & Azure**. Pogledajte kako konfigurisati svakog provajdera u [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws)
```bash
# Install
pip install prowler
@@ -168,9 +168,9 @@ steampipe check all
```
-Proverite sve projekte
+Proveri sve projekte
-Da biste proverili sve projekte, potrebno je da generišete fajl `gcp.spc` koji navodi sve projekte koje treba testirati. Možete jednostavno slediti uputstva iz sledećeg skripta
+Da biste proverili sve projekte, potrebno je da generišete fajl `gcp.spc` koji navodi sve projekte za testiranje. Možete jednostavno pratiti uputstva iz sledećeg skripta
```bash
FILEPATH="/tmp/gcp.spc"
rm -rf "$FILEPATH" 2>/dev/null
@@ -196,9 +196,9 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate
Za proveru **ostalih GCP uvida** (korisno za nabrajanje servisa) koristite: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights)
-Za pregled Terraform GCP koda: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
+Za proveru Terraform GCP koda: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance)
-Više GCP plugina za Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
+Više GCP plugin-ova za Steampipe: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp)
{{#endtab }}
{{#tab name="AWS" }}
@@ -238,11 +238,11 @@ Zahteva python2.7 i izgleda neodržavano.
### Nessus
-Nessus ima _**Audit Cloud Infrastructure**_ skeniranje koje podržava: AWS, Azure, Office 365, Rackspace, Salesforce. Potrebne su neke dodatne konfiguracije u **Azure** kako bi se dobio **Client Id**.
+Nessus ima _**Audit Cloud Infrastructure**_ skeniranje koje podržava: AWS, Azure, Office 365, Rackspace, Salesforce. Potrebne su neke dodatne konfiguracije u **Azure** da bi se dobio **Client Id**.
### [**cloudlist**](https://github.com/projectdiscovery/cloudlist)
-Cloudlist je **multi-cloud tool for getting Assets** (Hostnames, IP Addresses) from Cloud Providers.
+Cloudlist je **multi-cloud alat za prikupljanje Assets** (Hostnames, IP Addresses) od Cloud Providers.
{{#tabs }}
{{#tab name="Cloudlist" }}
@@ -265,7 +265,7 @@ cloudlist -config
### [**cartography**](https://github.com/lyft/cartography)
-Cartography je Python alat koji objedinuje infrastrukturne resurse i veze između njih u intuitivnom grafičkom prikazu zasnovanom na Neo4j bazi podataka.
+Cartography je Python alat koji konsoliduje infrastrukturne resurse i odnose između njih u intuitivnom grafičkom prikazu koji pokreće Neo4j database.
{{#tabs }}
{{#tab name="Install" }}
@@ -302,7 +302,7 @@ ghcr.io/lyft/cartography \
### [**starbase**](https://github.com/JupiterOne/starbase)
-Starbase prikuplja resurse i odnose iz servisa i sistema, uključujući cloud infrastrukturu, SaaS aplikacije, sigurnosne kontrole i još mnogo toga, u intuitivan grafički prikaz koji koristi Neo4j bazu podataka.
+Starbase prikuplja resurse i veze iz servisa i sistema — uključujući cloud infrastrukturu, SaaS aplikacije, bezbednosne kontrole i drugo — i prikazuje ih u intuitivnom grafu zasnovanom na Neo4j bazi podataka.
{{#tabs }}
{{#tab name="Install" }}
@@ -361,7 +361,7 @@ uri: bolt://localhost:7687
### [**SkyArk**](https://github.com/cyberark/SkyArk)
-Otkriva najprivilegovanije korisnike u skeniranom AWS ili Azure okruženju, uključujući AWS Shadow Admins. Koristi powershell.
+Otkrijte najprivilegovanije korisnike u skeniranom AWS ili Azure okruženju, uključujući AWS Shadow Admins. Koristi powershell.
```bash
Import-Module .\SkyArk.ps1 -force
Start-AzureStealth
@@ -376,11 +376,11 @@ Alat za pronalaženje infrastrukture kompanije (cilja), fajlova i aplikacija na
### [CloudFox](https://github.com/BishopFox/cloudfox)
-- CloudFox je alat za pronalaženje iskoristivih puteva napada u cloud infrastrukturi (trenutno podržani samo AWS & Azure, a GCP dolazi uskoro).
-- To je alat za enumeraciju koji je namenjen da dopuni manualni pentesting.
-- Ne kreira niti menja bilo koje podatke unutar cloud okruženja.
+- CloudFox je alat za pronalaženje iskoristivih putanja napada u cloud infrastrukturi (trenutno podržani samo AWS & Azure, GCP uskoro).
+- To je alat za enumeraciju namenjen da dopuni manualni pentesting.
+- Ne kreira niti menja bilo kakve podatke unutar cloud okruženja.
-### Više spiskova alata za cloud sigurnost
+### More lists of cloud security tools
- [https://github.com/RyanJarv/awesome-cloud-sec](https://github.com/RyanJarv/awesome-cloud-sec)
@@ -410,13 +410,12 @@ aws-security/
azure-security/
{{#endref}}
-### Attack Graph
+## Zajedničke funkcije bezbednosti u cloudu
-[**Stormspotter** ](https://github.com/Azure/Stormspotter) kreira „attack graph“ resursa u Azure pretplati. Omogućava red teams i pentesters da vizualizuju površinu napada i mogućnosti pivotovanja unutar tenant-a, i ubrzava vaše odbrambene timove da se brzo orijentišu i daju prioritet radu na odgovoru na incidente.
-
-### Office365
-
-Potrebno je imati **Global Admin** ili bar **Global Admin Reader** (ali imajte na umu da je Global Admin Reader pomalo ograničen). Međutim, ta ograničenja se pojavljuju u nekim PS modulima i mogu se zaobići pristupanjem funkcijama **preko web aplikacije**.
+### Confidential Computing
+{{#ref}}
+confidential-computing/luks2-header-malleability-null-cipher-abuse.md
+{{#endref}}
{{#include ../banners/hacktricks-training.md}}