Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Codecepticon — .NET/PowerShell/VBA Ofuscador de Segurança Ofensiva | Kitploit
Ferramentas/GitHubGitHub/accenture/codecepticon
Análise EstáticaAnálise de CódigoEvasão de IDS/IPSScripting e AutomaçãoTestes de PenetraçãoComando e ControleRed TeamingDesenvolvimento de PayloadsArchived
GitHubaccenture/codecepticon

Codecepticon

.NET/PowerShell/VBA Ofuscador de Segurança Ofensiva

Ver Repositório
527115há 2 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

[!CAUTION] Este repositório não é mantido, visite https://github.com/sadreck/Codecepticon para a versão mais recente.

Codecepticon version

Índice

  • Introdução
  • Leia Isto Primeiro
  • Pré-requisitos
    • Visual Studio
    • Compilador Roslyn
    • Abrir e Compilar
  • Usando o Codecepticon
    • C#
    • VBA/VB6
    • PowerShell
    • Ofuscando Argumentos de Linha de Comando
    • Mergulho na Funcionalidade
    • Dicas
    • Problemas Conhecidos
    • Assinar Executáveis
  • FAQ
  • Solução de Problemas
  • Contribuições
  • Referências / Créditos

Introdução

Codecepticon é uma aplicação .NET que permite ofuscar código-fonte C#, VBA/VB6 (macros) e PowerShell, desenvolvida para operações ofensivas de segurança, como Red/Purple Teams. O que diferencia o Codecepticon de outros ofuscadores é que ele ataca o código-fonte, e não os executáveis compilados, e foi desenvolvido especificamente para evasão de AV/EDR.

O Codecepticon permite ofuscar e reescrever código, mas também oferece funcionalidades como a reescrita da linha de comando.

Leia Isto Primeiro

! Antes de começarmos !

  • Esta documentação aborda apenas a instalação e o uso do Codecepticon. Não serão fornecidos suporte, compilação ou uso de ferramentas como Rubeus e SharpHound. Consulte o repositório de cada projeto separadamente para mais informações.

  • O Codecepticon é ativamente desenvolvido/testado no VS2022, mas deveria funcionar também no VS2019. Quaisquer tickets/problemas abertos para VS2019 e versões anteriores não serão investigados a menos que o problema seja reproduzível no VS2022. Portanto, use a versão mais recente do VS2022.

  • Os seguintes pacotes DEVEM estar na versão 3.9.0, pois versões mais novas possuem o seguinte problema ainda aberto: https://github.com/dotnet/roslyn/issues/58463

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

    O Codecepticon verifica a versão desses pacotes em tempo de execução e informará se a versão for diferente da 3.9.0.

  • Não é demais reforçar: sempre teste seu código ofuscado localmente primeiro.

Pré-requisitos

Visual Studio Pro/Community 2022

VS2022 .NET

Compilador Roslyn

VS2022 Roslyn

Abrir e Compilar

Abra o Codecepticon, aguarde o download de todos os pacotes NuGet e então compile a solução.

Usando o Codecepticon

Há duas maneiras de usar o Codecepticon: inserindo todos os argumentos na linha de comando ou passando um único arquivo de configuração XML. Devido ao alto nível de personalizações suportadas, não é recomendado percorrer manualmente a saída --help para tentar descobrir quais parâmetros usar e como. Use o CommandLineGenerator.html e gere seu comando rapidamente:

Gerador de Linha de Comando

O formato de saída do gerador de comandos pode ser Console ou XML, dependendo da sua preferência. Comandos no console podem ser executados como:

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

Enquanto usando um arquivo de configuração XML, como:

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

Se você quiser se aprofundar na funcionalidade do Codecepticon, confira este documento.

Para dicas que você pode usar, confira este documento.

C#

Ofuscar um projeto C# é simples: basta selecionar a solução que deseja segmentar. Observe que não será feito um backup da solução; a atual será a que será ofuscada. Certifique-se de que consegue compilar o projeto alvo de forma independente antes de tentar executar o Codecepticon contra ele.

VBA/VB6

A ofuscação VBA funciona sobre o código-fonte em si, não sobre um documento do Microsoft Office. Isso significa que você não pode passar um arquivo doc(x) ou xls(x) para o Codecepticon. Será necessário usar o código-fonte do módulo em si (pressione Alt-F11 e copie o código de lá).

PowerShell

