monlist 放大攻击# ntp_amplify_sim.py - NTP server responding to monlist without authentication
import socket, struct
def ntp_monlist_response():
# Simplified NTP reply with many entries
return b'\x00' * 1200 # large response
server = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM)
server.bind(('::', 123))
while True:
data, addr = server.recvfrom(1024)
# Vulnerability: no authentication, monlist enabled
resp = ntp_monlist_response()
server.sendto(resp, addr)
monlist 放大攻击NTP 服务器在 IPv6 上支持 monlist 命令,且未实施访问控制。攻击者可发送一个小型伪造请求,服务器会向受害者反射一个远大于请求的响应,从而造成 DDoS 放大攻击。
monlist 功能会返回最近客户端的列表,生成的响应最大可达请求的 100 倍,且无需任何认证。启动模拟的 NTP 服务器:
python ntp_amplify_sim.py
攻击者发送一个伪造的 UDP 数据包;服务器将向受害者发起轰炸。