S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!

测试视频

公告

项目地址:https://github.com/MartinxMax/S-Clustr

更新预告 内容 进度
SIEMENS S7-200 SMART 远程控制 进行中
开发人员 Blog 联系方式 提交时间 提交内容 授权情况
ASH_HH https://blog.csdn.net/m0_53711047/article/details/133691537?spm=1001.2014.3001.5502 匿名 2023-10-16 21:42:26 STM32 已授权
类型 被控设备 有线 无线 4G 安全加密 协议
嵌入式 Arduino × × TCP/IP
嵌入式 合宙AIR780e × × × TCP/IP
嵌入式 ESP8266 × × × TCP/IP
嵌入式 AT89C51 × × × TCP/IP
嵌入式 STM32[103fc6t6] × × × TCP/IP
PLC SIEMENS S7-1200 × × x TCP/IP
PLC SIEMENS S7-200 × × x TCP/IP
被控PC平台 协议 安全加密
Windows TCP/IP 可选
Linux TCP/IP 可选
Mac OS TCP/IP 可选
服务端文件 解释
S-Clustr_Server 服务端
S-Clustr_Client 黑客端
DebugDevice 用于模拟嵌入式设备接入服务端
Generate 一键生成嵌入式设备程序
Testpc Windows主机接入服务端
blacklist.conf 黑名单,标记禁止接入的IP组
Server.conf 服务端一些配置参数
Version.conf 版本信息
Linux_Installer.sh Linux依环境赖安装程序
Windows_Installer.bat Windows环境依赖安装程序
Parameter_Description-EN.xls [英文]关于Server.conf内参数说明
Parameter_Description-ZH.xls [中文]关于Server.conf内参数说明

问答解惑

(匿名网友)问:S-Clustr是一款什么工具?
答:是一款集中化网络控制器,用于一对多的网络控制

(柴郡)问:S-Clustr的使用场景和使用环境?
答:工业/智能控制、大/中/小型机房控制、工业/交通电源控制、Botnet控制

(柴郡)问:流量通讯的隐蔽性如何?
答:固然过程是加密,但您的流量路径基本都是国内运营商线路,所以请遵守法律

