目前https的普遍性越来越多,随之而来的攻击方式也新颖起来,本章详细介绍下NTP攻击方式。
网络时间协议的简称NTP。为何使用?即在通过网络协议同步计算机之前。
0x03NTP反射和增强攻击。
NTP反射放大攻击是什么意思?假如你听说过DNS反射和放大攻击,就会很容易理解这个。各种协议具有同样的作用。
首先说明辐射和放大攻击:
不管是基于NTP还是基于NTP,最终都是基于UDP的。通常,客户机将请求包发送给服务器,服务器以UDP协议将响应包返回给客户机。但UDP协议没有连接,很容易为客户端发送的请求包伪造源IP。如果源IP被修改成了受害者IP,服务器返回的响应包最终返回给受害者IP。它构成反射攻击。
扩容攻击是指一个非常小的请求包将最终接收到一个或多个响应包的数量是请求包数量的许多倍,从而达到四对的效果。
然后我们再看一下NTP的反射放大攻击。ntp包含monlist函数MON_GETLIST,它主要用来监视NTP服务器。在NTP服务器响应monlist之后,与NTP服务器同步的最后600个客户机的IP将及时返回。每6个IP对响应包进行划分,至多100个响应包。
从monlist被发送到一个NTP服务器上,我们可以通过nydc命令看到实际情况和包捕获情况。
从上面的命令行中,我们可以看到,monlist请求接收到602行数据,不过,前两行数据无效,是600个客户机的IP列表。此外,从上图wireshark中可以看到,除了一个请求包,恰好是100个响应包之外,NTP还有101个NTP协议包。
如上图所示,请求包大小为234字节,每个响应包的大小为482字节。只要简单的根据这些数据,就可以计算出一个482*100/234=206倍的倍率。实际上,如果你写了攻击脚本,请求包就会变小,倍数也会变大。它是不是很牛逼?