Az - Table Storage
Reading time: 4 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne Informacije
Azure Table Storage je NoSQL skladište ključ-vrednost dizajnirano za skladištenje velikih količina strukturiranih, nestrukturiranih podataka. Pruža visoku dostupnost, nisku latenciju i skalabilnost za efikasno upravljanje velikim skupovima podataka. Podaci su organizovani u tabelama, pri čemu je svaka entitet identifikovan pomoću partition key i row key, što omogućava brze pretrage. Podržava funkcije kao što su enkripcija u mirovanju, kontrola pristupa zasnovana na ulogama i potpisane pristupne dozvole za sigurno, upravljano skladištenje pogodno za širok spektar aplikacija.
Ne postoji ugrađeni mehanizam za pravljenje rezervnih kopija za table storage.
Ključevi
PartitionKey
- PartitionKey grupiše entitete u logičke particije. Entiteti sa istim PartitionKey se skladište zajedno, što poboljšava performanse upita i skalabilnost.
- Primer: U tabeli koja skladišti podatke o zaposlenima,
PartitionKey
može predstavljati odeljenje, npr.,"HR"
ili"IT"
.
RowKey
- RowKey je jedinstveni identifikator za entitet unutar particije. Kada se kombinuje sa PartitionKey, osigurava da svaki entitet u tabeli ima globalno jedinstveni identifikator.
- Primer: Za particiju
"HR"
,RowKey
može biti ID zaposlenog, npr.,"12345"
.
Ostala Svojstva (Prilagođena Svojstva)
- Pored PartitionKey i RowKey, entitet može imati dodatna prilagođena svojstva za skladištenje podataka. Ova svojstva su definisana od strane korisnika i deluju kao kolone u tradicionalnoj bazi podataka.
- Svojstva se skladište kao ključ-vrednost parovi.
- Primer:
Name
,Age
,Title
mogu biti prilagođena svojstva za zaposlenog.
Enumeracija
# Get storage accounts
az storage account list
# List tables
az storage table list --account-name <name>
# Read table
az storage entity query \
--account-name <name> \
--table-name <t-name> \
--top 10
# Write table
az storage entity insert \
--account-name <STORAGE_ACCOUNT_NAME> \
--table-name <TABLE_NAME> \
--entity PartitionKey=<PARTITION_KEY> RowKey=<ROW_KEY> <PROPERTY_KEY>=<PROPERTY_VALUE>
# Write example
az storage entity insert \
--account-name mystorageaccount \
--table-name mytable \
--entity PartitionKey=HR RowKey=12345 Name="John Doe" Age=30 Title="Manager"
# Update row
az storage entity merge \
--account-name mystorageaccount \
--table-name mytable \
--entity PartitionKey=pk1 RowKey=rk1 Age=31
note
Podrazumevano az
cli će koristiti ključ naloga za potpisivanje ključa i izvršavanje akcije. Da biste koristili privilegije Entra ID glavnog korisnika, koristite parametre --auth-mode login
.
tip
Koristite parametar --account-key
da biste naznačili ključ naloga koji će se koristiti
Koristite parametar --sas-token
sa SAS tokenom za pristup putem SAS tokena
Privilege Escalation
Isto kao i storage privesc:
Post Exploitation
Az - Table Storage Post Exploitation
Persistence
Isto kao i storage persistence:
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Učite i vežbajte Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.