AWS Pentesting
Taarifa Msingi
Kabla ya kuanza kudukua mazingira ya AWS kuna mambo machache ya msingi unayohitaji kujua kuhusu jinsi AWS inavyofanya kazi ili kukusaidia kuelewa unachohitaji kufanya, jinsi ya kupata upangaji mbaya na jinsi ya kuzitumia.
Mifano kama muundo wa shirika, IAM na dhana nyingine msingi zinaelezewa katika:
pageAWS - Basic InformationMaabara za Kujifunza
Zana za kusimuliza mashambulizi:
Mbinu ya Mtaalamu wa AWS/Red Team
Ili kukagua mazingira ya AWS ni muhimu sana kujua: huduma zipi zinatumika, nini kinachoonekana, nani ana upatikanaji wa nini, na jinsi huduma za ndani za AWS na huduma za nje zinavyounganishwa.
Kutoka mtazamo wa Timu Nyekundu, hatua ya kwanza ya kudhoofisha mazingira ya AWS ni kufanikiwa kupata vyeti fulani. Hapa kuna baadhi ya mawazo kuhusu jinsi ya kufanya hivyo:
Vuvuzela kwenye github (au sawa) - OSINT
Uhandisi wa Kijamii
Matumizi ya nywila (vuvuzela za nywila)
Udhaifu katika Maombi Yaliyohifadhiwa kwenye AWS
Udukuzi wa Ombi la Upande wa Seva na upatikanaji wa mwisho wa metadata
Soma Faili za Ndani
/home/USERNAME/.aws/credentials
C:\Users\USERNAME\.aws\credentials
3rd parties zilizovunjwa
Mfanyakazi wa Ndani
Cognito vyeti
Au kwa kudhoofisha huduma isiyo na uthibitishaji iliyofunuliwa:
pageAWS - Unauthenticated Enum & AccessAu ikiwa unafanya mapitio unaweza tu kuomba vyeti na majukumu haya:
pageAWS - Permissions for a PentestBaada ya kufanikiwa kupata vyeti, unahitaji kujua vyeti hivyo ni vya nani, na wanayo upatikanaji wa nini, hivyo unahitaji kufanya 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 wewe ni na habari zingine kuhusu mazingira ya AWS):
Tafadhali kumbuka kuwa makampuni wanaweza kutumia canary tokens kutambua wakati tokens zinaporwa na kutumiwa. Inashauriwa kuhakiki ikiwa token ni canary token au la kabla ya kuitumia. Kwa maelezo zaidi angalia ukurasa huu.
Uchambuzi wa Shirika
pageAWS - Organizations EnumUchambuzi wa IAM
Ikiwa una idhini za kutosha kuchunguza mamlaka ya kila kitengo ndani ya akaunti ya AWS itakusaidia kuelewa unachoweza kufanya wewe na utambulisho wengine na jinsi ya kuongeza mamlaka.
Ikiwa huna idhini za kutosha kuchambua IAM, unaweza kuiba kwa nguvu ili kugundua. Angalia jinsi ya kufanya uchambuzi na kubadilisha nguvu katika:
pageAWS - IAM, Identity Center & SSO EnumSasa kwamba una habari kuhusu vitambulisho vyako (na ikiwa wewe ni timu nyekundu kwa matumaini haujagunduliwa). Ni wakati wa kugundua ni huduma zipi zinatumika katika mazingira. Katika sehemu ifuatayo unaweza kuchunguza njia kadhaa za kuchambua huduma za kawaida.
Uchambuzi wa Huduma, Baada ya Kudukuliwa & Uimara
AWS ina idadi kubwa ya huduma, kwenye ukurasa ufuatao utapata habari za msingi, uchambuzi wa cheatsheets**,** jinsi ya kuepuka kugunduliwa, kupata uimara, na mbinu zingine za baada ya kudukuliwa kuhusu baadhi yao:
pageAWS - ServicesKumbuka kwamba hauitaji kufanya kazi yote kwa mikono, chini katika chapisho hili unaweza kupata sehemu kuhusu zana za kiotomatiki.
Zaidi ya hayo, katika hatua hii unaweza kugundua huduma zaidi zilizofichuliwa kwa watumiaji wasiothibitishwa, unaweza kuzitumia:
pageAWS - Unauthenticated Enum & AccessKuongeza Mamlaka
Ikiwa unaweza kuchunguza angalau idhini zako mwenyewe juu ya rasilimali tofauti unaweza kuchunguza ikiwa unaweza kupata idhini zaidi. Unapaswa angalau kuzingatia idhini zilizotajwa katika:
pageAWS - Privilege EscalationHuduma Zilizofichuliwa Kwa Umma
Wakati wa kuchambua huduma za AWS unaweza kugundua baadhi yao zinazofichua vitu kwa Mtandao (VM/Ports za Kontena, databases au huduma za foleni, picha au vikapu...). Kama mchambuzi wa usalama/timu nyekundu unapaswa daima kuhakikisha ikiwa unaweza kupata habari nyeti / mapungufu kwao kwani wanaweza kukupa upatikanaji zaidi kwenye akaunti ya AWS.
Katika kitabu hiki unapaswa kupata habari kuhusu jinsi ya kupata huduma za AWS zilizofichuliwa na jinsi ya kuzichunguza. Kuhusu jinsi ya kupata mapungufu katika huduma za mtandao zilizofichuliwa ningependekeza utafutaji kwa huduma maalum katika:
Kudukua Shirika
Kutoka kwenye akaunti ya msingi/ya usimamizi
Wakati akaunti ya usimamizi inaunda akaunti mpya katika shirika, jukumu jipya linaundwa katika akaunti mpya, kwa chaguo-msingi jina lake ni OrganizationAccountAccessRole
na kutoa sera ya AdministratorAccess kwa akaunti ya usimamizi kufikia akaunti mpya.
Kwa hivyo, ili kupata ufikiaji kama msimamizi kwenye akaunti ya mtoto unahitaji:
Kudukua akaunti ya usimamizi na kupata ID za akaunti za watoto na majina ya jukumu (kwa chaguo-msingi OrganizationAccountAccessRole) kuruhusu akaunti ya usimamizi kupata kama msimamizi.
Ili kupata akaunti za watoto nenda kwenye sehemu za shirika kwenye konsoli ya aws au endesha
aws organizations list-accounts
Huwezi kupata majina ya majukumu moja kwa moja, kwa hivyo hakiki sera zote za kawaida za IAM na utafute yoyote inayoruhusu
sts:AssumeRole
juu ya akaunti za watoto zilizogunduliwa hapo awali.Kudukua msingi katika akaunti ya usimamizi na
sts:AssumeRole
ruhusu juu ya jukumu katika akaunti za watoto (hata ikiwa akaunti inaruhusu yeyote kutoka kwa akaunti ya usimamizi kujifanya, kwa kuwa ni akaunti ya nje, ruhusa maalum zasts:AssumeRole
ni muhimu).
Zana za Kiotomatiki
Uchunguzi
aws-recon: Zana ya ukusanyaji wa orodha ya usalama ya AWS iliyofanywa kwa Ruby yenye nyuzi nyingi.
cloudlist: Cloudlist ni zana ya multi-cloud ya kupata Mali (Hostnames, Anwani za IP) kutoka kwa Watoa Huduma wa Cloud.
cloudmapper: CloudMapper inakusaidia kuchambua mazingira yako ya Amazon Web Services (AWS). Sasa ina kazi zaidi, ikiwa ni pamoja na ukaguzi wa masuala ya usalama.
cartography: Cartography ni chombo cha Python ambacho hukusanya mali za miundombinu na mahusiano kati yao katika mtazamo wa grafu wa kueleweka unaotumia database ya Neo4j.
starbase: Starbase inakusanya mali na mahusiano kutoka kwa huduma na mifumo ikiwa ni pamoja na miundombinu ya wingu, programu za SaaS, udhibiti wa usalama, na zaidi katika mtazamo wa grafu ulio na msingi wa Neo4j database.
aws-inventory: (Inatumia python2) Hii ni chombo kinachojaribu kugundua rasilimali zote za AWS zilizoundwa katika akaunti.
aws_public_ips: Ni chombo cha kupata anwani zote za IP za umma (IPv4/IPv6) zilizohusishwa na akaunti ya AWS.
Privesc & Kutumia
SkyArk: Gundua watumiaji wenye mamlaka zaidi katika mazingira ya AWS yaliyosanidiwa, ikiwa ni pamoja na Waadmin wa Kivuli wa AWS. Inatumia powershell. Unaweza kupata ufafanuzi wa sera za mamlaka katika kazi
Check-PrivilegedPolicy
katika https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1.pacu: Pacu ni mfumo wa kutumia AWS wa chanzo wazi, ulioundwa kwa ajili ya upimaji wa usalama wa kushambulia dhidi ya mazingira ya wingu. Inaweza kutambua, kupata mipangilio isiyosahihi na kutumia. Unaweza kupata ufafanuzi wa ruhusa za mamlaka katika https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134 ndani ya
user_escalation_methods
dict.Tafadhali kumbuka kwamba pacu inachunguza njia zako za privescs pekee (si 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. Inaunda watumiaji na Majukumu tofauti ya IAM katika akaunti kama grafu inayoelekezwa, ambayo inawezesha ukaguzi wa kuongezeka kwa mamlaka na njia mbadala ambayo mshambuliaji anaweza kuchukua kupata ufikiaji wa rasilimali au hatua katika AWS. Unaweza kuangalia ruhusa zilizotumiwa kupata njia za privesc katika majina ya faili yaliyomalizika 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 uvunjaji wa haki ya chini na kuzalisha ripoti ya hatari iliyopewa kipaumbele kwa muundo wa HTML. Itakuonyesha wateja wanaoweza kuwa na mamlaka zaidi, sera za ndani na za aws na ni madaftari gani yanayo upatikanaji kwao. (Haitathmini tu kwa ajili ya privesc bali pia aina nyingine za ruhusa za kuvutia, inapendekezwa kutumia).
cloudjack: CloudJack inachunguza akaunti za AWS kwa mapungufu ya utekaji wa subdomain kama matokeo ya mizunguko iliyotenganishwa ya mipangilio ya Route53 na CloudFront.
ccat: Orodhesha repos za ECR -> Pata repo ya ECR -> Weka mlango wa nyuma -> Push picha iliyo na mlango wa nyuma
Dufflebag: Dufflebag ni chombo kinachofanya utafutaji kupitia picha 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 ugunduzi wa 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 (Haitafuta ShadowAdmins).
Prowler: Prowler ni chombo cha usalama cha chanzo wazi kinachotumika kufanya tathmini za mazoea bora ya usalama wa AWS, ukaguzi, majibu ya dharura, ufuatiliaji endelevu, kuimarisha na maandalizi ya uchunguzi wa kisayansi.
CloudFox: CloudFox inakusaidia kupata uelewa wa hali ya mazingira ya wingu ambayo si ya kawaida. Ni chombo cha amri cha chanzo wazi kilichoundwa kusaidia watafiti wa uingiliaji na wataalamu wengine wa usalama wa kushambulia kupata njia za mashambulizi yanayoweza kutumiwa katika miundombinu ya wingu.
ScoutSuite: Scout Suite ni chombo cha ukaguzi wa usalama wa wingu cha chanzo wazi, ambacho kinawezesha tathmini ya hali ya usalama wa mazingira ya wingu.
cs-suite: Suite ya Usalama wa Cloud (inatumia python2.7 na inaonekana haijatunzwa)
Zeus: Zeus ni chombo kikali kwa mazoea bora ya kufanya salama kwa AWS EC2 / S3 / CloudTrail / CloudWatch / KMS (inaonekana haijatunzwa). Inachunguza tu uthibitishaji wa msingi ulioconfigure ndani ya mfumo.
Ukaguzi wa Mara Kwa Mara
cloud-custodian: Cloud Custodian ni injini ya sheria ya kusimamia akaunti za umma za wingu na rasilimali. Inaruhusu watumiaji kutunga sera za kuwezesha miundombinu salama na iliyooptimizwa kwa gharama. Inaunganisha skripti nyingi za adhoc za mashirika kuwa chombo nyepesi na mpana, na takwimu na ripoti zilizounganishwa.
pacbot: Boti ya Kanuni kama Kanuni (PacBot) ni jukwaa la ukaguzi wa kufuata mara kwa mara, ripoti za kufuata na otomatiki ya usalama kwa wingu. Katika PacBot, sera za usalama na kufuata zinatekelezwa kama kanuni. Rasilimali zote zilizogunduliwa na PacBot hupimwa dhidi ya sera hizi ili kupima ufuataji wa sera. Mtandao wa kurekebisha-otomatiki wa PacBot hutoa uwezo wa kujibu moja kwa moja kwa uvunjaji wa sera kwa kuchukua hatua zilizopangwa mapema.
streamalert: StreamAlert ni mfumo wa uchambuzi wa data wa wakati halisi usio na seva ambao unakuwezesha kunasa, kuchambua, na kutoa tahadhari kuhusu data kutoka mazingira yoyote, ukitumia vyanzo vya data na mantiki ya tahadhari unayoitaja. Timu za usalama wa kompyuta hutumia StreamAlert kuscan terabytes ya data ya log kila siku kwa kugundua na kujibu matukio.
DEBUG: Kukamata maombi ya AWS cli
Marejeo
Last updated