NTP放大攻击研究发现

本文介绍了NTP放大攻击的基本原理,这是一种利用NTP服务器将小请求转化为大响应的DDoS攻击形式。通过MONLIST命令,攻击者可以诱使NTP服务器向受害者的IP发送大量数据。作者进行了两个阶段的实验,扫描了特定IP范围,发现约2.76%的开放NTP端口服务器响应MONLIST命令,这意味着存在大量的NTP服务器可能被用于此类攻击。
摘要由CSDN通过智能技术生成

声明:

本文内容仅供学术研究,不作为违法乱纪使用,如有出现违规行为皆与作者、编辑、机构无关。

一、介绍

NTP放大攻击是DDOS的一种形式,它使用NTP服务器将小请求转换为大响应,然后将其定向到受害计算机。

NTP放大使用MONLIST命令。MONLIST命令指示NTP服务器使用使用该服务器的最后600个IP地址进行响应。通过欺骗MONLIST请求的源IP地址,它将使NTP服务器对欺骗的IP地址进行数据响应。您可以想象使用大量NTP服务器。如果所有邮件都发送了相同的MONLIST请求,其中欺骗者IP被欺骗为源地址,则可以将其用作DOS方法。

我显然不容忍这样做,但是尽管找到多少个NTP服务器可以放大数据很有趣。这绝不是一种新的攻击形式,因此您希望许多NTP服务器不响应MONLIST命令。这个怎么运作。

为了确定有多少NTP服务器响应MONLIST命令,我经历了两个单独的阶段。

阶段一 :

第一步是对UDP端口123(NTP端口)执行初始扫描。我使用以下命令使用masscan工具进行了此操作:

./masscan -pU:123 -oX ntp.xml --rate 160000 101.0.0.0-120.0.0.0

我的服务器只有很少的带宽,因此扫描速度很慢。因此,我选择仅在101.0.0.0-120.0.0.0地址范围上执行测试。范围是随机选择的。

扫描完成后,我将得到一个XML文件,其中包含已扫描并打开了端口123的所有设备。由于某种原因,我的masscan输出文件包含许多相同IP地址的重复条目。有时每个地址有100条记录。我创建了一个简单的python脚本,能够解析大型masscan输出文件,并删除所有重复的条目。该脚本将单个条目存储到名为port123.txt的文件中。

我用来执行此操作的脚本可以在下面找到:

from lxml import etree
port = None
address = None
parsedServers = []
#Opens the file used to store single enteries.
outputFile = open('port123.txt', 'a')
#Iterates through the masscan XML file.
for event, element in etree.iterparse('ntp.xml', tag="host"):
    for child in element:
        if child.tag == 'address':
            #Assigns the current iterations address to the address variable.
            address = child.attrib['addr']
        if child.tag == 'ports':
            for a in child:
                #Assigns the current iterations port to the port variable.
                port = a.attrib[
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知柯信安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值