Project Icon

ssh-audit

全面的SSH安全审计工具 助力服务器和客户端配置加固

ssh-audit是一款开源的SSH配置审计工具,可全面分析服务器和客户端的SSH协议、算法和密钥等信息。它能识别潜在安全风险,提供针对性加固建议,支持标准审计和策略审计,还可进行DoS攻击测试。该工具跨平台兼容,无外部依赖,是IT管理员和安全人员进行SSH安全评估与加固的实用工具。

ssh-audit

许可证 PyPI 下载量 Docker 拉取次数 构建状态 欢迎提交PR

ssh-audit 是一个用于审计 SSH 服务器和客户端配置的工具。

jtesta/ssh-audit (v2.0+) 是从 arthepsy/ssh-audit (v1.x) 分叉而来的更新和维护版本,由于原项目不再活跃。

功能特点

  • 支持 SSH1 和 SSH2 协议服务器;
  • 分析 SSH 客户端配置;
  • 获取横幅信息,识别设备或软件和操作系统,检测压缩;
  • 收集密钥交换、主机密钥、加密和消息认证码算法;
  • 输出算法信息(可用时间、移除/禁用、不安全/弱/遗留等);
  • 输出算法建议(基于识别的软件版本增加或移除);
  • 输出安全信息(相关问题、分配的 CVE 列表等);
  • 基于算法信息分析 SSH 版本兼容性;
  • 来自 OpenSSH、Dropbear SSH 和 libssh 的历史信息;
  • 策略扫描以确保符合加固/标准配置;
  • 可在 Linux 和 Windows 上运行;
  • 支持 Python 3.8 - 3.12;
  • 无依赖

使用方法

用法: ssh-audit.py [选项] <主机>

   -h,  --help             打印帮助信息
   -1,  --ssh1             仅强制使用 ssh 版本 1
   -2,  --ssh2             仅强制使用 ssh 版本 2
   -4,  --ipv4             启用 IPv4 (优先顺序)
   -6,  --ipv6             启用 IPv6 (优先顺序)
   -b,  --batch            批处理输出
   -c,  --client-audit     在端口 2222 上启动服务器以审计客户端
                               软件配置 (使用 -p 更改端口;
                               使用 -t 更改超时)
        --conn-rate-test=N[:max_rate]  执行连接速率测试(用于收集与
                                       DHEat 漏洞相关的敏感性指标)。
                                       使用 N 个并发套接字进行测试,
                                       可选择设置每秒最大连接速率。
   -d,  --debug            启用调试输出。
        --dheat=N[:kex[:e_len]]    使用 N 个并发套接字持续对目标执行
                                   DHEat DoS 攻击(CVE-2002-20001)。
                                   可以选择指定特定的密钥交换算法,
                                   而不是自动选择。此外,可以选择
                                   发送给服务器的伪 e 值的较小长度
                                   以提高攻击效率(如 4)。
   -g,  --gex-test=<x[,y,...]>  dh gex 模数大小测试
                   <min1:pref1:max1[,min2:pref2:max2,...]>
                   <x-y[:step]>
   -j,  --json             JSON 输出(使用 -jj 启用缩进)
   -l,  --level=<level>    最低输出级别 (info|warn|fail)
   -L,  --list-policies    列出所有官方内置策略。与 -v 一起使用
                               可查看策略变更日志。
        --lookup=<alg1,alg2,...>    查找算法而不连接到服务器
   -m,  --manual           打印手册页(仅适用于 Docker、PyPI、Snap
                                    和 Windows 构建)
   -M,  --make-policy=<policy.txt>  基于目标服务器创建策略
                                    (即:目标服务器具有其他服务器
                                    应遵循的理想配置)
   -n,  --no-colors        禁用颜色
   -p,  --port=<port>      连接端口
   -P,  --policy=<"策略名称" | policy.txt>  使用指定策略运行策略测试
        --skip-rate-test   在标准审计期间跳过连接速率测试
                               (用于安全推断 DHEat 攻击是否可行)
   -t,  --timeout=<secs>   连接和读取超时(秒)
                               (默认:5)
   -T,  --targets=<hosts.txt>  包含目标主机列表的文件(每行一个,
                                   格式为 HOST[:PORT])
        --threads=<threads>    扫描多个目标时使用的线程数
                                   (-T/--targets)(默认:32)
   -v,  --verbose          详细输出
  • 如果同时使用 IPv4 和 IPv6,可以通过使用 -46-64 设置优先顺序。
  • 批处理标志 -b 将输出不带标题和空行的部分(隐含详细标志)。
  • 详细标志 -v 将为每行添加部分类型和算法名称前缀。
  • 当所有算法都被认为是安全的(对于标准审计),或策略检查通过(对于策略审计)时,将返回退出代码 0。

