AWS - GuardDuty Enum
Reading time: 10 minutes
tip
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)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
GuardDuty
Kulingana na docs: GuardDuty inachanganya ujifunzaji wa mashine, ugunduzi wa anomali, ufuatiliaji wa mtandao, na ugunduzi wa faili zenye uharibifu, ikitumia vyanzo vya AWS na vya tatu vinavyoongoza katika tasnia kusaidia kulinda kazi na data kwenye AWS. GuardDuty ina uwezo wa kuchambua mabilioni ya matukio katika vyanzo vingi vya data vya AWS, kama vile kumbukumbu za matukio ya AWS CloudTrail, Kumbukumbu za Mtiririko wa Amazon Virtual Private Cloud (VPC), kumbukumbu za ukaguzi na za mfumo wa Amazon Elastic Kubernetes Service (EKS), na kumbukumbu za maswali ya DNS.
Amazon GuardDuty inatambua shughuli zisizo za kawaida ndani ya akaunti zako, inachambua umuhimu wa usalama wa shughuli hiyo, na inatoa muktadha ambao ilitolewa. Hii inamruhusu mrespondaji kuamua kama anapaswa kutumia muda katika uchunguzi zaidi.
Alerts zinaonekana kwenye console ya GuardDuty (siku 90) na Matukio ya CloudWatch.
warning
Wakati mtumiaji anapozuia GuardDuty, itasimamisha ufuatiliaji wa mazingira yako ya AWS na haitazalisha matokeo mapya kabisa, na matokeo yaliyopo yatapotea.
Ikiwa unaisimamisha tu, matokeo yaliyopo yatabaki.
Mfano wa Matokeo
- Upelelezi: Shughuli inayopendekeza upelelezi na mshambuliaji, kama vile shughuli zisizo za kawaida za API, majaribio ya kuingia kwenye hifadhidata, skanning ya bandari ndani ya VPC, mifumo isiyo ya kawaida ya maombi ya kuingia yaliyoshindwa, au uchunguzi wa bandari usiozuiliwa kutoka kwa IP mbaya inayojulikana.
- Kuvunjika kwa Kifaa: Shughuli inayonyesha kuvunjika kwa kifaa, kama vile uchimbaji wa sarafu, shughuli za amri na udhibiti wa nyuma (C&C), malware inayotumia algorithimu za kizazi cha kikoa (DGA), shughuli za kukataa huduma za nje, kiasi kisicho cha kawaida cha trafiki ya mtandao, protokali zisizo za kawaida za mtandao, mawasiliano ya kifaa cha nje na IP mbaya inayojulikana, akidi za muda za Amazon EC2 zinazotumiwa na anwani ya IP ya nje, na uhamasishaji wa data kwa kutumia DNS.
- Kuvunjika kwa Akaunti: Mifumo ya kawaida inayoweza kuashiria kuvunjika kwa akaunti ni pamoja na simu za API kutoka eneo la kijiografia lisilo la kawaida au proxy ya kuficha, majaribio ya kuzima kumbukumbu za AWS CloudTrail, mabadiliko yanayodhoofisha sera ya nywila ya akaunti, uzinduzi wa kifaa au miundombinu isiyo ya kawaida, uwekaji wa miundombinu katika eneo lisilo la kawaida, wizi wa akidi, shughuli za kuingia kwenye hifadhidata zisizo za kawaida, na simu za API kutoka kwa anwani za IP mbaya zinazojulikana.
- Kuvunjika kwa Baki: Shughuli inayonyesha kuvunjika kwa baki, kama vile mifumo ya ufikiaji wa data isiyo ya kawaida ikionyesha matumizi mabaya ya akidi, shughuli zisizo za kawaida za Amazon S3 API kutoka kwa mwenyeji wa mbali, ufikiaji usioidhinishwa wa S3 kutoka kwa anwani za IP mbaya zinazojulikana, na simu za API za kupata data katika bakuli za S3 kutoka kwa mtumiaji ambaye hana historia ya awali ya kufikia bakuli hiyo au ilitolewa kutoka eneo lisilo la kawaida. Amazon GuardDuty inaendelea kufuatilia na kuchambua matukio ya data ya AWS CloudTrail S3 (mfano: GetObject, ListObjects, DeleteObject) ili kugundua shughuli zisizo za kawaida katika bakuli zako zote za Amazon S3.
Habari za Matokeo
Muhtasari wa matokeo:
- Aina ya matokeo
- Ukali: 7-8.9 Juu, 4-6.9 Kati, 01-3.9 Chini
- Eneo
- Kitambulisho cha Akaunti
- Kitambulisho cha Rasilimali
- Wakati wa kugundua
- Ni orodha ipi ya vitisho ilitumika
Mwili una habari hii:
- Rasilimali iliyoathiriwa
- Hatua
- Mchezaji: Anwani ya IP, bandari na kikoa
- Habari za ziada
Matokeo Yote
Fikia orodha ya matokeo yote ya GuardDuty katika: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html
Akaunti Nyingi
Kwa Mwaliko
Unaweza kualika akaunti nyingine kwenye akaunti tofauti ya AWS GuardDuty ili akaunti zote zifuatiliwe kutoka GuardDuty moja. Akaunti ya mkuu lazima iwalike akaunti za wanachama na kisha mwakilishi wa akaunti ya mwanachama lazima akubali mwaliko.
Kupitia Shirika
Unaweza kuteua akaunti yoyote ndani ya shirika kuwa msimamizi wa GuardDuty. Ni akaunti ya usimamizi wa shirika pekee inayoweza kuteua msimamizi wa kuteuliwa.
Akaunti inayoteuliwa kama msimamizi wa kuteuliwa inakuwa akaunti ya msimamizi wa GuardDuty, ina GuardDuty iliyoanzishwa kiotomatiki katika Eneo la AWS lililotengwa, na pia ina idhini ya kuanzisha na kusimamia GuardDuty kwa akaunti zote ndani ya shirika katika eneo hilo. Akaunti nyingine ndani ya shirika zinaweza kuangaliwa na kuongezwa kama akaunti za wanachama wa GuardDuty zinazohusishwa na akaunti hii ya msimamizi wa kuteuliwa.
Enumeration
# Get Org config
aws guardduty list-organization-admin-accounts #Get Delegated Administrator
aws guardduty describe-organization-configuration --detector-id <id>
# Check external invitations
aws guardduty list-invitations
aws guardduty get-invitations-count
# Detector Information
aws guardduty list-detectors # 1 detector per account with GuardDuty
aws guardduty get-detector --detector-id <id> # Get detector info
aws guardduty get-master-account --detector-id <id>
# Get filters
aws guardduty list-filters --detector-id <id> # Check filters
aws guardduty get-filter --detector-id <id> --filter-name <name>
# Findings
aws guardduty list-findings --detector-id <id> # List findings
aws guardduty get-findings --detector-id <id> --finding-ids <id> # Get details about the finding
aws guardduty get-findings-statistics --detector-id <id> --finding-statistic-types <types>
# Get trusted IP addresses
aws guardduty list-ip-sets --detector-id <id>
aws guardduty get-ip-set --detector-id <id>
# Member accounts of the current AWS GuardDuty master account
aws guardduty list-members --detector-id <id>
aws guardduty get-members --detector-id <id> --account-ids <id>
aws guardduty get-member-detectors --detector-id <id> --account-ids <id>
# Continuously export its findings to an Amazon S3 bucket
aws guardduty list-publishing-destinations --detector-id <id>
# Intelligence sets that you have uploaded to GuardDuty
aws guardduty list-threat-intel-sets --detector-id <id>
aws guardduty get-threat-intel-set --detector-id <id> --threat-intel-set-id <id>
GuardDuty Bypass
General Guidance
Jaribu kujua kadri ya uwezo kuhusu tabia ya ithibati unayotaka kutumia:
- Nyakati inapotumika
- Mikoa
- Wakala wa Mtumiaji / Huduma (Inaweza kutumika kutoka awscli, webconsole, lambda...)
- Ruhusa zinazotumika mara kwa mara
Kwa kutumia taarifa hii, tengeneza kadri ya uwezo hali sawa ili kutumia ufikiaji:
- Ikiwa ni mtumiaji au jukumu linalofikiwa na mtumiaji, jaribu kulitumika katika masaa sawa, kutoka eneo moja la kijiografia (hata ISP na IP sawa ikiwa inawezekana)
- Ikiwa ni jukumu linalotumika na huduma, tengeneza huduma hiyo hiyo katika eneo moja na uitumie kutoka hapo katika muda sawa
- Daima jaribu kutumia ruhusa sawa ambazo huyu mkuu amezitumia
- Ikiwa unahitaji kutumia ruhusa nyingine au kutumia ruhusa (kwa mfano, kupakua faili 1.000.000 za cloudtrail log) fanya hivyo polepole na kwa idadi ndogo ya mwingiliano na AWS (awscli wakati mwingine inaita APIs kadhaa za kusoma kabla ya ile ya kuandika)
Breaking GuardDuty
guardduty:UpdateDetector
Kwa ruhusa hii unaweza kuzima GuardDuty ili kuepuka kuanzisha arifa.
aws guardduty update-detector --detector-id <detector-id> --no-enable
aws guardduty update-detector --detector-id <detector-id> --data-sources S3Logs={Enable=false}
guardduty:CreateFilter
Washambuliaji wenye ruhusa hii wana uwezo wa kutumia filters kwa ajili ya kuhifadhi matokeo kiotomatiki:
aws guardduty create-filter --detector-id <detector-id> --name <filter-name> --finding-criteria file:///tmp/criteria.json --action ARCHIVE
iam:PutRolePolicy
, (guardduty:CreateIPSet
|guardduty:UpdateIPSet
)
Wavamizi wenye mamlaka za awali wanaweza kubadilisha Orodha ya IP za Kuaminika ya GuardDuty kwa kuongeza anwani yao ya IP na kuepuka kuzalisha arifa.
aws guardduty update-ip-set --detector-id <detector-id> --activate --ip-set-id <ip-set-id> --location https://some-bucket.s3-eu-west-1.amazonaws.com/attacker.csv
guardduty:DeletePublishingDestination
Wavamizi wanaweza kuondoa eneo la kuchapisha ili kuzuia arifa:
aws guardduty delete-publishing-destination --detector-id <detector-id> --destination-id <dest-id>
caution
Kufuta eneo hili la kuchapisha hakutakuwa na athari kwa uzalishaji au mwonekano wa matokeo ndani ya konsoli ya GuardDuty. GuardDuty itaendelea kuchambua matukio katika mazingira yako ya AWS, kubaini tabia za kushangaza au zisizotarajiwa, na kuzalisha matokeo.
Mifano Maalum ya Kupita Matokeo
Kumbuka kuwa kuna matokeo kumi za GuardDuty, hata hivyo, kama Red Teamer si yote yatakayo kukuhusu, na bora zaidi, una nyaraka kamili za kila moja yao katika https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html hivyo angalia kabla ya kuchukua hatua yoyote ili usikamatwe.
Hapa kuna mifano kadhaa ya kupita matokeo maalum ya GuardDuty:
PenTest:IAMUser/KaliLinux
GuardDuty inagundua maombi ya API ya AWS kutoka kwa zana za kawaida za kupenya na kuanzisha PenTest Finding.
Inagunduliwa na jina la wakala wa mtumiaji linalopitishwa katika ombi la API.
Hivyo, kubadilisha wakala wa mtumiaji inawezekana kuzuia GuardDuty kugundua shambulio.
Ili kuzuia hili unaweza kutafuta kutoka kwenye script session.py
katika pakiti ya botocore
na kubadilisha wakala wa mtumiaji, au kuweka Burp Suite kama proxy ya AWS CLI na kubadilisha wakala wa mtumiaji kwa MitM au tumia OS kama Ubuntu, Mac au Windows itazuia kengele hii kutokea.
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
Kutoa akreditivu za EC2 kutoka kwa huduma ya metadata na kuzitumia nje ya mazingira ya AWS kunasababisha kengele ya UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
. Kwa upande mwingine, kutumia akreditivu hizi kutoka kwa mfano wako wa EC2 kunasababisha kengele ya UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS
. Hata hivyo, kutumia akreditivu kwenye mfano mwingine wa EC2 ulioathiriwa ndani ya akaunti hiyo hiyo hakugunduliwi, hakusababisha kengele yoyote.
tip
Hivyo, tumia akreditivu zilizopatikana kutoka ndani ya mashine ambapo ulizipata ili usisababisha kengele hii.
Marejeleo
- https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html
- https://docs.aws.amazon.com/guardduty/latest/ug/findings_suppression-rule.html
- https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html
- https://docs.aws.amazon.com/cli/latest/reference/guardduty/delete-publishing-destination.html
- https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-ec2.html#unauthorizedaccess-ec2-torclient
- https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#unauthorizedaccess-iam-instancecredentialexfiltrationoutsideaws
- https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#unauthorizedaccess-iam-instancecredentialexfiltrationinsideaws
- https://docs.aws.amazon.com/whitepapers/latest/aws-privatelink/what-are-vpc-endpoints.html
tip
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)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.