Mística:一款支持任意协议的应用程序通信工具
字数 883 2025-08-15 21:31:40
Mística 工具使用教学文档
一、工具概述
Mística 是一款支持任意协议的应用程序通信工具,允许将数据嵌入至应用层协议字段中,为任意通信建立稳定的双向信道。当前版本支持 HTTP、DNS 和 ICMP 协议封装。
二、核心架构
1. SOTP 协议 (简单覆盖传输协议)
- 功能:提供通用的二进制传输协议
- 特点:
- 数据加密(使用 RC4 算法)
- 数据分块处理
- 低开销设计
- 支持双向透明传输
- 包含轮询机制确保数据包接收
2. 模块化设计
通信层模块:
io:标准输入输出与 SOTP 连接交互shell:执行远程命令并返回输出tcpconnect:连接 TCP 端口与 SOTP 交互tcplisten:监听 TCP 端口与 SOTP 交互
封装器模块:
dns:DNS 查询/响应数据编码/解码http:HTTP 请求/响应数据编码/解码icmp:ICMP 请求/响应数据编码/解码
三、环境准备
1. 依赖组件
- 客户端:Python 3.7
- 服务器端:Python 3.7 + dnslib
2. 安装命令
python3.7 -m pip install pip --user
pip3.7 install dnslib --user
3. 免安装选项
- Windows/Linux/macOS 绿色版
- 仅 Windows 绿色版
4. 获取工具
git clone https://github.com/IncideDigital/Mistica.git
四、服务器端使用 (ms.py)
1. 工作模式
- 单处理器模式:带参数启动,单一通信层模块与封装器模块交互
- 多处理器模式:不带参数启动,进入交互式终端,多模块协同工作
2. 参数说明
usage: ms.py [-h] [-k KEY] [-l LIST] [-m MODULES] [-w WRAPPER_ARGS]
[-o OVERLAY_ARGS] [-s WRAP_SERVER_ARGS] [-v]
optional arguments:
-h, --help 显示帮助信息
-k KEY, --key KEY 用于加密通信的RC4密钥
-l LIST, --list LIST 列出模块或参数选项:
all, overlays, wrappers, <overlay name>, <wrapper name>
-m MODULES, --modules MODULES
单处理器模式下的模块对,格式:'overlay:wrapper'
-w WRAPPER_ARGS, --wrapper-args WRAPPER_ARGS
所选overlay模块参数(单处理器模式)
-o OVERLAY_ARGS, --overlay-args OVERLAY_ARGS
所选wrapper模块参数(单处理器模式)
-s WRAP_SERVER_ARGS, --wrap-server-args WRAP_SERVER_ARGS
所选wrap server参数(单处理器模式)
-v, --verbose 日志详细级别:
-v 低, -vv 中, -vvv 高
五、客户端使用 (mc.py)
参数说明
usage: mc.py [-h] [-k KEY] [-l LIST] [-m MODULES] [-w WRAPPER_ARGS]
[-o OVERLAY_ARGS] [-v]
optional arguments:
-h, --help 显示帮助信息
-k KEY, --key KEY 用于加密通信的RC4密钥
-l LIST, --list LIST 列出模块或参数选项:
all, overlays, wrappers, <overlay name>, <wrapper name>
-m MODULES, --modules MODULES
模块对,格式:'overlay:wrapper'
-w WRAPPER_ARGS, --wrapper-args WRAPPER_ARGS
所选overlay模块参数
-o OVERLAY_ARGS, --overlay-args OVERLAY_ARGS
所选wrapper模块参数
-v, --verbose 日志详细级别:
-v 低, -vv 中, -vvv 高
六、Docker 部署
1. 构建镜像
sudo docker build --tag mistica:latest
2. 创建网络
sudo docker network create misticanw
3. 运行服务器端
sudo docker run --network misticanw --sysctl net.ipv4.icmp_echo_ignore_all=1 -v $(pwd):/opt/Mistica -it mistica /bin/bash
4. 运行客户端
sudo docker run --network misticanw -v $(pwd):/opt/Mistica -it mistica /bin/bash
七、使用示例
1. 服务器端启动多处理器模式
python3.7 ms.py
2. 客户端连接示例
python3.7 mc.py -m "shell:http" -k mysecretkey
3. 查看可用模块
python3.7 ms.py -l all
python3.7 mc.py -l all
八、注意事项
- 确保通信双方使用相同的 RC4 密钥
- 根据网络环境选择合适的封装协议
- ICMP 协议使用时可能需要特殊权限或配置
- 高隐蔽性场景建议使用 DNS 协议封装
- 高吞吐量场景建议使用 HTTP 协议封装
九、未来发展
后续版本计划增加更多通信协议支持,持续优化 SOTP 协议性能和安全性。