首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扫描IP范围以查找SSL/TLS版本和具有可读/可读输出的漏洞

扫描IP范围以查找SSL/TLS版本和具有可读/可读输出的漏洞
EN

Server Fault用户
提问于 2020-06-08 09:40:03
回答 1查看 1.1K关注 0票数 1

我希望在网络上找到使用较早版本的tls/ssl的计算机。

到目前为止,我一直在使用nmap的ssl-enum-ciphers和ssl-poodle脚本,但是输出并不有用,因为它显示了所有可用的密码,例如:

代码语言:javascript
复制
Nmap scan report for x.x.x.x
Host is up (0.017s latency).

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   SSLv3:
|     ciphers:
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|     warnings:
|       CBC-mode cipher in SSLv3 (CVE-2014-3566)
|   TLSv1.0:
|     ciphers:
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A

我已经看到nmap有一个很好的输出选项"-oG“,但是我不确定它与脚本一起工作,或者我没有正确地使用它。

我一直在使用以下命令的变体

代码语言:javascript
复制
nmap -sV --script ssl-enum-ciphers -p 443 {ip address/netmask}

理想情况下,我希望输出看起来像

IP地址/主机名SSLv3 TLS1.0TLS1.2

但是,即使将其转换为.csv格式也是有帮助的。有更好的方法吗?也许我在这里缺少一些grep知识。

谢谢!

EN

回答 1

Server Fault用户

发布于 2020-06-08 11:42:42

如果您不介意awk,我已经编写了一个checkciphers.sh脚本,如下所示:

代码语言:javascript
复制
#! /usr/bin/ksh
nmap -sV --script ssl-enum-ciphers -p 443 | awk '
  /^Nmap scan report for /{
    currhost = $5 " " $6
  }
  /^443\/tcp /{
    if ($2 != "open") {
      currhost = ""
    }
  }
  /^\|   (TLS|SSL)/{
    currciph = $2
  }
  /^\|     ciphers:/{
    count = 1
    next
  }
  /^\|     [^ ]/{
    count = 0
  }
  /^\|       [^ ]/{
    if ("$currhost" && count > 0) {
      host[currhost] = 1
      ciph[currhost][currciph] += 1
    }
  }
  END {
    for (H in host) {
      CC=""
      for (C in ciph[H]) {
        CC=CC " " C ciph[H][C]
      }
      print H,CC
    }
  }
'
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1020494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档