-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathstorageRecon.ps1
80 lines (73 loc) · 3.16 KB
/
storageRecon.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# Windows Azure Storage Reconnaissance Script
# (C) 2018 Matt Burrough
# v1.0
# Requires the Azure PowerShell cmdlets be installed.
# See https://github.com/Azure/azure-powershell/ for details.
# Before running the script:
# * Run: Import-Module Azure
# * Authenticate to Azure in PowerShell
# * You may also need to run: Set-ExecutionPolicy -Scope Process Unrestricted
# ASM Storage Accounts
Write-Output ">>> ASM <<<"
$storage = Get-AzureStorageAccount
foreach($account in $storage)
{
$accountName = $account.StorageAccountName
Write-Output "======= ASM Storage Account: $accountName ======="
$key = Get-AzureStorageKey -StorageAccountName $accountName
$context = New-AzureStorageContext -StorageAccountName `
$accountName -StorageAccountKey $key.Primary
$containers = Get-AzureStorageContainer -Context $context
foreach($container in $containers)
{
Write-Output "----- Blobs in Container: $($container.Name) -----"
Get-AzureStorageBlob -Context $context -Container $container.Name |
format-table Name, Length, ContentType, LastModified -auto
}
Write-Output "----- Tables -----"
Get-AzureStorageTable -Context $context | format-table Name -auto
Write-Output "----- Queues -----"
Get-AzureStorageQueue -Context $context |
format-table Name, Uri, ApproximateMessageCount -auto
$shares = Get-AzureStorageShare -Context $context
foreach($share in $shares)
{
Write-Output "----- Files in Share : $($share.Name) -----"
Get-AzureStorageFile -Context $context -ShareName $share.Name |
format-table Name, @{label='Size';e={$_.Properties.Length}} -auto
}
Write-Output ""
}
Write-Output ""
# ARM Storage Accounts
Write-Output ">>> ARM <<<"
$storage = Get-AzureRmStorageAccount
foreach($account in $storage)
{
$accountName = $account.StorageAccountName
Write-Output "======= ARM Storage Account: $accountName ======="
$key = Get-AzureRmStorageAccountKey -StorageAccountName `
$accountName -ResourceGroupName $account.ResourceGroupName
$context = New-AzureStorageContext -StorageAccountName `
$accountName -StorageAccountKey $key[0].Value
$containers = Get-AzureStorageContainer -Context $context
foreach($container in $containers)
{
Write-Output "----- Blobs in Container: $($container.Name) -----"
Get-AzureStorageBlob -Context $context -Container $container.Name |
format-table Name, Length, ContentType, LastModified -auto
}
Write-Output "----- Tables -----"
Get-AzureStorageTable -Context $context | format-table Name -auto
Write-Output "----- Queues -----"
Get-AzureStorageQueue -Context $context |
format-table Name, Uri, ApproximateMessageCount -auto
$shares = Get-AzureStorageShare -Context $context
foreach($share in $shares)
{
Write-Output "----- Files in Share : $($share.Name) -----"
Get-AzureStorageFile -Context $context -ShareName $share.Name |
format-table Name, @{label='Size';e={$_.Properties.Length}} -auto
}
Write-Output ""
}