AWS Pentesting
Taarifa za Msingi
Kabla ya kuanza pentesting mazingira ya AWS kuna mambo ya msingi unayohitaji kujua kuhusu jinsi AWS inavyofanya kazi ili kukusaidia kuelewa unachohitaji kufanya, jinsi ya kupata misconfigurations na jinsi ya kuzitumia.
Mafunzo kama vile uongozi wa shirika, IAM na mafunzo mengine ya msingi yanaelezewa katika:
AWS - Basic InformationMaabara za Kujifunza
Zana za kuiga mashambulizi:
Mbinu za AWS Pentester/Red Team
Ili kukagua mazingira ya AWS ni muhimu sana kujua: ni huduma zipi zinatumika, nini kinachofichuliwa, nani ana upatikanaji wa nini, na jinsi huduma za ndani za AWS na huduma za nje zimeunganishwa.
Kutoka kwa mtazamo wa Red Team, hatua ya kwanza ya kuathiri mazingira ya AWS ni kupata credentials. Hapa kuna mawazo kadhaa ya jinsi ya kufanya hivyo:
Leaks kwenye github (au sawa) - OSINT
Uhandisi wa Kijamii
Matumizi ya nywila (password leaks)
Udhaifu katika Programu Zinazohifadhiwa na AWS
Server Side Request Forgery yenye upatikanaji wa metadata endpoint
Usomaji wa Faili za Ndani
/home/USERNAME/.aws/credentials
C:\Users\USERNAME\.aws\credentials
3rd parties breached
Mfanyakazi wa Ndani
Cognito credentials
Au kwa kuathiri huduma isiyo na uthibitisho iliyofichuliwa:
AWS - Unauthenticated Enum & AccessAu kama unafanya mapitio unaweza tu kuomba credentials na majukumu haya:
AWS - Permissions for a PentestBaada ya kufanikiwa kupata credentials, unahitaji kujua credentials hizo ni za nani, na wana upatikanaji wa nini, kwa hivyo unahitaji kufanya baadhi ya uchunguzi wa msingi:
Uchunguzi wa Msingi
SSRF
Ikiwa umepata SSRF kwenye mashine ndani ya AWS angalia ukurasa huu kwa mbinu:
Whoami
Moja ya mambo ya kwanza unayohitaji kujua ni wewe ni nani (katika akaunti gani uko na taarifa nyingine kuhusu mazingira ya AWS):
Kumbuka kuwa makampuni yanaweza kutumia canary tokens kutambua wakati tokens zinaibiwa na kutumiwa. Inashauriwa kuangalia kama token ni canary token au la kabla ya kuitumia. Kwa maelezo zaidi angalia ukurasa huu.
Org Enumeration
AWS - Organizations EnumIAM Enumeration
Kama una ruhusa za kutosha kuangalia haki za kila chombo ndani ya akaunti ya AWS itakusaidia kuelewa unachoweza kufanya wewe na vitambulisho vingine na jinsi ya kuongeza haki.
Kama huna ruhusa za kutosha kuorodhesha IAM, unaweza kuiba kwa kutumia bruteforce ili kujua. Angalia jinsi ya kufanya orodha na brute-forcing katika:
AWS - IAM, Identity Center & SSO EnumSasa kwamba una taarifa kuhusu vitambulisho vyako (na kama wewe ni red team unatumaini hujaonekana). Ni wakati wa kujua ni huduma gani zinatumika katika mazingira. Katika sehemu inayofuata unaweza kuangalia njia za kuorodhesha huduma za kawaida.
Services Enumeration, Post-Exploitation & Persistence
AWS ina idadi kubwa ya huduma, katika ukurasa unaofuata utapata taarifa za msingi, cheatsheets za orodha, jinsi ya kuepuka kugunduliwa, kupata persistence, na mbinu zingine za post-exploitation kuhusu baadhi yao:
AWS - ServicesKumbuka kwamba huna haja ya kufanya kazi yote kwa mikono, hapa chini katika chapisho hili unaweza kupata sehemu kuhusu vifaa vya kiotomatiki.
Zaidi ya hayo, katika hatua hii unaweza kugundua huduma zaidi zilizo wazi kwa watumiaji wasio na uthibitisho, unaweza kuzitumia:
AWS - Unauthenticated Enum & AccessPrivilege Escalation
Kama unaweza kuangalia angalau ruhusa zako mwenyewe juu ya rasilimali tofauti unaweza kuangalia kama unaweza kupata ruhusa zaidi. Unapaswa kuzingatia angalau ruhusa zilizoonyeshwa katika:
AWS - Privilege EscalationPublicly Exposed Services
Wakati wa kuorodhesha huduma za AWS unaweza kugundua baadhi yao zinazoonyesha vipengele kwa Intaneti (bandari za VM/Containers, hifadhidata au huduma za foleni, snapshots au buckets...). Kama pentester/red teamer unapaswa kila wakati kuangalia kama unaweza kupata taarifa nyeti / udhaifu juu yao kwani zinaweza kukupa upatikanaji zaidi katika akaunti ya AWS.
Katika kitabu hiki unapaswa kupata taarifa kuhusu jinsi ya kupata huduma za AWS zilizo wazi na jinsi ya kuzikagua. Kuhusu jinsi ya kupata udhaifu katika huduma za mtandao zilizo wazi ningependekeza kutafuta huduma maalum katika:
Compromising the Organization
Kutoka kwa akaunti ya root/management
Wakati akaunti ya usimamizi inaunda akaunti mpya katika shirika, jukumu jipya linaundwa katika akaunti mpya, kwa default linaitwa OrganizationAccountAccessRole
na kutoa sera ya AdministratorAccess kwa akaunti ya usimamizi kufikia akaunti mpya.
Kwa hivyo, ili kufikia kama msimamizi akaunti ya mtoto unahitaji:
Kuhujumu akaunti ya usimamizi na kupata ID ya akaunti za watoto na majina ya jukumu (OrganizationAccountAccessRole kwa default) kuruhusu akaunti ya usimamizi kufikia kama admin.
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, kwa hivyo angalia sera zote za kawaida za IAM na tafuta yoyote inayoruhusu
sts:AssumeRole
juu ya akaunti za watoto zilizogunduliwa awali.Kuhujumu principal 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 kuiga, kama ni akaunti ya nje, ruhusa maalum zasts:AssumeRole
ni muhimu).
Automated Tools
Recon
aws-recon: Chombo cha ukusanyaji wa hesabu ya usalama wa AWS kilichoandikwa kwa Ruby.
cloudlist: Cloudlist ni chombo cha multi-cloud cha kupata Mali (Hostnames, IP Addresses) kutoka kwa Watoa Huduma za Cloud.
cloudmapper: CloudMapper hukusaidia kuchambua mazingira yako ya Amazon Web Services (AWS). Sasa ina utendaji zaidi, ikiwa ni pamoja na ukaguzi wa masuala ya usalama.
cartography: Cartography ni zana ya Python inayounganisha mali za miundombinu na uhusiano kati yao katika mwonekano wa grafu unaoeleweka unaoendeshwa na hifadhidata ya Neo4j.
starbase: Starbase inakusanya mali na mahusiano kutoka kwa huduma na mifumo ikijumuisha miundombinu ya cloud, programu za SaaS, udhibiti wa usalama, na zaidi katika mtazamo wa grafu wa angavu unaoungwa mkono na hifadhidata ya Neo4j.
aws-inventory: (Inatumia python2) Hii ni zana inayojaribu kugundua rasilimali zote za AWS zilizoundwa katika akaunti.
aws_public_ips: Ni zana ya kupata anwani zote za IP za umma (IPv4/IPv6 zote) zinazohusiana na akaunti ya AWS.
Privesc & Exploiting
SkyArk: Gundua watumiaji wenye haki za juu zaidi katika mazingira ya AWS yaliyosafishwa, ikijumuisha AWS Shadow Admins. Inatumia powershell. Unaweza kupata ufafanuzi wa sera zenye haki za juu katika kazi
Check-PrivilegedPolicy
kwenye https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1.pacu: Pacu ni mfumo wa unyonyaji wa AWS wa chanzo wazi, ulioundwa kwa ajili ya majaribio ya usalama wa kukera dhidi ya mazingira ya cloud. Inaweza kuorodhesha, kupata mipangilio isiyo sahihi na kuinyonya. Unaweza kupata ufafanuzi wa ruhusa zenye haki za juu katika https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134 ndani ya kamusi ya
user_escalation_methods
.Kumbuka kuwa pacu inaangalia tu njia zako za privescs (sio akaunti nzima).
PMapper: Principal Mapper (PMapper) ni script na maktaba kwa ajili ya kutambua hatari katika usanidi wa AWS Identity and Access Management (IAM) kwa akaunti ya AWS au shirika la AWS. Inaunda watumiaji tofauti wa IAM na Majukumu katika akaunti kama grafu iliyoelekezwa, ambayo inawezesha ukaguzi wa privilege escalation na njia mbadala ambazo mshambuliaji anaweza kuchukua kupata rasilimali au hatua katika AWS. Unaweza kuangalia ruhusa zinazotumika kupata privesc njia katika majina ya faili yanayoishia na
_edges.py
katika https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing
cloudsplaining: Cloudsplaining ni chombo cha Tathmini ya Usalama wa AWS IAM kinachotambua ukiukaji wa upendeleo mdogo na kutoa ripoti ya HTML iliyopewa kipaumbele cha hatari. Itakuonyesha wateja wenye upendeleo wa ziada, sera za inline na aws na ni nani wanaoziweza. (Haikagui tu privesc bali pia aina nyingine za ruhusa za kuvutia, inapendekezwa kutumia).
cloudjack: CloudJack inakagua akaunti za AWS kwa madhara ya utekaji wa subdomain kutokana na usanidi wa Route53 na CloudFront ulioachwa.
ccat: Orodhesha repos za ECR -> Vuta repo ya ECR -> Iweke backdoor -> Sukuma picha yenye backdoor
Dufflebag: Dufflebag ni chombo kinachotafuta kupitia snapshots za Elastic Block Storage (EBS) za umma kwa siri ambazo zinaweza kuwa zimeachwa kwa bahati mbaya.
Ukaguzi
cloudsploit: CloudSploit na Aqua ni mradi wa chanzo wazi ulioundwa kuruhusu kugundua hatari za usalama katika akaunti za miundombinu ya wingu, ikijumuisha: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), na GitHub (Haitafuti ShadowAdmins).
Prowler: Prowler ni chombo cha Usalama cha Chanzo Huria kinachotumika kufanya tathmini za mbinu bora za usalama za AWS, ukaguzi, majibu ya matukio, ufuatiliaji endelevu, kuimarisha na utayari wa uchunguzi wa kisheria.
CloudFox: CloudFox inakusaidia kupata uelewa wa hali katika mazingira ya wingu usiyoyafahamu. Ni zana ya wazi ya mstari wa amri iliyoundwa kusaidia wapimaji wa kupenya na wataalamu wengine wa usalama wa kushambulia 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 kinawezesha tathmini ya hali ya usalama ya mazingira ya cloud.
cs-suite: Cloud Security Suite (inatumia python2.7 na inaonekana haijasasishwa)
Zeus: Zeus ni chombo chenye nguvu kwa AWS EC2 / S3 / CloudTrail / CloudWatch / KMS kwa mbinu bora za kuimarisha usalama (inaonekana haijasasishwa). Inakagua tu creds zilizosanidiwa kwa default ndani ya mfumo.
Ukaguzi wa Mara kwa Mara
cloud-custodian: Cloud Custodian ni injini ya sheria kwa ajili ya kusimamia akaunti na rasilimali za umma za wingu. Inaruhusu watumiaji kufafanua sera ili kuwezesha miundombinu ya wingu iliyosimamiwa vizuri, ambayo ni salama na imeboreshwa kwa gharama. Inajumuisha maandiko mengi ya adhoc ambayo mashirika yanayo katika chombo chepesi na rahisi, na vipimo na ripoti zilizojumuishwa.
pacbot: Policy as Code Bot (PacBot) ni jukwaa kwa ajili ya uangalizi wa kuendelea wa kufuata sheria, ripoti za kufuata na uendeshaji wa usalama kwa wingu. Katika PacBot, sera za usalama na kufuata zinatumiwa kama kanuni. Rasilimali zote zilizogunduliwa na PacBot zinatathminiwa dhidi ya sera hizi ili kupima ufuataji wa sera. Mfumo wa auto-fix wa PacBot unatoa uwezo wa kujibu kiotomatiki ukiukaji wa sera kwa kuchukua hatua zilizowekwa awali.
streamalert: StreamAlert ni mfumo wa uchambuzi wa data wa wakati halisi usio na seva ambao unakuwezesha kumeza, kuchambua, na kutoa tahadhari juu ya data kutoka kwa mazingira yoyote, ukitumia vyanzo vya data na mantiki ya kutoa tahadhari unayofafanua. Timu za usalama wa kompyuta hutumia StreamAlert kuchanganua terabaiti za data za logi kila siku kwa ajili ya kugundua na kujibu matukio.
DEBUG: Capture AWS cli requests
Marejeo
Last updated