Az - Table Storage

Reading time: 6 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

基本情報

Azure Table Storage は、大量の構造化された非関係データを保存するために設計された NoSQL キー-バリューストアです。高い可用性、低遅延、およびスケーラビリティを提供し、大規模なデータセットを効率的に処理します。データはテーブルに整理され、各エンティティはパーティションキーと行キーによって識別され、迅速な検索を可能にします。データは静止時の暗号化、ロールベースのアクセス制御、および安全で管理されたストレージのための共有アクセス署名などの機能をサポートしており、幅広いアプリケーションに適しています。

テーブルストレージには組み込みのバックアップメカニズムはありません

キー

PartitionKey

  • PartitionKey はエンティティを論理パーティションにグループ化します。同じ PartitionKey を持つエンティティは一緒に保存され、クエリパフォーマンスとスケーラビリティが向上します。
  • 例: 従業員データを保存するテーブルでは、PartitionKey は部門を表すことがあります。例: "HR" または "IT"

RowKey

  • RowKey はパーティション内のエンティティの一意の識別子です。PartitionKey と組み合わせることで、テーブル内の各エンティティがグローバルに一意の識別子を持つことを保証します。
  • 例: "HR" パーティションの場合、RowKey は従業員 ID である可能性があります。例: "12345"

その他のプロパティ (カスタムプロパティ)

  • PartitionKey と RowKey に加えて、エンティティはデータを保存するための追加のカスタムプロパティを持つことができます。これらはユーザー定義であり、従来のデータベースの列のように機能します。
  • プロパティはキー-バリューペアとして保存されます。
  • 例: NameAgeTitle は従業員のカスタムプロパティである可能性があります。

列挙

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

デフォルトでは az cli はアカウントキーを使用してキーに署名し、アクションを実行します。Entra ID プリンシパルの権限を使用するには、パラメータ --auth-mode login を使用してください。

tip

使用するアカウントキーを示すには、パラメータ --account-key を使用します
SAS トークンを使用してアクセスするには、SAS トークンと共にパラメータ --sas-token を使用します

Privilege Escalation

ストレージの特権昇格と同様です:

Az - Storage Privesc

Post Exploitation

Az - Table Storage Post Exploitation

Persistence

ストレージの永続性と同様です:

Az - Storage Persistence

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする