AWS - Basic Information

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Hierarchia ya Shirika

Akaunti

Katika AWS kuna akaunti ya mzizi, ambayo ni konteina mama kwa akaunti zote za shirika lako. Hata hivyo, huwezi kuhitaji kutumia akaunti hiyo kupeleka rasilimali, unaweza kuunda akaunti nyingine ili kutenganisha miundombinu tofauti za AWS kati yao.

Hii ni ya kuvutia kutoka kwa mtazamo wa usalama, kwani akaunti moja haitakuwa na uwezo wa kufikia rasilimali kutoka akaunti nyingine (isipokuwa madaraja yameundwa mahsusi), hivyo unaweza kuunda mipaka kati ya upelekao.

Kwa hivyo, kuna aina mbili za akaunti katika shirika (tunazungumzia akaunti za AWS na si Akaunti za Mtumiaji): akaunti moja ambayo imewekwa kama akaunti ya usimamizi, na akaunti moja au zaidi za wanachama.

  • Akaunti ya usimamizi (akaunti ya mzizi) ni akaunti unayotumia kuunda shirika. Kutoka kwa akaunti ya usimamizi ya shirika, unaweza kufanya yafuatayo:

  • Kuunda akaunti katika shirika

  • Kualika akaunti nyingine zilizopo katika shirika

  • Kuondoa akaunti kutoka shirika

  • Kusimamia mialiko

  • Kutumia sera kwa vitu (mizizi, OUs, au akaunti) ndani ya shirika

  • Kuwezesha uunganisho na huduma za AWS zinazoungwa mkono ili kutoa kazi za huduma katika akaunti zote za shirika.

  • Inawezekana kuingia kama mtumiaji mzizi kwa kutumia barua pepe na nenosiri vilivyotumika kuunda akaunti hii ya mzizi/shirika.

Akaunti ya usimamizi ina majukumu ya akaunti ya kulipa na inawajibika kwa kulipa malipo yote yanayokusanywa na akaunti za wanachama. Huwezi kubadilisha akaunti ya usimamizi ya shirika.

  • Akaunti za wanachama zinaunda akaunti zote nyingine katika shirika. Akaunti inaweza kuwa mwanachama wa shirika moja tu kwa wakati mmoja. Unaweza kuambatisha sera kwa akaunti ili kutekeleza udhibiti kwa akaunti hiyo pekee.

  • Akaunti za wanachama zinapaswa kutumia anwani halali ya barua pepe na zinaweza kuwa na jina, kwa ujumla hazitakuwa na uwezo wa kusimamia bili (lakini zinaweza kupewa ufikiaji wa hiyo).

aws organizations create-account --account-name testingaccount --email testingaccount@lalala1233fr.com

Vitengo vya Shirika

Akaunti zinaweza kuunganishwa katika Vitengo vya Shirika (OU). Kwa njia hii, unaweza kuunda sera za Kitengo cha Shirika ambazo zita wekwa kwenye akaunti zote za watoto. Kumbuka kwamba OU inaweza kuwa na OUs zingine kama watoto.

# You can get the root id from aws organizations list-roots
aws organizations create-organizational-unit --parent-id r-lalala --name TestOU

Service Control Policy (SCP)

Sera ya udhibiti wa huduma (SCP) ni sera inayobainisha huduma na vitendo ambavyo watumiaji na majukumu wanaweza kutumia katika akaunti ambazo SCP inahusisha. SCPs ni sawa na ruhusa za IAM isipokuwa kwamba hazipati ruhusa yoyote. Badala yake, SCPs zinaelezea ruhusa za juu zaidi kwa shirika, kitengo cha shirika (OU), au akaunti. Unapounganisha SCP na mzizi wa shirika lako au OU, SCP inakandamiza ruhusa za viumbe katika akaunti za wanachama.

Hii ndiyo NJIA PEKEE ambayo hata mtumiaji wa mzizi anaweza kuzuiwa kufanya kitu. Kwa mfano, inaweza kutumika kuzuia watumiaji wasizime CloudTrail au kufuta nakala za akiba. Njia pekee ya kupita hii ni kuathiri pia akaunti ya mkuu inayoweka mipangilio ya SCPs (akaunti ya mkuu haiwezi kuzuiwa).