(柴郡)问:Arduino可不可以换成更便宜的开发版?
答:完全可以,您可以Server.conf中DEV_TYPE、DEV_ENCRYPTION_Server分别添加您的开发板型号。或者联系作者[https://github.com/MartinxMax]进行更新您的开发板程序

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第1张图片

(柴郡)问:是否可以避免中间人和重放攻击?
答:身份验证数据流=时间戳+设备ID+设备状态+AES(时间戳+密钥),这样服务端验证黑客身份时,将尝试时间戳进行AES解密后与服务器时间戳进行对比。如果您受到中间人攻击导致数据包被获取,即使如此,在其他黑客未获取您的密钥前将无法对您设备进行重放攻击。

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第2张图片

(匿名网友)问:控制PC端可以做什么?
答:例如您可以当命令下发时爬取xxx网站,打开xxx应用,执行xxx命令

(匿名网友)问:设备端嵌入式设备都没有加密服务?
答:对的,暂时考虑到嵌入式设备端加入加密函数后影响性能。如果您对嵌入式设备安全性要求较高请不要与服务端处于相同局域网下

S-Clustr 嵌入式设备端

Arduino

有线局域网控制

准备设备材料(合计 50¥ )

1.Arduino UNO (17¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第3张图片

2.ENC28J60 (28¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第4张图片

3.1路继电器模块5V (3¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第5张图片

4.杜邦线 (2¥)
母转母

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第6张图片

接线原理图

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第7张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第8张图片

4G无线公网远控

准备设备材料(合计 48¥ )

1.Arduino UNO (17¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第9张图片

2.SIM900A或SIM800A (26¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第10张图片

2.1路继电器模块5V (3¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第11张图片

3.杜邦线 (2¥)
母转母

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第12张图片

4.移动卡

这里需要移动卡是因为SIM800A与SIM900A支持移动的2G网,电信就不行,联通也不行…不过后面测试合宙AIR780e的板子应该联通可行,也就是不需要SIM系列了,内部集成好了

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第13张图片

接线原理图

这里将模拟Arduino收到信号后控制继电器行为

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第14张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第15张图片

不会写代码?..使用Generate.py生成Arduino代码就OK了

ESP8266 (WIFI局域网控制)

准备设备材料(合计 18¥ )

1.ESP8266 (13¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第16张图片

2.1路继电器模块5V (3¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第17张图片

3.杜邦线 (2¥)
母转母

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第18张图片

接线原理图

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第19张图片

AIR780E (4G无线公网远控)[推荐]

注意事项

1.该开发板经测试后,的确比SIM系列来的更加快速稳定
2.安装Luatools:用于完成程序烧录
[https://doc.openluat.com/wiki/37?wiki_page_id=4489]

准备设备材料(合计 47¥ )

1.Air780e开发板 (42¥)

背面有一个sim卡槽

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第20张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第21张图片

2.1路继电器模块5V (3¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第22张图片

3.杜邦线 (2¥)
母转母

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第23张图片

接线原理图

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第24张图片

烧录程序

将我们Generate生成的文件导入进Luatools
S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第25张图片

选择底层core,在我们的Output\AIR780E\LuatOS-SoC_V1103_EC618.soc有提供

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第26张图片

根据提示完成烧录,注意板子上的三个键,分别为 启动 复位 BOOT

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第27张图片

AT89C51

准备设备材料(合计 42¥ )

1.51单片机最小系统开发板送CH340下载器 (11¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第28张图片

2.1路继电器模块5V (3¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第29张图片

3.杜邦线 (2¥)
母转母

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第30张图片

4.SIM900A或SIM800A (26¥)

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第31张图片

5.移动卡

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第32张图片

接线原理图

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第33张图片

Generate一键生成烧录代码

python3 Generate.py

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第34张图片

填写完成参数,这里的127.0.0.1是错误的,你应该输入服务端的公网IP地址,也就是运行S-Clustr_Server.py的服务器的IP

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第35张图片

输出烧录代码将在目录.\Device\Output\型号 目录下

S-Clustr 服务端

注意:
1.服务端必须在公网,如果你的服务端在内网可以考虑端口映射,黑客端服务默认在端口9999,设备端服务默认在端口10000
2.服务端与黑客端是全程高度加密通信的,强制开启加密服务不可关闭。其次你可以通过Server.conf文件内的配置,来决定嵌入式设备或被控PC接入时是否提供加密服务
3.对于Server.conf文件内参数不理解,请详细阅读手册文档
4.服务端每次启动都将随机长度为12个字符作为密钥用作于黑客与被控设备的身份认证,防止其他黑客未授权接入控制设备。你可以手动指定密钥(python3 S-Clustr_Server.py -keyh Maptnh -keyv Maptnh)
—这里黑客端与被控端各2个密钥,首次为明文密钥,如果你觉得过于敏感,可以把其次的临时TOKEN当作密钥,有效防止明文密钥被破解

0OVQK[M(I}1)2T]1}$28AXK.png
在该参数中,置1表示启动被控设备的加密服务,那么被控设备必须提供身份认证密钥才允许接入,否则拒绝

图片.png

5.有效防止中间人(MITM)嗅探分析黑客端与服务端通信数据包,再进一步防止重放攻击与加密数据被破解

服务端脚本参数解析

-lh:绑定指定本地IP,默认0.0.0.0
-lpv:设置本地监听地址(设备端)默认10000端口
-lph:设置本地监听地址(黑客端)默认9999端口
-keyh:设置黑客端密钥,默认随机12位字符作为密钥
-keyv:设置设备端密钥,默认随机12位字符作为密钥

服务端运行

python3 S-Clustr_Server.py

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第36张图片

S-Clustr 黑客端

注意:
客户端采用交互式运行,操作类似于Metasploit渗透测试框架

黑客端脚本参数解析

进入后输入 help?options来查看所需要设置的参数
set rhosts :设置服务端的IP
set rport :设置服务端的端口
set id :选择所需要控制的设备ID编号,0表示选中所有设备
set pwr :控制设备状态,启动[1],停止[2],查询状态[3]

黑客端连接服务端

python3 S-Clustr_Server.py

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第37张图片

查询全部设备当前状态

S-Clustr(V1.0.0)> set rhost 127.0.0.1
[*] rhost => 127.0.0.1
S-Clustr(V1.0.0)> set id 0
[*] id => 0
S-Clustr(V1.0.0)> set pwr 3
[*] pwr => 3

PS:这里必须填写Key,这将决定你是否有权限接入服务器的关键要素。
在服务端中,你可以任意挑选一个作为密钥

图片.png

S-Clustr(V1.0.0)> set key cf5cdc4798a72283a4c0c0b1ef2ef5da
[*] key => cf5cdc4798a72283a4c0c0b1ef2ef5da

查询全部设备状态

S-Clustr(V1.0.0)> set id 0
[*] id => 0
S-Clustr(V1.0.0)> set pwr 3
[*] pwr => 3
S-Clustr(V1.0.0)> run
[*] Connecting to the server...
[*] Attempting to authenticate to the server [127.0.0.1:9999]
|   Device ID   |  Device Type  | Device State | Device Network |
|:-------------:|:-------------:|:-------------:|:---------------:|
|       1        |      None      |    Stopped     |   Disconnected   |
|       2        |      None      |    Stopped     |   Disconnected   |
|       3        |      None      |    Stopped     |   Disconnected   |
|       4        |      None      |    Stopped     |   Disconnected   |
|       5        |      None      |    Stopped     |   Disconnected   |
|       6        |      None      |    Stopped     |   Disconnected   |
|       7        |      None      |    Stopped     |   Disconnected   |
|       8        |      None      |    Stopped     |   Disconnected   |
|       9        |      None      |    Stopped     |   Disconnected   |
|       10       |      None      |    Stopped     |   Disconnected   |
|:-------------:|:-------------:|:-------------:|:---------------:|

我们可以看到已经成功接入服务器了,身份认证成功

我们设置错误的Key时,服务器将无法对你进行授权

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第38张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第39张图片

【模拟被控设备连接服务端】通过黑客端控制全部设备

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第40张图片

设备全部上线

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第41张图片

控制全部设备启动

S-Clustr(V1.0.0)> set id 0
[*] id => 0
S-Clustr(V1.0.0)> set pwr 1
[*] pwr => 1
S-Clustr(V1.0.0)> run

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第42张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第43张图片

控制全部设备停止

S-Clustr(V1.0.0)> set id 0
[*] id => 0
S-Clustr(V1.0.0)> set pwr 2
[*] pwr => 2
S-Clustr(V1.0.0)> run

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第44张图片

案例:被控端收到命令后,访问www.bing.com,并且打开计算器

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第45张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第46张图片

输入我们的被控端KEY

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第47张图片
被控端成功接入

我们的黑客端也成功查询到设备

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第48张图片

控制设备完成题目要求

SIEMENS S7-12XX 后门攻击

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第49张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第50张图片

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第51张图片

手册文档

Parameter_Description-ZH.xls

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第52张图片

Parameter_Description-EN.xls

S-Clustr(影子集群) 重磅更新!黑入工业PLC设备!_第53张图片

你可能感兴趣的:(工业自动化控制,网络工具,工控,网络,web安全)