Az - Table Storage

Reading time: 4 minutes

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks

Basic Information

Azure Table Storage ni duka la NoSQL la funguo-thamani lililoundwa kwa ajili ya kuhifadhi kiasi kikubwa cha data iliyopangwa, isiyo ya uhusiano. Inatoa upatikanaji wa juu, ucheleweshaji mdogo, na uwezo wa kupanuka ili kushughulikia seti kubwa za data kwa ufanisi. Data imeandaliwa katika meza, ambapo kila kitu kinatambulishwa na funguo za sehemu na funguo za safu, kuruhusu utafutaji wa haraka. Inasaidia vipengele kama vile usimbaji wa data wakati wa kupumzika, udhibiti wa ufikiaji kulingana na majukumu, na saini za ufikiaji wa pamoja kwa ajili ya uhifadhi salama na ulio na usimamizi unaofaa kwa matumizi mbalimbali.

Hakuna mekanismu ya akiba iliyojengwa kwa ajili ya uhifadhi wa meza.

Keys

PartitionKey

  • PartitionKey inakusanya vitu katika sehemu za kimantiki. Vitu vyenye PartitionKey sawa vinahifadhiwa pamoja, ambayo inaboresha utendaji wa maswali na uwezo wa kupanuka.
  • Mfano: Katika meza inayohifadhi data za wafanyakazi, PartitionKey inaweza kuwakilisha idara, mfano, "HR" au "IT".

RowKey

  • RowKey ni kitambulisho cha kipekee kwa kitu ndani ya sehemu. Inapounganishwa na PartitionKey, inahakikisha kwamba kila kitu katika meza kina kitambulisho cha kipekee duniani.
  • Mfano: Kwa sehemu ya "HR", RowKey inaweza kuwa kitambulisho cha mfanyakazi, mfano, "12345".

Other Properties (Custom Properties)

  • Mbali na PartitionKey na RowKey, kitu kinaweza kuwa na mali za kawaida za ziada kuhifadhi data. Hizi ni za mtumiaji zilizofafanuliwa na zinafanya kazi kama safu katika hifadhidata ya jadi.
  • Mali zinahifadhiwa kama funguo-thamani.
  • Mfano: Name, Age, Title zinaweza kuwa mali za kawaida kwa mfanyakazi.

Enumeration

bash
# 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

Kwa default az cli itatumia funguo ya akaunti kusaini funguo na kutekeleza kitendo. Ili kutumia ruhusa za Entra ID principal tumia vigezo --auth-mode login.

tip

Tumia param --account-key kuashiria funguo ya akaunti inayotumika
Tumia param --sas-token pamoja na token ya SAS ili kufikia kupitia token ya SAS

Privilege Escalation

Kama vile storage privesc:

Az - Storage Privesc

Post Exploitation

Az - Table Storage Post Exploitation

Persistence

Kama vile storage persistence:

Az - Storage Persistence

tip

Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Jifunze na fanya mazoezi ya Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Support HackTricks