吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 111|回复: 0
上一主题 下一主题
收起左侧

[Windows] SecureCRT密码批量提取工具V1.2

[复制链接]
跳转到指定楼层
楼主
龙的化身 发表于 2026-5-21 22:08 回帖奖励
时隔一年更新了自用的小工具,原帖来自本人:https://www.52pojie.cn/forum.php?mod=viewthread&tid=2045763&highlight=crt%2B%C3%DC%C2%EB

项目在git上放了打包好的exe,求star,项目地址:https://github.com/TerraBough/SecureCRT-encrypt-password

省流地址在这:https://wwbqa.lanzouu.com/b0um8byub 密码:52pj

也可以选择这个富哥链接 蓝奏云.txt (47 Bytes, 下载次数: 0)
注意要新建一个sessions目录放在exe同级,双击就可以开始用了,其他详细可以看项目介绍






SecureCRT 会话密码批量提取工具

一个用于离线还原 SecureCRT 会话 (.ini) 中保存密码的命令行工具。支持 SecureCRT 的两代密码格式(V1 双层 Blowfish、V2 AES 含 BCrypt-PBKDF2 派生),可批量遍历整个 Sessions 目录并把结果汇总为 CSV。

⚠️ 本工具仅用于您自身拥有合法访问权限的设备/账号。误用或越权使用导致的任何后果由使用者自行承担。


目录结构

SecureCRT-encrypt-password/
├── securecrt_cipher.py              # SecureCRT V1 / V2 加解密算法实现(核心算法层)
├── securecrt_encrypt_password.py    # CLI 主入口:扫描 ini → 解密 → 写 CSV
├── requirements.txt                 # 运行时依赖(pycryptodome)
├── requirements_win7.txt            # Win7-11 打包专用依赖(锁定版本)
├── build_win7.bat                   # 一键打包脚本(生成 Win7-11 兼容 exe)
├── .gitignore                       # 忽略 CSV / Sessions / __pycache__ 等敏感物
├── LICENSE                          # MIT License
└── README.md                        # 本文档

运行时还会按需读写:

  • Sessions/:SecureCRT 的会话目录(脚本同级,或由 --sessions-dir 指定,或回退到 %APPDATA%\VanDyke\Config\Sessions)。
  • securecrt_passwords.csv:默认输出,位于 Sessions/ 同级目录下。

核心特性

  • 双版本兼容:自动识别 Password V2 (AES) 与 Password (V1 Blowfish);同一会话同时存在时优先 V2,V2 失败可自动回退到 V1。
  • 健壮的字段提取:兼容 SecureCRT INI 文件末尾无换行、字符串字段含 hex 长度前缀等格式细节。
  • 单文件异常隔离:单个 ini 解析或解密失败不会中断整批处理,错误原因写入 CSV 的"备注"列。
  • 状态与统计:CSV 含 状态/备注 两列(success/failed/no_password),运行结束输出 成功 / 失败 / 仅用户名 计数。
  • Excel 友好的 CSVutf-8-sig BOM + QUOTE_ALL,密码含逗号/换行/引号也不会破坏列。
  • 密码明文输入:配置密码在终端明文显示输入,便于确认。
  • 进度反馈:每处理 N 条打印一行计数,N 由 --progress-every 控制。
  • 打包友好:被 PyInstaller 打包成 exe 双击运行时,自动启用 --pause 防止窗口闪退。

安装

# 建议在虚拟环境中安装
python -m venv .venv
.\.venv\Scripts\Activate.ps1

pip install -r requirements.txt

仅需 pycryptodome 一个第三方依赖。


打包为 exe(Win7-11 兼容)

本工具提供一键打包脚本 build_win7.bat,可将程序打包为单个 exe 文件,兼容 Windows 7 SP1 / 8 / 10 / 11。

环境要求

项目 要求
操作系统 Windows 7 SP1 及以上
Python 3.8.x(推荐 3.8.10),64 位
Windows 7 补丁 需安装KB2533623KB2999226(Win10/11 无需)

为什么选 Python 3.8?它是官方最后支持 Windows 7 的 Python 版本。更高版本可在 Win10/11 上使用,但打包后的 exe 无法在 Win7 上运行。

一键打包

cd SecureCRT-encrypt-password
build_win7.bat

脚本会自动完成以下步骤:

  1. 检测 Python 版本(3.8 ~ 3.10)
  2. 升级 pip/setuptools/wheel 至兼容版本
  3. 安装 requirements_win7.txt 中锁定的依赖(含 PyInstaller 4.10)
  4. 验证 pycryptodome 内部 API _bcrypt_hash 可用
  5. 清理旧构建产物
  6. 执行 PyInstaller 打包为单文件 exe

打包成功后,输出文件位于:

dist\SecureCRT_Encrypt_Password.exe

手动打包

若需自行控制打包参数,可手动执行:

python -m venv .venv
.\.venv\Scripts\activate
pip install --upgrade pip==24.0 setuptools==69.5.1 wheel==0.43.0
pip install -r requirements_win7.txt

python -m PyInstaller --clean -F --console securecrt_encrypt_password.py ^
    --name=SecureCRT_Encrypt_Password ^
    --hidden-import=securecrt_cipher ^
    --hidden-import=Crypto.Cipher.AES ^
    --hidden-import=Crypto.Cipher.Blowfish ^
    --hidden-import=Crypto.Protocol.KDF._bcrypt_hash

