病毒分析
点击放大


This project has been deprecated, please refer to our new Realm project, which builds upon many of the ideas we had when building this repo.
!CI
![Build Status]() ![Go Report Card]() ![Co Status]() !GitHub release ![GoDoc]()
!Demo
Paragon is a Red Team engagement platform. It aims to unify offensi behind a simple UI, abstracting much of the backend work to enable operators to focus on writing implants and spend less time worrying about databases and css. The repository also provides some offensi already integrated with Paragon that can be used during engagements.
_This repository is still under hea and is not ready for production use. When it is considered stable, a V1.0.0 tag will be released. Until then, the API may encounter breaking changes as we continually simplify our design. Please read the de documentation below if you'd like to help us reach this milestone faster._
A quick demonstration instance can be setup by cloning the repository and running docker-compose up. Open 127.0.0.1:80 in your browser to get started!
The utilized images are a on docker-hub, and can be configured from a docker-compose file for a production deployment.
curl, bash, etc). All operations are executed as code in Golang, so it's intuitive to add additional functionality to the scripting en. Here is an example script:Reference
The below tools are also included within the repository. They can easily be extended to fit many cross-platform use cases.
#### Dropper
* Fully cross-platform
* Statically compile assets into a single binary
* Provides Python-like scripting language for custom deployment configuration
Paragon provides a tool for packaging assets (binaries, scripts, etc.) into a single binary that when executed will execute your custom deployment script that may write assets to the filesystem, launch processes, download files, handle errors, and more. It is fully cross-platform and statically compiled, pro reliable deployments. If you wish to extend it's functionality, you may simply extend the generated golang file before compiling.
#### Agent
* Fully cross-platform
* Provides Python-like scripting language for post exploitation
* Modular communication mechanisms, only compile in what you need
* Utilize multiple options to ensure reliable callbacks
* Customize how the agent handles communication failures
An implant that executes tasks and reports execution results. It is configured by default to execute tasks using Paragon's Python-like scripting language and to communicate with a C2 via http(s). It is written in Go, and can be quickly modified to add new transport methods (i.e. DNS), execution options, fail o, and more.
#### C2
* Lightweight deployment
* Highly performant, able to handle thousands of Agents
* _Dependent on system resources and a bandwidth_
* Distributed service, utilize as many C2s as you'd like
Acts as a middleman between the Agent and the Teamserver. It handles agent callbacks for a of communication mechanisms, and provides it with new tasks from the teamser.
#### Runner
* Low latency, real time task execution
* Easily extended to add support for more communication mechanisms
* Distributed service, utilize as many runners as you'd like
Instead of waiting for a callback, some situations might require a foward connection to quickly execute a task and view it's output. The runner accomplishes this by subscribing to task queues and establishing a connection to the target machine (i.e. using ssh). This enables shell-like integrations to utilize the same interface as implants and C2s. It also allows for initial implant deployment to be conducted through this interface.
#### Scanner
* Monitor reachable target services
* Automate responses when services become (un)a
* Provide network information to the knowledge graph, which may be utilized by other tools
* Distributed service, utilize as many scanners as you'd like
Monitor target network activity and services. Map out a graph of the engagement network, and trigger automation on state changes (i.e. ssh becomes a).
PG_KS_MachineUUID killswitch en for the teamserver will disable lookups that utilize machine UUIDs.To ensure clear communication about these complex systems, we ha a few project-specific terms below that will be used throughout the project's documentation.
A common use-case for a Job is when the user wishes to execute a script on a few Targets. The user creates a job, which instructs the teamserver to create tasks with the provided content, but leaves the desired target machines as a parameter. When the job is queued, the user provides a list of target machines as a parameter, and the Teamserver will create a task for each machine.
Below serves as an initial and brief reference for Paragon de. More documentation can be found in the package godocs or by reading through some code :) After we ha some design decisions (well before reaching v1), a code-freeze will take effect until all documentation has been updated and appropriately organized.
Remote - Containers extension provided by Microsoft is required to get started.> Remote-Containers: Open Folder In Container which should start the container for you. If this is your first time launching the container, it may take a while to download... so get yourself some coffee ^_^Below is an o of the project structure and where each component lives. If this becomes outdated, please feel free to submit an issue reporting this or preferably a PR to fix it. The codebase is setup as a monorepository, which enables us to take ad of shared de tooling, standardization, etc. while a complicated conflicts.
| Folder | Use Case|
|---------------|---------|
| .de | Configuration for the container de en. |
| .github | Github configuration. |
| .stats | A git ignored directory (which you may or may not have) for storing performance profiling output. |
| ent | Graph related API definitions used by the teamserver. |
| graphql | GraphQL schema & related code generated from ent. |
| cmd | Command line executable tools and services. |
| dist | A git ignored directory for storing build artifacts. |
| docker | Dockerfiles used for example deployment. |
| ent | Graph models and schemas used by the teamserver (see Facebook's entgo tool for more info). |
| pkg | Public facing libraries utilized by repository tools but also exposed to the world. |
| pkg/agent | An abstraction to easily create an implant or communication transport. |
| pkg/c2 | C2 service related helpers and standardized message definitions. |
| pkg/c2/proto | Protobuf spec to define a standardized serialization format for Agent <-> C2 communication. |
| pkg/drop | Provides a simple method used by compiled dropper payloads. |
| pkg/middleware | Common middleware for HTTP services. |
| pkg/script | Python-like scripting language for dynamic configuration, automation, and cross-platform exploitation. |
| pkg/script/stdlib | Standard libraries that expose functionality for scripting execution en. |
| pkg/teamserver | Teamser related helpers. |
| www | Contains the primary web application hosted by the teamserver. Created by Facebook's create-react-app application. |
| www/src/components | Reuseable react-components. |
| www/src/config | Web App configuration & routing. |
| www/src/views | Containers that query data from the Teamserver and compose components to render. |
#### Knowledge Graph
Below is an o of the relationship between nodes in the Red Team knowledge graph managed by the Teamserver.
!Graph
transport priority. To use your own, simply implement the agent.Sender interface and register your transport during initialization. Examples of existing transports can be found in subdirectories of the agent package.
#### Task Execution
By default, the agent expects tasks to adhere to starlark syntax, and exposes a standard library for scripts to utilize. To change the behaviour of task execution (i.e. just bash commands), you may implement the agent.Receiver interface to execute tasks as you'd like.
#### Scripting En
The scripting en can be customized for your agent, enabling you to easily package new functionality for scripts to utilize. See script options to learn how to extend the agent's script engine.
#### Execution Flow
Below is a flow diagram of the general execution of the agent implant.
#### Adding a Transport
The agent is designed to be easily customized with new transport mechanisms, multiplexing communications based on
!AgentExec
开发语言:Go
Star 数:306
该项目属于病毒分析方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Red Team engagement platform with the goal of unifying offensive tools behind a simple UI展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | paragon - Red Team engagement platform with the goal of unif |
| 所属分类 | 病毒分析 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 23:23:55 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 277 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |