Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Codecepticon — .NET/PowerShell/VBA 攻击性安全混淆器 | Kitploit
工具/GitHubGitHub/accenture/codecepticon
静态分析代码分析IDS/IPS规避脚本与自动化渗透测试命令与控制红队Payload 开发Archived
GitHubaccenture/codecepticon

Codecepticon

.NET/PowerShell/VBA 攻击性安全混淆器

查看仓库
52711532年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

[!CAUTION]
此仓库已停止维护,请访问 https://github.com/sadreck/Codecepticon 获取最新版本。

Codecepticon version

目录

  • 简介
  • 请先阅读
  • 前提条件
    • Visual Studio
    • Roslyn 编译器
    • 检查是否可用
  • 使用 Codecepticon
    • C#
    • VBA/VB6
    • PowerShell
    • 混淆命令行参数
    • 功能深入解析
    • 提示
    • 已知问题
    • 签名可执行文件
  • FAQ
  • 故障排除
  • 贡献
  • 参考/致谢

简介

Codecepticon 是一个 .NET 应用程序,可对 C#、VBA/VB6(宏)和 PowerShell 源代码进行混淆,专为红队/紫队等进攻性安全演练而开发。与其他混淆器不同,Codecepticon 的目标是源代码而非编译后的可执行文件,并且专为绕过 AV/EDR 而设计。

Codecepticon 不仅支持代码混淆和改写,还提供如重写命令行等功能。

请先阅读

! 开始之前 !

  • 本文档仅介绍 Codecepticon 的安装与使用方法。不提供关于 Rubeus、SharpHound 等工具的编译、使用或支持。请分别参阅各项目的仓库以获取更多信息。

  • Codecepticon 主要在 VS2022 上开发和测试,但理论上也适用于 VS2019。任何针对 VS2019 及更低版本的工单/问题,除非能在 VS2022 中复现,否则不予调查。因此请使用最新最好的 VS2022。

  • 以下包必须使用 v3.9.0,因为更新版本存在以下尚未关闭的问题:https://github.com/dotnet/roslyn/issues/58463

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

    Codecepticon 会在运行时检查这些包的版本,如果版本不是 v3.9.0 则会提示。

  • 无论如何强调都不过分:始终先在本地测试混淆后的代码。

前提条件

Visual Studio Pro/Community 2022

VS2022 .NET

Roslyn 编译器

VS2022 Roslyn

打开并编译

打开 Codecepticon,等待所有 NuGet 包下载完毕,然后生成解决方案。

使用 Codecepticon

使用 Codecepticon 有两种方式:要么在命令行中指定所有参数,要么传递单个 XML 配置文件。由于支持的高度自定义化,不建议手动查看 --help 输出来尝试弄清要使用哪些参数以及如何使用。请使用 CommandLineGenerator.html 快速生成命令:

命令行生成器

命令生成器的输出格式可以是 Console 或 XML,取决于你的偏好。控制台命令可如下执行:

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

而使用 XML 配置文件时,则如下:

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

如果你想深入了解 Codecepticon 的功能,请查看此文档。

有关可用的提示,请查看此文档。

C#

混淆 C# 项目很简单,只需选择要针对的解决方案。注意,不会备份解决方案本身,当前解决方案将被混淆。在尝试对目标项目运行 Codecepticon 之前,请确保你可以独立编译该项目。

VBA/VB6

VBA 混淆针对的是源代码本身,而非 Microsoft Office 文档。这意味着你不能将 doc(x) 或 xls(x) 文件传递给 Codecepticon。必须是模块本身的源代码(按 Alt-F11 并从那里复制代码)。

PowerShell

由于 PowerShell 脚本的复杂性以及编写脚本的自由度,要覆盖所有边缘情况并确保混淆结果完全可用颇具挑战。虽然 Codecepticon 对简单脚本/功能预计可以正常运行,但对像 PowerView 这样的复杂脚本则无效——这仍在完善中。

混淆命令行参数

在混淆应用程序或脚本之后,命令行参数很可能也被重命名了。解决方案是使用 HTML 映射文件来查找新名称。例如,将以下命令行进行转换:

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

通过在 HTML 映射文件中搜索每个参数,我们得到:

映射一

映射二

映射三

将所有字符串替换后,结果如下:

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

然而,某些值可能存在于多个类别中:

映射四

因此,始终在本地环境中测试结果至关重要。

签名可执行文件

也可以使用 Codecepticon 对可执行文件(你的编译输出)进行数字签名。Codecepticon 既可以为你生成签名证书,也可以使用该证书(或你提供的任何其他证书)对目标文件进行签名。

FAQ

为什么在 Releases 中没有可供下载的编译版本?

编译输出包含大量依赖 DLL,由于许可要求,未经书面同意我们无法重新分发。

Codecepticon 是否只适用于已有支持配置文件的 C# 项目?

不,Codecepticon 应该适用于所有项目。配置文件只是一些额外的调整,用于使目标项目更可靠、更易于使用。

但由于所有代码都是独特的,有时混淆项目会遇到一些错误,导致无法编译或执行。此时可能需要新的配置文件——如果是这种情况,请提交新问题。

同样的原则也适用于 PowerShell/VBA 代码——尽管目前 Codecepticon 不附带这些语言的配置文件,但如果需要,添加起来并不困难。

我可以贡献吗?

如需报告错误或建议新功能,请创建问题。

如需提交拉取请求,请参阅贡献部分。

故障排除

我对 C# 项目使用了 Codecepticon,它运行了,但之后目标项目无法编译。

在运行 Codecepticon 之前,请确保你能编译目标项目的干净版本。通常出现此问题时,是由于目标解决方案缺少依赖项,而非 Codecepticon 的问题。但如果仍然无法编译:

  • 这是一个公共项目吗?创建问题并附上链接,尽可能详细描述。如果该工具是 SharpCollection 的一部分,那更好。
  • 这是一个私有项目吗?本着改进 Codecepticon 的精神,我们将尽力通过截图和错误/调试消息提供支持。但我们不会通过私有仓库等方式访问/运行任何干净/混淆后的代码。

同上,但这次是 PowerShell/VBA 脚本——你能帮忙吗?

我会尽力,但由于 PowerShell 脚本可能非常复杂,且 PSParser 不如 C# 的 Roslyn 先进,无法做出任何承诺。VBA/VB6 也是如此。

我不断收到:"Method not found: 'System.Collections.Immutable.ImmutableArray"

有时你可能会遇到以下错误:

未找到方法

仍在努力解决此问题,一个快速修复方法是卸载并重新安装 System.Collections.Immutable 包(通过 NuGet 包管理器)。

贡献

无论是拼写错误、错误还是新功能,Codecepticon 都非常欢迎贡献,前提是我们同意以下几点:

  • 你接受本项目的 MIT 许可证。
  • 在创建拉取请求之前,请先创建问题以便进行讨论,因为内部开发不会通过公共 GitHub 仓库进行跟踪。否则,如果你的拉取请求与我们已经正在开发的相同/类似功能冲突,或出于任何其他原因,它可能会被拒绝。

参考/致谢

  • 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
下载工具