AWS Pentesting
Last updated
Last updated
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)
Kabla ya kuanza pentesting mazingira ya AWS, kuna mambo machache muhimu unahitaji kujua kuhusu jinsi AWS inavyofanya kazi ili kusaidia kuelewa unachohitaji kufanya, jinsi ya kupata makosa ya usanidi na jinsi ya kuyatumia.
Mifano kama vile hierarchi ya shirika, IAM na dhana nyingine za msingi zinaelezewa katika:
Tools to simulate attacks:
Ili kukagua mazingira ya AWS ni muhimu sana kujua: ni huduma zipi zinatumika, nini kinacho onyeshwa, nani ana ufikiaji wa nini, na jinsi huduma za ndani za AWS na huduma za nje zinavyounganishwa.
Kutoka kwa mtazamo wa Red Team, hatua ya kwanza ya kuathiri mazingira ya AWS ni kufanikiwa kupata akili. Hapa kuna mawazo kadhaa juu ya jinsi ya kufanya hivyo:
Mvuja katika github (au sawa) - OSINT
Uhandisi wa Kijamii
Mara kwa mara ya nywila (mvuja za nywila)
Uthibitisho katika Programu za AWS-Hosted
Server Side Request Forgery yenye ufikiaji wa metadata endpoint
Usomaji wa Faili za Mitaa
/home/USERNAME/.aws/credentials
C:\Users\USERNAME\.aws\credentials
wahusika wa 3rd parties
Mfanyakazi wa Ndani
Cognito credentials
Au kwa kuathiri huduma isiyo na uthibitisho iliyonyeshwa:
Au ikiwa unafanya kaguzi unaweza tu kuomba akili na hizi nafasi:
Baada ya kufanikiwa kupata akili, unahitaji kujua ni nani mwenye akili hizo, na nini wana ufikiaji, hivyo unahitaji kufanya uainishaji wa msingi:
Ikiwa umepata SSRF katika mashine ndani ya AWS angalia ukurasa huu kwa mbinu:
Moja ya mambo ya kwanza unahitaji kujua ni wewe ni nani (katika akaunti gani uko na habari nyingine kuhusu mazingira ya AWS):
Kumbuka kwamba kampuni zinaweza kutumia canary tokens kubaini wakati tokens zinapokuwa zikiibiwa na kutumika. Inapendekezwa kuangalia kama token ni canary token au la kabla ya kuitumia. Kwa maelezo zaidi angalia ukurasa huu.
Ikiwa una ruhusa za kutosha kuangalia haki za kila chombo ndani ya akaunti ya AWS kutakusaidia kuelewa kile unachoweza kufanya na vitambulisho vingine na jinsi ya kuinua haki.
Ikiwa huna ruhusa za kutosha kuhesabu IAM, unaweza kuiba kuzitafutia ili kujua. Angalia jinsi ya kufanya hesabu na brute-forcing katika:
Sasa kwamba una taarifa fulani kuhusu hati zako (na ikiwa wewe ni timu nyekundu matumaini huja gundulika). Ni wakati wa kubaini ni huduma zipi zinatumika katika mazingira. Katika sehemu ifuatayo unaweza kuangalia njia kadhaa za kuhesabu huduma za kawaida.
AWS ina idadi kubwa ya huduma, katika ukurasa ufuatao utapata taarifa za msingi, hesabu cheatsheets**,** jinsi ya kuepuka kugundulika, kupata kuendelea, na hila nyingine za baada ya unyakuzi kuhusu baadhi yao:
Kumbuka kwamba huhitaji kufanya kazi yote kwa mikono, hapa chini katika chapisho hili unaweza kupata sehemu kuhusu zana za kiotomatiki.
Zaidi ya hayo, katika hatua hii unaweza kugundua huduma zaidi zilizofichuliwa kwa watumiaji wasio na uthibitisho, unaweza kuwa na uwezo wa kuzitumia:
Ikiwa unaweza kuangalia angalau ruhusa zako mwenyewe juu ya rasilimali tofauti unaweza kuangalia ikiwa unaweza kupata ruhusa zaidi. Unapaswa kuzingatia angalau ruhusa zilizoonyeshwa katika:
Wakati wa kuhesabu huduma za AWS unaweza kuwa umepata baadhi yao zinazoonyesha vitu kwenye Mtandao (VM/Containers ports, databases au queue services, snapshots au buckets...). Kama pentester/red teamer unapaswa kila wakati kuangalia ikiwa unaweza kupata taarifa nyeti / udhaifu juu yao kwani zinaweza kukupa ufikiaji zaidi kwenye akaunti ya AWS.
Katika kitabu hiki unapaswa kupata taarifa kuhusu jinsi ya kupata huduma za AWS zilizofichuliwa na jinsi ya kuziangalia. Kuhusu jinsi ya kupata udhaifu katika huduma za mtandao zilizofichuliwa ningependekeza utafute huduma maalum katika:
Wakati akaunti ya usimamizi inaunda akaunti mpya katika shirika, jukumu jipya linaundwa katika akaunti mpya, kwa default inaitwa OrganizationAccountAccessRole
na kutoa sera ya AdministratorAccess kwa akaunti ya usimamizi ili kufikia akaunti mpya.
Hivyo, ili kufikia kama msimamizi akaunti ya mtoto unahitaji:
Kuvunja akaunti ya usimamizi na kupata ID ya akaunti za watoto na majina ya jukumu (OrganizationAccountAccessRole kwa default) inayoruhusu akaunti ya usimamizi kufikia kama msimamizi.
Ili kupata akaunti za watoto nenda kwenye sehemu ya mashirika katika console ya aws au endesha aws organizations list-accounts
Huwezi kupata jina la majukumu moja kwa moja, hivyo angalia sera zote za kawaida za IAM na tafuta yoyote inayoruhusu sts:AssumeRole
juu ya akaunti za watoto zilizogunduliwa awali.
Kuvunja mwanachama katika akaunti ya usimamizi na sts:AssumeRole
ruhusa juu ya jukumu katika akaunti za watoto (hata kama akaunti inaruhusu mtu yeyote kutoka akaunti ya usimamizi kujiwakilisha, kama ni akaunti ya nje, ruhusa maalum za sts:AssumeRole
zinahitajika).
aws-recon: Zana ya kukusanya hesabu inayolenga usalama wa AWS iliyoandikwa kwa Ruby.
cloudlist: Cloudlist ni chombo cha multi-cloud kwa kupata Mali (Majina ya mwenyeji, Anwani za IP) kutoka kwa Watoa Huduma za Cloud.
cloudmapper: CloudMapper inakusaidia kuchambua mazingira yako ya Amazon Web Services (AWS). Sasa ina kazi nyingi zaidi, ikiwa ni pamoja na ukaguzi wa masuala ya usalama.
cartography: Cartography ni chombo cha Python kinachounganisha mali za miundombinu na uhusiano kati yao katika mtazamo wa grafu wa kueleweka unaoendeshwa na hifadhidata ya Neo4j.
starbase: Starbase inakusanya mali na uhusiano kutoka kwa huduma na mifumo ikiwa ni pamoja na miundombinu ya wingu, programu za SaaS, udhibiti wa usalama, na zaidi katika muonekano wa grafu wa kueleweka unaoungwa mkono na hifadhidata ya Neo4j.
aws-inventory: (Inatumia python2) Hii ni zana inayojaribu kuvumbua yote rasilimali za AWS zilizoundwa katika akaunti.
aws_public_ips: Ni zana ya kupata anwani zote za IP za umma (zote IPv4/IPv6) zinazohusishwa na akaunti ya AWS.
SkyArk: Gundua watumiaji wenye mamlaka zaidi katika mazingira ya AWS yaliyoskanwa, ikiwa ni pamoja na AWS Shadow Admins. Inatumia powershell. Unaweza kupata ufafanuzi wa sera zenye mamlaka katika kazi Check-PrivilegedPolicy
katika https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1.
pacu: Pacu ni mfumo wa unyakuzi wa AWS wa chanzo wazi, ulioandaliwa kwa ajili ya majaribio ya usalama wa kukabili dhidi ya mazingira ya wingu. Inaweza kuorodhesha, kupata makosa ya usanidi na kuyatumia. Unaweza kupata ufafanuzi wa ruhusa zenye mamlaka katika https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134 ndani ya kamusi ya user_escalation_methods
.
Kumbuka kwamba pacu inaangalia tu njia zako za privesc (sio kwa akaunti nzima).
PMapper: Principal Mapper (PMapper) ni script na maktaba ya kutambua hatari katika usanidi wa AWS Identity and Access Management (IAM) kwa akaunti ya AWS au shirika la AWS. Inatengeneza mfano wa Watumiaji na Majukumu tofauti ya IAM katika akaunti kama grafu iliyoelekezwa, ambayo inaruhusu ukaguzi wa kuinua mamlaka na njia mbadala ambazo mshambuliaji anaweza kuchukua ili kupata ufikiaji wa rasilimali au hatua katika AWS. Unaweza kuangalia idhini zinazotumika kutafuta njia za privesc katika majina ya faili yanayomalizika na _edges.py
katika https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing
cloudsplaining: Cloudsplaining ni chombo cha Tathmini ya Usalama wa AWS IAM ambacho kinatambua ukiukaji wa haki ndogo na kuzalisha ripoti ya HTML iliyo na kipaumbele cha hatari. Itakuonyesha wateja wanaoweza kuwa na haki nyingi, sera za inline na aws **na ni nani wanachama wanao na ufikiaji wa hizo. (Haki hizi hazichunguzwi tu kwa privesc bali pia aina nyingine za ruhusa za kuvutia, inapendekezwa kutumika).
cloudjack: CloudJack inakadiria akaunti za AWS kwa udhaifu wa hijacking wa subdomain kutokana na usanidi wa Route53 na CloudFront ulioachwa.
ccat: Orodha ya ECR repos -> Pull ECR repo -> Backdoor it -> Push backdoored image
Dufflebag: Dufflebag ni chombo ambacho kinatafuta kupitia picha za umma za Elastic Block Storage (EBS) kwa siri ambazo zinaweza kuwa zimeachwa kwa bahati mbaya.
cloudsploit: CloudSploit na Aqua ni mradi wa chanzo wazi ulioandaliwa kuruhusu kugundua hatari za usalama katika akaunti za miundombinu ya wingu, ikiwa ni pamoja na: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), na GitHub (Haifanyi utafutaji wa ShadowAdmins).
Prowler: Prowler ni chombo cha usalama cha Open Source kufanya tathmini za mbinu bora za usalama za AWS, ukaguzi, majibu ya matukio, ufuatiliaji endelevu, kuimarisha na tayari kwa uchunguzi.
CloudFox: CloudFox inakusaidia kupata ufahamu wa hali katika mazingira ya wingu yasiyojulikana. Ni zana ya mstari wa amri ya chanzo wazi iliyoundwa kusaidia wapentester na wataalamu wengine wa usalama wa kukabili kupata njia za shambulio zinazoweza kutumika katika miundombinu ya wingu.
ScoutSuite: Scout Suite ni chombo cha ukaguzi wa usalama wa multi-cloud kilicho wazi, ambacho kinawawezesha kutathmini hali ya usalama ya mazingira ya wingu.
cs-suite: Cloud Security Suite (inatumia python2.7 na inaonekana haijatunzwa)
Zeus: Zeus ni chombo chenye nguvu kwa AWS EC2 / S3 / CloudTrail / CloudWatch / KMS mbinu bora za kuimarisha (inaonekana haijatunzwa). Inakagua tu akiba za kawaida zilizowekwa ndani ya mfumo.
cloud-custodian: Cloud Custodian ni injini ya sheria kwa ajili ya kusimamia akaunti na rasilimali za umma za wingu. Inawaruhusu watumiaji kufafanua sera za kuwezesha miundombinu ya wingu inayosimamiwa vizuri, ambayo ni salama na iliyopangwa gharama. Inakusanya mengi ya skripti za adhoc ambazo mashirika yana nazo kuwa chombo chepesi na chenye kubadilika, chenye vipimo na ripoti zilizounganishwa.
pacbot: Policy as Code Bot (PacBot) ni jukwaa la ufuatiliaji wa kuendelea wa kufuata sheria, ripoti za kufuata sheria na automatisering ya usalama kwa ajili ya wingu. Katika PacBot, sera za usalama na kufuata sheria zinawekwa kama msimbo. Rasilimali zote zinazogunduliwa na PacBot zinakaguliwa dhidi ya sera hizi ili kupima ufuataji wa sera. Mfumo wa auto-fix wa PacBot unatoa uwezo wa kujibu kiotomatiki kwa ukiukaji wa sera kwa kuchukua hatua zilizowekwa awali.
streamalert: StreamAlert ni mfumo wa uchambuzi wa data wa wakati halisi usio na seva ambao unakupa uwezo wa kuingiza, kuchambua, na kutoa tahadhari kuhusu data kutoka mazingira yoyote, ukitumia vyanzo vya data na mantiki ya tahadhari unayofafanua. Timu za usalama wa kompyuta zinatumia StreamAlert kuchanganua terabytes za data za kumbukumbu kila siku kwa ajili ya kugundua na kujibu matukio.
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)