Kumbuka kwamba SCPs zinakandamiza tu wakuu katika akaunti, hivyo akaunti nyingine hazihusiki. Hii inamaanisha kuwa kuwa na SCP inayokataza s3:GetObject haitazuia watu kupata mfuko wa S3 wa umma katika akaunti yako.

Mifano ya SCP:

  • Kataza akaunti ya mzizi kabisa

  • Ruhusu tu maeneo maalum

  • Ruhusu tu huduma zilizoorodheshwa

  • Kataza GuardDuty, CloudTrail, na S3 Public Block Access kutoka

kuondolewa

  • Kataza majukumu ya usalama/mjibu wa tukio kutoka kuondolewa au

kubadilishwa.

  • Kataza nakala za akiba kutoka kuondolewa.

  • Kataza kuunda watumiaji wa IAM na funguo za ufikiaji

Pata mifano ya JSON katika https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html

ARN

Jina la Rasilimali la Amazon ni jina la kipekee kila rasilimali ndani ya AWS ina, linaundwa kama ifuatavyo:

arn:partition:service:region:account-id:resource-type/resource-id
arn:aws:elasticbeanstalk:us-west-1:123456789098:environment/App/Env

Note that there are 4 partitions in AWS but only 3 ways to call them:

  • AWS Standard: aws

  • AWS China: aws-cn

  • AWS US public Internet (GovCloud): aws-us-gov

  • AWS Secret (US Classified): aws

IAM - Usimamizi wa Utambulisho na Ufikiaji

IAM ni huduma itakayokuruhusu kusimamia Uthibitishaji, Idhini na Udhibiti wa Ufikiaji ndani ya akaunti yako ya AWS.

  • Uthibitishaji - Mchakato wa kufafanua utambulisho na uthibitisho wa utambulisho huo. Mchakato huu unaweza kugawanywa katika: Utambulisho na uthibitisho.

  • Idhini - Inabainisha ni nini utambulisho unaweza kufikia ndani ya mfumo mara tu unapothibitishwa.

  • Udhibiti wa Ufikiaji - Njia na mchakato wa jinsi ufikiaji unavyotolewa kwa rasilimali salama.

IAM inaweza kufafanuliwa kwa uwezo wake wa kusimamia, kudhibiti na kuongoza mitambo ya uthibitishaji, idhini na udhibiti wa ufikiaji wa utambulisho kwa rasilimali zako ndani ya akaunti yako ya AWS.

Unapounda akaunti ya Amazon Web Services (AWS) kwa mara ya kwanza, unaanza na utambulisho mmoja wa kuingia ambao una ufikiaji kamili kwa wote huduma na rasilimali za AWS katika akaunti. Hii ni akaunti ya AWS mtumiaji wa mizizi na inapatikana kwa kuingia kwa kutumia anwani ya barua pepe na nenosiri ulilotumia kuunda akaunti.

Kumbuka kwamba mtumiaji mpya wa admin atakuwa na idhini ndogo kuliko mtumiaji wa mizizi.

Kutoka kwa mtazamo wa usalama, inapendekezwa kuunda watumiaji wengine na kuepuka kutumia huu.

Mtumiaji wa IAM ni kiumbe ambacho unaunda katika AWS ili wakilisha mtu au programu inayotumia hiyo ili kuingiliana na AWS. Mtumiaji katika AWS unajumuisha jina na ithibati (nenosiri na funguo za ufikiaji hadi mbili).

Unapounda mtumiaji wa IAM, unampa idhini kwa kumfanya kuwa mwanachama wa kundi la watumiaji ambalo lina sera za idhini zinazofaa (inapendekezwa), au kwa kuambatanisha sera moja kwa moja kwa mtumiaji.

Watumiaji wanaweza kuwa na MFA iliyoanzishwa kuingia kupitia console. Token za API za watumiaji walioanzisha MFA hazilindwi na MFA. Ikiwa unataka kudhibiti ufikiaji wa funguo za API za watumiaji kwa kutumia MFA unahitaji kuashiria katika sera hiyo kwamba ili kutekeleza vitendo fulani MFA inahitaji kuwepo (mfano hapa).

