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

八、注意事项

  1. 确保通信双方使用相同的 RC4 密钥
  2. 根据网络环境选择合适的封装协议
  3. ICMP 协议使用时可能需要特殊权限或配置
  4. 高隐蔽性场景建议使用 DNS 协议封装
  5. 高吞吐量场景建议使用 HTTP 协议封装

九、未来发展

后续版本计划增加更多通信协议支持,持续优化 SOTP 协议性能和安全性。

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. 安装命令 3. 免安装选项 Windows/Linux/macOS 绿色版 仅 Windows 绿色版 4. 获取工具 四、服务器端使用 (ms.py) 1. 工作模式 单处理器模式 :带参数启动,单一通信层模块与封装器模块交互 多处理器模式 :不带参数启动,进入交互式终端,多模块协同工作 2. 参数说明 五、客户端使用 (mc.py) 参数说明 六、Docker 部署 1. 构建镜像 2. 创建网络 3. 运行服务器端 4. 运行客户端 七、使用示例 1. 服务器端启动多处理器模式 2. 客户端连接示例 3. 查看可用模块 八、注意事项 确保通信双方使用相同的 RC4 密钥 根据网络环境选择合适的封装协议 ICMP 协议使用时可能需要特殊权限或配置 高隐蔽性场景建议使用 DNS 协议封装 高吞吐量场景建议使用 HTTP 协议封装 九、未来发展 后续版本计划增加更多通信协议支持,持续优化 SOTP 协议性能和安全性。