AWS - GuardDuty Enum
Tip
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
GuardDuty
Selon les docs : GuardDuty combine lâapprentissage automatique, la dĂ©tection dâanomalies, la surveillance du rĂ©seau et la dĂ©couverte de fichiers malveillants, en utilisant Ă la fois AWS et des sources tierces de premier plan pour aider Ă protĂ©ger les charges de travail et les donnĂ©es sur AWS. GuardDuty est capable dâanalyser des dizaines de milliards dâĂ©vĂ©nements Ă travers plusieurs sources de donnĂ©es AWS, telles que les journaux dâĂ©vĂ©nements AWS CloudTrail, les journaux de flux Amazon Virtual Private Cloud (VPC), les journaux dâaudit et de systĂšme dâAmazon Elastic Kubernetes Service (EKS), et les journaux de requĂȘtes DNS.
Amazon GuardDuty identifie les activitĂ©s inhabituelles au sein de vos comptes, analyse la pertinence de la sĂ©curitĂ© de lâactivitĂ© et fournit le contexte dans lequel elle a Ă©tĂ© invoquĂ©e. Cela permet Ă un intervenant de dĂ©terminer sâil doit consacrer du temps Ă une enquĂȘte plus approfondie.
Les alertes apparaissent dans la console GuardDuty (90 jours) et dans les événements CloudWatch.
Warning
Lorsquâun utilisateur dĂ©sactive GuardDuty, il cessera de surveiller votre environnement AWS et ne gĂ©nĂ©rera aucune nouvelle dĂ©couverte, et les dĂ©couvertes existantes seront perdues.
Si vous lâarrĂȘtez simplement, les dĂ©couvertes existantes resteront.
Exemples de Découvertes
- Reconnaissance : ActivitĂ© suggĂ©rant une reconnaissance par un attaquant, telle que une activitĂ© API inhabituelle, des tentatives de connexion Ă une base de donnĂ©es suspectes, un scan de port intra-VPC, des modĂšles de requĂȘtes de connexion Ă©chouĂ©es inhabituels, ou un sondage de port non bloquĂ© Ă partir dâune IP connue comme malveillante.
- Compromission dâinstance : ActivitĂ© indiquant une compromission dâinstance, telle que minage de cryptomonnaie, activitĂ© de commande et de contrĂŽle (C&C) par porte dĂ©robĂ©e, malware utilisant des algorithmes de gĂ©nĂ©ration de domaine (DGA), activitĂ© de dĂ©ni de service sortant, volume de trafic rĂ©seau anormalement Ă©levĂ©, protocoles rĂ©seau inhabituels, communication dâinstance sortante avec une IP malveillante connue, et des identifiants Amazon EC2 temporaires utilisĂ©s par une adresse IP externe, ainsi que lâexfiltration de donnĂ©es utilisant DNS.
- Compromission de compte : Les modĂšles courants indicatifs de compromission de compte incluent des appels API provenant dâune gĂ©olocalisation inhabituelle ou dâun proxy anonymisant, des tentatives de dĂ©sactiver la journalisation AWS CloudTrail, des changements qui affaiblissent la politique de mot de passe du compte, des lancements dâinstances ou dâinfrastructures inhabituels, des dĂ©ploiements dâinfrastructure dans une rĂ©gion inhabituelle, le vol dâidentifiants, une activitĂ© de connexion Ă la base de donnĂ©es suspecte, et des appels API provenant dâadresses IP malveillantes connues.
- Compromission de bucket : ActivitĂ© indiquant une compromission de bucket, telle que des modĂšles dâaccĂšs aux donnĂ©es suspects indiquant un usage abusif des identifiants, une activitĂ© API Amazon S3 inhabituelle provenant dâun hĂŽte distant, un accĂšs S3 non autorisĂ© Ă partir dâadresses IP malveillantes connues, et des appels API pour rĂ©cupĂ©rer des donnĂ©es dans des buckets S3 dâun utilisateur sans historique prĂ©alable dâaccĂšs au bucket ou invoquĂ©s depuis un emplacement inhabituel. Amazon GuardDuty surveille et analyse en continu les Ă©vĂ©nements de donnĂ©es S3 dâAWS CloudTrail (par exemple, GetObject, ListObjects, DeleteObject) pour dĂ©tecter des activitĂ©s suspectes Ă travers tous vos buckets Amazon S3.
Informations sur les Découvertes
Résumé des découvertes :
- Type de découverte
- GravitĂ© : 7-8.9 ĂlevĂ©, 4-6.9 Moyen, 01-3.9 Faible
- Région
- ID de compte
- ID de ressource
- Heure de détection
- Quelle liste de menaces a été utilisée
Le corps contient ces informations :
- Ressource affectée
- Action
- Acteur : Adresse IP, port et domaine
- Informations supplémentaires
Toutes les Découvertes
Accédez à une liste de toutes les découvertes GuardDuty sur : https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html
Comptes Multiples
Par Invitation
Vous pouvez inviter dâautres comptes Ă un compte AWS GuardDuty diffĂ©rent afin que chaque compte soit surveillĂ© depuis le mĂȘme GuardDuty. Le compte principal doit inviter les comptes membres et ensuite le reprĂ©sentant du compte membre doit accepter lâinvitation.
Via Organisation
Vous pouvez dĂ©signer nâimporte quel compte au sein de lâorganisation comme administrateur dĂ©lĂ©guĂ© GuardDuty. Seul le compte de gestion de lâorganisation peut dĂ©signer un administrateur dĂ©lĂ©guĂ©.
Un compte dĂ©signĂ© comme administrateur dĂ©lĂ©guĂ© devient un compte administrateur GuardDuty, a GuardDuty activĂ© automatiquement dans la rĂ©gion AWS dĂ©signĂ©e, et a Ă©galement le droit dâactiver et de gĂ©rer GuardDuty pour tous les comptes de lâorganisation dans cette rĂ©gion. Les autres comptes de lâorganisation peuvent ĂȘtre visualisĂ©s et ajoutĂ©s en tant que comptes membres GuardDuty associĂ©s Ă ce compte administrateur dĂ©lĂ©guĂ©.
ĂnumĂ©ration
# 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>
Contournement de GuardDuty
Conseils généraux
Essayez de découvrir autant que possible sur le comportement des identifiants que vous allez utiliser :
- Heures dâutilisation
- Lieux
- Agents utilisateurs / Services (Cela pourrait ĂȘtre utilisĂ© depuis awscli, webconsole, lambdaâŠ)
- Permissions réguliÚrement utilisées
Avec ces informations, recrĂ©ez autant que possible le mĂȘme scĂ©nario pour utiliser lâaccĂšs :
- Si câest un utilisateur ou un rĂŽle accĂ©dĂ© par un utilisateur, essayez de lâutiliser aux mĂȘmes heures, depuis la mĂȘme gĂ©olocalisation (mĂȘme le mĂȘme FAI et IP si possible)
- Si câest un rĂŽle utilisĂ© par un service, crĂ©ez le mĂȘme service dans la mĂȘme rĂ©gion et utilisez-le depuis lĂ dans les mĂȘmes plages horaires
- Essayez toujours dâutiliser les mĂȘmes permissions que ce principal a utilisĂ©es
- Si vous devez utiliser dâautres permissions ou abuser dâune permission (par exemple, tĂ©lĂ©charger 1.000.000 de fichiers journaux cloudtrail), faites-le lentement et avec le minimum dâinteractions avec AWS (awscli appelle parfois plusieurs API de lecture avant celle dâĂ©criture)
Contournement de GuardDuty
guardduty:UpdateDetector
Avec cette permission, vous pourriez désactiver GuardDuty pour éviter de déclencher des alertes.
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
Les attaquants disposant de cette autorisation ont la capacitĂ© de utiliser des filtres pour lâarchivage automatique des rĂ©sultats :
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)
Les attaquants disposant des privilÚges précédents pourraient modifier la liste IP de confiance de GuardDuty en y ajoutant leur adresse IP et éviter de générer des alertes.
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
Les attaquants pourraient supprimer la destination pour empĂȘcher les alertes :
aws guardduty delete-publishing-destination --detector-id <detector-id> --destination-id <dest-id>
Caution
La suppression de cette destination de publication nâaffectera pas la gĂ©nĂ©ration ou la visibilitĂ© des rĂ©sultats dans la console GuardDuty. GuardDuty continuera Ă analyser les Ă©vĂ©nements dans votre environnement AWS, Ă identifier les comportements suspects ou inattendus, et Ă gĂ©nĂ©rer des rĂ©sultats.
Exemples spécifiques de contournement des résultats
Notez quâil existe des dizaines de rĂ©sultats GuardDuty, cependant, en tant que Red Teamer, tous ne vous affecteront pas, et ce qui est mieux, vous avez la documentation complĂšte de chacun dâeux dans https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html, alors jetez un Ćil avant de faire quoi que ce soit pour ne pas vous faire prendre.
Voici quelques exemples de contournement de résultats spécifiques de GuardDuty :
PenTest:IAMUser/KaliLinux
GuardDuty dĂ©tecte les requĂȘtes API AWS provenant dâoutils de test de pĂ©nĂ©tration courants et dĂ©clenche un PenTest Finding.
Câest dĂ©tectĂ© par le nom de lâagent utilisateur qui est passĂ© dans la requĂȘte API.
Par consĂ©quent, modifier lâagent utilisateur permet dâempĂȘcher GuardDuty de dĂ©tecter lâattaque.
Pour Ă©viter cela, vous pouvez rechercher dans le script session.py dans le package botocore et modifier lâagent utilisateur, ou dĂ©finir Burp Suite comme proxy AWS CLI et changer lâagent utilisateur avec le MitM ou simplement utiliser un OS comme Ubuntu, Mac ou Windows pour empĂȘcher cette alerte de se dĂ©clencher.
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
Lâextraction des identifiants EC2 du service de mĂ©tadonnĂ©es et leur utilisation Ă lâextĂ©rieur de lâenvironnement AWS active lâalerte UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS. En revanche, lâutilisation de ces identifiants depuis votre instance EC2 dĂ©clenche lâalerte UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS. Pourtant, lâutilisation des identifiants sur une autre instance EC2 compromise au sein du mĂȘme compte passe inaperçue, ne dĂ©clenchant aucune alerte.
Tip
Par consĂ©quent, utilisez les identifiants exfiltrĂ©s depuis lâintĂ©rieur de la machine oĂč vous les avez trouvĂ©s pour ne pas dĂ©clencher cette alerte.
Références
- 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
Apprenez & pratiquez AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Soutenez HackTricks
- Consultez les subscription plans!
- Rejoignez le đŹ Discord group ou le telegram group ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des hacking tricks en soumettant des PRs aux HackTricks et HackTricks Cloud github repos.
HackTricks Cloud

