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
Codecepticon — .NET/PowerShell/VBA Obfuscateur de sécurité offensive | Kitploit
Outils/GitHubGitHub/accenture/codecepticon
Analyse StatiqueAnalyse de CodeÉvasion IDS/IPSScripting et AutomatisationTests d'IntrusionCommandement et ContrôleRed TeamingDéveloppement de Charges UtilesArchived
GitHubaccenture/codecepticon

Codecepticon

.NET/PowerShell/VBA Obfuscateur de sécurité offensive

Voir le dépôt
527115il y a 2 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

[!CAUTION] Ce dépôt n'est plus maintenu, visitez https://github.com/sadreck/Codecepticon pour la dernière version.

Codecepticon version

Table des matières

  • Introduction
  • À lire en premier
  • Prérequis
    • Visual Studio
    • Compilateur Roslyn
    • Vérifier que ça fonctionne
  • Utiliser Codecepticon
    • C#
    • VBA/VB6
    • PowerShell
    • Offusquer les arguments de ligne de commande
    • Exploration approfondie des fonctionnalités
    • Conseils
    • Problèmes connus
    • Signer les exécutables
  • FAQ
  • Dépannage
  • Contributions
  • Références / Crédits

Introduction

Codecepticon est une application .NET qui vous permet d'offusquer du code source C#, VBA/VB6 (macros) et PowerShell, et est développée pour des engagements de sécurité offensive comme les équipes rouges/pourpres. Ce qui distingue Codecepticon des autres offuscateurs est qu'il cible le code source plutôt que les exécutables compilés, et a été développé spécifiquement pour l'évasion AV/EDR.

Codecepticon vous permet d'offusquer et de réécrire du code, mais offre également des fonctionnalités comme la réécriture de la ligne de commande.

À lire en premier

! Avant de commencer !

  • Cette documentation concerne uniquement l'installation et l'utilisation de Codecepticon. La compilation, l'utilisation et le support d'outils comme Rubeus et SharpHound ne seront pas fournis. Référez-vous au dépôt de chaque projet séparément pour plus d'informations.

  • Codecepticon est activement développé/testé dans VS2022, mais il devrait fonctionner aussi dans VS2019. Tout ticket/problème créé pour VS2019 et inférieur ne sera pas examiné à moins que le problème ne soit reproductible dans VS2022. Veuillez donc utiliser la dernière et meilleure version de VS2022.

  • Les paquets suivants DOIVENT être en v3.9.0, car les versions plus récentes ont le problème suivant qui est toujours ouvert : https://github.com/dotnet/roslyn/issues/58463

    • Microsoft.CodeAnalysis.CSharp.Workspaces
    • Microsoft.CodeAnalysis.Workspaces.MSBuild

    Codecepticon vérifie la version de ces paquets au moment de l'exécution et vous informera si la version est différente de v3.9.0.

  • Cela ne peut pas être assez souligné : testez toujours votre code offusqué localement d'abord.

Prérequis

Visual Studio Pro/Community 2022

VS2022 .NET

Compilateur Roslyn

VS2022 Roslyn

Ouvrir et compiler

Ouvrez Codecepticon, attendez que tous les paquets NuGet soient téléchargés, puis construisez la solution.

Utiliser Codecepticon

Il y a deux façons d'utiliser Codecepticon : soit en mettant tous les arguments dans la ligne de commande, soit en passant un seul fichier de configuration XML. En raison du haut niveau de personnalisations supportées, il n'est pas recommandé de parcourir manuellement la sortie de --help pour essayer de comprendre quels paramètres utiliser et comment. Utilisez CommandLineGenerator.html et générez votre commande rapidement :

Générateur de ligne de commande

Le format de sortie du générateur de commandes peut être soit Console soit XML, selon ce que vous préférez. Les commandes console peuvent être exécutées comme suit :

root@kitploit:~
Codecepticon.exe --action obfuscate --module csharp --verbose ...etc

Tandis qu'avec un fichier de configuration XML, comme ceci :

root@kitploit:~
Codecepticon.exe --config C:\Your\Path\To\The\File.xml

Si vous voulez plonger en profondeur dans les fonctionnalités de Codecepticon, consultez ce document.

Pour des conseils que vous pouvez utiliser, consultez ce document.

C#

L'offuscation d'un projet C# est simple, sélectionnez simplement la solution que vous souhaitez cibler. Notez qu'aucune sauvegarde de la solution elle-même ne sera effectuée, et que la solution actuelle sera celle qui sera offusquée. Assurez-vous de pouvoir compiler indépendamment le projet cible avant d'essayer d'exécuter Codecepticon contre lui.

VBA/VB6

L'offuscation VBA fonctionne sur le code source lui-même plutôt que sur un document Microsoft Office. Cela signifie que vous ne pouvez pas passer un fichier doc(x) ou xls(x) à Codecepticon. Il faudra utiliser le code source du module lui-même (appuyez sur Alt-F11 et copiez le code à partir de là).

PowerShell

En raison de la complexité des scripts PowerShell, ainsi que de la liberté qu'il offre dans la façon d'écrire les scripts, il est difficile de couvrir tous les cas limites et de garantir que le résultat offusqué sera entièrement fonctionnel. Bien qu'il soit attendu que Codecepticon fonctionne correctement avec des scripts/fonctionnalités simples, l'exécuter contre des scripts complexes comme PowerView ne fonctionnera pas - c'est un travail en cours.

