S-Clustr(影子集群)僵尸网络@Мартин.

公告

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

1.成功扩展3类嵌入式设备,组建庞大的"僵尸网络"

|------C51[开发中]

|------Arduino

|------合宙AIR780e[开发中]

2.攻击者端与服务端之间通讯过程全程加密,防溯源分析

3.Generate一键自动生成Arduino代码

4.DebugDevice 测试模拟嵌入式设备连接服务端

5.设备上线钉钉播报

6.中英参数手册

S-Clustr 嵌入式设备端

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

1.Arduino UNO (17¥)

2.SIM900A或SIM800A (26¥)

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

3.杜邦线 (2¥)

母转母

4.移动卡

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

接线原理图

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

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

一键生成Arduino代码

python3 Generate.py

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

选择型号直接烧录就OK

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当作密钥,有效防止明文密钥被破解


在该参数中,置1表示启动被控设备的加密服务,那么被控设备必须提供身份认证密钥才允许接入,否则拒绝

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

服务端脚本参数解析

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

服务端运行

python3 S-Clustr_Server.py

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

查询全部设备当前状态

复制代码
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,这将决定你是否有权限接入服务器的关键要素。

在服务端中,你可以任意挑选一个作为密钥

复制代码
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(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(V1.0.0)> set id 0
[*] id => 0 
S-Clustr(V1.0.0)> set pwr 2
[*] pwr => 2
S-Clustr(V1.0.0)> run

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

输入我们的被控端KEY


被控端成功接入

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

控制设备完成题目要求

手册文档

Parameter_Description-ZH.xls

Parameter_Description-EN.xls

相关推荐
chian-ocean14 小时前
深入 CANN:使用 `tbe-op` 构建自定义高性能算子
网络
中议视控14 小时前
可编程网络中央控制系统主机通过红外发射棒控制空调电视等红外设备
网络·物联网·5g
数据安全科普王16 小时前
打破中心枷锁:P2P网络如何用“去中心化”重构互联网通信
网络·去中心化·p2p
爱吃烤鸡翅的酸菜鱼16 小时前
CANN ops-nn激活函数与池化算子深度解析
网络·开源·aigc
saber_andlibert17 小时前
TCMalloc底层实现
java·前端·网络
飞凌嵌入式19 小时前
用「EN 18031认证」通关欧盟,这张 “网络安全护照” 已就位
网络·安全·能源
Trouvaille ~19 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
JoySSLLian20 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
Zach_yuan20 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
猫头虎21 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy