Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
dufflebag — Rechercher des secrets dans les volumes EBS exposés | Kitploit
Outils/GitHubGitHub/bishopfox/dufflebag
Analyse des VulnérabilitésCollecte d'InformationsSécurité CloudDétection de Secrets
GitHubbishopfox/dufflebag

dufflebag

Rechercher des secrets dans les volumes EBS exposés

Voir le dépôt
3053919il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Dufflebag

Dufflebag est un outil qui parcourt les instantanés publics d'Elastic Block Storage (EBS) à la recherche de secrets qui auraient pu être laissés accidentellement. Vous pourriez être surpris par tous les mots de passe et secrets qui traînent !

L'outil est organisé sous forme d'application Elastic Beanstalk (« EB », à ne pas confondre avec EBS), et ne fonctionnera définitivement pas si vous essayez de l'exécuter sur votre propre machine.

Dufflebag comporte beaucoup de pièces mobiles car il n'est pas trivial de lire réellement des volumes EBS en pratique. Vous devez être dans un environnement AWS, cloner l'instantané, créer un volume à partir de l'instantané, attacher le volume, monter le volume, etc... C'est pourquoi il est conçu comme une application Elastic Beanstalk, afin qu'il puisse automatiquement monter ou descendre en charge selon vos souhaits, et pour que l'ensemble puisse être facilement démantelé une fois l'opération terminée.

Gardez simplement un œil sur votre console AWS pour vous assurer que rien ne s'emballe et n'accumule les factures. Nous avons essayé de penser à toutes les éventualités et de fournir une gestion des erreurs... mais vous êtes prévenu !

Pour commencer

Permissions

Vous devrez ajouter quelques autorisations IAM AWS supplémentaires au rôle : aws-elasticbeanstalk-ec2-role. Vous pouvez également créer un tout nouveau rôle avec ces autorisations et configurer EB pour utiliser ce rôle, mais c'est un peu plus complexe. Dans tous les cas, vous devrez ajouter :

  • AttachVolume (ec2)
  • CopySnapshot (ec2)
  • CreateVolume (ec2)
  • DeleteSnapshot (ec2)
  • DeleteVolume (ec2)
  • DescribeSnapshots (ec2)
  • DescribeVolumes (ec2)
  • DetachVolume (ec2)
  • PurgeQueue (sqs)
  • ListQueues (sqs)
  • ListAllMyBuckets (s3)
  • PutObject (s3)

Construction

L'application principale est écrite en Go, vous aurez donc besoin d'un compilateur Golang. Mais l'application EB est en fait construite dans un fichier .zip (c'est ainsi que fonctionne EB) donc le makefile produira un zip pour vous.

  1. Vérifiez votre région. Dufflebag ne peut fonctionner que dans une seule région AWS à la fois. Si vous souhaitez rechercher dans toutes les régions, vous devrez déployer autant d'instances. Pour changer la région, modifiez le contenu du fichier source region.go.

  2. Installez les dépendances : Ubuntu 18.04 x64 :

sudo apt install make golang-go git
go get -u github.com/aws/aws-sdk-go
go get -u github.com/deckarep/golang-set
go get -u github.com/lib/pq
go get -u lukechampine.com/blake3
  1. Ensuite, construisez l'application EB dans un fichier zip avec :
make

Vous devriez maintenant voir un fichier dufflebag.zip dans le répertoire racine du projet.

  1. Enfin, vous devrez créer un bucket S3. Le configurer automatiquement dans Dufflebag est peut-être possible, mais ce serait en fait assez difficile. Alors faites-le vous-même. Vous devez simplement créer un bucket S3 avec des autorisations par défaut, et dont le nom commence par dufflebag. Les noms de bucket S3 doivent être globalement uniques, vous aurez donc probablement besoin d'un suffixe qui est un charabia ou quelque chose du genre.

Déploiement sur Elastic Beanstalk

Allez dans votre console AWS et trouvez l'option de menu Elastic Beanstalk. Cela est probablement faisable via la CLI aussi, mais cette description utilisera la console. Sélectionnez Actions -> Create Environment.

Créer un environnement

Ensuite, dans la fenêtre suivante, choisissez Worker environment et cliquez sur Select.

Environnement de travail

Dans la fenêtre suivante, choisissez Preconfigured -> Go pour la Platform.

Plateforme Go

Sous Application Code, choisissez Upload your Code.

Télécharger votre code

Cliquez sur le bouton Upload et sélectionnez le fichier dufflebag.zip que vous venez de construire.

Origine du code

Enfin, cliquez sur Create Environment pour démarrer.

Cela prendra quelques minutes pour qu'AWS crée tout et démarre. Une fois créé, Dufflebag se mettra immédiatement au travail. Aucune autre action n'est nécessaire.

Retirer la vanne de sécurité

Une fois que cela est opérationnel, vous pouvez réessayer avec la vanne de sécurité retirée. Par défaut, Dufflebag ne recherche que 20 instantanés EBS. (Pour éviter que cela ne s'emballe dès le premier essai). Pour étendre la recherche à toute la région, allez dans populate.go, supprimez la ligne de code suivante, et reconstruisez :

//#####################################################################
//####                    Safety Valve                             ####
//#### Remove this line of code below to search all of your region ####
//#####################################################################
snapshots = snapshots_result.Snapshots[0:20]

Montée en charge

L'une des raisons pour lesquelles Dufflebag est conçu comme une application Elastic Beanstalk est de pouvoir automatiquement monter ou descendre en charge facilement. Par défaut, il s'exécutera sur une seule instance et sera assez lent. Mais si vous souhaitez l'accélérer un peu, ajustez l'autoscaling dans Elastic Beanstalk. Les options complètes dépassent un peu le cadre de ce document, je vous laisse donc les explorer. Mais en pratique, j'ai constaté qu'un simple déclencheur basé sur l'utilisation du CPU fonctionne assez bien.

Lors de la configuration de l'environnement ci-dessus, vous trouverez les options sous le bouton Configure more options (au lieu de cliquer sur Create environment), puis cliquez sur Scaling.

Mise à l'échelle

Récupérer le butin

Dufflebag copiera tous les fichiers intéressants vers le bucket S3 que vous avez créé précédemment. (Techniquement, Dufflebag utilisera le premier bucket S3 dont le nom commence par "dufflebag".)

Vous pouvez simplement regarder les fichiers arriver un par un dans votre bucket S3. Ils seront nommés :

originalfilename_blake3sum_volumeid

Vérifier l'état

Si tout se passe bien, vous n'aurez pas besoin de lire les journaux. Mais au cas où, Elastic Beanstalk permet aux applications d'écrire dans des fichiers journaux pendant leur exécution, et ceux-ci sont capturés en naviguant vers l'onglet Logs. Cliquez ensuite sur Request Logs puis Last 100 Lines. Cela vous donnera le lot le plus récent des journaux de Dufflebag. Cliquez sur le bouton Download pour le lire. Ce fichier contiendra beaucoup d'autres journaux système, mais la partie Dufflebag se trouve sous "/var/log/web-1.log" en haut.

Pour voir l'historique complet des journaux, sélectionnez Full Logs au lieu de Last 100 Lines. (Notez qu'EB fera automatiquement tourner les journaux assez agressivement par défaut)

De plus, vous pouvez avoir une idée de la progression globale en regardant la file d'attente SQS de l'environnement. Les environnements de travail Elastic Beanstalk utilisent SQS pour gérer le flux de travail. Chaque message dans la file d'attente de Dufflebag représente un volume EBS à traiter :

Files d'attente SQS

Télécharger l’outil