项目地址:https://github.com/MartinxMax/S-Clustr/releases
200
S-Clustr Simple DSL
语法
内置函数 | 示例 |
---|---|
RUN(启动设备) | RUN:<ID> |
STOP(停止设备) | STOP:<ID> |
TIME(MS延时) | TIME:<Delay/Ms> |
函数 | 示例 |
---|---|
DEF(定义函数名,空形参) | DEF Function: |
DEF(函数名,带形参) | DEF Function:var,var2 |
CALL(调用函数) | CALL Function: |
CALL(调用函数,传递参数) | CALL Function:1,2 |
示例
该语言不属于市面上主流的编程语言。而是专独立于影子集群的编程语言。
示例代码
DEF START_STATION_A:
RUN:1
RUN:2
RUN:3
CALL START_STATION_B:
END
DEF START_STATION_B:
RUN:8
RUN:7
RUN:6
END
DEF STOP_ALL:
STOP:1
STOP:2
STOP:3
STOP:6
STOP:7
STOP:8
END
DEF MAIN:
RUN:3
CALL START_STATION_A:
TIME:2000
CALL STOP_ALL:
END
生成载荷在目录./sccopt/20240904141701.clustr
密钥:Fhfkb0ZzUAGX
所生成的clustr包是经过加密的。在不确定密钥的前提下无法被其他人逆向分析破解。
启动服务端
$ python3 S-Clustr_Server.py
在项目主目录中,scctest.py
用于测试。
八个块代表模拟的八个被控设备端(红色停止状态,绿色启动状态)
启动影子集群客户端,填写rhost
,key
,rport
后使用load <key> <path>
命令载入包执行
S-Clustr(v1.1.0 Simple)> load Fhfkb0ZzUAGX ./sccopt/20240904141701.clustr
你可以编写其他逻辑程式来控制设备的行为。
不仅仅局限于IOT设备,例如可以将A节点服务器下的设备迁移到B节点服务器连接。亦或者可以让红绿灯(路灯)做到花样跑马灯的效果。
注意
1.Simple版本与Ring版本所采用的协议结构是不同的。这将意味着Simple版本与Ring版本将无法通信。
2.Ring版本采用新的Java处理连接,分布式去中心化,环形网络节点共享,匿名性高,支持节点跳跃控制。主要用于辅助规模较大的APT活动。插件:Nets3e(照片拍摄获取,独立加密协议),H4Vdo(锁屏播放视频)。
3.Simple版本较为简单便携,适合小规模使用。主要为点对点加密传输控制。匿名性中等。
预告
1.SCC编译器预兼容Ring版本[未兼容],Simple版本[已兼容]
2.工业控制设备载荷将增加至1+n个,包含ABB机械臂后门,SIEMENS 其他PLC类型后门,HMI人机交互控制屏系统后门。