新一代 Windows SSH 蜜罐-Rusty_Borders 2024 危墙__v 0.3.9
字数 2966 2025-08-22 12:22:42

Rusty_Borders 危墙 - Windows SSH 蜜罐技术文档

1. 项目概述

Rusty_Borders(危墙)是一个基于Rust语言开发的Windows SSH蜜罐系统,是原SSH_Honeypot For Windows项目的Rust重构版。该项目通过模拟Linux终端环境,诱捕并监控SSH暴力破解行为。

1.1 核心特性

  • 使用Rust语言开发,具有高性能和内存安全性
  • 完全替代Windows-OpenSSH默认终端CMD
  • 提供本地和远程双重控制系统
  • 内置13个常用Linux命令模拟
  • 支持动态命令权限控制(ALCM列表)
  • 包含邮件告警系统
  • 采用独特的许可证系统
  • 遵循GPL v2.0开源协议

1.2 技术原理

项目通过修改Windows注册表中OpenSSH的DefaultShell值,将默认终端替换为自定义的Rusty_Borders终端(RyB),实现类似Linux chroot的隔离环境,限制攻击者的操作范围。

2. 系统架构

2.1 主要组件

2.1.1 危墙_Setup.exe

  • 功能:初始安装程序,使用NSIS封装
  • 作用:解压并部署所有必要文件到指定位置

2.1.2 RyB_Deployment_Program.exe

  • 功能:全面部署程序
  • 作用:
    • 创建弱口令用户
    • 设置文件权限
    • 初始化工具
  • 要求:必须以管理员权限运行

2.1.3 RyB_Control.exe (RyC)

  • 功能:本地控制系统/总体调用系统
  • 作用:
    • 协调整个项目运行
    • 提供基本控制命令
    • 启动在线控制系统
  • 支持命令:
    • help:显示命令列表
    • on:启动SSHD服务
    • off:关闭SSHD服务
    • Z:正常退出蜜罐
    • kill:立即终止RyB终端和SSH服务

2.1.4 web_01.exe (RyCW)

  • 功能:在线控制系统
  • 作用:
    • 远程监控RyB输入输出
    • 动态控制可用命令(ALCM列表)
  • 特点:
    • 页面刷新频率:3秒/次
    • 包含三个显示区域:用户输入、系统输出、RyB信息
    • 提供命令勾选框控制界面

2.1.5 Rusty_Borders_危墙.exe (RyB)

  • 功能:核心终端程序
  • 作用:
    • 模拟Linux终端环境
    • 执行命令过滤和权限控制
    • 提供隔离的执行环境

2.2 辅助文件

文件名 位置 功能
RyB_INFO.ryb C:\Users\Public\History 记录RyB信息
SYSTEM_RESULT.ryb C:\Users\Public\History 记录系统输出
USER_COMMAND.ryb C:\Users\Public\History 记录用户输入
License.txt C:\Users\Public\Control 许可证文件
License_key.txt C:\Users\Public\Control 许可证规则
OutPut01.alcm C:\Users\Public\Control ALCM列表存储
Email_Config.cfg C:\Users\Public\Control 邮件配置

3. 部署指南

3.1 安装步骤

  1. 运行危墙_Setup.exe进行初始安装
  2. 以管理员身份运行RyB_Deployment_Program.exe完成部署
  3. 配置Email_Config.cfg文件设置邮件参数
  4. 通过RyB_Control.exe启动系统

3.2 注意事项

  • 系统默认活动编码需为936(中文-简体)
  • 必须使用管理员权限运行部署程序
  • 邮件配置文件格式必须严格遵循:
#Email 配置文件#注意,不要在"="前后加空格
你的邮箱:TAGO=
# 还是你的邮箱:SOSR=
# SMTP服务器,如smtp.qq.com:SMTP=
# 邮箱授权码:PAWD=

4. 核心功能详解

4.1 命令过滤机制

4.1.1 字符过滤

  • 禁止字符:&|><;$\(){}[]'"
  • 允许字符:0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
  • 特殊处理:
    • Backspace键:执行删除操作但不记录
    • Delete键:执行删除操作但不记录
    • 方向键:移动光标但不记录
    • EOF字符:立即终止程序

4.1.2 空格过滤

使用递归闭包实现连续空格合并:

let nullspace_iter = Space {
    space_01: &|nullspace_iter, mut ac_command, tmp, mut counter_01| {
        if ac_command[tmp] == ' ' && ac_command[tmp + 1] == ' ' {
            for tmp1 in tmp..counter_01 {
                ac_command[tmp1] = ac_command[tmp1 + 1];
            }
            ac_command[counter_01] = '\0';
            counter_01 -= 1;
            return (nullspace_iter.space_01)(nullspace_iter, ac_command, tmp, counter_01);
        }
        (ac_command, tmp + 1, counter_01)
    },
};

4.1.3 命令识别

  • OS_Shell组:阻止cmdpowershellexerunas等命令
  • 内置函数组:支持13个Linux命令模拟
  • 其他命令:返回"命令未找到"

