如何使用Codecepticon对C#、VBA宏和PowerShell源代码进行混淆处理
关于Codecepticon
Codecepticon是一款功能强大的代码混淆处理工具,该工具专为红队和紫队渗透测试安全活动而开发,在该工具的帮助下,广大研究人员可以轻松对C#、VBA5/VBA6(宏)和PowerShell源代码进行混淆处理。Codecepticon与其他代码混淆处理工具的区别在于,该工具主要针对的是源代码,而不是编译后的可执行文件,并且能够绕过AV或EDR产品的检测。
除了代码混淆功能之外,Codecepticon还允许我们重写代码,也提供了相关的命令行功能选项。
工具要求
Visual Studio Pro/Community 2022

Roslyn编译器

打开和编译
打开Codecepticon,等待所有的NuGet包下载完成后,就可以构建工具解决方案了。
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Accenture/Codecepticon.git
工具使用
该工具支持高度自定义配置,并且Codecepticon提供了两种使用方法,要么将所有参数放在命令行中。我们可以使用CommandLineGenerator.html快速生成工具命令:

命令行生成器的输出格式为命令行输出或XML,具体可以自行选择,终端命令可以通过下列方式执行:
Codecepticon.exe --action obfuscate --module csharp --verbose ...etc
如果使用了XML配置文件,则命令如下:
Codecepticon.exe --config C:\Your\Path\To\The\File.xml
C#
运行工具后,直接选择对应的解决方案,即可对C#项目进行混淆处理。在尝试对目标项目运行Codecepticon之前,请确保该项目可以被独立编译,并做好备份。
VBA/VBA6
VBA混淆针对的是宏文件源代码本身,而非Microsoft
Office文档。这也就意味着,我们无法向Codecepticon传递一个doc(x)或xls(x)文件,因此需要传递模块本身源代码。(按Alt+F11或直接将源码拷贝进去)
PowerShell
由于由于PowerShell脚本的复杂性,以及它在编写脚本方面提供的自由度,要覆盖所有边缘情况并确保混淆的结果完全正常运行是一项挑战。虽然Codecepcon可以很好地处理简单的脚本/函数,但在PowerView等复杂脚本/功能上运行它是行不通的,不过开发人员目前正在解决这个问题。
命令行参数(混淆)
在对一个应用程序或脚本进行混淆处理之后,相关的命令行参数很有可能会发生变化。下面的例子中,我们使用了HTML映射文件来寻找新的参数名称。比如说,我们尝试转换下列命令:
SharpHound.exe --CollectionMethods DCOnly --OutputDirectory C:\temp\
通过搜索HTML映射文件中的每一个参数,我们将会获取到下列信息:



替换所有的字符串后,结果如下:
ObfuscatedSharpHound.exe --AphylesPiansAsp TurthsTance --AnineWondon C:\temp\
但是,某些值可能存在于多个分类:

因此,我们要养成在本地环境先进行测试的习惯。
最后
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