分发与使用

  1. SecureCRT_Encrypt_Password.exe 拷贝到目标机器
  2. Sessions 目录放在 exe 同级目录下(或运行时通过 --sessions-dir 指定路径)
  3. 双击 exe 运行,或在 CMD 中执行 SecureCRT_Encrypt_Password.exe --help 查看参数

注意:exe 双击运行时会自动启用 --pause,程序结束后等待按回车才退出,防止窗口闪退。


使用方法

1. 准备 Sessions 目录

将 SecureCRT 的 Sessions 目录拷贝到本工具同级(或运行时通过参数指定路径)。SecureCRT 的默认位置:

%APPDATA%\VanDyke\Config\Sessions

2. 运行

最简形式(交互输入配置密码):

python securecrt_encrypt_password.py

常用参数:

# 指定 Sessions 目录
python securecrt_encrypt_password.py --sessions-dir "C:\Users\me\AppData\Roaming\VanDyke\Config\Sessions"

# 指定输出 CSV 路径
python securecrt_encrypt_password.py -o passwords.csv

# 关闭进度输出
python securecrt_encrypt_password.py --progress-every 0

# 自动化场景:从命令行直接传配置密码(不推荐,会进入 shell 历史)
python securecrt_encrypt_password.py -p "<your-config-passphrase>"

完整参数:

参数 说明
--sessions-dir <path> SecureCRT Sessions 目录路径。默认顺序:脚本同级 Sessions/%APPDATA%\VanDyke\Config\Sessions
-o, --output <path> 输出 CSV 路径。默认:Sessions 同级目录下的 securecrt_passwords.csv
-p, --passphrase <pwd> CRT 配置密码。不推荐在命令行明文传入,仅供自动化使用
--pause 结束后等待回车再退出(双击 exe 已自动启用)
--progress-every <N> 每处理 N 个文件打印一条进度(默认 50;设为 0 关闭)

3. 关于"配置密码"

SecureCRT V2 (03: 前缀) 密码使用用户在"全局选项 → 常规 → 配置密码"中设置的 Configuration Passphrase 作为派生密钥的 passphrase。

  • 若你启用了配置密码,必须在交互提示处输入它,否则 V2 会话会全部解密失败。
  • 若未启用(仅有 02: 前缀或 V1),直接按回车跳过即可。

输出 CSV 字段

含义
目录层级 会话相对 Sessions/ 的子目录路径,分隔符替换为 -;位于根目录时为 root
文件名 .ini 文件名
用户名 会话中 S:"Username" 字段值
明文密码 解密成功时的明文;失败/无密码时为空
密码版本 V1 / V2 / 空(无密码)
状态 success / failed / no_password
备注 解密失败原因;V2 回退到 V1 时也会标注

模块说明

securecrt_cipher.py

底层加解密原语,不应被修改(与 SecureCRT 的格式严格对应):

  • SecureCRTCrypto:V1 Blowfish-CBC 双层加密。
  • SecureCRTCryptoV2:V2 AES-CBC,区分 02 前缀(SHA256 派生)与 03 前缀(随机 salt + bcrypt-pbkdf2 派生)。
  • 也可作为独立 CLI 单条加/解密一段密文,参见文件内 __main__ 部分。

securecrt_encrypt_password.py

业务编排层,分若干清晰职责:

区段 主要函数
INI 读取与解析 _read_ini_textextract_password_info
解密策略 _decrypt_with_v1 / _decrypt_with_v2 / decrypt_password(V2→V1 回退在此)
路径与 CLI resolve_sessions_dirresolve_output_csv_pathbuild_arg_parser_prompt_passphrase
单文件 / 批量 _format_dir_level_process_single_iniprocess_sessions_dir
主入口 _maybe_inject_pause_for_frozenmain

所有正则在模块加载时一次性编译,频繁字段提取无重复开销。


安全提示

  • 输出 CSV 中包含明文密码。建议处理完毕后立即妥善归档(加密 zip、删除原文件等),勿提交到任何仓库。
  • 仓库 .gitignore 已默认忽略 *.csv / *.ini / Sessions/
  • 配置密码请使用交互输入(默认行为),避免出现在 shell 历史或 CI 日志中。
  • 本工具使用了 pycryptodome 中的内部 API Crypto.Protocol.KDF._bcrypt_hash(V2 03: 前缀派生需要)。升级 pycryptodome 时若出现 AttributeError,将版本回退到 requirements.txt 锁定的范围即可。

常见问题

Q:所有 V2 会话均报 无效密文: 明文长度不正确
A:99% 是配置密码输入错误。请确认你输入的是 SecureCRT "全局选项 → 常规 → 配置密码"中的密码;若该选项未启用,则直接回车。

Q:双击 exe 后窗口一闪而过?
A:本工具在 frozen 模式下会自动启用 --pause,若仍然闪退,多半是依赖未一同打包,请用 console=True 模式构建 PyInstaller 并查看错误。

Q:能不能用在 Linux/Mac?
A:核心算法跨平台,CLI 主体也跨平台,但 Sessions 目录的默认查找路径基于 %APPDATA%。在 *nix 上请显式 --sessions-dir


致谢

底层算法实现参考自社区已有的 SecureCRT 解密工作(securecrt_cipher.py),原作者请见文件头部注释或开源参考。


License

本项目以 [MIT License] 发布。securecrt_cipher.py 中借鉴自第三方的算法实现部分,请额外尊重其原始许可证。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-23 07:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表