4.2 ALCM(Allow_Command)列表

  • 存储位置:OutPut01.alcm
  • 默认值:g0g1g2g3g4
  • 控制方式:通过web_01.exe的勾选框界面动态修改
  • 对应结构:RyB中的AllowCmd结构体

4.3 特种命令SU

SU 0.1.13
Copyright (TM) 2022-2026 Двигатель Ржавчина, All Rights Reserved.

在用户拥有开发者许可证的情况下,可以使用本命令来提升权限至任意等级。
目前共三等权限:
ONLY_MEMBER => ·任何命令都是可用的;
              ·不受到 Allow_CMD命令列表的管制;
              ·可查看真实路径;
              ·可启动 OS_Shell。
root       => 除 su命令外,其他命令都是可用的,但受到 Allow_CMD的约束。
kali       => 无法使用 wipe等可修改原环境文件的命令,受到 Allow_CMD的约束。

* 为保证环境可控,任何权限修改仅能影响回显类命令的操作结果,如 whoami、id、pwd等,
  而诸如目录变迁、文件读写等会改变环境状态的命令则均不会收到影响,如 cd、touch、ls等。
* 请注意 su的提权并不是在子Shell中进行的。
本命令应仅在测试阶段使用。
若要禁止 su命令,仅需移除 License许可文件即可。

用法: su [用户名 USER]...
参数:无。
Written by Jessarin000.

4.4 许可证系统

许可证规则示例:BSTLL-2446-3368-0157-7308-92DBC-001

规则说明:

  1. 第一部分:
    • ASTLL:永不过期
    • BSTLL:一年有效
    • CSTLL:三个月有效
    • ASR:临时许可证
  2. 第五部分:
    • 92DSC:项目开发者
    • 92DBC:内测参与者
    • 00000:普通用户

5. 安全建议

  1. 为网关加装带有深度数据包检查的WAF,阻止出局域网的HTTP流量
  2. 使用至少两台计算机进行监控
  3. 定期检查日志文件
  4. 根据实际需要修改默认配置
  5. 谨慎使用SU命令功能

6. 开发接口

6.1 命令函数命名规范

所有命令执行函数采用"__ + 函数名"格式,例如:

  • cd命令对应__cd()
  • ls命令对应__ls()

6.2 内置命令列表

项目模拟了13个常用Linux命令:

  1. cat
  2. cd
  3. cls
  4. help
  5. id
  6. ls
  7. mkdir
  8. pwd
  9. rm
  10. su
  11. touch
  12. whoami
  13. wipe

7. 已知限制

  1. web_01.exe界面刷新方式较为原始,性能有待优化
  2. 系统默认需要中文(简体)编码环境
  3. 邮件系统必须预先配置才能正常运行
  4. 在线控制系统开放3000端口可能带来安全风险
  5. 缺乏移动端适配界面

8. 项目维护

  • 作者:Jessarin000 (Kjx52/Skiner)
  • 联系方式:kjx52@outlook.com
  • 项目链接:Rusty_Borders
  • 开发环境:Windows 11 x86_64 (22631) 家庭版
  • Rust编译器版本:1.78.0
  • 测试平台:Windows IIS 7.0、Windows 10/11 x86/x86_64

9. 版本历史

  • 2024年3月:项目确立,原名"Rust TermX (RTX)"
  • 2024年4月:更名为"Rustic Terminus Tonic (RTT)"
  • 2024年5月:定名为"Rusty_Borders 危墙"
  • 2024年5月25日:v0.3.9版本完成
  • 2024年5月31日:发布至先知社区

10. 未来计划

  1. 改进web界面,增加移动端支持
  2. 将更多功能整合到RyB_Control中
  3. 使用config文件替代部分硬编码
  4. 可能推出Linux版本
  5. 考虑与原始SHW项目合并