CLI

  • Kitambulisho cha Funguo za Ufikiaji: 20 ya herufi kubwa za alphanumeric za nasibu kama AKHDNAPO86BSHKDIRYT

  • Kitambulisho cha funguo za siri: 40 ya herufi kubwa na ndogo za nasibu: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Haiwezekani kurejesha vitambulisho vya funguo za siri vilivyopotea).

Wakati wowote unahitaji kubadilisha Funguo za Ufikiaji huu ndio mchakato unapaswa kufuata: Unda funguo mpya za ufikiaji -> Tumia funguo mpya kwenye mfumo/programu -> weka ya awali kama isiyo hai -> Jaribu na thibitisha funguo mpya za ufikiaji zinafanya kazi -> Futa funguo za zamani za ufikiaji

MFA - Uthibitishaji wa Vigezo Vingi

Inatumika ku unda kipengele cha ziada kwa uthibitishaji pamoja na mbinu zako zilizopo, kama vile nenosiri, hivyo kuunda kiwango cha uthibitishaji wa vigezo vingi. Unaweza kutumia programu ya bure ya virtual au kifaa halisi. Unaweza kutumia programu kama uthibitishaji wa google bure kuanzisha MFA katika AWS.

Sera zenye masharti ya MFA zinaweza kuambatanishwa na yafuatayo:

  • Mtumiaji wa IAM au kundi

  • Rasilimali kama vile kikasha cha Amazon S3, foleni ya Amazon SQS, au mada ya Amazon SNS

  • Sera ya kuaminika ya jukumu la IAM ambalo linaweza kuchukuliwa na mtumiaji

Ikiwa unataka kufikia kupitia CLI rasilimali ambayo inaangalia MFA unahitaji kuita GetSessionToken. Hii itakupa token yenye taarifa kuhusu MFA. Kumbuka kwamba AssumeRole ithibati hazina taarifa hii.

aws sts get-session-token --serial-number <arn_device> --token-code <code>

As imesemwa hapa, kuna kesi nyingi tofauti ambapo MFA haiwezi kutumika.

Kundi la mtumiaji wa IAM ni njia ya kuunganisha sera kwa watumiaji wengi kwa wakati mmoja, ambayo inaweza kurahisisha usimamizi wa ruhusa za watumiaji hao. Majukumu na makundi hayawezi kuwa sehemu ya kundi.

Unaweza kuunganisha sera ya msingi wa utambulisho kwa kundi la mtumiaji ili watumiaji wote katika kundi la mtumiaji wapate ruhusa za sera. Huwezi kutambua kundi la mtumiaji kama Principal katika sera (kama sera ya msingi wa rasilimali) kwa sababu makundi yanahusiana na ruhusa, si uthibitishaji, na wakuu ni entiti za IAM zilizothibitishwa.

Hapa kuna sifa muhimu za makundi ya watumiaji:

  • Kundi la mtumiaji linaweza kuwa na watumiaji wengi, na mtumiaji anaweza kuwa sehemu ya makundi mengi.

  • Makundi ya watumiaji hayawezi kuwekwa ndani; yanaweza kuwa na watumiaji tu, si makundi mengine ya watumiaji.

  • Hakuna kundi la mtumiaji la default ambalo linajumuisha watumiaji wote katika akaunti ya AWS. Ikiwa unataka kuwa na kundi la mtumiaji kama hilo, lazima ulunde na kupewa kila mtumiaji mpya.

  • Idadi na ukubwa wa rasilimali za IAM katika akaunti ya AWS, kama vile idadi ya makundi, na idadi ya makundi ambayo mtumiaji anaweza kuwa mwanachama wake, zimepangwa. Kwa maelezo zaidi, angalia IAM na AWS STS quotas.

Jukumu la IAM ni kama mtumiaji, kwa kuwa ni utambulisho wenye sera za ruhusa zinazotaja kile kinaweza na hakiwezi kufanya katika AWS. Hata hivyo, jukumu halina akreditif yoyote (nenosiri au funguo za ufikiaji) zinazohusishwa nalo. Badala ya kuwa na uhusiano wa kipekee na mtu mmoja, jukumu linakusudia kuwa linaweza kuchukuliwa na yeyote anayeihitaji (na kuwa na ruhusa za kutosha). Mtumiaji wa IAM anaweza kuchukua jukumu ili kwa muda kuchukua ruhusa tofauti kwa kazi maalum. Jukumu linaweza kupewa mtumiaji wa shirikisho anayesaini kwa kutumia mtoa huduma wa utambulisho wa nje badala ya IAM.

