判断是否支持Heartbeat的NSE脚本

服务端支持heartbeat是存在heartbleed漏洞的必要条件,如果判断出某SSL端口不支持heartbeat,那基本上就可以排除风险了。

在SSL握手阶段,如果Client Hello里声明了客户端支持heartbeat,那么服务端会在Server Hello中声明自己是否也支持heartbeat。

在ssl-enum-ciphers.nse的基础上,改了一个nse脚本(http://pan.baidu.com/s/1pJ37kF5),来根据上述特征判断SSL是否支持Heartbeat,该脚本在nmap 6.40下正常工作,貌似在5.x下会出错,一些定义有冲突。

[kussa@Kussa scripts]$ nmap --script ssl-heartbeat -p 443 passport.baidu.com

Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-10 09:59 CST
Nmap scan report for passport.baidu.com (61.135.185.194)
Host is up (0.0039s latency).
PORT    STATE SERVICE
443/tcp open  https
|_ssl-heartbeat: no

[kussa@Kussa scripts]$ nmap --script ssl-heartbeat -p 443 login.taobao.com

Starting Nmap 6.40 ( http://nmap.org ) at 2014-04-10 10:00 CST
Nmap scan report for login.taobao.com (42.156.184.11)
Host is up (0.030s latency).
PORT    STATE SERVICE
443/tcp open  https
|_ssl-heartbeat: yes

这个脚本可能对我们这样使用闭源方案比较多的公司比较有用,主要是为了借用nmap比较成熟的扫描机制,可以对公司做一次全网扫描,以排除潜在的风险,然后对扫描出的支持hearbeat的端口再做重点排查。

nmap --script ssl-heartbeat -Pn -p 443,993,995 -iL ip.txt -oN hb.txt

当然对脚本后面再加一个heartbeat的请求,就和那个python的PoC一样了……

PS(下面的说法没有经过严格验证):

1.现在的那个python的PoC貌似在处理有些服务器发来的Server Hello请求时会出错,服务端明明发回了Server Hello,但因为格式不兼容这个脚本而被忽略,就卡在等待Server Hello这一步了,根本没发heartbeat包。所以用那个PoC检测出有问题的一定是有问题,但检测没问题的不一定没问题。

2.这个脚本恰恰相反。

3.貌似无论是客户端还是服务端,微软的产品都不支持heartbeat,除非特别引入了OpenSSL的。

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2014-04-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

Java面试系列3

Java面试系列3 01 不得不知道的Java名词 1 . J2EE (Java 2 Enterprise Edition)是一种利用Java 2平台来简化企业...

34550
来自专栏微信公众号:Java团长

Java常用日志框架介绍

看了上面的介绍是否会觉得比较混乱,这些日志框架之间有什么异同,都是由谁在维护? 下文会逐一介绍。

16520
来自专栏用户2442861的专栏

java thrift TSimpleServer TNonblockingServer THsHaServer TThreadedSelectorServer TThreadPoolServer比较

https://github.com/m1ch1/mapkeeper/wiki/Thrift-Java-Servers-Compared

29020
来自专栏王小雷

在PaaS上开发Web、移动应用(2)

在PaaS上开发Web、移动应用(2) PaaS学习笔记目录 PaaS基础学习(1) 在PaaS上开发Web、移动应用(2) PaaS优点与限制(3) 6. 巨...

22860
来自专栏JackieZheng

学习SpringMVC——从HelloWorld开始

前言:   时隔十二年,中国女排最终过关斩将,用3:1的成绩证明了自己的实力,霸气夺冠,为中国赢得了一枚意义非常的金牌。这是一次全民的狂欢,一场视听盛宴,带给我...

22970
来自专栏Linyb极客之路

Java常用日志框架介绍

看了上面的介绍是否会觉得比较混乱,这些日志框架之间有什么异同,都是由谁在维护? 下文会逐一介绍。

25110
来自专栏张善友的专栏

REST 入门介绍

dudu的 HttpClient + ASP.NET Web API, WCF之外的另一个选择 讨论的人很多,说明RESTful API也开始在.NET 社区中...

23580
来自专栏针针小站

【Share】Dell Precision 5510 Mojave Clover分享

首先先感谢 @darkhandz @黑果小兵 @Scottsanett 等大佬的分享

1K20
来自专栏A周立SpringCloud

最简日志打印规范

个人认为,如果在公司的野蛮生长阶段,一些基础类库不做约束,很可能“埋坑”,形成技术债务,最终为此付出代价。本文讲解一个最简的日志打印规范。 事实上,日志打印规范...

67070
来自专栏向治洪

java项目管理工具maven使用初级

一、前言         早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java 的大...

28990

扫码关注云+社区

领取腾讯云代金券