Rusty_ Borders 危墙 - Windows SSH 蜜罐技术文档 1. 项目概述 Rusty_ Borders(危墙)是一个基于Rust语言开发的Windows SSH蜜罐系统,是原SSH_ Honeypot For Windows项目的Rust重构版。该项目通过模拟Linux终端环境,诱捕并监控SSH暴力破解行为。 1.1 核心特性 使用Rust语言开发,具有高性能和内存安全性 完全替代Windows-OpenSSH默认终端CMD 提供本地和远程双重控制系统 内置13个常用Linux命令模拟 支持动态命令权限控制(ALCM列表) 包含邮件告警系统 采用独特的许可证系统 遵循GPL v2.0开源协议 1.2 技术原理 项目通过修改Windows注册表中OpenSSH的DefaultShell值,将默认终端替换为自定义的Rusty_ Borders终端(RyB),实现类似Linux chroot的隔离环境,限制攻击者的操作范围。 2. 系统架构 2.1 主要组件 2.1.1 危墙_ Setup.exe 功能:初始安装程序,使用NSIS封装 作用:解压并部署所有必要文件到指定位置 2.1.2 RyB_ Deployment_ Program.exe 功能:全面部署程序 作用: 创建弱口令用户 设置文件权限 初始化工具 要求:必须以管理员权限运行 2.1.3 RyB_ Control.exe (RyC) 功能:本地控制系统/总体调用系统 作用: 协调整个项目运行 提供基本控制命令 启动在线控制系统 支持命令: help :显示命令列表 on :启动SSHD服务 off :关闭SSHD服务 Z :正常退出蜜罐 kill :立即终止RyB终端和SSH服务 2.1.4 web_ 01.exe (RyCW) 功能:在线控制系统 作用: 远程监控RyB输入输出 动态控制可用命令(ALCM列表) 特点: 页面刷新频率:3秒/次 包含三个显示区域:用户输入、系统输出、RyB信息 提供命令勾选框控制界面 2.1.5 Rusty_ Borders_ 危墙.exe (RyB) 功能:核心终端程序 作用: 模拟Linux终端环境 执行命令过滤和权限控制 提供隔离的执行环境 2.2 辅助文件 | 文件名 | 位置 | 功能 | |--------|------|------| | RyB_ INFO.ryb | C:\Users\Public\History | 记录RyB信息 | | SYSTEM_ RESULT.ryb | C:\Users\Public\History | 记录系统输出 | | USER_ COMMAND.ryb | C:\Users\Public\History | 记录用户输入 | | License.txt | C:\Users\Public\Control | 许可证文件 | | License_ key.txt | C:\Users\Public\Control | 许可证规则 | | OutPut01.alcm | C:\Users\Public\Control | ALCM列表存储 | | Email_ Config.cfg | C:\Users\Public\Control | 邮件配置 | 3. 部署指南 3.1 安装步骤 运行 危墙_Setup.exe 进行初始安装 以管理员身份运行 RyB_Deployment_Program.exe 完成部署 配置 Email_Config.cfg 文件设置邮件参数 通过 RyB_Control.exe 启动系统 3.2 注意事项 系统默认活动编码需为936(中文-简体) 必须使用管理员权限运行部署程序 邮件配置文件格式必须严格遵循: 4. 核心功能详解 4.1 命令过滤机制 4.1.1 字符过滤 禁止字符: &|><;$\(){}[]'" 允许字符: 0123456789:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 特殊处理: Backspace键:执行删除操作但不记录 Delete键:执行删除操作但不记录 方向键:移动光标但不记录 EOF字符:立即终止程序 4.1.2 空格过滤 使用递归闭包实现连续空格合并: 4.1.3 命令识别 OS_ Shell组:阻止 cmd 、 powershell 、 exe 、 runas 等命令 内置函数组:支持13个Linux命令模拟 其他命令:返回"命令未找到" 4.2 ALCM(Allow_ Command)列表 存储位置: OutPut01.alcm 默认值: g0g1g2g3g4 控制方式:通过web_ 01.exe的勾选框界面动态修改 对应结构:RyB中的 AllowCmd 结构体 4.3 特种命令SU 4.4 许可证系统 许可证规则示例: BSTLL-2446-3368-0157-7308-92DBC-001 规则说明: 第一部分: ASTLL :永不过期 BSTLL :一年有效 CSTLL :三个月有效 ASR :临时许可证 第五部分: 92DSC :项目开发者 92DBC :内测参与者 00000 :普通用户 5. 安全建议 为网关加装带有深度数据包检查的WAF,阻止出局域网的HTTP流量 使用至少两台计算机进行监控 定期检查日志文件 根据实际需要修改默认配置 谨慎使用SU命令功能 6. 开发接口 6.1 命令函数命名规范 所有命令执行函数采用"__ + 函数名"格式,例如: cd 命令对应 __cd() ls 命令对应 __ls() 6.2 内置命令列表 项目模拟了13个常用Linux命令: cat cd cls help id ls mkdir pwd rm su touch whoami wipe 7. 已知限制 web_ 01.exe界面刷新方式较为原始,性能有待优化 系统默认需要中文(简体)编码环境 邮件系统必须预先配置才能正常运行 在线控制系统开放3000端口可能带来安全风险 缺乏移动端适配界面 8. 项目维护 作者:Jessarin000 (Kjx52/Skiner) 联系方式:kjx52@outlook.com 项目链接:Rusty_ Borders 开发环境:Windows 11 x86_ 64 (22631) 家庭版 Rust编译器版本:1.78.0 测试平台:Windows IIS 7.0、Windows 10/11 x86/x86_ 64 9. 版本历史 2024年3月:项目确立,原名"Rust TermX (RTX)" 2024年4月:更名为"Rustic Terminus Tonic (RTT)" 2024年5月:定名为"Rusty_ Borders 危墙" 2024年5月25日:v0.3.9版本完成 2024年5月31日:发布至先知社区 10. 未来计划 改进web界面,增加移动端支持 将更多功能整合到RyB_ Control中 使用config文件替代部分硬编码 可能推出Linux版本 考虑与原始SHW项目合并