AWS - Relational Database (RDS) Enum

Support HackTricks

Taarifa za Msingi

Relational Database Service (RDS) inayotolewa na AWS imeundwa kurahisisha uwekaji, uendeshaji, na upanuzi wa hifadhidata ya uhusiano kwenye wingu. Huduma hii inatoa faida za ufanisi wa gharama na upanuzi huku ikifanya kazi za kazi ngumu kama utoaji wa vifaa, usanidi wa hifadhidata, upachikaji, na nakala za chelezo.

AWS RDS inasaidia injini mbalimbali za hifadhidata za uhusiano zinazotumika sana ikiwa ni pamoja na MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server, na Amazon Aurora, yenye ulinganifu kwa MySQL na PostgreSQL.

Vipengele muhimu vya RDS ni pamoja na:

  • Usimamizi wa matukio ya hifadhidata umerahisishwa.

  • Uundaji wa nakala za kusoma ili kuboresha utendaji wa kusoma.

  • Usanidi wa mifumo ya upatikanaji wa maeneo mengi (AZ) ili kuhakikisha upatikanaji wa juu na mifumo ya kushindwa.

  • Ujumuishaji na huduma zingine za AWS, kama:

  • AWS Identity and Access Management (IAM) kwa udhibiti wa ufikiaji thabiti.

  • AWS CloudWatch kwa ufuatiliaji na vipimo vya kina.

  • AWS Key Management Service (KMS) kwa kuhakikisha usimbaji wa data iliyohifadhiwa.

Kitambulisho

Wakati wa kuunda kundi la DB jina la mtumiaji mkuu linaweza kusanidiwa (admin kwa chaguo-msingi). Ili kuzalisha nenosiri la mtumiaji huyu unaweza:

  • Kueleza nenosiri mwenyewe

  • Kuambia RDS kuzalisha kiotomatiki

  • Kuambia RDS kusimamia katika AWS Secret Manager iliyosimbwa kwa ufunguo wa KMS

Uthibitishaji

Kuna aina 3 za chaguzi za uthibitishaji, lakini kutumia nenosiri kuu daima inaruhusiwa:

Ufikiaji wa Umma & VPC

Kwa chaguo-msingi hakuna ufikiaji wa umma unaopewa kwa hifadhidata, hata hivyo inaweza kupewa. Kwa hivyo, kwa chaguo-msingi ni mashine tu kutoka VPC sawa zitakazoweza kufikia ikiwa kikundi cha usalama kilichochaguliwa (kimehifadhiwa katika EC2 SG) kinaruhusu.

Badala ya kufichua tukio la DB, inawezekana kuunda RDS Proxy ambayo inaboresha upanuzi na upatikanaji wa kundi la DB.

Zaidi ya hayo, bandari ya hifadhidata inaweza kubadilishwa pia.

Usimbaji

Usimbaji umewezeshwa kwa chaguo-msingi kwa kutumia ufunguo unaosimamiwa na AWS (CMK inaweza kuchaguliwa badala yake).

Kwa kuwezesha usimbaji wako, unakuwa unawasha usimbaji wa data iliyohifadhiwa kwa hifadhi yako, picha, nakala za kusoma na nakala zako za chelezo. Funguo za kusimamia usimbaji huu zinaweza kutolewa kwa kutumia KMS. Haiwezekani kuongeza kiwango hiki cha usimbaji baada ya hifadhidata yako kuundwa. Inapaswa kufanywa wakati wa uundaji wake.

Hata hivyo, kuna njia mbadala inayokuruhusu kusimba hifadhidata isiyosimbwa kama ifuatavyo. Unaweza kuunda picha ya hifadhidata yako isiyosimbwa, kuunda nakala iliyosimbwa ya picha hiyo, kutumia picha hiyo iliyosimbwa kuunda hifadhidata mpya, na kisha, hatimaye, hifadhidata yako itakuwa imesimbwa.

Usimbaji wa Data Wazi (TDE)

