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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

性能测试 —— Jmeter接口处理不低于200次/秒-场景

需求&#xff1a;期望某个接口系统的处理能力不低于200次/秒&#xff0c;如何设计&#xff1f; ①这个场景是看服务器对某个接口的TPS值是否能大于等于200&#xff0c;就可以了&#xff1b; ②系统处理能力&#xff1a;说的就是我们性能测试中的TPS&#xff1b; ③只要设计一…

借助Spire.Doc for Java控件,将 ODT 转换为 PDF。

在通过电子邮件发送或与其他人共享 ODT 文件之前&#xff0c;您可能需要将该文件转换为 PDF&#xff0c;以便任何人都可以跨多个操作系统访问该文件。在本文中&#xff0c;您将学习如何使用Spire.Doc for Java在 Java 中将 ODT 转换为 PDF。 Spire.Doc 是一款专门对 Word 文档…

基于单片机的公交车报站系统(论文+源码)

1系统设计 本次课题为基于单片机的公交车报站系统&#xff0c;在此主要是基于Proteus平台展开设计&#xff0c;因此结合Proteus平台的特性&#xff0c;将功能设计如下&#xff1a; &#xff08;1&#xff09;公交车具有上行和下行两种状态&#xff0c;可以通过按键进行手动播…

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

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

系列二、类装载器ClassLoader

一、能干嘛 1.1、方法区 存放类的描述信息的地方。 1.2、JVM中的类装载器 1.3、获取ClassLoader的方式 /*** Author : 一叶浮萍归大海* Date: 2023/11/16 0:08* Description: 获取类的加载器的方式*/ public class ClassLoaderMainApp {public static void main(String[] arg…

【linux】centos7 yum安装nginx

查看系统中是否已安装 nginx 服务 yum list | grep nginx查看nginx运行进程 ps -ef | grep nginx添加源 rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 安装Nginx yum install -y nginx 查看nginx安装目录 find …

vagrant+virtualbox的踩坑记录

vagrant virtualbox 文章目录 vagrant virtualbox一、导入虚拟机ova文件失败二、修改虚拟机的保存位置三、无法使用xshell等软件用密码进行连接四、vagrant up失败 一、导入虚拟机ova文件失败 背景&#xff1a;手动删除了虚拟机文件导致无法重新导入相同名称虚拟机的ova文件…

一起学docker系列之二深入理解Docker:基本概念、工作原理与架构

目录 前言1 Docker的基本概念2 Docker的基本组成3 docker工作原理4 docker架构5 Docker详细工作过程结语 前言 在当今的软件开发和部署中&#xff0c;Docker已经成为一种不可或缺的工具。它简化了应用程序的打包、交付和运行&#xff0c;同时提供了强大的隔离性和可移植性。本…

微信小程序H5 uniapp

最近微信小程序对有视频播放的审核严&#xff0c;需要提供“文娱类资质”。而申请这个资质比较繁琐。所以我们在小程序上用web-view做跳转到H5&#xff0c;H5使用uniapp编写。这是小程序关于web-view文档说明。https://developers.weixin.qq.com/miniprogram/dev/component/web…

003.文件描述符、重定向

1、文件描述符 文件描述符是与输入和输出流相关联的整数。最广为人知的文件描述符是stdin、stdout和stderr。我们可以将某个文件描述符的内容重定向到另一个文件描述符中。 在编写脚本的时候会频繁用到标准输入&#xff08;stdin&#xff09;、标准输出&#xff08;stdout&am…

基于单片机无人售货机仿真及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、商品选择&#xff0c;购买数量选择&#xff0c;投币&#xff0c;液晶1602显示。 3、电机模拟出货。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 void lcd_1602_init() //LCD1602初始…

tracert命令

前言&#xff1a;今天在阅读“Web性能权威指南”这本书的时候&#xff0c;发现 tracert 这个命令挺有意思的&#xff0c;在分析网络性能瓶颈的时候也能使用的到&#xff0c;在此就小记一笔以备后用。 1&#xff1a;作用 tracert 是一个简单的网络诊断工具&#xff0c;可以列出…

GPT 5也要来了?看看​OpenAI CEO Sam Altman最近的采访

OpenAI CEO Sam Altman 在接受金融时报采访中&#xff0c;透露了更多OpenAI的计划&#xff1a;他们正在寻求从微软获得更多资金支持&#xff0c;以构建真正的通用人工智能&#xff08;AGI&#xff09;。同时还透露了关于GPT 5的一些信息和公司AGI愿景目标&#xff01;他认为&am…

【MATLAB源码-第77期】基于matlab的OCDM系统在AWGN信道下理论误码率和实际误码率对比仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 正交线性调频分频复用&#xff08;OCDM&#xff0c;Orthogonal Chirp Division Multiplexing&#xff09;是一种无线通信技术&#xff0c;它基于啁啾信号的原理。啁啾信号是一种频率随时间变化的信号&#xff0c;通常频率是线…

在线聊天系统,即时通讯系统

在线聊天&#xff0c;即时通讯系统 可以添加好友&#xff0c;在线聊天&#xff0c;添加群聊&#xff0c;群聊&#xff0c;发送各种类型的文件&#xff0c;文字&#xff0c;图片&#xff0c; 还有各种表情包&#xff0c;系统基于springboot和websocket网络通讯&#xff0c;类似于…

电脑桌面任务提醒便签选择哪一个好用?

伴随着科技现代化的发展&#xff0c;电脑成为大家日常办公及生活中必不可少的工具&#xff0c;如在日常办公中大家可以借助电脑上的任务提醒便签来合理规划自己的工作时间&#xff0c;督促任务的完成&#xff0c;提高工作的效率。 当前&#xff0c;支持在电脑上安装的任务提醒…

Centos8配置Zabbix5.0中文汉化

1.点击【Sign in】按钮&#xff0c;输入用户名和密码进入Zabbix的首页&#xff0c;结果如图。 2.点击左边导航栏的【User settings】链接&#xff0c;进入用户个性化设置界面&#xff0c;结果如图。 3.在搭建Zabbix的虚拟机上使用yum命令下载中文包。 yum install glibc-langpa…

自己动手写编译器:实现编译器工具链中的词法解析工具 Flex

我们在上一节以手动的方式实现了一个词法解析器的 c 语言源码。它主要包含若干部分&#xff0c;第一部分就是输入缓存系统&#xff0c;用于从磁盘文件或者控制台上获取要解析的字符串。第二部分是数据读入逻辑&#xff0c;它主要通过调用输入系统的接口获得要解析的字符串&…

时间序列预测-Transformer,Informer,Autoformer,FEDformer复现结果

实验环境硬件规格或软件版本号CPUInter Xeon E5-2678 v3 2.50GHzGPUNVIDIA TITAN X (Pascal)内存32.0GBPython3.7.3Pytorch1.2.0CUDA11.6 实验结果 可视化实验结果 见资源