Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用Codecepticon对C#、VBA宏和PowerShell源代码进行混淆处理

如何使用Codecepticon对C#、VBA宏和PowerShell源代码进行混淆处理

作者头像
FB客服
发布于 2023-02-10 07:10:21
发布于 2023-02-10 07:10:21
2.2K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

关于Codecepticon

Codecepticon是一款功能强大的代码混淆处理工具,该工具专为红队和紫队渗透测试安全活动而开发,在该工具的帮助下,广大研究人员可以轻松对C#、VBA5/VBA6(宏)和PowerShell源代码进行混淆处理。

Codecepticon与其他代码混淆处理工具的区别在于,该工具主要针对的是源代码,而不是编译后的可执行文件,并且能够绕过AV或EDR产品的检测。

除了代码混淆功能之外,Codecepticon还允许我们重写代码,也提供了相关的命令行功能选项。

工具要求

Visual Studio Pro/Community 2022

Roslyn编译器

打开和编译

打开Codecepticon,等待所有的NuGet包下载完成后,就可以构建工具解决方案了。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/Accenture/Codecepticon.git

工具使用

该工具支持高度自定义配置,并且Codecepticon提供了两种使用方法,要么将所有参数放在命令行中。我们可以使用CommandLineGenerator.html快速生成工具命令:

命令行生成器的输出格式为命令行输出或XML,具体可以自行选择,终端命令可以通过下列方式执行:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Codecepticon.exe --action obfuscate --module csharp --verbose ...etc
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(向右滑动、查看更多)

如果使用了XML配置文件,则命令如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Codecepticon.exe --config C:\Your\Path\To\The\File.xml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(向右滑动、查看更多)

C#

运行工具后,直接选择对应的解决方案,即可对C#项目进行混淆处理。在尝试对目标项目运行Codecepticon之前,请确保该项目可以被独立编译,并做好备份。

VBA/VBA6

VBA混淆针对的是宏文件源代码本身,而非Microsoft Office文档。这也就意味着,我们无法向Codecepticon传递一个doc(x)或xls(x)文件,因此需要传递模块本身源代码。(按Alt+F11或直接将源码拷贝进去)

PowerShell

由于由于PowerShell脚本的复杂性,以及它在编写脚本方面提供的自由度,要覆盖所有边缘情况并确保混淆的结果完全正常运行是一项挑战。虽然Codecepcon可以很好地处理简单的脚本/函数,但在PowerView等复杂脚本/功能上运行它是行不通的,不过开发人员目前正在解决这个问题。

命令行参数(混淆)

在对一个应用程序或脚本进行混淆处理之后,相关的命令行参数很有可能会发生变化。下面的例子中,我们使用了HTML映射文件来寻找新的参数名称。比如说,我们尝试转换下列命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SharpHound.exe --CollectionMethods DCOnly --OutputDirectory C:\temp\
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(向右滑动、查看更多)

通过搜索HTML映射文件中的每一个参数,我们将会获取到下列信息:

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ObfuscatedSharpHound.exe --AphylesPiansAsp TurthsTance --AnineWondon C:\temp\
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
(向右滑动、查看更多)

但是,某些值可能存在于多个分类:

因此,我们要养成在本地环境先进行测试的习惯。

项目地址

Codecepticon:

https://github.com/Accenture/Codecepticon

参考资料:

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【详解】使用proguard混淆javaweb项目代码
在开发JavaWeb应用时,为了保护源代码不被轻易反编译和阅读,通常会采用代码混淆技术。ProGuard是一个广泛使用的免费工具,可以用来优化、缩小和混淆Java字节码。本文将详细介绍如何使用ProGuard对JavaWeb项目进行代码混淆。
大盘鸡拌面
2025/05/07
660
Invoke-Obfuscation:一款功能强大的PowerShell代码混淆工具
 关于Invoke-Obfuscation  Invoke-Obfuscation是一款功能强大的PowerShell代码混淆工具,该工具兼容PowerShell v2.0+,能够帮助广大研究人员对PowerShell命令和脚本代码进行混淆处理。  工具目的  很多网络攻击者和商业化恶意软件正在使用一些非常基础的代码混淆技术,并尝试从powershell.exe的命令行参数中隐藏大部分命令。因此,Invoke-Obfuscation的主要目的是帮助蓝队研究人员测试和研究PowerShell v2.0-v