Devido à complexidade dos scripts PowerShell, juntamente com a liberdade que ele oferece na forma de escrever scripts, é desafiador cobrir todos os casos extremos e garantir que o resultado ofuscado seja totalmente funcional. Embora se espere que o Codecepticon funcione bem com scripts/funcionalidades simples, executá-lo em scripts complexos como o PowerView não funcionará — isso é um trabalho em andamento.

Ofuscando Argumentos de Linha de Comando

Após ofuscar uma aplicação ou script, é muito provável que os argumentos de linha de comando também tenham sido renomeados. A solução é usar o arquivo de mapeamento HTML para descobrir quais são os novos nomes. Por exemplo, vamos converter a seguinte linha de comando:

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

Ao pesquisar no arquivo de mapeamento HTML por cada argumento, obtemos:

Mapeamento Um

Mapeamento Dois

Mapeamento Três

E substituindo todas as strings, o resultado é:

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

No entanto, alguns valores podem existir em mais de uma categoria:

Mapeamento Quatro

Portanto, é fundamental testar sempre o resultado em um ambiente local primeiro.

Assinar Executáveis

Também é possível usar o Codecepticon para assinar digitalmente arquivos executáveis (sua saída compilada). O Codecepticon pode tanto gerar um certificado de assinatura para você, quanto usá-lo (ou qualquer outro que você fornecer) para assinar seu arquivo alvo.

FAQ

Por que não há uma versão compilada disponível para download em Releases?

A saída compilada inclui muitas DLLs de dependência que, devido a requisitos de licenciamento, não podem ser redistribuídas sem consentimento por escrito.

O Codecepticon funciona apenas para projetos C# que já possuem um perfil suportado?

Não, o Codecepticon deve funcionar com tudo. Os perfis são apenas alguns ajustes extras feitos no projeto alvo para torná-lo mais confiável e fácil de trabalhar.

Mas como todo código é único, haverá casos em que ofuscar um projeto resultará em um ou dois erros que impedirão sua compilação ou execução. Nesse caso, um novo perfil pode ser necessário — por favor, abra uma nova issue se for o caso.

O mesmo princípio se aplica a código PowerShell/VBA — embora atualmente não existam perfis que acompanhem o Codecepticon, é uma tarefa fácil adicioná-los se necessário.

Posso contribuir?

Para relatar bugs e sugerir novos recursos, por favor, crie uma issue.

Para enviar pull requests, veja a seção Contribuições.

Solução de Problemas

Estou usando o Codecepticon contra um projeto C#, ele é executado, mas depois não consigo compilar o projeto alvo.

Antes de executar o Codecepticon, certifique-se de que consegue compilar uma versão limpa do projeto alvo. Muitas vezes, quando esse problema aparece, é devido a dependências ausentes da solução alvo, e não ao Codecepticon. Mas se ainda assim não compilar:

  • É um projeto público? Crie uma issue e cole o link com o máximo de detalhes possível. Se a ferramenta fizer parte do SharpCollection, melhor ainda.
  • É um projeto privado? No espírito de melhorar o Codecepticon, tentaremos fornecer o máximo de suporte possível por meio de capturas de tela e mensagens de erro/depuração. Mas não acessaremos nem executaremos nenhum código limpo/ofuscado via repositórios privados, etc.

Mesmo caso acima, mas é um script PowerShell/VBA — pode ajudar?

Farei o meu melhor, mas como scripts PowerShell podem ser MUITO complexos e o PSParser não é tão avançado quanto o Roslyn para C#, não posso prometer nada. O mesmo se aplica para VBA/VB6.

Recebo constantemente: "Method not found: 'System.Collections.Immutable.ImmutableArray"

Você pode em algum momento encontrar o seguinte erro:

Método não encontrado

Ainda estou tentando descobrir a causa raiz. Uma correção rápida é desinstalar e reinstalar o pacote System.Collections.Immutable pelo Gerenciador de Pacotes NuGet.

Contribuições

Seja um erro de digitação, um bug ou um novo recurso, o Codecepticon está muito aberto a contribuições, desde que concordemos com o seguinte:

  • Você está de acordo com a licença MIT deste projeto.
  • Antes de criar um pull request, crie uma issue para que possa ser discutido antes de realizar qualquer trabalho, pois o desenvolvimento interno não é acompanhado pelo repositório público do GitHub. Caso contrário, você corre o risco de ter o pull request rejeitado se, por exemplo, já estivermos trabalhando no mesmo recurso/similar, ou por qualquer outro motivo.

Referências / Créditos

  • 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
Baixar ferramenta