Date: Mon, 12 Apr 1999 13:59:54 +0200 From: Joel Jacobson To: BUGTRAQ@netspace.org Subject: ARP problem in Windows9X/NT Hello all bugtraqers! I've found a problem in Windows9X/NT's way of handeling ARP packets. If you flood a computer at your LAN with the packet below, it's user will be forced to click a messagebox's OK button x times, where x is the number of packets you flooded with. I advice Microsoft to develope a patch for this problem, that let you choose to ignore all future messages of this type. There is no way to trace the flooder since the MAC address in the packet can be modified to anything. Bad configurated routers will not drop this packet. When I tested this problem on my LAN I could flood a computer on another C-net at my LAN without problems. The program NetXRay was used to preform the flood. The victims had to reboot their computer, or choose to click _very_ many OK buttons. The ARP packet is build up like this: Ethernet Version II: Address: XX-XX-XX-XX-XX-XX --->FF-FF-FF-FF-FF-FF Ehternet II Protocol Type: ARP Address Resolution Protocol: Hardware Type: 1 (Ethernet) Protocol Type: 800 Hardware Address: Length: 6 Protocol Address: Length: 4 Operations: ARP Request Source Hardware Address: XX-XX-XX-XX-XX-XX IP Source Address: Destination Hardware Address: XX-XX-XX-XX-XX-XX IP Destination Address: And in HEX the packet look like this: ff ff ff ff ff ff 00 00 00 00 00 00 08 06 08 00 06 04 00 01 00 00 00 00 00 00 XX XX XX XX 00 00 00 00 00 00 XX XX XX XX (XX is what matters here) Hope a patch for this problem will be developed fast, cause this is a big problem for my school and probably also to others. I'm not a C programmer, and don't know how to write an exploit for this problem. So, if anyone else can develope an exploit, feel free to do so. Joel Jacobson. ---------------------------------------------------------------------------------- Date: Tue, 13 Apr 1999 11:44:12 +0200 From: Joel Jacobson To: BUGTRAQ@netspace.org Subject: Answer to some questions I got about the ARP "bug" Hi. In the message I sent to BugTraq, XX XX XX XX is the victim's IP Address, in HEX. Example: If you want to flood IP 192.168.0.1 at your network you would enter this hex value: C0 A8 00 01 (I tought this was obvious) Regards, Joel. ---------------------------------------------------------------------------------- Date: Tue, 13 Apr 1999 11:55:01 +0200 From: Joel Jacobson To: BUGTRAQ@netspace.org Subject: Re: ARP problem in Windows9X/NT Parts/Attachments: 1 Shown 20 lines Text (charset: ISO-8859-1) 2 OK 202 bytes Application ---------------------------------------- [ The following text is in the "ISO-8859-1" character set. ] [ Your display is set for the "US-ASCII" character set. ] [ Some characters may be displayed incorrectly. ] Hello Gandalf, måndag, 12 april 1999, you wrote: gpc> Perhaps I am doing it wrong, but sending out arp requests like this only gpc> generates a single messagebox. If you send one or a million requests in gpc> the time it takes to click ok, no new messageboxes will appear. gpc> This is on NT4 sp4. Okey. Well, I tested this on a friend that run NT, don't know if he has sp4 installed or not. But still, the problems exist in Windows98, and if Microsoft has developed a fix for NT, why can't they release one for Windows98 too? gpc> The packet I am sending out seems a tad different from the one listed, gpc> the hex dump above seems to be missing the hardware address type. I've attached an example. This packet will attack the computer 192.168.0.1 on your network. Best regards, Joel mailto:joel@mobila.cx [ Part 2, Application/OCTET-STREAM (Name: "example.cap") 270bytes. ] [ Not Shown. Use the "V" command to view or save this part. ] ---------------------------------------------------------------------------------- Date: Tue, 13 Apr 1999 13:21:46 -0700 From: route@RESENTMENT.INFONEXUS.COM To: BUGTRAQ@netspace.org Subject: Re: ARP problem in Windows9X/NT [gandalf@pobox.com wrote] | | Unfortunetly i don't have a 98 to test on, or an non sp4 NT machines. For I do. It works against Windows 98. | BTW, this is all from linux 2.2.5. I've tried it from OpenBSD 2.4, FreeBSD 3.1 and Linux 2.2.x. -- I live a world of paradox... My willingness to destroy is your chance for improvement, my hate is your faith -- my failure is your victory, a victory that won't last. ---------------------------------------------------------------------------------- Date: Tue, 13 Apr 1999 15:49:22 -0400 From: Alan DeKok To: BUGTRAQ@netspace.org Subject: Re: ARP problem in Windows9X/NT route@RESENTMENT.INFONEXUS.COM wrote: > Didn't test your code. Rolled my from the same libnet example, and it > does work against NT and 95/98. I tested yours against a number of machines at work. Summary: NT4 sp3 displays one requestor. While it's on-screen, any additional ARP packets are ignored. Clicking 'OK', and then sending more packets results in another requestor. 95/98 displays one requestor per packet. Alan DeKok. ---------------------------------------------------------------------------------- Date: Tue, 13 Apr 1999 11:07:53 -0400 From: gandalf@POBOX.COM To: BUGTRAQ@netspace.org Subject: Re: ARP problem in Windows9X/NT On Tue, 13 Apr 1999 route@RESENTMENT.INFONEXUS.COM wrote: > [kay wrote] > | I started writing that proggie with plain syscalls, but it would only run > | on Linux, so I modified one of the examples in Route's Libnet 0.9 to do > | the stuff. I haven't tested it yes since I don't have LAN at home... > > Didn't test your code. Rolled my from the same libnet example, and it > does work against NT and 95/98. Your code, humerously enough, was almost exactly the same as mine, I was even using libnet. However neither your code nor mine causes more than one messagebox to appear on my NT4 sp4 machine. I actually tried this a month or two ago, and gave up since it seemed to have no effect on NT, I swear at the time I tested 95 and 98 too. Looking at it again, both your code and mine _do_ have the multi-messagebox effect on a 95B machine, Unfortunetly i don't have a 98 to test on, or an non sp4 NT machines. For those who have gotten it to work on NT, what sp level was NT at? BTW, this is all from linux 2.2.5. -chris _______________________________________________________ Christopher Rogers Stevens Institute of Technology gandalf@pobox.com http://www.pobox.com/~gandalf If at first you do succeed, try to hide your astonishment.