FB客服
2023/03/29
7151
Invoke-Obfuscation:一款功能强大的PowerShell代码混淆工具
内网学习笔记 | 5、BloodHound 的使用
BloodHound 使用可视化图形显示域环境中的关系,攻击者可以使用 BloodHound 识别高度复杂的攻击路径,防御者可以使用 BloodHound 来识别和防御那些相同的攻击路径。蓝队和红队都可以使用 BloodHound 轻松深入域环境中的权限关系。
TeamsSix
2021/03/05
2.7K0
内网学习笔记 | 5、BloodHound 的使用
Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具
 关于Invoke-Transfer  Invoke-Transfer是一款基于PowerShell实现的Windows剪贴板数据提取与传输工具。 在该工具的帮助下,我们可以在极端受限环境下利用剪贴板功能实现文件或数据的传输,例如Citrix、RDP、VNC、Guacamole等。 只要我们可以通过剪贴板发送文本,我们就能够以文本格式来发送文件(通过小型的Base64编码数据块)。除此之外,我们甚至还可以使用Windows原生的OCR功能并利用一个屏幕截图来发送文件。  工具要求  1、PowerShell
FB客服
2023/04/04
6830
Invoke-Transfer:一款基于PowerShell的Windows剪贴板数据提取与传输工具
PowerShellArmoury:专为安全研究人员设计的PowerShell武器库
PowerShellArmoury是一款专为渗透测试人员、红蓝队成员或其他信息安全技术人员设计的PowerShell武器库。这个武器库提供了多种PowerShell工具,并且还允许我们下载各种PowerShell脚本,然后将其存储至一个加密文件之中。
FB客服
2022/11/14
6190
PowerShellArmoury:专为安全研究人员设计的PowerShell武器库
Revoke-Obfuscation:一款功能强大的PowerShell混淆检测框架
 关于Revoke-Obfuscation  Revoke-Obfuscation是一款功能强大的PowerShell混淆检测框架,该框架基于PowerShell开发,并且兼容PowerShell v3.0+脚本。在该工具的帮助下,广大研究人员可以轻松实现大规模的PowerShell命令或脚本的混淆检测。 它依靠PowerShell的AST(抽象语法树)从任何输入的PowerShell脚本中快速提取数千个特征,并将该特征向量与一个包含了40多万个PowerShell脚本的语料库进行计算和对比。  工作机