Jukumu la IAM linajumuisha aina mbili za sera: sera ya kuamini, ambayo haiwezi kuwa tupu, inayoeleza nani anaweza kuchukua jukumu, na sera ya ruhusa, ambayo haiwezi kuwa tupu, inayoeleza nini kinaweza kufikiwa.

Huduma ya Usalama ya Tokeni ya AWS (STS)

Huduma ya Usalama ya Tokeni ya AWS (STS) ni huduma ya wavuti inayorahisisha utoaji wa akreditif za muda mfupi, zenye ruhusa zilizopunguzwa. Imeundwa mahsusi kwa:

Akreditif za muda mfupi zinatumika hasa na majukumu ya IAM, lakini pia kuna matumizi mengine. Unaweza kuomba akreditif za muda mfupi ambazo zina seti ya ruhusa iliyopunguzwa zaidi kuliko mtumiaji wako wa kawaida wa IAM. Hii inaepuka wewe kufanya kazi ambazo haziruhusiwi na akreditif zilizopunguzwa zaidi. Faida ya akreditif za muda mfupi ni kwamba zinakoma moja kwa moja baada ya kipindi fulani. Una udhibiti juu ya muda ambao akreditif hizo ni halali.

Sera

Ruhusa za Sera

Zinatumiwa kutoa ruhusa. Kuna aina 2:

  • Sera zinazodhibitiwa na AWS (zilizopangwa na AWS)

  • Sera Zinazosimamiwa na Wateja: Zimepangwa na wewe. Unaweza kuunda sera kulingana na sera zinazodhibitiwa na AWS (ukibadilisha moja yao na kuunda yako), ukitumia jenereta ya sera (maoni ya GUI yanayokusaidia kutoa na kukataa ruhusa) au kuandika yako mwenyewe.

Kwa default ufikiaji unakataliwa, ufikiaji utawekwa ikiwa jukumu maalum limeainishwa. Ikiwa "Deny" moja ipo, itazidi "Allow", isipokuwa kwa maombi yanayotumia akreditif za usalama za mizizi ya akaunti ya AWS (ambazo zinaruhusiwa kwa default).

{
"Version": "2012-10-17",  //Version of the policy
"Statement": [  //Main element, there can be more than 1 entry in this array
{
"Sid": "Stmt32894y234276923" //Unique identifier (optional)
"Effect": "Allow", //Allow or deny
"Action": [  //Actions that will be allowed or denied
"ec2:AttachVolume",
"ec2:DetachVolume"
],
"Resource": [ //Resource the action and effect will be applied to
"arn:aws:ec2:*:*:volume/*",
"arn:aws:ec2:*:*:instance/*"
],
"Condition": { //Optional element that allow to control when the permission will be effective
"ArnEquals": {"ec2:SourceInstanceARN": "arn:aws:ec2:*:*:instance/instance-id"}
}
}
]
}

The global fields that can be used for conditions in any service are documented here. The specific fields that can be used for conditions per service are documented here.

Inline Policies

Hizi ni sera ambazo zimewekwa moja kwa moja kwa mtumiaji, kundi au jukumu. Hivyo, hazionekani katika orodha ya Sera kama wengine wanaweza kuzitumia. Sera za ndani ni muhimu ikiwa unataka kuhifadhi uhusiano mkali wa moja kwa moja kati ya sera na kitambulisho ambacho kimewekwa. Kwa mfano, unataka kuwa na uhakika kwamba ruhusa katika sera hazitapewa kwa bahati mbaya kwa kitambulisho kingine isipokuwa kile ambacho zimekusudiwa. Unapokuwa unatumia sera ya ndani, ruhusa katika sera haiwezi kuunganishwa kwa bahati mbaya na kitambulisho kibaya. Zaidi ya hayo, unapokuwa unatumia AWS Management Console kufuta kitambulisho hicho, sera zilizojumuishwa katika kitambulisho pia zitatolewa. Hiyo ni kwa sababu ni sehemu ya chombo kikuu.

