关于CodeceptiveonCodeceptiveon是一款强大的代码混淆工具,专为红队和紫队渗透测试安全活动而开发。在帮助下,研究人员可以轻松混淆C#、VBA5/VBA6(宏)和PowerShell源代码。Codeceptiveon与其他代码混淆工具的区别在于,该工具主要针对源代码,而非编译后的可执行文件,可以绕过AV或EDR产品的检测。除了代码混淆功能,Codeceptiveon还允许我们改写代码,同时也提供了相关的命令行功能选项。该工具需要VisualStudioPro/Community2022Roslyn编译器打开并编译OpenCodecepticon,等待所有NuGet包下载完成,然后构建工具解决方案。工具下载研究人员可以使用如下命令将项目源码克隆到本地:gitclonehttps://github.com/Accenture/Codeceptive.git工具该工具支持高度自定义配置,Codeceptiveon提供两种使用方式it,或将所有参数放在命令行上。我们可以使用CommandLineGenerator.html来快速生成工具命令:命令行生成器的输出格式为命令行输出或XML,可自行选择。终端命令可以通过以下方式执行:Codeceptiveon.exe--actionobfuscate--modulecsharp--verbose...etc如果使用XML配置文件,命令如下:Codeceptiveon.exe--configC:\Your\Path\To\The\File.xmlC#运行该工具后,直接选择对应的解决方案,即可对C#项目进行混淆。在尝试在目标项目上运行Codeceptiveon之前,请确保该项目可以独立编译并做好备份。VBA/VBA6VBA混淆针对的是宏文件源代码本身,而不是MicrosoftOffice文档。这也意味着我们无法将doc(x)或xls(x)文件传递??给Codeceptiveon,因此我们需要传递模块本身的源代码。(Alt+F11或只是复制源代码)PowerShell由于PowerShell脚本的复杂性,以及它在编写脚本时提供的自由度,覆盖所有边缘情况并确保混淆结果完全正常运行可能具有挑战性。虽然Codecepcon可以很好地处理简单的脚本/函数,但在复杂的脚本/函数(如PowerView)上运行它不起作用,尽管开发人员目前正在努力解决这个问题。命令行参数(混淆)混淆应用程序或脚本后,相关的命令行参数可能会发生变化。在下面的示例中,我们使用HTML映射文件来查找新的参数名称。例如,我们尝试转换以下命令:SharpHound.exe--CollectionMethodsDCOnly--OutputDirectoryC:\temp\通过搜索HTML映射文件中的每个参数,我们将得到以下信息:替换所有字符串后,结果如下:ObfuscatedSharpHound.exe--AphylesPiansAspTurthsTance--AnineWondonC:\temp\但是,有些值可能存在于多个类别中:因此,我们要先养成在本地环境中测试的习惯。项目地址Codeceptiveon:【项目地址】参考https://blog.xpnsec.com/building-modifying-packing-devops/https://twitter.com/EmericNasi/status/1460640760928296966https://github.com/MagicMau/ProceduralNameGeneratorhttps://github.com/uwol/proleap-vb6-parserhttps://github.com/dwyl/english-words