基本服务器审计:

ssh-audit localhost
ssh-audit 127.0.0.1
ssh-audit 127.0.0.1:222
ssh-audit ::1
ssh-audit [::1]:222

对多个服务器进行标准审计(将目标放入 servers.txt 文件中,每行一个,格式为 HOST[:PORT]):

ssh-audit -T servers.txt

审计客户端配置(默认监听端口 2222;使用 ssh -p 2222 anything@localhost 连接):

ssh-audit -c

审计客户端配置,监听端口 4567:

ssh-audit -c -p 4567

列出所有官方内置策略(提示:将结果策略名称与 -P/--policy 一起使用):

ssh-audit -L

对服务器运行策略审计:

ssh-audit -P ["策略名称" | path/to/server_policy.txt] 目标服务器

对客户端运行策略审计:

ssh-audit -c -P ["策略名称" | path/to/client_policy.txt]

对多个服务器运行策略审计:

ssh-audit -T servers.txt -P ["策略名称" | path/to/server_policy.txt]

基于目标服务器创建策略(可手动编辑):

ssh-audit -M new_policy.txt 目标服务器

使用 10 个并发套接字对目标运行 DHEat CPU 耗尽 DoS 攻击(CVE-2002-20001):

ssh-audit --dheat=10 目标服务器

使用 diffie-hellman-group-exchange-sha256 密钥交换算法运行 DHEat 攻击:

ssh-audit --dheat=10:diffie-hellman-group-exchange-sha256 目标服务器

使用 diffie-hellman-group-exchange-sha256 密钥交换算法和非常小但非标准的数据包长度运行 DHEat 攻击(这可能会导致相同的 CPU 耗尽,但每秒发送的字节数更少):

ssh-audit --dheat=10:diffie-hellman-group-exchange-sha256:4 目标服务器

截图

服务器标准审计示例

以下是连接到未加固的 OpenSSH v5.3 服务时标准服务器审计输出的截图: 截图

服务器策略审计示例

以下是连接到未加固的 Ubuntu Server 20.04 机器时策略审计输出的截图(提示:使用 -L/--list-policies 查看内置策略的名称,可与 -P/--policy 一起使用): 截图

应用加固指南中的步骤(见下文)后,输出变为以下内容: 截图

客户端标准审计示例

以下是未加固的 OpenSSH v7.2 客户端连接时客户端审计输出的截图: 客户端截图

加固指南

服务器和客户端配置的加固指南可在此处找到:https://www.ssh-audit.com/hardening_guides.html

预构建包

Windows(见发布页面)、PyPI、Snap 和 Docker 均提供预构建包:

从 PyPI 安装:

$ pip3 install ssh-audit

安装 Snap 包:

$ snap install ssh-audit

从 Dockerhub 安装:

$ docker pull positronsecurity/ssh-audit

