From owner-freebsd-net@FreeBSD.ORG Wed Mar 31 12:54:08 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5C16216A4CE for ; Wed, 31 Mar 2004 12:54:08 -0800 (PST) Received: from gw.celabo.org (gw.celabo.org [208.42.49.153]) by mx1.FreeBSD.org (Postfix) with ESMTP id C16BA43D55 for ; Wed, 31 Mar 2004 12:54:07 -0800 (PST) (envelope-from nectar@celabo.org) Received: from madman.celabo.org (madman.celabo.org [10.0.1.111]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "madman.celabo.org", Issuer "celabo.org CA" (not verified)) by gw.celabo.org (Postfix) with ESMTP id 4605F5487E for ; Wed, 31 Mar 2004 14:54:07 -0600 (CST) Received: by madman.celabo.org (Postfix, from userid 1001) id F17E26D465; Wed, 31 Mar 2004 14:54:06 -0600 (CST) Date: Wed, 31 Mar 2004 14:54:06 -0600 From: "Jacques A. Vidrine" To: freebsd-net@freebsd.org Message-ID: <20040331205406.GD16803@madman.celabo.org> Mail-Followup-To: "Jacques A. Vidrine" , freebsd-net@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Url: http://www.celabo.org/ User-Agent: Mutt/1.5.6i Subject: Fwd: [IPv4 fragmentation --> The Rose Attack] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Mar 2004 20:54:08 -0000 ----- Forwarded message from gandalf@digital.net ----- Date: Tue, 30 Mar 2004 22:18:05 -0600 From: gandalf@digital.net To: bugtraq@securityfocus.com Subject: IPv4 fragmentation --> The Rose Attack Message-ID: Greetings and Salutations: While this discussion pertains to IPv4, IPv6 also allows fragmentation and I suspect IPv6 will also be affected by this attack. I have created what I believe is a unique fragmented attack ("Rose Attack") that I would like to inform the community about. It seems to affect most IP devices. Since cell phones, IPSec & satellite use fragmented packets this attack is pertinent to the Internet of today. The attack is simple. Two parts of a fragmented packet are sent to the machine being attacked. The first fragment (payload 32 bytes long) is the initial offset zero fragment of a SYN packet. The final (second) fragment of the SYN packet is also 32 bytes in size, but is set to an offset of 64800 bytes into the datagram. During my testing, I alternated this two fragment pattern rotating between ICMP, TCP, UDP, ICMP, etc. All test fragments used the same source IP address and fragment ID. Since this attack does not require a response from the target system, the source IP address can be spoofed, thus hiding the attacker's true location. Also note the source and destination ports do not matter as the packet is never validated at the layer four level, it never gets past layer three. The devices accept the packets no matter what port is used. Of the machines I have had access to, this attack has caused any number of the following problems: 1) Causes the CPU to spike, thus exhausting processor resources. 2) Legitimate fragmented packets are dropped intermittently (unfragmented packets get through fine) 3) Legitimate fragmented packets are no longer accepted by the machine under attack (unfragmented packets get through fine) until the fragmentation time exceeded timers expire. 4) Devices like Cisco routers can have Buffer overflow, i.e. packets are dropped at high packet rates if there aren't enough buffers allocated. The following devices were tested and showed some or all of the above symptoms: 1) Microsoft Windows 2000 2) Mandrake Linux 9.2 2) Cisco 2621XM 3) PIX Firewall 4) Mac OS/X V10.2.8 (FreeBSD 5?) The following vendors have been notified of this condition prior to the release of this announcement: 1) Microsoft 2) Cisco (2621XM only) 3) Linux This can also be used in active fingerprinting as some OS's return a "Fragmentation Reassembly Time exceeded", some do not, some return the first fragments as assembly time exceeded, some return later packets. For the original discussion (excerpt from my larger SANS GCFW paper http://www.giac.org/practical/GCFW/William_Hollis_GCFW.pdf ) please see: http://gandalf.home.digital.net/Rose.rtf I have "cleaned up" the procedure since the original discussion. For the test procedure to test this attack using Windows computers and suggestions on how to mitigate this attack please see: http://gandalf.home.digital.net/TestProc.txt For the support files please see: http://gandalf.home.digital.net/nemITUrnd.xls http://gandalf.home.digital.net/Picmpdata.txt http://gandalf.home.digital.net/Ptcpdata.txt http://gandalf.home.digital.net/Pudpdata.txt You will need WinPCap (of course) WinPcap_3_0.exe http://www.packetfactory.net/projects/nemesis/ nemesis-1.4beta3.zip on website NetWox http://www.laurentconstantin.com/en/netw/netwox/ I used: netwox-5.11.0-bin_windows.tgz The suggested software solution to this attack is to: 1) Allocate X*64k buffers upon NIC card initialization. Assuming X=200 buffers this would equate to approximately 12 Mb 2) Flush fragmented buffers in a FIFO fashion. 3) Do not reassemble buffers until all have been received, then use the CPU to reassemble the buffers. I would like to thank Chris Brenton for his help / input on this attack. Your comments on this attack are appreciated. Ken --------------------------------------------------------------- Do not meddle in the affairs of wizards for they are subtle and quick to anger. Ken Hollis - Gandalf The White - gandalf@digital.net - O- TINLC WWW Page - http://digital.net/~gandalf/ Trace E-Mail forgery - http://digital.net/~gandalf/spamfaq.html Trolls crossposts - http://digital.net/~gandalf/trollfaq.html ----- End forwarded message -----