Resource Bucket Policies

Hizi ni sera ambazo zinaweza kufafanuliwa katika rasilimali. Sio rasilimali zote za AWS zinazozipokea.

Ikiwa chombo hakina kukataa wazi juu yao, na sera ya rasilimali inawapa ufikiaji, basi wanaruhusiwa.

IAM Boundaries

Mipaka ya IAM inaweza kutumika kudhibiti ruhusa ambazo mtumiaji au jukumu linapaswa kuwa na ufikiaji. Kwa njia hii, hata kama seti tofauti za ruhusa zinatolewa kwa mtumiaji na sera tofauti, operesheni itashindwa ikiwa atajaribu kuzitumia.

Mpaka ni sera tu iliyounganishwa na mtumiaji ambayo inaonyesha kiwango cha juu cha ruhusa ambacho mtumiaji au jukumu linaweza kuwa nacho. Hivyo, hata kama mtumiaji ana ufikiaji wa Msimamizi, ikiwa mpaka inaonyesha anaweza kusoma tu S· buckets, hiyo ndiyo kiwango cha juu anachoweza kufanya.

Hii, SCPs na kufuata kanuni ya ruhusa ndogo ndiyo njia za kudhibiti kwamba watumiaji hawana ruhusa zaidi ya zile anazohitaji.

Session Policies

Sera ya kikao ni sera iliyowekwa wakati jukumu linachukuliwa kwa namna fulani. Hii itakuwa kama mpaka wa IAM kwa kikao hicho: Hii inamaanisha kwamba sera ya kikao haitoi ruhusa bali inaweka vizuizi kwa zile zilizoorodheshwa katika sera (ikiwa ruhusa za juu ni zile ambazo jukumu lina).

Hii ni muhimu kwa hatua za usalama: Wakati msimamizi anapokuwa anachukua jukumu lenye mamlaka makubwa anaweza kupunguza ruhusa kwa zile tu zilizoorodheshwa katika sera ya kikao endapo kikao kitaharibiwa.

