Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
smokedmeat — Un framework Red Team CI/CD pour démontrer les risques de sécurité des pipelines de build. | Kitploit
Outils/GitHubGitHub/boostsecurityio/smokedmeat
Frameworks de Tests d'IntrusionEscalade de PrivilègesFrameworks d'ExploitationAnalyse des VulnérabilitésMouvement LatéralPost-ExploitationSécurité CloudCommandement et ContrôleDétection de SecretsSécurité de la Chaîne LogistiqueApprentissage et ÉducationRed Teaming
373285il y a 1 moisVérifié par Kitploit
GitHubboostsecurityio/smokedmeat

smokedmeat

Un framework Red Team CI/CD pour démontrer les risques de sécurité des pipelines de build.

Voir le dépôt

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

SmokedMeat

License: AGPL v3

Framework Red Team pour CI/CD

Comme Metasploit, mais pour les pipelines CI/CD.

Des créateurs du scanner SAST de pipeline de build poutine chez BoostSecurity Labs.

Démo rapide SmokedMeat


Avertissement : Cet outil est réservé aux tests de sécurité autorisés.

SmokedMeat existe parce que les menaces sur les pipelines CI/CD sont largement sous-estimées. La formation traditionnelle en sécurité couvre rarement les attaques sur la chaîne d'approvisionnement, laissant les défenseurs mal préparés face à des techniques que les attaquants exploitent activement dans la nature.

Nous l'avons construit pour donner aux équipes de sécurité la capacité d'apprendre, de pratiquer et de valider les défenses contre les techniques d'attaque CI/CD avancées via des exercices réalistes d'équipe rouge.

Utilisez-le uniquement sur des systèmes que vous possédez ou pour lesquels vous avez une autorisation écrite explicite.


Qu'est-ce que SmokedMeat ?

SmokedMeat est un framework de post-exploitation pour les pipelines CI/CD. Pointez-le vers une organisation GitHub, laissez-le trouver des workflows vulnérables, déployez un implant sur un runner compromis, puis pivotez à travers les fournisseurs cloud, extrayez des secrets et cartographiez le rayon d'explosion – le tout depuis une interface utilisateur en terminal.

Ce qu'il fait :

  1. Analyser – Scanne les workflows GitHub Actions d'une organisation à la recherche de vulnérabilités d'injection, déclencheurs dangereux et motifs de checkout non sécurisés (propulsé par poutine)
  2. Exploiter – Déploie un stager via PR, issue, commentaire ou workflow dispatch. Lorsque le workflow vulnérable s'exécute, il télécharge et exécute l'implant sur le runner CI.
  3. Post-exploiter – Extrait les secrets de la mémoire du runner, énumère les permissions du token GitHub, scanne les clés privées et collecte le butin
  4. Pivoter – Utilise les identifiants capturés pour se déplacer latéralement : découvre des dépôts privés, génère des tokens d'application GitHub, échange des tokens OIDC pour un accès AWS/GCP/Azure, sonde les clés de déploiement SSH

Philosophie : Audacieux et bruyant. Ce n'est pas un outil d'évasion EDR. C'est un framework de démonstration qui montre jusqu'où une compromission CI/CD peut aller avant que quoi que ce soit ne déclenche une alerte.

À qui s'adresse-t-il :

  • Équipes rouges validant la posture de sécurité CI/CD dans des environnements d'entreprise
  • Pentesteurs démontrant les chemins d'attaque de la chaîne d'approvisionnement aux parties prenantes
  • Ingénieurs sécurité testant la détection et la réponse aux attaques sur pipelines
  • Chercheurs développant de nouvelles techniques d'exploitation CI/CD
  • Chasseurs de bugs explorant la surface d'attaque de la chaîne d'approvisionnement

Démarrage rapide

Pour essayer SmokedMeat pour la première fois, installez Docker et make. Go n'est pas nécessaire.

root@kitploit:~
git clone https://github.com/boostsecurityio/smokedmeat.git
cd smokedmeat
make quickstart

make quickstart est la première exécution recommandée. Elle démarre la stack quickstart de la version stable localement et lance l'interface TUI de l'opérateur (Counter) contre le serveur d'équipe C2 (Kitchen).

Première exécution recommandée :

  • Cible : whooli
  • Token : PAT classique avec public_repo

⚠ Préférez un PAT classique. Les PAT à granularité fine peuvent être trop restrictifs et pourraient bloquer les tests de cibles publiques dans d'autres organisations, y compris whooli.

whooli est le terrain d'entraînement d'attaque CI/CD délibérément vulnérable de SmokedMeat. C'est la cible recommandée pour le chemin public.

L'assistant de configuration vous guide à travers :

  1. GitHub PAT – Entrez votre token. Pour les dépôts privés, un PAT classique nécessite généralement repo.
  2. Cible – Entrez whooli ou votre propre organisation/dépôt
  3. Analyse – Scanne les workflows pour les vulnérabilités et présente les résultats exploitables

