项目地址: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:1RUN:2RUN:3CALL START_STATION_B:
ENDDEF START_STATION_B:RUN:8RUN:7RUN:6
ENDDEF STOP_ALL:STOP:1STOP:2STOP:3STOP:6STOP:7STOP:8
ENDDEF MAIN:RUN:3CALL START_STATION_A:TIME:2000CALL 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人机交互控制屏系统后门。