(然后运行:docker run -it --rm -p 2222:2222 positronsecurity/ssh-audit 10.1.1.1

其他平台包的状态可在下方查看(通过 Repology):

打包状态

Web 前端

为方便起见,命令行工具的 Web 前端可在 https://www.ssh-audit.com/ 使用。

更新日志

v3.3.0-dev(???)

  • 为 Ubuntu 24.04 LTS 服务器和客户端以及 OpenSSH 9.8 添加了内置策略。
  • 为 DHEat 和连接速率测试添加了 IPv6 支持。
  • 在 JSON 策略扫描结果中添加了 TCP 端口信息;感谢 Fabian Malte Kopp
  • 添加了 LANcom LCOS 服务器识别和 Ed448 密钥提取;感谢 Daniel Lenski
  • 修复了同时使用 -P-T 选项时的崩溃问题。
  • 修复了主机密钥测试仅报告一种密钥类型最多一次的问题,尽管多个主机支持它;感谢 Daniel Lenski

v3.2.0(2024-04-22)

  • 添加了 DHEat 拒绝服务攻击的实现(见 --dheat 选项;CVE-2002-20001)。
  • 扩展了 CBC 密码的过滤,以标记 Terrapin 漏洞。现在包括更多罕见的密码。
  • 修复了对主机密钥上 ecdsa-sha2-nistp* CA 签名的解析。此外,它们现在被标记为可能被后门,就像标准主机密钥一样。
  • 在执行 GEX 测试时优雅地处理罕见的异常(即崩溃)。
  • 内置手册页(-m--manual)现在可在 Docker、PyPI 和 Snap 构建中使用,除了 Windows 构建。
  • Snap 构建现在与架构无关。
  • 将 Docker 基础镜像从 python:3-slim 更改为 python:3-alpine,使镜像大小减少 59%;感谢 Daniel Thamdrup
  • 为 Amazon Linux 2023、Debian 12、OpenSSH 9.7 和 Rocky Linux 9 添加了内置策略。
  • 内置策略现在包括更改日志(使用 -L -v 查看)。
  • 自定义策略现在支持 allow_algorithm_subset_and_reordering 指令,允许目标通过子集和/或重新排序的主机密钥、密钥交换、密码和 MAC 列表。这允许创建基准策略,目标可以选择实施更严格的控制;部分感谢 yannik1015
  • 自定义策略现在支持 allow_larger_keys 指令,允许目标通过更大的主机密钥、CA 密钥和 Diffie-Hellman 密钥。这允许创建基准策略,目标可以选择实施更严格的控制;部分感谢 Damian Szuberski
  • 如果设置了 NO_COLOR 环境变量,则禁用彩色输出(参见 https://no-color.org/)。
  • 添加了 1 种新的密钥交换算法:gss-nistp384-sha384-*
  • 添加了 1 种新的密码:aes128-ocb@libassh.org

v3.1.0(2023-12-20)

  • 添加了 Terrapin 消息前缀截断漏洞测试(CVE-2023-48795)。
  • 停止支持 Python 3.7(2023 年 6 月达到 EOL)。
  • 添加 Python 3.12 支持。
  • 在服务器策略中,将预期的 DH 模数大小从 4096 减少到 3072,以匹配在线加固指南(注意,3072 位模数提供相当于 128 位对称安全性)。
  • 在 Ubuntu 22.04 客户端策略中,将主机密钥类型 sk-ssh-ed25519@openssh.comssh-ed25519 移到所有证书类型的末尾。
  • 更新了 Ubuntu 服务器和客户端策略(20.04 和 22.04 版本),以考虑 Terrapin 漏洞补丁导致的密钥交换列表变化。
  • 重新组织了 OpenSSH 9.2 服务器策略的可选主机密钥类型,以对应更新的 Debian 12 加固指南。
  • 为 OpenSSH 9.5 和 9.6 添加了内置策略。
  • 在 JSON 输出中添加了 additional_notes 字段。

v3.0.0 (2023-09-07)

  • 修复了并发扫描多个主机时结果不当合并的问题;该漏洞由 Adam Russell 发现。
  • 主机名解析失败不再导致对多个主机的扫描意外终止;感谢 Dani Cuesta
  • 由警告产生的算法建议现在以黄色而非红色打印;感谢 Adam Russell
  • 在 JSON 输出中添加了失败、警告和信息注释(请注意,这导致了横幅协议、"enc"和"mac"字段的重大变更);感谢 Bareq Al-Azzawi
  • Docker Makefile 现在为 amd64、arm64 和 armv7 创建多架构构建;感谢 Sebastian Cohnen
  • 修复了 GEX 测试期间的崩溃问题。
  • 改进了针对 OpenSSH 服务器的 GEX 测试:当怀疑触发回退机制时,执行额外测试以获得更准确的结果。
  • 当相关算法被评为良好时,所有注释的颜色将以绿色打印。
  • 为 Ubuntu 22.04 LTS 客户端策略优先考虑主机密钥证书算法。
  • 将所有 NIST K-、B- 和 T-曲线标记为未经证实,因为它们极少使用。
  • 添加了 OpenSSH 9.4 的内置策略。
  • 新增 12 种主机密钥:ecdsa-sha2-curve25519ecdsa-sha2-nistb233ecdsa-sha2-nistb409ecdsa-sha2-nistk163ecdsa-sha2-nistk233ecdsa-sha2-nistk283ecdsa-sha2-nistk409ecdsa-sha2-nistp224ecdsa-sha2-nistp192ecdsa-sha2-nistt571ssh-dsax509v3-sign-rsa-sha256
  • 新增 15 种密钥交换:curve448-sha512@libssh.orgecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.orgecdh-nistp384-kyber-768r3-sha384-d00@openquantumsafe.orgecdh-nistp521-kyber-1024r3-sha512-d00@openquantumsafe.orgecdh-sha2-brainpoolp256r1@genua.deecdh-sha2-brainpoolp384r1@genua.deecdh-sha2-brainpoolp521r1@genua.dekexAlgoDH14SHA1kexAlgoDH1SHA1kexAlgoECDH256kexAlgoECDH384kexAlgoECDH521sm2kep-sha2-nistp256x25519-kyber-512r3-sha256-d00@amazon.comx25519-kyber512-sha512@aws.amazon.com
  • 新增 8 种加密算法:aes192-gcm@openssh.comcast128-12-cbccast128-12-cfbcast128-12-ecbcast128-12-ofbdes-cfbdes-ecbdes-ofb
  • 新增 14 种 MAC:cbcmac-3descbcmac-aescbcmac-blowfishcbcmac-descbcmac-rijndaelcbcmac-twofishhmac-sha256-96md5md5-8ripemd160ripemd160-8sha1sha1-8umac-128

v2.9.0 (2023-04-29)

  • 由于Python 3.6在2021年底已达到生命周期结束(EOL),因此停止支持。
  • 添加了Ubuntu Server和Client 22.04的加固策略。
  • 移除了sntrup761x25519-sha512@openssh.com的实验性警告标签。
  • 更新了CVE数据库;感谢Alexandre Zanni
  • 添加了-g--gex-test选项,用于详细的GEX模数大小测试;感谢Adam Russell
  • Snap包在遇到权限错误时现在会打印更友好的错误信息。
  • JSON输出中的'target'字段现在始终包含端口号;感谢tomatohater1337
  • JSON输出现在包含建议和CVE数据。
  • 现在可以正确处理混合主机密钥/CA密钥类型(例如:由ED25519 CA签名的RSA主机密钥等)。
  • 现在会对2048位模数打印警告;部分感谢Adam Russell
  • SHA-1算法现在会导致失败。
  • CBC模式加密现在是警告而不是失败。
  • 通用失败/警告信息已替换为更具体的原因(例如:'使用弱加密'变为'使用已破解的RC4加密')。
  • 更新了内置策略,包含缺失的主机密钥大小信息。
  • 为OpenSSH 8.8、8.9、9.0、9.1、9.2和9.3添加了内置策略。
  • 新增33种主机密钥:dsa2048-sha224@libassh.orgdsa2048-sha256@libassh.orgdsa3072-sha256@libassh.orgecdsa-sha2-1.3.132.0.10-cert-v01@openssh.comeddsa-e382-shake256@libassh.orgeddsa-e521-shake256@libassh.orgnullpgp-sign-dsspgp-sign-rsaspki-sign-dssspki-sign-rsassh-dss-sha224@ssh.comssh-dss-sha384@ssh.comssh-dss-sha512@ssh.comssh-ed448-cert-v01@openssh.comssh-rsa-sha224@ssh.comssh-rsa-sha2-256ssh-rsa-sha2-512ssh-rsa-sha384@ssh.comssh-rsa-sha512@ssh.comssh-xmss-cert-v01@openssh.comssh-xmss@openssh.comwebauthn-sk-ecdsa-sha2-nistp256@openssh.comx509v3-ecdsa-sha2-1.3.132.0.10x509v3-sign-dss-sha1x509v3-sign-dss-sha224@ssh.comx509v3-sign-dss-sha256@ssh.comx509v3-sign-dss-sha384@ssh.comx509v3-sign-dss-sha512@ssh.comx509v3-sign-rsa-sha1x509v3-sign-rsa-sha224@ssh.comx509v3-sign-rsa-sha384@ssh.comx509v3-sign-rsa-sha512@ssh.com
  • 新增46种密钥交换:diffie-hellman-group14-sha224@ssh.comdiffie-hellman_group17-sha512diffie-hellman-group-exchange-sha224@ssh.comdiffie-hellman-group-exchange-sha384@ssh.comecdh-sha2-1.2.840.10045.3.1.1ecdh-sha2-1.2.840.10045.3.1.7ecdh-sha2-1.3.132.0.1ecdh-sha2-1.3.132.0.16ecdh-sha2-1.3.132.0.26ecdh-sha2-1.3.132.0.27ecdh-sha2-1.3.132.0.33ecdh-sha2-1.3.132.0.34ecdh-sha2-1.3.132.0.35ecdh-sha2-1.3.132.0.36ecdh-sha2-1.3.132.0.37ecdh-sha2-1.3.132.0.38ecdh-sha2-4MHB+NBt3AlaSRQ7MnB4cg==ecdh-sha2-5pPrSUQtIaTjUSt5VZNBjg==ecdh-sha2-9UzNcgwTlEnSCECZa7V1mw==ecdh-sha2-D3FefCjYoJ/kfXgAyLddYA==ecdh-sha2-h/SsxnLCtRBh7I9ATyeB3A==ecdh-sha2-m/FtSAmrV4j/Wy6RVUaK7A==ecdh-sha2-mNVwCXAoS1HGmHpLvBC94w==ecdh-sha2-qCbG5Cn/jjsZ7nBeR7EnOA==ecdh-sha2-qcFQaMAMGhTziMT0z+Tuzw==ecdh-sha2-VqBg4QRPjxx1EXZdV0GdWQ==ecdh-sha2-wiRIU8TKjMZ418sMqlqtvQ==ecdh-sha2-zD/b3hu/71952ArpUG4OjQ==ecmqv-sha2gss-13.3.132.0.10-sha256-*gss-curve25519-sha256-*gss-curve448-sha512-*gss-gex-sha1-*gss-gex-sha256-*gss-group14-sha1-*gss-group14-sha256-*gss-group15-sha512-*gss-group16-sha512-*gss-group17-sha512-*gss-group18-sha512-*gss-group1-sha1-*gss-nistp256-sha256-*gss-nistp384-sha256-*gss-nistp521-sha512-*m383-sha384@libassh.orgm511-sha512@libassh.org
  • 新增28种加密算法:3des-cfb3des-ecb3des-ofbblowfish-cfbblowfish-ecbblowfish-ofbcamellia128-cbc@openssh.orgcamellia128-ctr@openssh.orgcamellia192-cbc@openssh.orgcamellia192-ctr@openssh.orgcamellia256-cbc@openssh.orgcamellia256-ctr@openssh.orgcast128-cfbcast128-ecbcast128-ofbcast128-12-cbc@ssh.comidea-cfbidea-ecbidea-ofbrijndael-cbc@ssh.comseed-ctr@ssh.comserpent128-gcm@libassh.orgserpent256-gcm@libassh.orgtwofish128-gcm@libassh.orgtwofish256-gcm@libassh.orgtwofish-cfbtwofish-ecbtwofish-ofb
  • 新增5种MAC算法:hmac-sha1-96@openssh.comhmac-sha224@ssh.comhmac-sha256-2@ssh.comhmac-sha384@ssh.comhmac-whirlpool

v2.5.0(2021-08-26)

  • 修复了运行主机密钥测试时崩溃的问题。
  • 更优雅地处理服务器连接失败。
  • 使用-jj时现在会打印带缩进的JSON(对调试有用)。
  • 在详细输出中添加了MD5指纹。
  • 添加了-d/--debug选项以获取调试输出;感谢Adam Russell
  • 更新了JSON输出,包含MD5指纹。注意,这导致了'fingerprints'字典格式的重大变更。
  • 更新了OpenSSH 8.1(及更早版本)策略,包含rsa-sha2-512rsa-sha2-256
  • 添加了OpenSSH v8.6和v8.7策略。
  • 新增3种密钥交换:gss-gex-sha1-eipGX3TCiQSrx573bT1o1Q==gss-group1-sha1-eipGX3TCiQSrx573bT1o1Q==gss-group14-sha1-eipGX3TCiQSrx573bT1o1Q==
  • 新增3种MAC算法:hmac-ripemd160-96AEAD_AES_128_GCMAEAD_AES_256_GCM

v2.4.0(2021-02-23)

  • 添加了多线程扫描支持。
  • 添加了内置Windows手册页(见-m/--manual);感谢Adam Russell
  • 为OpenSSH用户枚举(CVE-2018-15473)添加了版本检查。
  • 为基于SHA-1的主机密钥类型添加了弃用说明。
  • 为SSHv1添加了额外警告。
  • 添加了内置的OpenSSH v8.5加固策略。
  • 将基于SHA-1的主机密钥类型的警告升级为失败。
  • 修复了在主机密钥测试期间收到意外响应时崩溃的问题。
  • 修复了对旧版思科设备进行主机密钥测试和gex测试时挂起的问题。
  • 修复了扫描多个目标时,一个目标返回错误导致不正确终止的问题。
  • 放弃对Python 3.5的支持(该版本于2020年9月达到生命周期结束)。
  • 新增1种密钥交换:sntrup761x25519-sha512@openssh.com

v2.3.1(2020-10-28)

  • 现在可以解析rsa-sha2-256-cert-v01@openssh.comrsa-sha2-512-cert-v01@openssh.com主机密钥类型的公钥大小。
  • 由于使用SHA-1哈希,将ssh-rsa-cert-v01@openssh.com标记为失败。
  • 修复了建议输出中不当抑制某些算法的错误。
  • 内置策略现在包括CA密钥要求(如果使用证书)。
  • 查找功能(--lookup)现在执行不区分大小写的相似算法查找;感谢Adam Russell
  • 将预制策略从外部文件迁移到内部数据库。
  • 将单个3,500行脚本拆分为多个文件(按类)。
  • 添加了setup.py支持;感谢Ganden Schaffner
  • 新增1种加密算法:des-cbc@ssh.com

v2.3.0(2020-09-27)

  • 添加了新的策略审计功能,用于测试对加固指南/标准配置的遵守情况(参见-L/--list-policies-M/--make-policy-P/--policy)。有关深入教程,请参阅https://www.positronsecurity.com/blog/2020-09-27-ssh-policy-configuration-checks-with-ssh-audit/
  • 创建了新的man页面(见ssh-audit.1文件)。
  • 将1024位模数从警告升级为失败。
  • 进行了多项Python 2代码清理、测试框架改进、pylint和flake8修复,以及mypy类型注释;感谢Jürgen Gmach
  • 添加了在内部数据库中查找算法的功能(见--lookup);感谢Adam Russell
  • 抑制对令牌主机密钥类型的建议。
  • 添加了对PuTTY v0.73中使用后释放漏洞的检查。
  • 新增11种主机密钥类型:ssh-rsa1ssh-dss-sha256@ssh.comssh-gost2001ssh-gost2012-256ssh-gost2012-512spki-sign-rsassh-ed448x509v3-ecdsa-sha2-nistp256x509v3-ecdsa-sha2-nistp384x509v3-ecdsa-sha2-nistp521x509v3-rsa2048-sha256
  • 新增8种密钥交换:diffie-hellman-group1-sha256kexAlgoCurve25519SHA256Curve25519SHA256gss-group14-sha256-gss-group15-sha512-gss-group16-sha512-gss-nistp256-sha256-gss-curve25519-sha256-
  • 新增5种加密算法:blowfishAEAD_AES_128_GCMAEAD_AES_256_GCMcrypticore128@ssh.comseed-cbc@ssh.com
  • 新增3种MAC算法:chacha20-poly1305@openssh.comhmac-sha3-224crypticore-mac@ssh.com

v2.2.0(2020-03-11)

  • 由于SHA-1实际碰撞,将主机密钥类型ssh-rsa标记为弱。
  • 添加了Windows构建。
  • 新增10种主机密钥类型:ecdsa-sha2-1.3.132.0.10x509v3-sign-dssx509v3-sign-rsax509v3-sign-rsa-sha256@ssh.comx509v3-ssh-dssx509v3-ssh-rsask-ecdsa-sha2-nistp256-cert-v01@openssh.comsk-ecdsa-sha2-nistp256@openssh.comsk-ssh-ed25519-cert-v01@openssh.comsk-ssh-ed25519@openssh.com
  • 新增18种密钥交换:diffie-hellman-group14-sha256@ssh.comdiffie-hellman-group15-sha256@ssh.comdiffie-hellman-group15-sha384@ssh.comdiffie-hellman-group16-sha384@ssh.comdiffie-hellman-group16-sha512@ssh.comdiffie-hellman-group18-sha512@ssh.comecdh-sha2-curve25519ecdh-sha2-nistb233ecdh-sha2-nistb409ecdh-sha2-nistk163ecdh-sha2-nistk233ecdh-sha2-nistk283ecdh-sha2-nistk409ecdh-sha2-nistp192ecdh-sha2-nistp224ecdh-sha2-nistt571gss-gex-sha1-gss-group1-sha1-
  • 新增9种加密算法:camellia128-cbccamellia128-ctrcamellia192-cbccamellia192-ctrcamellia256-cbccamellia256-ctraes128-gcmaes256-gcmchacha20-poly1305
  • 新增2种MAC算法:aes128-gcmaes256-gcm

v2.1.1(2019-11-26)

  • 新增2种主机密钥类型:rsa-sha2-256-cert-v01@openssh.comrsa-sha2-512-cert-v01@openssh.com
  • 新增2种加密算法:des3des
  • 新增3个PuTTY漏洞。
  • 在客户端测试期间,现在在输出中列出客户端IP地址。

v2.1.0 (2019年11月14日)

  • 新增客户端软件审计功能(见 -c / --client-audit 选项)。
  • 新增 JSON 输出选项(见 -j / --json 选项;感谢 Andreas Jaggi)。
  • 修复扫描 Solaris Sun_SSH 时的崩溃问题。
  • 新增9种密钥交换算法:gss-group1-sha1-toWM5Slw5Ew8Mqkay+al2g==gss-gex-sha1-toWM5Slw5Ew8Mqkay+al2g==gss-group14-sha1-gss-group14-sha1-toWM5Slw5Ew8Mqkay+al2g==gss-group14-sha256-toWM5Slw5Ew8Mqkay+al2g==gss-group15-sha512-toWM5Slw5Ew8Mqkay+al2g==diffie-hellman-group15-sha256ecdh-sha2-1.3.132.0.10curve448-sha512
  • 新增1种主机密钥类型:ecdsa-sha2-1.3.132.0.10
  • 新增4种加密算法:idea-cbcserpent128-cbcserpent192-cbcserpent256-cbc
  • 新增6种MAC算法:hmac-sha2-256-96-etm@openssh.comhmac-sha2-512-96-etm@openssh.comhmac-ripemdhmac-sha256-96@ssh.comumac-32@openssh.comumac-96@openssh.com

v2.0.0 (2019年8月29日)

  • https://github.com/arthepsy/ssh-audit 分叉(原项目开发停滞,开发者失联)。
  • 新增 RSA 主机密钥长度测试。
  • 新增 RSA 证书密钥长度测试。
  • 新增 Diffie-Hellman 模数大小测试。
  • 现在输出 RSA 和 ED25519 的主机密钥指纹。
  • 新增5种密钥交换算法:sntrup4591761x25519-sha512@tinyssh.orgdiffie-hellman-group-exchange-sha256@ssh.comdiffie-hellman-group-exchange-sha512@ssh.comdiffie-hellman-group16-sha256diffie-hellman-group17-sha512
  • 新增3种加密算法:des-cbc-ssh1blowfish-ctrtwofish-ctr
  • 新增10种MAC算法:hmac-sha2-56hmac-sha2-224hmac-sha2-384hmac-sha3-256hmac-sha3-384hmac-sha3-512hmac-sha256hmac-sha256@ssh.comhmac-sha512hmac-512@ssh.com
  • 新增命令行参数(-t / --timeout)用于设置连接和读取超时。
  • 更新 libssh 和 Dropbear 的 CVE 信息。

v1.7.0 (2016年10月26日)

  • 实现选项允许指定 IPv4/IPv6 的使用和优先顺序
  • 实现选项指定远程端口(保留旧行为以兼容)
  • 通过可选的 colorama 依赖为 Microsoft Windows 添加颜色支持
  • 修复编码和解码问题,添加测试,避免编码错误导致崩溃
  • 使用 mypy-lang 进行静态类型检查并验证所有代码

v1.6.0 (2016年10月14日)

  • 实现算法推荐部分(基于识别的软件)
  • 实现完整的 libssh 支持(版本历史、算法、安全性等)
  • 修复 SSH-1.99 banner 识别和版本比较功能
  • 不输出空算法(发生在配置错误的服务器上)
  • 使 Python 3.x 版本的输出保持一致
  • 添加大量测试(配置、banner、软件、SSH1/SSH2、输出等)
  • 使用 Travis CI 测试多个 Python 版本(2.6-3.5、pypy、pypy3)

v1.5.0 (2016年9月20日)

  • 创建安全部分以包含相关安全信息
  • 匹配并输出 Dropbear SSH 的已分配 CVE 列表和安全问题
  • 实现完整的 SSH1 支持,包括指纹信息
  • 在协议不匹配时自动回退到 SSH1
  • 添加新选项强制使用 SSH1 或 SSH2(默认两者都允许)
  • 解析 banner 信息并转换为特定软件和操作系统版本
  • 批处理模式下不使用填充
  • 多项修复(Cisco sshd、罕见的挂起、错误处理等)

v1.0.20160902

  • 实现批处理输出选项
  • 实现最小输出级别选项
  • 修复与 Python 2.6 的兼容性

v1.0.20160812

  • 实现 SSH 版本兼容性功能
  • 修复错误的 MAC 算法警告
  • 修复 Dropbear SSH 版本拼写错误
  • 解析预 banner 头
  • 改进错误处理

v1.0.20160803

  • 使用 OpenSSH 7.3 banner
  • 添加新的密钥交换算法

v1.0.20160207

  • 使用 OpenSSH 7.2 banner
  • 为 OpenSSH 7.2 添加额外警告
  • 修复 OpenSSH 7.0 失败消息
  • 添加来自 OpenSSH 6.7 的 rijndael-cbc 失败消息

v1.0.20160105

  • 多个额外警告
  • 支持 none 算法
  • 改进压缩处理
  • 确保读取足够数据(修复部分 Linux SSH)

v1.0.20151230

  • Dropbear SSH 支持

v1.0.20151223

  • 初始版本
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号