Pour le parcours complet du défi, voir le guide whooli ou allez directement à l'organisation GitHub whooli.

Lorsque vous avez terminé :

root@kitploit:~
make quickstart-down       # Arrêter les conteneurs
make quickstart-purge      # Arrêter et supprimer toutes les données

Si vous préférez travailler à partir des sources, voir Développement.

Développement

Si vous contribuez ou itérez localement sur l'arborescence source, installez Go 1.26+ et utilisez le démarrage rapide de développement :

root@kitploit:~
make dev-quickstart

make dev-quickstart construit l'image locale smokedmeat-cloud-shell, démarre cloudflared, nats et le serveur d'équipe C2 (Kitchen), puis lance l'interface TUI de l'opérateur depuis les sources.

Si vous voulez d'abord l'infrastructure et l'interface TUI plus tard :

root@kitploit:~
make dev-quickstart-up
make dev-quickstart-counter

Lorsque vous avez terminé :

root@kitploit:~
make dev-quickstart-down   # Arrêter les conteneurs
make dev-quickstart-purge  # Arrêter et supprimer toutes les données

Plus de modes de déploiement et de détails de développement local dans docs/deployment.md.

Vérification de version

Counter vérifie la disponibilité de nouvelles versions de SmokedMeat au démarrage. Cela peut être désactivé en définissant la variable d'environnement SMOKEDMEAT_DISABLE_VERSION_CHECK.

Composants principaux

Terme standardNom SmokedMeatDescription
Interface TUI de l'opérateurCounterInterface terminal pour l'analyse, la livraison de payload et le workflow de post-exploitation.
Serveur d'équipe C2KitchenServeur API et WebSocket pour les sessions opérateur, les stagers, les callbacks et l'état du graphe.
ImplantBrisketAgent livré aux runners CI compromis pour le beaconing, l'exécution de commandes et le pivotement.
Vue graphique navigateurBrowser ViewGraphe d'attaque en direct servi par le serveur d'équipe C2 à /graph.

Modes de déploiement

ModeQuand l'utiliserPoint d'entrée
QuickstartPremière exécution la plus rapide sur la version épingléemake quickstart
Dev QuickstartTravail local sur l'arborescence sourcemake dev-quickstart
Teamserver HébergéEngagement réel avec un nom de domaine stabledocs/deployment.md

Le mode Teamserver Hébergé exécute le serveur d'équipe C2 sur un hôte dédié et l'interface TUI de l'opérateur en natif sur chaque poste de travail opérateur.

Architecture

À haut niveau, l'interface TUI de l'opérateur (Counter) communique avec le serveur d'équipe C2 (Kitchen), qui gère les implants (Brisket) s'exécutant sur les runners CI compromis et sert le graphe d'attaque en direct.

root@kitploit:~
┌──────────────┐
│  SSH AGENT   │
│   (Auth)     │
└──────┬───────┘
       │
       ▼
┌──────────────┐                 ┌──────────────┐
│  THE COUNTER │ ───────────────▶│  THE KITCHEN │
│  (Operator)  │    WebSocket    │ (Teamserver) │
│  Bubbletea   │◀─────────────── │              │
│     TUI      │   Events/Graph  │ ┌──────────┐ │
└──────────────┘                 │ │ Database │ │
                                 │ └──────────┘ │
┌──────────────┐                 │              │
│   BROWSER    │ ───────────────▶│              │
│  Graph View  │    WebSocket    │              │
│  Visualizer  │◀─────────────── │              │
└──────────────┘   Live Updates  └──────────────┘
                                   │         ▲
                                   │         │
                        Creates PR │         │ Stager récupère le binaire de l'implant
                                   │         │ Implant HTTP Beacon/Commandes
                                   ▼         │
┌────────────────────────────────────────────┴──────────────────────────────────┐
│  GITHUB.COM                                                                   │
│                                                                               │
│  ┌─────────────────────┐          ┌─────────────────────────────────────────┐ │
│  │  Malicious PR       │ triggers │  GitHub Actions Runner                  │ │
│  │  (Vulnerable        │─────────▶│                                         │ │
│  │   Workflow)         │          │  ┌────────────┐      ┌────────────────┐ │ │
│  └─────────────────────┘          │  │  Stager    │─────▶│  THE BRISKET   │ │ │
│                                   │  │            │      │  (Implant)     │ │ │
│                                   │  └────────────┘      └────────────────┘ │ │
│                                   └─────────────────────────────────────────┘ │
└───────────────────────────────────────────────────────────────────────────────┘

Fonctionnalités

Détails complets dans docs/FEATURES.md.

