jolt2.c是在一个死循环中不停的发送一个ICMP/UDP的IP碎片,可以使Windows系统的机器死锁。我们测试了没打SP的Windows 2000,CPU利用率会立即上升到100%,鼠标无法移动。
我们用Snort分别抓取采用ICMP和UDP协议发送的数据包。
发送的ICMP包:
01/07-15:33:26.974096 192.168.0.9 -> 192.168.0.1
ICMP TTL:255 TOS:0x0 ID:1109 IpLen:20 DgmLen:29
Frag Offset: 0x1FFE Frag Size: 0x9
08 00 00 00 00 00 00 00 00 .........
发送的UDP包:
01/10-14:21:00.298282 192.168.0.9 -> 192.168.0.1
UDP TTL:255 TOS:0x0 ID:1109 IpLen:20 DgmLen:29
Frag Offset: 0x1FFE Frag Size: 0x9
04 D3 04 D2 00 09 00 00 61 ........a
从上面的结果可以看出:
◆分片标志位MF=0,说明是最后一个分片。
◆偏移量为0x1FFE,计算重组后的长度为 (0x1FFE *8) + 29 = 65549 >65535,溢出。
◆IP包的ID为1109,可以作为IDS检测的一个特征。
◆ICMP包:
类型为8、代码为0,是Echo Request;
校验和为0x0000,程序没有计算校验,所以确切的说这个ICMP包是非法的。
◆UDP包:
目的端口由用户在命令参数中指定;
源端口是目的端口和1235进行OR的结果;
校验和为0x0000,和ICMP的一样,没有计算,非法的UDP。
净荷部分只有一个字符‘a‘。
jolt2.c应该可以伪造源IP地址,但是源程序中并没有把用户试图伪装的IP地址赋值给src_addr,不知道是不是故意的。
jolt2的影响相当大,通过不停的发送这个偏移量很大的数据包,不仅死锁未打补丁的Windows系统,同时也大大增加了网络流量。曾经有人利用jolt2模拟网络流量,测试IDS在高负载流量下的攻击检测效率,就是利用这个特性。
【编辑推荐】
- 深度认知:磁盘碎片给安全带来什么威胁
- Linux内核碎片重组远程拒绝服务攻击漏洞
- Linux smbfs smb_receive_trans2碎片重发非法计数漏洞
- Microsoft Windows 98 UDP碎片淹没远程拒绝服务攻击漏洞
推荐阅读
Linux系统最近被找出两个漏洞,一个是与甲骨文所贡献的RDS(Reliable Datagram Sockets)协定有关,另一个则与GNU C的数据库有关,均可能让入侵的黑客取得Linux系统的最高管理人员权限(Root)。第一个漏洞由网络安全>>>详细阅读
本文标题:jolt2.c是什么?
地址:http://www.17bianji.com/anquan/buding/785.html
1/2 1