AWS Pentesting
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Voordat jy begin pentesting 'n AWS omgewing is daar 'n paar basiese dinge wat jy moet weet oor hoe AWS werk om jou te help verstaan wat jy moet doen, hoe om misconfigurasies te vind en hoe om dit te benut.
Konsepte soos organisasie hiërargie, IAM en ander basiese konsepte word verduidelik in:
Tools to simulate attacks:
Om 'n AWS omgewing te oudit is dit baie belangrik om te weet: watter dienste gebruik word, wat is blootgestel, wie het toegang tot wat, en hoe is interne AWS dienste en eksterne dienste gekoppel.
Vanuit 'n Red Team perspektief, die eerste stap om 'n AWS omgewing te kompromitteer is om te slaag om 'n paar akkrediteer te verkry. Hier is 'n paar idees oor hoe om dit te doen:
Leaks in github (of soortgelyk) - OSINT
Sosiale Ingenieurswese
Wagwoord hergebruik (wagwoord leaks)
Kw vulnerabilities in AWS-Hosted Applications
Server Side Request Forgery met toegang tot metadata eindpunt
Plaaslike Lêer Lees
/home/USERNAME/.aws/credentials
C:\Users\USERNAME\.aws\credentials
3de partye gekompromitteer
Interne Werknemer
Cognito akkrediteer
Of deur 'n nie-geauthentiseerde diens wat blootgestel is te kompromitteer:
Of as jy 'n hersiening doen kan jy net vraag vir akkrediteer met hierdie rolle:
Nadat jy daarin geslaag het om akkrediteer te verkry, moet jy weet aan wie behoort daardie krediete, en waartoe hulle toegang het, so jy moet 'n paar basiese enumerasie uitvoer:
As jy 'n SSRF in 'n masjien binne AWS gevind het, kyk hierdie bladsy vir truuks:
Een van die eerste dinge wat jy moet weet is wie jy is (in watter rekening jy is en ander inligting oor die AWS omgewing):
Let daarop dat maatskappye kanarie tokens mag gebruik om te identifiseer wanneer tokens gesteel en gebruik word. Dit word aanbeveel om te kontroleer of 'n token 'n kanarie token is of nie voordat jy dit gebruik. Vir meer inligting kyk na hierdie bladsy.
As jy genoeg regte het, sal die privileges van elke entiteit binne die AWS-rekening nagaan jou help om te verstaan wat jy en ander identiteite kan doen en hoe om privileges te verhoog.
As jy nie genoeg regte het om IAM te enumerate nie, kan jy dit steal bruteforce om dit uit te vind. Kyk hoe om die numerasie en bruteforcing te doen in:
Nou dat jy 'n bietjie inligting oor jou akrediteer het (en as jy 'n rooi span is hoop ek jy is nie opgespoor nie). Dit is tyd om uit te vind watter dienste in die omgewing gebruik word. In die volgende afdeling kan jy 'n paar maniere kyk om sommige algemene dienste te enumerate.
AWS het 'n verbasende hoeveelheid dienste, in die volgende bladsy sal jy basiese inligting, enumerasie cheatsheets**,** hoe om opsporing te vermy, volharding te verkry, en ander post-exploitation truuks oor sommige van hulle vind:
Let daarop dat jy nie al die werk handmatig hoef te doen nie, hieronder in hierdie pos kan jy 'n afdeling oor outomatiese gereedskap vind.
Boonop, in hierdie fase mag jy meer dienste ontdek wat aan nie-geauthentiseerde gebruikers blootgestel is, jy mag in staat wees om dit te benut:
As jy ten minste jou eie regte oor verskillende hulpbronne kan nagaan, kan jy nagaan of jy in staat is om verdere regte te verkry. Jy moet ten minste fokus op die regte wat in:
Terwyl jy AWS-dienste enumerate, mag jy sommige van hulle gevind het wat elemente aan die Internet blootstel (VM/Containers poorte, databasisse of wagdiens, snapshots of emmers...). As pentester/rooi spaner moet jy altyd kyk of jy sensitiewe inligting / kwesbaarhede op hulle kan vind aangesien dit jou mag bied verdere toegang tot die AWS-rekening.
In hierdie boek behoort jy inligting te vind oor hoe om blootgestelde AWS-dienste te vind en hoe om dit te kontroleer. Oor hoe om kwesbaarhede in blootgestelde netwerkdienste te vind, sou ek jou aanbeveel om te soek na die spesifieke diens in:
Wanneer die bestuurrekening nuwe rekeninge in die organisasie skep, word 'n nuwe rol in die nuwe rekening geskep, standaard genoem OrganizationAccountAccessRole
en gee AdministratorAccess beleid aan die bestuurrekening om toegang tot die nuwe rekening te verkry.
So, om as administrateur toegang tot 'n kindrekening te verkry, moet jy:
Kompromiteer die bestuur rekening en vind die ID van die kindrekening en die name van die rol (OrganizationAccountAccessRole per standaard) wat die bestuurrekening toelaat om as admin toegang te verkry.
Om kindrekeninge te vind, gaan na die organisasieseksie in die aws-konsol of voer aws organizations list-accounts
uit.
Jy kan nie die name van die rolle direk vind nie, so kyk na al die persoonlike IAM-beleide en soek enige wat sts:AssumeRole
oor die voorheen ontdekte kindrekeninge toelaat.
Kompromiteer 'n hoof in die bestuurrekening met sts:AssumeRole
toestemming oor die rol in die kindrekeninge (selfs as die rekening enige iemand van die bestuurrekening toelaat om te verpersoonlik, aangesien dit 'n eksterne rekening is, is spesifieke sts:AssumeRole
toestemmings nodig).
aws-recon: 'n multi-draad AWS sekuriteitsgefokusde inventaris versamelingsgereedskap geskryf in Ruby.
cloudlist: Cloudlist is 'n multi-cloud hulpmiddel om Bate (Gasname, IP Adresse) van Wolk Verskaffers te verkry.
cloudmapper: CloudMapper help jou om jou Amazon Web Services (AWS) omgewings te analiseer. Dit bevat nou baie meer funksionaliteit, insluitend ouditering vir sekuriteitskwessies.
cartography: Cartography is 'n Python-gereedskap wat infrastruktuur bates en die verhoudings tussen hulle in 'n intuïtiewe grafiekweergave saamvoeg, aangedryf deur 'n Neo4j-databasis.
starbase: Starbase versamel bates en verhoudings van dienste en stelsels, insluitend wolkinfrastruktuur, SaaS-toepassings, sekuriteitsbeheer, en meer in 'n intuïtiewe grafiekweergave wat deur die Neo4j-databasis ondersteun word.
aws-inventory: (Gebruik python2) Dit is 'n hulpmiddel wat probeer om alle AWS hulpbronne wat in 'n rekening geskep is, te ontdek.
aws_public_ips: Dit is 'n hulpmiddel om alle publieke IP-adresse (beide IPv4/IPv6) geassosieer met 'n AWS-rekening te haal.
SkyArk: Ontdek die mees bevoorregte gebruikers in die gescande AWS-omgewing, insluitend die AWS Shadow Admins. Dit gebruik powershell. Jy kan die definisie van bevoorregte beleide in die funksie Check-PrivilegedPolicy
vind in https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1.
pacu: Pacu is 'n oopbron AWS eksploitering raamwerk, ontwerp vir offensiewe sekuriteitstoetsing teen wolkomgewings. Dit kan opnoem, mis-konfigurasies vind en dit eksploiteer. Jy kan die definisie van bevoorregte toestemmings vind in https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134 binne die user_escalation_methods
dict.
Let daarop dat pacu slegs jou eie privesc-paaie nagaan (nie rekeningwyd nie).
PMapper: Principal Mapper (PMapper) is 'n skrif en biblioteek vir die identifisering van risiko's in die konfigurasie van AWS Identity and Access Management (IAM) vir 'n AWS-rekening of 'n AWS-organisasie. Dit modelleer die verskillende IAM-gebruikers en rolle in 'n rekening as 'n gerigte grafiek, wat toelaat dat kontroles vir privilege escalation en vir alternatiewe paaie wat 'n aanvaller kan neem om toegang tot 'n hulpbron of aksie in AWS te verkry, gedoen word. Jy kan die permissions used to find privesc paaie in die lêername wat eindig op _edges.py
in https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing nagaan.
cloudsplaining: Cloudsplaining is 'n AWS IAM Sekuriteitsbeoordeling hulpmiddel wat oortredings van die minste voorregte identifiseer en 'n risiko-geprioritiseerde HTML-verslag genereer. Dit sal jou moontlik oorvoorregte kliënt, inline en aws beleide wys en watter beginsels toegang tot hulle het. (Dit kontroleer nie net vir privesc nie, maar ook ander soort interessante toestemmings, dit word aanbeveel om te gebruik).
cloudjack: CloudJack evalueer AWS-rekeninge vir subdomein-hijacking kwesbaarhede as gevolg van ontkoppelde Route53 en CloudFront konfigurasies.
ccat: Lys ECR repos -> Trek ECR repo -> Backdoor dit -> Stoot backdoored beeld
Dufflebag: Dufflebag is 'n hulpmiddel wat soek deur openbare Elastic Block Storage (EBS) snapshots vir geheime wat dalk per ongeluk agtergelaat is.
cloudsploit: CloudSploit deur Aqua is 'n oopbronprojek wat ontwerp is om die opsporing van veiligheidsrisiko's in wolkinfrastruktuur rekeninge moontlik te maak, insluitend: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Oracle Cloud Infrastructure (OCI), en GitHub (Dit soek nie na ShadowAdmins nie).
Prowler: Prowler is 'n Open Source sekuriteitstoepassing om AWS sekuriteit beste praktyke assesserings, ouditte, insidentrespons, deurlopende monitering, verharding en forensiese gereedheid uit te voer.
CloudFox: CloudFox help jou om situasionele bewustheid te verkry in onbekende wolkomgewings. Dit is 'n oopbron-opdraglyn hulpmiddel wat geskep is om penetrasietoetsers en ander offensiewe sekuriteitsprofessionals te help om ontginbare aanvalspaaie in wolkinfrastruktuur te vind.
ScoutSuite: Scout Suite is 'n oopbron multi-cloud sekuriteitsouditeringstoel, wat sekuriteitsposisie-evaluering van wolkomgewings moontlik maak.
cs-suite: Cloud Security Suite (gebruik python2.7 en lyk ononderhoude)
Zeus: Zeus is 'n kragtige hulpmiddel vir AWS EC2 / S3 / CloudTrail / CloudWatch / KMS beste versterking praktyke (lyk ononderhoude). Dit kontroleer slegs standaard geconfigureerde kredensies binne die stelsel.
cloud-custodian: Cloud Custodian is 'n reëlsengine vir die bestuur van openbare wolk rekeninge en hulpbronne. Dit stel gebruikers in staat om beleide te definieer om 'n goed bestuurde wolkinfrastruktuur te enable, wat beide veilig en koste-geoptimaliseer is. Dit konsolideer baie van die adhoc skripte wat organisasies het in 'n liggewig en buigsame hulpmiddel, met verenigde metrieke en verslagdoening.
pacbot: Policy as Code Bot (PacBot) is 'n platform vir deurlopende nakoming monitering, nakoming verslagdoening en sekuriteitsoutomatisering vir die wolk. In PacBot word sekuriteit en nakoming beleide as kode geïmplementeer. Alle hulpbronne wat deur PacBot ontdek word, word teen hierdie beleide geëvalueer om beleidskonformiteit te meet. Die PacBot outo-regstelling raamwerk bied die vermoë om outomaties op beleids oortredings te reageer deur vooraf gedefinieerde aksies te neem.
streamalert: StreamAlert is 'n serverless, regte-tyd data analise raamwerk wat jou in staat stel om data van enige omgewing in te neem, te analiseer en te waarsku , met databronne en waarskuwing logika wat jy definieer. Rekenaar sekuriteitspanne gebruik StreamAlert om terabytes van logdata elke dag te skandeer vir insidentdetectie en -reaksie.
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)