CatégorieCapacités
ReconnaissanceDétection automatique de 6 plateformes CI (GitHub Actions, GitLab CI, Azure DevOps, CircleCI, Jenkins, Bitbucket). Classification des secrets, sondage de la disponibilité OIDC, collecte des métadonnées du runner.
Extraction de secretsScan de la mémoire du processus Runner.Worker via /proc pour récupérer les secrets.*, vars.* non masqués et les cartes de permissions GITHUB_TOKEN que GitHub cache dans les logs.
Analyse de vulnérabilitésSAST poutine embarqué pour les vulnérabilités d'injection, les déclencheurs dangereux et la classification des portes if: des workflows. Scan approfondi Gitleaks pour les clés privées et PAT dans l'historique git.
Livraison5 méthodes automatisées : PR, issue, commentaire, LOTP, workflow dispatch – plus copie seule et manuelle. Support des PR brouillons, fermeture automatique sur callback, pré-vérification du dispatch côté serveur.
Payloads d'injectionGénération de payloads contextuels pour 8 vecteurs d'injection (nom de branche, titre/corps de PR, message de commit, titre/corps d'issue, github-script, bash run) avec des techniques tenant compte des contraintes.
LOTPCatalogue Living Off The Pipeline : 15 outils de build (npm, pip, cargo, make, docker, gradle, maven, et plus) avec des payloads de fichier de configuration pour l'exécution de code lors de l'installation/construction/test.
Empoisonnement de cacheClassification écrivain/victime, prédiction exacte de clé de cache, préparation d'archive via l'API Actions Cache. Flux guidé par assistant avec armement de l'implant.
Énumération de tokensSondage des tokens GitHub contre les endpoints API pour énumérer 10 périmètres de permission, identifier le type de token et lister les dépôts et organisations accessibles.
Pivotements cloudÉchange de tokens OIDC pour AWS (sts:AssumeRoleWithWebIdentity), GCP (Workload Identity Federation), Azure (AAD) et Kubernetes. Énumération des ressources post-pivot.
Cloud ShellSessions locales durables avec cloud shell (gcloud/aws/az préconfigurés), et vérifications rapides des fournisseurs.

Stack technologique

CoucheTechnologie
LangageGo 1.26+
Framework TUIBubbletea v2 + Lipgloss v2
Disposition TUIUltraviolet layout + composition d'écran compatible ANSI
Bus de messagesNATS JetStream
Graphe d'attaquehmdsefi/gograph
Visualisation de grapheCytoscape.js
Base de donnéesBBolt
Scanner CI/CDpoutine (embarqué)
Scanner de secretsgitleaks (embarqué, règles personnalisées)
Extraction de secrets du runnergump (embarqué, scan mémoire /proc)
SDK CloudAWS SDK v2, Google Cloud, Azure SDK pour Go
Proxy inverseCaddy (TLS automatique)

Tests

root@kitploit:~
make test          # Tests unitaires
make lint          # Linter
make e2e-smoke     # Chemin de fumée d'exploitation public rapide
make e2e-goat      # Chaîne complète de la chèvre jusqu'au drapeau cloud
## Travaux antérieurs

SmokedMeat s'appuie sur les travaux de recherche suivants :

- [poutine](https://github.com/boostsecurityio/poutine) – Scanner SAST de pipeline de build
- [LOTP](https://boostsecurityio.github.io/lotp/) – Techniques Living Off The Pipeline
- [Gato-X](https://github.com/AdnaneKhan/Gato-X) – Énumération GitHub Actions
- [Nord-Stream](https://github.com/synacktiv/nord-stream) – Extraction de secrets CI/CD
- [Sliver](https://github.com/BishopFox/sliver) – Motifs d'architecture Go C2
- [Mythic](https://docs.mythic-c2.net/) – Conception de workflow collaboratif

## Licence

GNU Affero General Public License v3.0 – voir [LICENSE](https://github.com/boostsecurityio/smokedmeat/blob/main/LICENSE) pour les détails.

---

*Conçu pour les défenseurs qui veulent comprendre les techniques des attaquants.*
Télécharger l’outil
cloud export
Pivotement SSHSondage des dépôts pour l'accès par clé de déploiement SSH (lecture/écriture), ssh shell avec agent temporaire, accès confirmé persistant dans le graphe.
Pivotement GitHubpivot github pour la découverte de dépôts, pivot app pour l'échange PEM d'application GitHub en token d'installation. Les dépôts découverts sont automatiquement mis en file d'attente pour analyse.
Graphe d'attaqueGraphe orienté persistant (BBolt) avec nœuds org/repo/workflow/job/vuln/token/cloud. Visualisation en direct dans le navigateur avec Cytoscape.js à /graph.
Interface TUI de l'opérateurWorkflow conscient des phases, assistant de configuration en 7 étapes, navigation dans l'arbre d'attaque, assistant d'exploitation, stash de butin, recherche omnibox, complétion par tabulation, hyperliens OSC 8.
Serveur d'équipeAuthentification SSH ou par token, bus de messages NATS JetStream, proxy API GitHub (les tokens restent côté serveur), TLS automatique via Caddy, historique des opérations.