FB客服
2023/05/12
4250
Revoke-Obfuscation:一款功能强大的PowerShell混淆检测框架
内网域渗透分析工具BloodHound
当渗透进入内网后,利用BloodHound对庞大内网域环境进行自动化信息搜集并整理分析数据,提高渗透效率。
LuckySec
2022/11/02
2.7K0
内网域渗透分析工具BloodHound
dotnet 6 使用 Obfuscar 进行代码混淆
本文来安利大家 Obfuscar 这个好用的基于 MIT 协议开源的混淆工具。这是一个非常老牌的混淆工具,从 2014 年就对外分发,如今已有累计 495.5K 的 nuget 下载量。而且此工具也在不断持续迭代更新,完全支持 dotnet 6 版本,对 WPF 和 WinForms 等等的支持也是非常好,支持多个不同混淆方式和等级的配置,支持混淆之后生成符号文件。本文将来告诉大家如何使用此混淆工具,以及此工具能达成的效果和此工具混淆的原理
林德熙
2022/08/12
2.3K0
dotnet 6 使用 Obfuscar 进行代码混淆
z9:一款功能强大的PowerShell恶意软件检测与分析工具
z9是一款功能强大的PowerShell恶意软件检测与分析工,该工具可以帮助广大研究人员从PowerShell日志的事件记录中检测基于PowerShell实现的恶意软件组件。
FB客服
2023/11/16
2790
z9:一款功能强大的PowerShell恶意软件检测与分析工具
Slackor:Go语言写的一款C&C服务器
这将执行InvokeWebRequest(PS v.3 +)以下载payload,使用LOLBin执行它
FB客服
2019/09/17
1.8K0
Slackor:Go语言写的一款C&C服务器
DVenom:一款功能强大的Shellcode加密封装和加载工具
DVenom是一款功能强大的Shellcode加密封装和加载工具,该工具专为红队研究人员设计,可以帮助红队成员通过对Shellcode执行加密封装和加载实现反病毒产品的安全检测绕过。
FB客服
2024/01/05
3060
DVenom:一款功能强大的Shellcode加密封装和加载工具
wePWNise:一款功能强大的红队Office宏VBA代码生成工具
wePWNise是一款功能强大的Office宏VBA代码生成工具,该工具基于纯Python开发,可以帮助广大研究人员生成用于Office宏或模版的VBA代码,并以此来测试目标Office环境、应用程序控制和防护机制的安全性。
FB客服
2024/05/17
1380
wePWNise:一款功能强大的红队Office宏VBA代码生成工具
使用Chimera混淆PowerShell代码绕过安防产品
Chimera是一款功能强大的PowerShell混淆脚本,它可以帮助广大研究人员实现AMSI和安全防护产品(解决方案)绕过。该脚本可以利用字符串替换和变量串联来处理已知的可以触发反病毒产品的恶意PS1,以实现绕过常见的基于签名的安全检测机制。
FB客服
2021/04/16
6810
使用Chimera混淆PowerShell代码绕过安防产品
如何使用Sandbox Scryer根据沙盒输出生成威胁情报数据
 关于Sandbox Scryer  Sandbox Scryer是一款功能强大的开源安全威胁情报工具,该工具可以根据公开的沙盒输出生成威胁搜索和情报数据,并允许广大研究人员将大量样本发送给沙盒,以构建可以跟MITRE ATT&CK Framework一起使用的技术文档。Sandbox Scryer提供了前所未有的大规模用例解决方案,该工具适用于对利用沙盒输出数据进行威胁搜索和攻击分析感兴趣的网络安全专业人员。 值得一提的是,当前版本的Sandbox Scryer使用了免费和公共混合分析恶意软件分析服务的输
FB客服
2023/03/29
7770
如何使用Sandbox Scryer根据沙盒输出生成威胁情报数据
Invoke-PSObfuscation:一款功能强大的PowerShell Payload代码混淆工具
 关于Invoke-PSObfuscation  Invoke-PSObfuscation是一款功能强大的PowerShell Payload代码混淆工具,在该工具的帮助下,广大研究人员可以轻松对PowerShell Payload中的各个组件以及各部分代码进行混淆处理,以测试安全防护产品的检测性能。 传统的混淆技术倾向于通过添加代码/编码层来封装标准代码,例如base64或压缩等。这种技术所处理的Payload从某种程度上来说也能取得不错的效果,但在提取预期Payload时又往往会出各种问题,而且也容易被
FB客服
2023/04/26
8020
Invoke-PSObfuscation:一款功能强大的PowerShell Payload代码混淆工具
New绕过AV shellcode
Khan安全团队
2024/01/08
1550
New绕过AV shellcode
PowerShell 降级攻击的检测与防御
在第一部分中,我提供了 PowerShell 的高级概述及其对网络的潜在风险。 当然,如果我们有追踪机制,那么只能缓解一些 PowerShell 攻击,假设我们已经开启了如下模块:
信安之路
2018/08/08
2.4K0
PowerShell 降级攻击的检测与防御
远控免杀从入门到实践——工具总结篇
在了解了免杀的一些基础知识和 Metasploit 自带的一些免杀方式之后,我开始学习和研究市面上知名度比较高的免杀工具,从互联网上找到了大约 30 多个免杀工具,从中筛选出来了 21 个工具进行免杀测试和学习,耗时一个多月时间。
FB客服
2020/02/26
4.2K0
手把手教你使用GitHub Actions进行安全开发
GitHub Actions是一个构建在GitHub中的CI/CD管道,并于2019年11月份正式上线运行。Actions允许开发人员基于类似check-ins和pull request等触发器来构建、测试和部署我们的代码,并自动化实现产品工作流。
FB客服
2020/11/05
9320
教你如何开发不可检测的C#、C++反向Shell
在这篇文章中,我将跟大家分享如何利用C#和C++来开发反病毒产品无法检测到的反向Shell。
FB客服
2018/12/28
2.1K0
推荐阅读
相关推荐
【详解】使用proguard混淆javaweb项目代码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验