红蓝攻防
点击放大

The parent Co project no longer requires a client-side application. Elite has temporarily been deprecated. Please instead use the web interface included with the Co project.
Elite may e be brought up-to-date with the Co project as an alternati, but for now this project is not updated and will not work with Co v0.3 or higher.
Elite is a .NET core, client application built for interacting with Co.
Co is a .NET command and control framework that aims to highlight the attack surface of .NET, make the use of offensive .NET tradecraft easier, and serve as a collaborati and control platform for red teamers.
Co is an ASP.NET Core, cross-platform application that includes a robust API to enable a client-ser that allows for multi-user collaboration. There are three main components of Co's architecture:
* Co - Co is the ser component of the client-ser. Co runs the command and control ser on infrastructure shared between operators. I will also frequently use the term "Co" to refer to the entire o project that includes all components of the architecture.
* Elite - Elite is the client-side component of the client-ser. Elite is a command-line interface that operators use to interact with the Co server to conduct operations.
* Grunt - A "Grunt" is the name of Co's implant that is deployed to targets.
Co has several key features:
* Multi-Platform - Co and Elite both target .NET Core, which makes them multi-platform. This allows these programs to run natively on Linux, MacOS, and Windows platforms. Additionally, both Co and Elite ha support, allowing these programs to run within a container on any system that has docker installed.
* Multi-User - Co supports multi-user collaboration. The ability to collaborate has become crucial for effective red team operations. Many users can start Elite clients that connect to the same Co server and operate independently or collaboratively.
* API Driven - Co is driven by a ser API that enables multi-user collaboration and is easily extendible. Additionally, Co includes a Swagger UI that makes de and debugging easier and more con.
* Listener Profiles - Co supports listener "profiles" that control how the network communication between Grunt implants and Co listeners look on the wire.
* Encrypted Key Exchange - Co implements an encrypted key exchange between Grunt implants and Co listeners that is largely based on a similar exchange in the Empire project, in addition to optional SSL encryption. This achieves the cryptographic property of forward secrecy between Grunt implants.
* Dynamic Compilation - Co uses the Roslyn API for dynamic C# compilation. Every time a new Grunt is generated or a new task is assigned, the relevant code is recompiled and obfuscated with ConfuserEx, a totally static payloads. Co reuses much of the compilation code from the SharpGen project, which I described in much more detail in a previous post.
* Inline C# Execution - Co borrows code and ideas from both the SharpGen and SharpShell projects to allow operators to execute C# one-liners on Grunt implants. This allows for similar functionality to that described in the SharpShell post, but allows the one-liners to be executed on remote implants.
* Tracking Indicators - Co tracks "indicators" throughout an operation, and summarizes them in the Indicators menu. This allows an operator to conduct actions that are tracked throughout an operation and easily summarize those actions to the blue team during or at the end of an assessment for deconfliction and educational purposes. This feature is still in it's infancy and still has room for impro.
First, you need to start Co! Go checkout the Co README to see how to do that.
The easiest way to use Elite, is by installing dotnet core. You can download dotnet core for your platform from here.
Once you ha dotnet core, we can build and run Elite using the dotnet CLI:
Elite can also be run with Docker. There are a couple of gotchas with Docker, so I only recommend using docker if you are familiar with docker or are willing to learn the subtle gotchas.
First, build the docker image:
Now we can run Elite in a Docker container:
The --username AdminUser and --computername <Co IP> are arguments being passed to Elite. This instructs Elite to connect to a Co instance hosted at the specifiec IP address and login as a user named AdminUser.
The -it parameter is a Docker parameter that indicates that we should begin Elite in an interactive tty. This is important, as Elite is an interacti application! The -/path/to/Elite/Data:/app/Data parameter mounts a shared Data folder between your host and container, and allows you to easily copy/paste outside tools and payloads generated during operation with Elite. Be sure to replace /absolute/path/to/Elite/Data with the location of your own Elite Data folder.
You will also be prompted to provide a password for the AdminUser user. Alternatively, you can set this non-interactively with the --password parameter to Elite, but this will leave your password in plaintext in command history, not ideal.
Ha or want to chat more about Co/Elite? Join the #Co channel in the BloodHound Gang Slack.
开发语言:C#
Star 数:121
该项目属于红蓝攻防方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Elite is the client-side component of the Covenant project. Covenant is a .NET command and control framework that aims to highlight the attack surface of .NET, make the use of offensive .NET tradecraft easier, and serve as a collaborative command and control platform for red teamers.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | Elite - Elite is the client-side component of the Covenant |
| 所属分类 | 红蓝攻防 |
| 发布作者 | admin |
| 发布时间 | 2026-10-06 00:52:09 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 226 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |