AWS - GuardDuty Enum
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Prema dokumentaciji: GuardDuty kombinuje mašinsko učenje, detekciju anomalija, praćenje mreže i otkrivanje zlonamernih datoteka, koristeći kako AWS, tako i vodeće izvore trećih strana kako bi pomogao u zaštiti radnih opterećenja i podataka na AWS-u. GuardDuty je sposoban da analizira desetine milijardi događaja iz više AWS izvora podataka, kao što su AWS CloudTrail dnevnici događaja, Amazon Virtual Private Cloud (VPC) Flow Logs, Amazon Elastic Kubernetes Service (EKS) revizijski i sistemski dnevnici, i DNS upiti.
Amazon GuardDuty identifikuje neobičnu aktivnost unutar vaših naloga, analizira bezbednosnu relevantnost aktivnosti i daje kontekst u kojem je aktivnost pokrenuta. Ovo omogućava odgovaraču da odredi da li treba da potroši vreme na dalju istragu.
Upozorenja se pojavljuju u GuardDuty konzoli (90 dana) i CloudWatch događajima.
Kada korisnik onemogući GuardDuty, prestaje da prati vaše AWS okruženje i neće generisati nove nalaze, a postojeći nalazi će biti izgubljeni. Ako ga samo zaustavite, postojeći nalazi će ostati.
Reconnaissance: Aktivnost koja sugeriše izviđanje od strane napadača, kao što su neobične API aktivnosti, sumnjivi pokušaji prijavljivanja na bazu podataka, intra-VPC skeniranje portova, neobični obrasci neuspešnih zahteva za prijavljivanje, ili neblokirani portovi sa poznate loše IP adrese.
Kompromitovanje instance: Aktivnost koja ukazuje na kompromitovanje instance, kao što su rudarenje kriptovaluta, backdoor komanda i kontrola (C&C), zlonamerni softver koji koristi algoritme generisanja domena (DGA), outbound aktivnosti uskraćivanja usluga, neobično visok obim mrežnog saobraćaja, neobični mrežni protokoli, outbound komunikacija instance sa poznatom zlonamernom IP adresom, privremene Amazon EC2 akreditive korišćene od strane spoljne IP adrese, i exfiltracija podataka korišćenjem DNS-a.
Kompromitovanje naloga: Uobičajeni obrasci koji ukazuju na kompromitovanje naloga uključuju API pozive iz neobične geolokacije ili anonimnog proksija, pokušaje onemogućavanja AWS CloudTrail logovanja, promene koje oslabljuju politiku lozinki naloga, neobične instance ili lansiranja infrastrukture, implementacije infrastrukture u neobičnoj regiji, krađu akreditiva, sumnjivu aktivnost prijavljivanja na bazu podataka, i API pozive iz poznatih zlonamernih IP adresa.
Kompromitovanje bucket-a: Aktivnost koja ukazuje na kompromitovanje bucket-a, kao što su sumnjivi obrasci pristupa podacima koji ukazuju na zloupotrebu akreditiva, neobične Amazon S3 API aktivnosti sa udaljenog hosta, neovlašćen pristup S3-u sa poznatih zlonamernih IP adresa, i API pozivi za preuzimanje podataka iz S3 bucket-a od korisnika bez prethodne istorije pristupa bucket-u ili pokrenutih iz neobične lokacije. Amazon GuardDuty kontinuirano prati i analizira AWS CloudTrail S3 događaje (npr. GetObject, ListObjects, DeleteObject) kako bi otkrio sumnjivu aktivnost širom svih vaših Amazon S3 bucket-a.
Pristupite listi svih GuardDuty nalaza na: https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html
Možete pozvati druge naloge u različit AWS GuardDuty nalog tako da svaki nalog bude praćen iz istog GuardDuty. Glavni nalog mora pozvati članove naloga, a zatim predstavnik članskog naloga mora prihvatiti poziv.
Možete odrediti bilo koji nalog unutar organizacije da bude delegirani administrator GuardDuty. Samo nalog za upravljanje organizacijom može odrediti delegiranog administratora.
Nalog koji se odredi kao delegirani administrator postaje nalog administratora GuardDuty, automatski ima omogućenu GuardDuty u određenoj AWS regiji, i takođe ima dozvolu da omogući i upravlja GuardDuty za sve naloge u organizaciji unutar te regije. Ostali nalozi u organizaciji mogu se pregledati i dodati kao članovi GuardDuty povezani sa ovim delegiranim administratorskim nalogom.
Pokušajte da saznate što je moguće više o ponašanju kredencijala koje ćete koristiti:
Vremena kada se koriste
Lokacije
User Agents / Usluge (Može se koristiti iz awscli, webconsole, lambda...)
Dozvole koje se redovno koriste
Sa ovom informacijom, rekreirajte što je moguće više istog scenarija za korišćenje pristupa:
Ako je to korisnik ili uloga kojoj pristupa korisnik, pokušajte da je koristite u istim satima, iz iste geolokacije (čak i istog ISP-a i IP-a ako je moguće)
Ako je to uloga koju koristi usluga, kreirajte istu uslugu u istoj regiji i koristite je odatle u istim vremenskim intervalima
Uvek pokušajte da koristite iste dozvole koje je ovaj princip koristio
Ako treba da koristite druge dozvole ili zloupotrebite dozvolu (na primer, preuzmite 1.000.000 cloudtrail log fajlova) radite to polako i sa minimalnim brojem interakcija sa AWS-om (awscli ponekad poziva nekoliko read API-ja pre write API-ja)
guardduty:UpdateDetector
Sa ovom dozvolom mogli biste da onemogućite GuardDuty kako biste izbegli aktiviranje alarma.
guardduty:CreateFilter
Napadači sa ovom dozvolom imaju mogućnost da koriste filtre za automatsko arhiviranje nalaza:
iam:PutRolePolicy
, (guardduty:CreateIPSet
|guardduty:UpdateIPSet
)Napadači sa prethodnim privilegijama mogli bi da modifikuju GuardDuty-ovu Listu pouzdanih IP adresa dodajući svoju IP adresu na nju i izbegli generisanje upozorenja.
guardduty:DeletePublishingDestination
Napadači bi mogli ukloniti odredište kako bi sprečili upozorenja:
Brisanje ove destinacije za objavljivanje neće uticati na generisanje ili vidljivost nalaza unutar GuardDuty konzole. GuardDuty će nastaviti da analizira događaje u vašem AWS okruženju, identifikuje sumnjivo ili neočekivano ponašanje i generiše nalaze.
Imajte na umu da postoji desetine GuardDuty nalaza, međutim, kao Red Teamer, nećete biti pogođeni svim njima, a što je bolje, imate potpunu dokumentaciju o svakom od njih na https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html pa pogledajte pre nego što preduzmete bilo kakvu akciju da ne biste bili uhvaćeni.
Evo nekoliko primera specifičnih zaobilaženja GuardDuty nalaza:
GuardDuty detektuje AWS API zahteve iz uobičajenih alata za penetraciono testiranje i aktivira PenTest Finding. Detektuje se po nazivu korisničkog agenta koji se prosleđuje u API zahtevu. Stoga, modifikovanjem korisničkog agenta moguće je sprečiti GuardDuty da detektuje napad.
Da biste to sprečili, možete pretražiti skriptu session.py
u botocore
paketu i modifikovati korisnički agent, ili postaviti Burp Suite kao AWS CLI proxy i promeniti korisnički agent sa MitM ili jednostavno koristiti OS kao što su Ubuntu, Mac ili Windows, što će sprečiti aktiviranje ovog upozorenja.
Ekstrakcija EC2 kredencijala iz metadata servisa i korišćenje njih van AWS okruženja aktivira UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
upozorenje. Nasuprot tome, korišćenje ovih kredencijala sa vaše EC2 instance aktivira UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS
upozorenje. Ipak, korišćenje kredencijala na drugoj kompromitovanoj EC2 instanci unutar istog naloga prolazi neprimećeno, ne podižući nikakvo upozorenje.
Stoga, koristite exfiltrirane kredencijale iznutra mašine gde ste ih pronašli da ne biste aktivirali ovo upozorenje.
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)