IAM:n virheelliset määritykset
Liian sallivat roolit.
IAM:n virheelliset määritykset on ilmainen Ethical Hacking Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Ethical Hacking Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Ethical Hacking Academy-kurssilla on yhteensä 4 oppituntia.
Miksi IAM on todellinen rajapinta
Cloud-ympäristössä identiteetti on uusi rajapinta. IAM (Identity and Access Management) määrittää, kuka voi tehdä mitäkin. IAM:n virhe mahdollistaa hyökkääjälle etenemisen vähäoikeuksisesta tukikohdasta koko tilin hallintaan.
- Käyttäjät, roolit ja palvelutilit ovat identiteettejä
- Käytännöt määrittävät käyttöoikeudet
- Virheellisesti määritetyt käytännöt ovat cloud-ympäristöjen suurin yksittäinen riski
Useimmat cloud-ympäristöjen oikeuksien korotukset johtuvat IAM-ongelmasta.
Käyttäjät, roolit ja käytännöt
AWS IAM:ssa on kolme rakennuspalikkaa, jotka Teidän on ymmärrettävä:
- Käyttäjät — pitkäkestoiset identiteetit, joilla on käyttöavaimet
- Roolit — väliaikaiset identiteetit, jotka käyttäjät tai palvelut voivat ottaa käyttöön
- Käytännöt — JSON-asiakirjat, jotka sallivat tai estävät toimintoja resursseissa
Liian laajasti liitetty käytäntö johtaa liian laajoihin käyttöoikeuksiin.
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::reports-bucket/*"
}Wildcard-merkkien vaara
Vaarallisin yksittäinen IAM-malli on wildcard-käytäntö. Se myöntää kaikki toiminnot kaikille resursseille.
Jos hyökkääjä vaarantaa identiteetin, jolla on tämä käytäntö, hän saa koko tilin hallintaansa.
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
# Action:* Resource:* = full administrative control.
# Flag this everywhere it appears outside a break-glass admin role.Omien käyttöoikeuksien luetteleminen
Kun hallussanne on tunnistetieto, selvittäkää, mitä sillä voi tehdä. IAM:ssa on lukuun tarkoitettuja API-rajapintoja, jotka paljastavat liitetyt käytännöt.
Joillekin tileille on jopa myönnetty tavallisille käyttäjille oikeudet iam:Get* ja iam:List*, mikä antaa käyttöön valmiin kartan.
# List policies attached to a user
aws iam list-attached-user-policies --user-name devuser
# Get the JSON of a managed policy version
aws iam get-policy-version \
--policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess \
--version-id v1Oikeuksien korotus iam:PassRole-toiminnolla
Klassinen oikeuksien korotus toimii näin: käyttäjällä on iam:PassRole sekä oikeus luoda palvelu. Hän voi käynnistää resurssin, joka ottaa käyttöön laajaoikeuksisen roolin ja perii sen käyttöoikeudet.
- Käyttäjällä on
ec2:RunInstances+iam:PassRole - Hän käynnistää EC2-instanssin, johon on liitetty ylläpitäjän rooli
- Instanssilla on nyt ylläpitäjän tunnistetiedot, jotka käyttäjä noutaa
Käyttäjällä ei koskaan ollut suoraan ylläpitäjän oikeuksia, mutta hän korotti oikeutensa niiksi.
Vaaralliset käyttöoikeusyhdistelmät
Yksittäiset käyttöoikeudet voivat olla harmittomia, mutta yhdessä ne voivat muodostaa reittejä oikeuksien korotukseen. Tunnettuja riskialttiita yhdistelmiä ovat:
iam:CreatePolicyVersion— olemassa olevan käytännön muuttaminen ylläpitäjän oikeuksien myöntämiseksiiam:AttachUserPolicy— AdministratorAccess-käytännön liittäminen itselleiam:CreateAccessKeytoiselle käyttäjälle — hänen identiteettinsä varastaminensts:AssumeRoleliian luottavaisessa roolissa
Työkalut luetteloivat nämä automaattisesti.
Luottamuskäytännöt ja AssumeRole
Roolien luottamuskäytäntö määrittää, kuka voi ottaa roolin käyttöön. Liian laaja luottamuskäytäntö on takaovi.
Jos rooli luottaa vahingossa koko tiliin tai jopa ulkoiseen tiliin, hyökkääjä voi ottaa sen käyttöön.
{
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::123456789012:root" },
"Action": "sts:AssumeRole"
}
# Trusting the entire account root means ANY identity in it can assume the role.Oikeuksien korotusreittien automaattinen etsiminen
Jokaisen käytäntöyhdistelmän tarkistaminen käsin on työlästä. Työkalut kartoittavat oikeuksien korotusreitit puolestanne.
- Pacu — AWS:n hyväksikäyttökehys, jossa on privesc-moduuleja
- PMapper — muodostaa IAM-suhteista graafin ja etsii privesc-yhteyksiä
- enumerate-iam — selvittää brute force -menetelmällä, mitä API-kutsuja avaimella voi tehdä
# Run Pacu's IAM privilege escalation enumeration
pacu
# > run iam__privesc_scan
# Build an IAM access graph and query it
pmapper graph create
pmapper query 'preset privesc *'Inline- ja hallitut käytännöt
Käyttöoikeudet voidaan myöntää kahdella tavalla, ja hyökkääjät tarkistavat molemmat:
- Hallittavat käytännöt — uudelleenkäytettäviä, useisiin identiteetteihin liitettäviä
- Inline-käytännöt — suoraan yhteen käyttäjään tai rooliin upotettuja
Inline-käytännöt jäävät helposti auditoinneissa huomaamatta, joten ne kätkevät usein liiallisia käyttöoikeuksia. Luetteloikaa identiteettiä arvioidessanne aina molemmat.
# Inline policies are listed separately from attached ones
aws iam list-user-policies --user-name devuser
aws iam get-user-policy --user-name devuser --policy-name custom-inlineSuojaus: vähimpien oikeuksien periaate
IAM-virheellisten määritysten korjaus on vähimpien oikeuksien periaate: myöntäkää vain täsmälleen tarvittavat käyttöoikeudet.
- Korvatkaa wildcard-merkit täsmällisillä toiminnoilla ja resurssien ARN-tunnisteilla
- Käyttäkää lyhytkestoisia tunnistetietoja pitkäkestoisten avainten sijaan
- Auditoikaa käyttämättömät käyttöoikeudet Access Analyzerilla
- Pakottakaa MFA laajaoikeuksisille identiteeteille
Raportissanne jokainen havainto tulee yhdistää vähimpien oikeuksien periaatteen mukaiseen korjaukseen.
Pysykää valtuutuksen rajoissa
Oikeuksien korotuksen testaaminen muuttaa aktiivisesti tilin tilaa. Toimikaa varoen:
- Käytäntöjen, avainten tai roolien luominen on tunkeilevaa; hankkikaa siihen kirjallinen hyväksyntä
- Dokumentoikaa jokainen muutos, jotta se voidaan peruuttaa
- Suosikaa lukuoikeuksiin perustuvaa luettelointia reitin osoittamiseksi ennen sen hyväksikäyttöä
Usein riittää osoittaa, että privesc-reitti on olemassa; sitä ei aina tarvitse hyväksikäyttää kokonaan.
Pikatarkistus
Mikä käyttöoikeusyhdistelmä on klassinen AWS:n oikeuksien korotusreitti?
Kertaus: IAM-virheelliset määritykset
Opitte, miksi IAM on cloud-ympäristön todellinen rajapinta ja miten hyökkääjät hyödyntävät sitä.
- Wildcard-käytännöt
Action:* Resource:*ovat katastrofaalisia iam:PassRole+ palvelun luonti mahdollistavat oikeuksien korotuksen- Liian laajat luottamuskäytännöt antavat hyökkääjille mahdollisuuden ottaa rooleja käyttöön
- Pacun ja PMapperin kaltaiset työkalut automatisoivat reittien etsimisen
- Korjaus on aina vähimpien oikeuksien periaate
Seuraavaksi tarkastelemme S3:a ja tallennustilan paljastumista.
Opi Ethical Hacking Academy tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 31
- Oppitunnit
- 111
Usein kysytyt kysymykset
Onko oppitunti ”IAM:n virheelliset määritykset” ilmainen?
Kyllä – oppitunnin ”IAM:n virheelliset määritykset” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Ethical Hacking Academy-kurssin, päivitä CoddyKit PROhon. Ethical Hacking Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”IAM:n virheelliset määritykset”?
Liian sallivat roolit. Harjoittelet Ethical Hacking Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Ethical Hacking Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Ethical Hacking Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”IAM:n virheelliset määritykset”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Ethical Hacking Academy-oppitunnilla?
Kyllä. Jokainen Ethical Hacking Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Pilven hyökkäyspinta
- IAM:n virheelliset määritykset
- S3:n ja tallennustilan altistuminen
- Metatiedot ja SSRF