Pamoja na uwezo wa usimbaji wa RDS kwenye kiwango cha programu, RDS pia inasaidia mifumo ya ziada ya usimbaji wa jukwaa ili kulinda data iliyohifadhiwa. Hii inajumuisha Usimbaji wa Data Wazi (TDE) kwa Oracle na SQL Server. Hata hivyo, ni muhimu kutambua kwamba wakati TDE inaboresha usalama kwa kusimba data iliyohifadhiwa, inaweza pia kuathiri utendaji wa hifadhidata. Athari hii ya utendaji ni dhahiri hasa wakati inatumiwa pamoja na kazi za usimbaji za MySQL au kazi za usimbaji za Microsoft Transact-SQL.

Ili kutumia TDE, hatua fulani za awali zinahitajika:

  1. Kuhusisha Kikundi cha Chaguo:

  • Hifadhidata lazima ihusishwe na kikundi cha chaguo. Vikundi vya chaguo hutumika kama vyombo vya mipangilio na vipengele, kurahisisha usimamizi wa hifadhidata, ikiwa ni pamoja na maboresho ya usalama.

  • Hata hivyo, ni muhimu kutambua kwamba vikundi vya chaguo vinapatikana tu kwa injini na matoleo maalum ya hifadhidata.

  1. Kujumuisha TDE katika Kikundi cha Chaguo:

  • Mara baada ya kuhusishwa na kikundi cha chaguo, chaguo la Usimbaji wa Data Wazi wa Oracle linahitaji kujumuishwa katika kikundi hicho.

  • Ni muhimu kutambua kwamba mara chaguo la TDE limeongezwa kwenye kikundi cha chaguo, linakuwa kipengele cha kudumu na haliwezi kuondolewa.

  1. Njia za Usimbaji za TDE:

  • TDE inatoa njia mbili tofauti za usimbaji:

  • Usimbaji wa TDE Tablespace: Njia hii inasimba meza nzima, ikitoa ulinzi mpana wa data.

  • Usimbaji wa TDE Column: Njia hii inalenga kusimba vipengele maalum, vya kibinafsi ndani ya hifadhidata, ikiruhusu udhibiti wa kina zaidi juu ya data gani inasimbwa.

Kuelewa mahitaji haya ya awali na utendaji wa TDE ni muhimu kwa kutekeleza na kusimamia usimbaji ndani ya RDS kwa ufanisi, kuhakikisha usalama wa data na kufuata viwango vinavyohitajika.

Uorodheshaji

# Clusters info
## Get Endpoints, username, port, iam auth enabled, attached roles, SG
aws rds describe-db-clusters
aws rds describe-db-cluster-endpoints #Cluster URLs
aws rds describe-db-cluster-backtracks --db-cluster-identifier <cluster-name>

## Cluster snapshots
aws rds describe-db-cluster-snapshots

# Get DB instances info
aws rds describe-db-instances #username, url, port, vpc, SG, is public?
aws rds describe-db-security-groups

## Find automated backups
aws rds describe-db-instance-automated-backups

## Find snapshots
aws rds describe-db-snapshots
aws rds describe-db-snapshots --include-public --snapshot-type public
## Restore snapshot as new instance
aws rds restore-db-instance-from-db-snapshot --db-instance-identifier <ID> --db-snapshot-identifier <ID> --availability-zone us-west-2a

# Any public snapshot in the account
aws rds describe-db-snapshots --snapshot-type public

# Proxies
aws rds describe-db-proxy-endpoints
aws rds describe-db-proxy-target-groups
aws rds describe-db-proxy-targets

## reset credentials of MasterUsername
aws rds modify-db-instance --db-instance-identifier <ID> --master-user-password <NewPassword> --apply-immediately

Ufikiaji Bila Uthibitisho

AWS - RDS Unauthenticated Enum

Privesc

AWS - RDS Privesc

Baada ya Udukuzi

AWS - RDS Post Exploitation

Uendelevu

AWS - RDS Persistence

Sindikizo la SQL

Kuna njia za kufikia data za DynamoDB kwa kutumia syntax ya SQL, kwa hivyo, sindikizo za kawaida za SQL pia zinawezekana.

Support HackTricks

Last updated