S-Clustr(影子集群)僵尸网络控制嵌入式设备&个人电脑&工业网络
字数 3172 2025-08-10 12:18:01
S-Clustr(影子集群)僵尸网络控制教学文档
1. 概述
S-Clustr是一款集中化网络控制器,用于一对多的网络控制,支持嵌入式设备、个人电脑和工业网络的远程管理。该系统采用加密通信,具有高度可配置性,适用于多种控制场景。
2. 系统组成
2.1 主要组件
- S-Clustr_Server: 服务端程序
- S-Clustr_Client: 黑客端(控制端)程序
- DebugDevice: 模拟嵌入式设备接入服务端
- Generate: 一键生成嵌入式设备程序
- Testpc: Windows主机接入服务端
2.2 配置文件
- blacklist.conf: IP黑名单配置
- Server.conf: 服务端主要配置参数
- Version.conf: 版本信息文件
- Parameter_Description-EN.xls: 英文参数说明
- Parameter_Description-ZH.xls: 中文参数说明
3. 支持设备
3.1 嵌入式设备
| 类型 | 设备型号 | 有线 | 无线 | 4G | 安全加密 | 协议 |
|---|---|---|---|---|---|---|
| 嵌入式 | Arduino | √ | × | √ | × | TCP/IP |
| 嵌入式 | 合宙AIR780e | × | × | √ | × | TCP/IP |
| 嵌入式 | ESP8266 | × | √ | × | × | TCP/IP |
| 嵌入式 | AT89C51 | × | × | √ | × | TCP/IP |
| 嵌入式 | STM32[103fc6t6] | × | × | √ | × | TCP/IP |
3.2 PLC设备
| 类型 | 设备型号 | 有线 | 无线 | 4G | 安全加密 | 协议 |
|---|---|---|---|---|---|---|
| PLC | SIEMENS S7-1200 | √ | × | × | √ | TCP/IP |
| PLC | SIEMENS S7-200 | √ | × | × | √ | TCP/IP |
3.3 PC平台
| 平台 | 协议 | 安全加密 |
|---|---|---|
| Windows | TCP/IP | 可选 |
| Linux | TCP/IP | 可选 |
| Mac OS | TCP/IP | 可选 |
4. 设备端搭建指南
4.1 Arduino有线局域网控制
材料清单(约50元):
- Arduino UNO (17元)
- ENC28J60 (28元)
- 1路继电器模块5V (3元)
- 杜邦线母转母 (2元)
接线原理图: 参考项目文档
4.2 4G无线公网远控(Arduino)
材料清单(约48元):
- Arduino UNO (17元)
- SIM900A或SIM800A (26元)
- 1路继电器模块5V (3元)
- 杜邦线母转母 (2元)
- 移动SIM卡(仅支持移动2G网络)
4.3 ESP8266 WIFI局域网控制
材料清单(约18元):
- ESP8266 (13元)
- 1路继电器模块5V (3元)
- 杜邦线母转母 (2元)
4.4 AIR780E 4G无线公网远控(推荐)
注意事项:
- 比SIM系列更快速稳定
- 需要安装Luatools进行程序烧录
材料清单(约47元):
- Air780e开发板 (42元)
- 1路继电器模块5V (3元)
- 杜邦线母转母 (2元)
4.5 AT89C51控制
材料清单(约42元):
- 51单片机最小系统开发板送CH340下载器 (11元)
- 1路继电器模块5V (3元)
- 杜邦线母转母 (2元)
- SIM900A或SIM800A (26元)
- 移动SIM卡
5. 代码生成与烧录
使用Generate.py生成设备端代码:
python3 Generate.py
填写参数后,生成的代码将保存在./Device/Output/型号目录下。
注意: 必须输入服务端的公网IP地址,而非默认的127.0.0.1。
6. 服务端部署
6.1 基本要求
- 服务端必须部署在公网,或通过端口映射暴露到公网
- 默认端口: 黑客端9999,设备端10000
- 服务端与黑客端通信强制加密
6.2 服务端参数
启动命令:
python3 S-Clustr_Server.py
可选参数:
-lh: 绑定指定本地IP,默认0.0.0.0-lpv: 设置设备端监听端口,默认10000-lph: 设置黑客端监听端口,默认9999-keyh: 设置黑客端密钥,默认随机12位字符-keyv: 设置设备端密钥,默认随机12位字符
6.3 密钥管理
- 服务端每次启动随机生成12位字符作为密钥
- 可手动指定密钥:
python3 S-Clustr_Server.py -keyh Maptnh -keyv Maptnh - 可配置
Server.conf决定设备接入时是否要求加密认证
7. 黑客端使用
7.1 基本操作
采用交互式运行,类似Metasploit框架:
python3 S-Clustr_Client.py
常用命令:
help/?/options: 查看帮助set rhosts <IP>: 设置服务端IPset rport <Port>: 设置服务端端口set id <number>: 选择控制设备ID(0表示所有设备)set pwr <state>: 控制设备状态(1启动/2停止/3查询)set key <key>: 设置认证密钥run: 执行命令
7.2 示例操作
查询所有设备状态:
S-Clustr(V1.0.0)> set rhost 127.0.0.1
S-Clustr(V1.0.0)> set id 0
S-Clustr(V1.0.0)> set pwr 3
S-Clustr(V1.0.0)> set key cf5cdc4798a72283a4c0c0b1ef2ef5da
S-Clustr(V1.0.0)> run
控制所有设备启动:
S-Clustr(V1.0.0)> set id 0
S-Clustr(V1.0.0)> set pwr 1
S-Clustr(V1.0.0)> run
控制所有设备停止:
S-Clustr(V1.0.0)> set id 0
S-Clustr(V1.0.0)> set pwr 2
S-Clustr(V1.0.0)> run
8. 安全机制
-
身份验证机制:
- 数据流=时间戳+设备ID+设备状态+AES(时间戳+密钥)
- 服务端验证时解密并与服务器时间戳对比
-
防中间人攻击:
- 即使数据包被获取,没有密钥也无法重放攻击
- 临时TOKEN机制防止明文密钥被破解
-
加密通信:
- 服务端与黑客端强制加密
- 设备端加密可选(考虑性能影响)
9. 使用场景
- 工业/智能控制
- 大/中/小型机房控制
- 工业/交通电源控制
- Botnet控制
10. 注意事项
- 流量路径基本为国内运营商线路,需遵守法律法规
- 嵌入式设备端默认不加密,高安全需求应隔离网络
- 可自行添加支持更多开发板型号
- 推荐使用AIR780E开发板,比SIM系列更稳定
11. 项目资源
- 项目地址: https://github.com/MartinxMax/S-Clustr
- 开发人员Blog: https://blog.csdn.net/m0_53711047/article/details/133691537
- Luatools下载: https://doc.openluat.com/wiki/37?wiki_page_id=4489
12. 更新预告
- SIEMENS S7-1200远程控制(进行中)
- SIEMENS S7-200 SMART远程控制(进行中)
- Nets3e插件远程控制拍照上传(已完成)