aws sts assume-role \
--role-arn <value> \
--role-session-name <value> \
[--policy-arns <arn_custom_policy1> <arn_custom_policy2>]
[--policy <file://policy.json>]

Note that by default AWS inaweza kuongeza sera za kikao kwa vikao ambavyo vitaundwa kwa sababu za tatu. Kwa mfano, katika roles za cognito zisizo na uthibitisho kwa kawaida (kwa kutumia uthibitisho ulioimarishwa), AWS itaunda akiba za kikao zenye sera ya kikao ambayo inazuia huduma ambazo kikao kinaweza kufikia katika orodha ifuatayo.

Hivyo, ikiwa kwa wakati fulani unakutana na kosa "... kwa sababu hakuna sera ya kikao inayoruhusu ...", na jukumu lina ufikiaji wa kutekeleza kitendo hicho, ni kwa sababu kuna sera ya kikao inayozuia.

Ushirikiano wa Utambulisho

Ushirikiano wa utambulisho unawaruhusu watumiaji kutoka kwa watoa huduma za utambulisho ambao ni wa nje kwa AWS kufikia rasilimali za AWS kwa usalama bila ya kuhitaji kutoa akiba za mtumiaji wa AWS kutoka kwa akaunti halali ya IAM. Mfano wa mtoa huduma wa utambulisho unaweza kuwa Microsoft Active Directory yako mwenyewe (kupitia SAML) au huduma za OpenID (kama Google). Ufikiaji wa ushirikiano utaweza kuwapa watumiaji ndani yake ufikiaji wa AWS.

Ili kuunda uaminifu huu, Mtoa Huduma wa Utambulisho wa IAM unaundwa (SAML au OAuth) ambao utakuwa na uaminifu kwa jukwaa lingine. Kisha, angalau jukumu moja linapewa (linaloaminika) kwa Mtoa Huduma wa Utambulisho. Ikiwa mtumiaji kutoka jukwaa lililoaminika anafikia AWS, atakuwa akifanya hivyo kama jukumu lililotajwa.

Hata hivyo, kwa kawaida unataka kutoa jukumu tofauti kulingana na kundi la mtumiaji katika jukwaa la upande wa tatu. Kisha, majukumu kadhaa ya IAM yanaweza kuamini Mtoa Huduma wa Utambulisho wa upande wa tatu na jukwaa la upande wa tatu litakuwa ndio linaloruhusu watumiaji kuchukua jukumu moja au jingine.

Kituo cha Utambulisho wa IAM

Kituo cha Utambulisho wa AWS IAM (mfuatano wa AWS Single Sign-On) kinapanua uwezo wa Usimamizi wa Utambulisho na Ufikiaji wa AWS (IAM) kutoa mahali pa kati ambalo linaunganisha usimamizi wa watumiaji na ufikiaji wao kwa akaunti za AWS na programu za wingu.

Domeni la kuingia litakuwa kitu kama <user_input>.awsapps.com.

Ili kuingia watumiaji, kuna vyanzo 3 vya utambulisho ambavyo vinaweza kutumika:

  • Kituo cha Utambulisho: Watumiaji wa kawaida wa AWS

  • Active Directory: Inasaidia viunganishi tofauti

  • Mtoa Huduma wa Utambulisho wa Nje: Watumiaji wote na makundi yanatoka kwa Mtoa Huduma wa Utambulisho wa Nje (IdP)

Katika kesi rahisi ya kituo cha utambulisho, Kituo cha Utambulisho kitakuwa na orodha ya watumiaji na makundi na kitakuwa na uwezo wa kutoa sera kwao kwa akaunti zozote za shirika.

Ili kutoa ufikiaji kwa mtumiaji/kundi wa Kituo cha Utambulisho kwa akaunti, Mtoa Huduma wa Utambulisho wa SAML unaoaminika Kituo cha Utambulisho utaundwa, na jukumu linaloaminika Mtoa Huduma wa Utambulisho lenye sera zilizotajwa litaundwa katika akaunti ya marudio.

AwsSSOInlinePolicy

Inawezekana kutoa ruhusa kupitia sera za ndani kwa majukumu yaliyoandikwa kupitia Kituo cha Utambulisho wa IAM. Majukumu yaliyoandikwa katika akaunti zinazopatiwa sera za ndani katika Kituo cha Utambulisho wa AWS yatakuwa na ruhusa hizi katika sera ya ndani inayoitwa AwsSSOInlinePolicy.

Hivyo, hata kama unaona majukumu 2 yenye sera ya ndani inayoitwa AwsSSOInlinePolicy, haimaanishi ina ruhusa sawa.

Uaminifu na Majukumu ya Akaunti Mbalimbali

Mtumiaji (anayeaminika) anaweza kuunda Jukumu la Akaunti Mbalimbali lenye sera kadhaa na kisha, kuruhusu mtumiaji mwingine (aliyeaminika) kuingia kwenye akaunti yake lakini tu akiwa na ufikiaji ulioainishwa katika sera mpya za jukumu. Ili kuunda hii, tengeneza Jukumu jipya na uchague Jukumu la Akaunti Mbalimbali. Majukumu ya Ufikiaji wa Akaunti Mbalimbali yanatoa chaguzi mbili. Kutoa ufikiaji kati ya akaunti za AWS ambazo unamiliki, na kutoa ufikiaji kati ya akaunti ambayo unamiliki na akaunti ya AWS ya upande wa tatu. Inapendekezwa kueleza mtumiaji ambaye anaaminika na si kuweka kitu chochote cha jumla kwa sababu vinginevyo, watumiaji wengine walioidhinishwa kama watumiaji wa ushirikiano wataweza pia kutumia uaminifu huu vibaya.

AWS Simple AD

Haitambuliwi:

  • Mahusiano ya Uaminifu

  • Kituo cha Usimamizi wa AD

  • Msaada kamili wa PS API

  • Kituo cha Recycle cha AD

  • Akaunti za Huduma za Kundi

  • Upanuzi wa Mpango

  • Hakuna ufikiaji wa moja kwa moja kwa OS au Mifano

Ushirikiano wa Mtandao au Uthibitisho wa OpenID

Programu inatumia AssumeRoleWithWebIdentity kuunda akiba za muda. Hata hivyo, hii haitoi ufikiaji kwa console ya AWS, bali ufikiaji tu kwa rasilimali ndani ya AWS.

Chaguzi Nyingine za IAM

  • Unaweza kufafanua mipangilio ya sera ya nywila kama urefu wa chini na mahitaji ya nywila.

  • Unaweza kupakua "Ripoti ya Akiba" yenye taarifa kuhusu akiba za sasa (kama wakati wa kuunda mtumiaji, ikiwa nywila imewekwa...). Unaweza kuunda ripoti ya akiba mara kwa mara kama mara moja kila saa nne.

Usimamizi wa Utambulisho na Ufikiaji wa AWS (IAM) unatoa udhibiti wa ufikiaji wa kina katika AWS yote. Kwa IAM, unaweza kufafanua nani anaweza kufikia huduma na rasilimali zipi, na chini ya hali zipi. Kwa sera za IAM, unasimamia ruhusa kwa wafanyakazi na mifumo yako ili kuhakikisha ruhusa za chini.

Awali za ID za IAM

Katika ukurasa huu unaweza kupata awali za ID za IAM za funguo kulingana na asili yao:

ABIA

ACCA

Akiba maalum ya muktadha

AGPA

Kundi la mtumiaji

AIDA

Mtumiaji wa IAM

AIPA

Profaili ya mfano wa Amazon EC2

AKIA

Funguo ya ufikiaji

ANPA

Sera iliyosimamiwa

ANVA

Toleo katika sera iliyosimamiwa

APKA

Funguo ya umma

AROA

Jukumu

ASCA

Cheti

ASIA

Funguo za ufikiaji za muda (AWS STS) tumia awali hii, lakini ni za kipekee tu kwa pamoja na funguo ya siri ya ufikiaji na tokeni ya kikao.

Ruhusa zinazopendekezwa kukagua akaunti

Ruhusa zifuatazo zinatoa ufikiaji wa kusoma wa metadata:

  • arn:aws:iam::aws:policy/SecurityAudit

  • arn:aws:iam::aws:policy/job-function/ViewOnlyAccess

  • codebuild:ListProjects

  • config:Describe*

  • cloudformation:ListStacks

  • logs:DescribeMetricFilters

  • directconnect:DescribeConnections

  • dynamodb:ListTables

Mambo Mengine

Uthibitisho wa CLI

Ili mtumiaji wa kawaida ajiandikishe kwa AWS kupitia CLI unahitaji kuwa na akiba za ndani. Kwa kawaida unaweza kuziunda kwa mikono katika ~/.aws/credentials au kwa kukimbia aws configure. Katika faili hiyo unaweza kuwa na zaidi ya profaili moja, ikiwa hakuna profaili iliyotajwa kwa kutumia aws cli, ile inayoitwa [default] katika faili hiyo itatumika. Mfano wa faili ya akiba yenye zaidi ya profaili 1:

[default]
aws_access_key_id = AKIA5ZDCUJHF83HDTYUT
aws_secret_access_key = uOcdhof683fbOUGFYEQug8fUGIf68greoihef

[Admin]
aws_access_key_id = AKIA8YDCu7TGTR356SHYT
aws_secret_access_key = uOcdhof683fbOUGFYEQuR2EIHG34UY987g6ff7
region = eu-west-2

If you need to access different AWS accounts and your profile was given access to assume a role inside those accounts, you don't need to call manually STS every time (aws sts assume-role --role-arn <role-arn> --role-session-name sessname) and configure the credentials.

You can use the ~/.aws/config file to indicate which roles to assume, and then use the --profile param as usual (the assume-role will be performed in a transparent way for the user). Mfano wa faili la usanidi:

[profile acc2]
region=eu-west-2
role_arn=arn:aws:iam::<account-id>:role/<role-path>
role_session_name = <session_name>
source_profile = <profile_with_assume_role>
sts_regional_endpoints = regional

Na faili hii ya usanidi unaweza kutumia aws cli kama:

aws --profile acc2 ...

Ikiwa unatafuta kitu kama hiki lakini kwa browser unaweza kuangalia extension AWS Extend Switch Roles.

Marejeleo

Jifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze & fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Last updated