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

公告

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

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

图片.png

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

图片.png

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

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

S-Clustr 嵌入式设备端

Arduino

有线局域网控制

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

1.Arduino UNO (17¥)

图片.png

2.ENC28J60 (28¥)

图片.png

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

图片.png

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

图片.png

接线原理图

图片.png

图片.png

4G无线公网远控

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

1.Arduino UNO (17¥)

图片.png

2.SIM900A或SIM800A (26¥)

图片.png

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

图片.png

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

图片.png

4.移动卡

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

图片.png

接线原理图

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

图片.png

图片.png

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

ESP8266 (WIFI局域网控制)

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

1.ESP8266 (13¥)

图片.png

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

图片.png

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

图片.png

接线原理图

图片.png

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

注意事项

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

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

1.Air780e开发板 (42¥)

背面有一个sim卡槽

图片.png

图片.png

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

图片.png

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

图片.png

接线原理图

图片.png

烧录程序

将我们Generate生成的文件导入进Luatools
图片.png

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

图片.png

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

图片.png

AT89C51

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

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

图片.png

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

图片.png

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

图片.png

4.SIM900A或SIM800A (26¥)

图片.png

5.移动卡

图片.png

接线原理图

图片.png

Generate一键生成烧录代码

python3 Generate.py

图片.png

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

图片.png

输出烧录代码将在目录.\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

图片.png

S-Clustr 黑客端

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

黑客端脚本参数解析

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

黑客端连接服务端

python3 S-Clustr_Server.py

图片.png

查询全部设备当前状态

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时,服务器将无法对你进行授权

图片.png

图片.png

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

图片.png

设备全部上线

图片.png

控制全部设备启动

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

图片.png

图片.png

控制全部设备停止

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

图片.png

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

图片.png

图片.png

输入我们的被控端KEY

图片.png
被控端成功接入

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

图片.png

控制设备完成题目要求

image

SIEMENS S7-12XX 后门攻击

image.png

image.png

image.png

手册文档

Parameter_Description-ZH.xls

图片.png

Parameter_Description-EN.xls

图片.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/180218.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】详解多线程同步的三种方式

&#x1f33a;个人主页&#xff1a;Dawn黎明开始 &#x1f380;系列专栏&#xff1a;Java ⭐每日一句&#xff1a;等风来&#xff0c;不如追风去 &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️ 文章目录 一.&#x1f510;线…

总结1057

考研倒计38天 极限冲刺day1 今日共计学习13h33m&#xff0c;为了能走出备考的低谷阶段&#xff0c;来一场与自我的较量。在尽可能保证效率的情况下&#xff0c;玩命干。考研这件事&#xff0c;从来不是因为看到了希望才去努力&#xff0c;而是玩命努力后才看到希望。

重生之我是一名程序员 31

大家晚上好&#xff01;前面给大家分享了指针与数组的知识&#xff0c;所以今天要给大家分享的知识是——指针数组 相信大家在这里都会有疑问&#xff0c;指针数组是指针还是数组&#xff1f; 在这我们可以类⽐⼀下其他类型的数组&#xff0c;比如整型数组是存放整型的数组&am…

Postman的Cookie鉴权

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 一&#xff09;什么是Cookie 定义&#xff1a;存储在客户端的一小段文本信息&#xff0c;格式为键值对的形式. 二&#xff09…

单片机实验(一)

前言 实验一&#xff1a;用单片机控制多只数码管(屏)分别左、右滚动显示自己完整的学号&#xff1b; 实验二&#xff1a;用单片机控制LED1616点阵交替正序、逆序显示自己的中文姓名。 参考链接&#xff1a; LED数码管的静态显示与动态显示&#xff08;KeilProteus&#xff0…

【C语言 | 数组】C语言数组详解(经典,超详细)

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

【LeetCode:307. 区域和检索 - 数组可修改 | 树状数组 or 线段树】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

保姆级教程之SABO-VMD-CNN-SVM的分类诊断,特征可视化

今天出一期基于SABO-VMD-CNN-SVM的分类诊断。 依旧是采用经典的西储大学轴承数据。基本流程如下&#xff1a; 首先是以最小包络熵为适应度函数&#xff0c;采用SABO优化VMD的两个参数。其次对每种状态的数据进行特征向量的求取&#xff0c;并为每组数据打上标签。然后将数据送入…

VN5620以太网测试——DoIP配置

文章目录 前言一、DoIP简介二、Vector Hardware Configuration三、Diagnostics/ISO TP Configuration四、Diagnostic Console五、添加Ethernet Packet Builder前言 CANoe(CAN open environment)VN5620 :是一个紧凑而强大的接口,用于以太网网络的分析、仿真、测试和验证。 V…

Go 理解零值

在 Go 语言中&#xff0c;零值&#xff08;Zero Value&#xff09;是指在声明变量但没有显式赋值的情况下&#xff0c;变量会被自动赋予一个默认值。这个默认值取决于变量的类型&#xff0c;不同类型的变量会有不同的零值。零值是 Go 语言中的一个重要概念&#xff0c;因为它确…

低代码编辑平台后台实现

背景 之前做过一个前端低代码编辑平台&#xff0c;可以实现简单的移动端页面组件拖拽编辑&#xff1a; https://github.com/li-car-fei/react-visual-design 最近基于C的oatpp框架实现了一下后台。使用oatpp框架做web后台开发时&#xff0c;发现按照官方的示例使用的话&#…

设计模式(4)-行为型模式

行为型模式 行为型模式用于描述程序在运行时复杂的流程控制&#xff0c;即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务&#xff0c;它涉及算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式&#xff0c;前者采用继承机制来在类间…