相关文章:
如何使用Codecepticon对C#、VBA宏和PowerShell源代码进行混淆处理
关于Codecepticon Codecepticon是一款功能强大的代码混淆处理工具,该工具专为红队和紫队渗透测试安全活动而开发,在该工具的帮助下,广大研究人员可以轻松对C#、VBA5/VBA6(宏)和PowerShell源代码进行混淆处理。Codecep…...
delphi fmx android11,12删除照片
最近用fmx在研究照片管理 在删除照片时出现报错 has no access to content 后面得知,android系统11开始强制启用Scoped Storage分区存储 前言: android系统对于媒体文件的修改在代码和应用层面的不同,将取决于分区存储是否启用: Android10开始引入Scoped Storage分区存储 ,…...
Android - API对应版本名称
APIAndroid版本名称3414.0UpsideDownCake3313.0Tiramisu3212.0Sv23112.0S3011.0R2910.0Q289.0Pie278.1Oreo268.0Oreo257.1Nougat247.0Nougat236.0Marshmallow225.1LOLLIPOP_MR1215.0LOLLIPOP194.4KITKAT194.4KITKAT184.3JELLY_BEAN_MR2174.2/4.2.2JELLY_BEAN_MR1164.1/4.1.1JEL…...
22.3.1 Educational Codeforces Round 144 (Rated for Div. 2) A~C
A题 题目链接: https://codeforces.com/contest/1796/problem/A 题解: 感觉就是阅读理解题, 3和5的公倍数出现有规律(嫌麻烦可以直接先算出1~1000的s)然后直接一个string的find函数就解决了, 注意一下find函数如果搜不到返回之是npos(-1) /* ⣿⣿⣿⣿⣿⣿⡷⣯⢿⣿⣷⣻⢯⣿⡽…...
【C#基础】C# 预处理器指令
序号系列文章8【C#基础】C# 面向对象编程9【C# 基础】C# 异常处理操作10【C#基础】C# 正则表达式文章目录前言1,预处理器指令的概念2,预处理器指令的定义与使用2.1,可为空上下文2.2,定义符号2.3,条件编译2.4࿰…...
摸鱼用python获取弹幕的两种方式【前者简单,后者数据好看】
嗨害大家好鸭!我是小熊猫~ 相信大家对于 “弹幕文化” 已经相当熟悉啦 你不是一个人在看——这就是弹幕网站的存在感。 它形成了新的“抱团”观看模式, 也真正实现了无时空距离的社交。 有网友表示,弹幕简直比剧情还有趣。 看似简单的寥寥…...
【C++】继承与多态
目录前言1. 继承1.1 继承的概念1.2 继承的定义1.3 切片赋值1.4 继承中的作用域1.5 派生类的默认成员函数1.6 继承与友元、静态成员1.7 多继承、菱形继承、菱形虚拟继承1.7.1 区分单继承与多继承1.7.2 菱形继承1.7.3 菱形虚拟继承1.7.4 菱形虚拟继承的原理2. 多态2.1 概念2.2 多…...
每日分享(微信社区小程序/h5/圈子论坛贴吧交友/博客/社交)
1.Java单元测试实战 高清PDF中文版 Java单元测试实战来自于作者多年来的单元测试实践,最初发表在阿里内网的ATA上,成为了很多阿里同学单元测试学习的必读文章。很多程序员认为单元测试会花费大量的时间,因此他们写单元测试的意愿比较低&…...
第51章 初识第3方阿里云短信验证发送服务
1 第3方阿里云短信验证发送服务准备工作 2 其它第3方短信发送服务平台 当前常用第3方短信发送服务平台还有容联云和凯信通过,在配置上来说阿里云和容联云配置都比较复杂,网上程序集成示例完善,资费灵活。凯信通配置十分简单只要在程序中指定其…...
CSGO社区服搭建服务器架设游戏服务端教程
CSGO社区服搭建服务器架设游戏服务端教程 我是艾西,上一篇说了搭建CSGO服务器需要准备服务器以及安装好所需要的环境,那么今天说一下CSGO社区私人服务器怎么搭建游戏服务端 搭建CSGO服务器比较简单,Valve开发者社区wiki也给出了安装指导&…...
【Linux学习】基础IO——系统调用 | 文件描述符fd | 重定向
🐱作者:一只大喵咪1201 🐱专栏:《Linux学习》 🔥格言:你只管努力,剩下的交给时间! 基础IO🍎文件操作🍉使用C接口进行文件操作🍉文件操作的系统调…...
PLC实验—西门子S7 1200读取超声波传感器数据
PLC实验—西门子S7 1200读取超声波传感器数据 US-016超声波测距模块 实验箱上是US-016超声波测距模块,其有关信息可以看实验室的博客 US-016超声波测距模块 1号Pin:接VCC电源(直流5V) 2号Pin:量程设置引脚ÿ…...
一次Linux系统密码修改失败事件
一、事件描述 某业务系统采用移动云主机,某次因误操作导致移动云内嵌密码管理相关Pga进程导致页面无法修改密码,东移动云主机web终端登录也无法修改,密码错误次数最大已无法登录,无奈只能重启主机,修改密码;…...
C语言循环控制语句Break,goto,continue语句讲解
循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。 C 语言中 break 语句有以下两种用法: 当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。 它可用于终止 switch 语句中的一个 …...
Zabbix“专家坐诊”第183期问答汇总
问题一 Q:老师,请问一下zabbix采集的数据怎么过滤,获取数据是nottime20:30 notafter3,怎么过滤出netafter3 ?谢谢。 A:过滤器设置如下图。 问题二 Q:大佬,请问一下被管节点部署了…...
以太网协议和DNS
目录 🐕今日良言:跨过困难,去迎接更好的自己. 🐳一、以太网桢格式 🐳二、DNS 🐕今日良言:跨过困难,去迎接更好的自己. 🐳一、以太网桢格式 数据链路层考虑的是相邻两个节点(通过网线/光纤/无线直接相连的两个设备…...
【设计模式】原型模式与建造者模式
原型模式 原型模式是指通过原型实例指定创建对象的种类,然后通过拷贝的方式创建新的对象。属于创建型模式 原型模式的核心在于拷贝原型对象,主要用于对对象的复制。当你需要通过一大段get/set方法去构建对象的时候,就可以考虑使用原型模式了…...
QT之Http请求
今天我们介绍一下QT的http请求,这里有post和get两种方式 一、post请求方式:参数分为网址和具体请求值两个部分,有时候还需要设置头信息,看具体情况定 1 void MainWindow::sendPostRequest()2 {3 QNetworkAccessManager *m_pH…...
何谓dB , dB怎么理解?
dB 是什么单位 ?愈低愈好吗?对于声频 ( 声学及电子声学 ) 方面的单位,它是以分贝(decibel ,dB ) 来做结果的。斯多里一生专注于科学,1876 发明电话,我们都知道贝尔发明了电话,然而重要的是,他发现我们人类耳朵对声音…...
【数据聚类|深度聚类】Unsupervised Deep Embedding for Clustering Analysis(DEC)论文研读
DEC算法由两部分组成 第一部分会预训练一个SDAE模型;第二部分选取SDAE模型中的Encoder部分,加入聚类层,然后最小化KL散度进行训练聚类Absratct 提出了一种利用深度神经网络同时进行表征学习和聚类分配的方法,称之为深度嵌入聚类。该方法学习从数据空间到低纬空间的映射,并…...
SOONet与Transformer架构深度解析:提升长视频理解精度的核心技术
SOONet与Transformer架构深度解析:提升长视频理解精度的核心技术 最近在折腾长视频内容理解的项目时,遇到了一个挺头疼的问题:用户给一段长达几分钟甚至几十分钟的视频,再提一个复杂的自然语言问题,比如“请找出视频中…...
面向对象编程入门(下篇):继承、封装与多态
在上篇中,我们学会了如何定义类和创建对象,将现实世界的事物用代码表示。今天,我们将深入面向对象编程的三大核心特性:继承、封装和多态。这些特性将让你的代码更加灵活、可扩展和易维护。一、继承:代码复用的“家族传…...
从GUI到Tcl命令:Vivado Report Timing Summary配置选项的完整对照手册(附常用命令模板)
Vivado时序报告GUI与Tcl命令深度对照手册:打造自动化分析工作流 在FPGA设计流程中,时序分析是确保设计满足性能要求的关键环节。Vivado IDE提供了直观的GUI界面用于配置时序报告,但对于追求高效自动化的工程师而言,掌握底层Tcl命令…...
PaddleOCR-VL-1.5:0.9B VLM实现文档解析新SOTA
PaddleOCR-VL-1.5:0.9B VLM实现文档解析新SOTA 【免费下载链接】PaddleOCR-VL-1.5-GGUF 项目地址: https://ai.gitcode.com/paddlepaddle/PaddleOCR-VL-1.5-GGUF 导语:百度飞桨团队推出PaddleOCR-VL-1.5,以0.9B参数量的轻量化视觉语言…...
DroidRun:用自然语言指令重塑Android自动化体验
1. 当Android遇上自然语言:DroidRun如何重新定义自动化 还记得第一次用语音助手控制手机时的惊艳吗?说句话就能定闹钟、发消息,感觉像在演科幻片。但很快你就会发现,这些功能就像快餐店的固定套餐——只能点菜单上有的,…...
别再只用Canvas了!用Vue3组合式API优雅封装fabric.js的画笔与橡皮擦(附完整Hook代码)
重构Canvas交互:用Vue3组合式API封装fabric.js的工程化实践 在Web图形编辑领域,fabric.js以其强大的对象模型和交互能力成为许多开发者的首选。但当我们将它集成到Vue3项目中时,常常会遇到状态管理混乱、代码耦合度高的问题。本文将展示如何用…...
SecGPT-14B实战手册:Chainlit中集成Markdown渲染与代码块语法高亮
SecGPT-14B实战手册:Chainlit中集成Markdown渲染与代码块语法高亮 1. SecGPT-14B简介 SecGPT是由云起无垠推出的开源大语言模型,专门针对网络安全领域优化。该模型基于先进的自然语言处理技术,能够理解和生成与网络安全相关的专业内容。 S…...
力扣原题《长度最小的子数组》,有序版(理想版最大值查找)纯手搓,已验证,方差版(考虑元素离散,大值周围全是小值的情况)在下一篇
理想版,大值周围是大值 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例…...
OpenClaw技能市场巡礼:最适合Qwen3-32B的5个实用模块
OpenClaw技能市场巡礼:最适合Qwen3-32B的5个实用模块 1. 为什么需要关注技能市场? 第一次接触OpenClaw时,我以为它只是个简单的自动化脚本集合。直到在本地部署了Qwen3-32B模型后,才发现真正的威力藏在技能市场里。这里分享一个…...
OpenClaw隐私方案:nanobot镜像本地化部署与敏感数据处理实践
OpenClaw隐私方案:nanobot镜像本地化部署与敏感数据处理实践 1. 为什么需要本地化部署的AI助手? 去年在处理一份涉及客户隐私的法律文件时,我遇到了一个两难选择:要么手动逐条整理数百页文档,要么使用云端AI工具但面…...