Offusquer les arguments de ligne de commande

Après avoir offusqué une application ou un script, il est très probable que les arguments de ligne de commande aient également été renommés. La solution consiste à utiliser le fichier de mappage HTML pour trouver les nouveaux noms. Par exemple, convertissons la ligne de commande suivante :

root@kitploit:~
SharpHound.exe --CollectionMethods DCOnly --OutputDirectory C:\temp\

En recherchant dans le fichier de mappage HTML chaque argument, nous obtenons :

Mappage Un

Mappage Deux

Mappage Trois

Et en remplaçant toutes les chaînes, le résultat est :

root@kitploit:~
ObfuscatedSharpHound.exe --AphylesPiansAsp TurthsTance --AnineWondon C:\temp\

Cependant, certaines valeurs peuvent exister dans plus d'une catégorie :

Mappage Quatre

Par conséquent, il est critique de toujours tester votre résultat dans un environnement local d'abord.

Signer les exécutables

Il est également possible d'utiliser Codecepticon pour signer numériquement des fichiers exécutables (votre sortie compilée). Codecepticon peut à la fois générer un certificat de signature pour vous, et aussi l'utiliser (ou tout autre que vous pouvez fournir) pour signer votre fichier cible.

FAQ

Pourquoi n'y a-t-il pas de version compilée sous Releases que je puisse télécharger ?

La sortie compilée comprend beaucoup de DLL de dépendances, que nous ne pouvons pas redistribuer sans consentement écrit en raison des exigences de licence.

Est-ce que Codecepticon fonctionne uniquement pour les projets C# qui ont déjà un profil supporté ?

Non, Codecepticon devrait fonctionner avec tout. Les profils ne sont que quelques ajustements supplémentaires qui sont apportés au projet cible pour le rendre plus fiable et plus facile à utiliser.

Mais comme tout code est unique, il y aura des cas où l'offuscation d'un projet se heurtera à une ou deux erreurs qui ne permettront pas de le compiler ou de l'exécuter. Dans ce cas, un nouveau profil peut être nécessaire - veuillez ouvrir un nouveau problème si c'est le cas.

Le même principe s'applique au code PowerShell/VBA - bien que ceux-ci n'aient actuellement aucun profil fourni avec Codecepticon, c'est une tâche facile à ajouter si nécessaire.

Puis-je contribuer ?

Pour signaler des bugs et suggérer de nouvelles fonctionnalités, veuillez créer un problème.

Pour soumettre des pull requests, veuillez consulter la section Contributions.

Dépannage

J'utilise Codecepticon contre un projet C#, ça tourne, mais après je ne peux pas compiler le projet cible.

Avant d'exécuter Codecepticon, assurez-vous de pouvoir compiler une version propre du projet cible. Très souvent, lorsque ce problème apparaît, il est dû à des dépendances manquantes pour la solution cible plutôt qu'à Codecepticon. Mais si ça ne compile toujours pas :

  • Est-ce un projet public ? Créez un problème et collez le lien avec autant de détails que possible. Si l'outil fait partie de SharpCollection, c'est encore mieux.
  • Est-ce un projet privé ? Dans un esprit d'amélioration de Codecepticon, nous essaierons de fournir autant de support que possible via des captures d'écran et des messages d'erreur/débogage. Mais nous n'accéderons pas/exécuterons aucun code propre/offusqué via des dépôts privés, etc.

Pareil que ci-dessus, mais c'est un script PowerShell/VBA - pouvez-vous aider ?

Je ferai de mon mieux, mais comme les scripts PowerShell peuvent être TRÈS complexes et que le PSParser n'est pas aussi avancé que Roslyn pour C#, aucune promesse ne peut être faite. Même chose pour VBA/VB6.

Je reçois toujours : "Method not found: 'System.Collections.Immutable.ImmutableArray"

Vous pouvez rencontrer à un moment donné l'erreur suivante :

Méthode non trouvée

J'essaie toujours de comprendre celle-ci, une solution rapide est de désinstaller et réinstaller le paquet System.Collections.Immutable depuis le gestionnaire de paquets NuGet.

Contributions

Que ce soit une faute de frappe, un bug ou une nouvelle fonctionnalité, Codecepticon est très ouvert aux contributions tant que nous sommes d'accord sur les points suivants :

  • Vous acceptez la licence MIT de ce projet.
  • Avant de créer une pull request, créez un problème pour qu'il puisse être discuté avant de faire tout travail, car le développement interne n'est pas suivi via le dépôt GitHub public. Sinon, vous risquez de voir votre pull request rejetée si par exemple nous travaillons déjà sur la même fonctionnalité ou une fonctionnalité similaire, ou pour toute autre raison.

Références / Crédits

  • https://blog.xpnsec.com/building-modifying-packing-devops/
  • https://twitter.com/EmericNasi/status/1460640760928296966
  • https://github.com/MagicMau/ProceduralNameGenerator
  • https://github.com/uwol/proleap-vb6-parser
  • https://github.com/dwyl/english-words
  • https://github.com/Danielku15/SigningServer
Télécharger l’outil