30 July, 2014

Dynamic ARP Inspection (DAI)

# Attack Scenario 

Mitigate with ARP Inspection
- Uses DHCP Snooping DB/Table
- Can use Static ARP ACL to Map
- To Trust or Not to Trust
- Header to Payload Validation

! ARP inspection uses the DHCP Snooping table
SW2#show ip dhcp snooping binding
MacAddress          IpAddress        Lease(sec)  Type           VLAN  Interface
------------------  ---------------  ----------  -------------  ----  --------------------
00:0C:29:16:57:AC   10.123.0.3       85971       dhcp-snooping  123   FasEthernet0/2 
B8:27:EB:51:1A:F6   10.123.0.4       82867       dhcp-snooping  123   FasEthernet0/5
Total number of bindings: 2

! Configure ARP Inspection
SW2(config)#ip arp inspection vlan 123

SW2(config)#do show ip arp inspection vlan 123
Source Mac Validation      : Disabled
Destination Mac Validation : Disabled
IP Address Validation      : Disabled
 Vlan     Configuration    Operation   ACL Match          Static ACL
 ----     -------------    ---------   ---------          ----------
  123     Enabled          Active

 Vlan     ACL Logging      DHCP Logging      Probe Logging
 ----     -----------      ------------      -------------
  123     Deny             Deny              Off

! Configure Trunk port
SW2(config)#int fas 0/2
SW2(config-if)#description trunk port
SW2(config-if)#ip arp inspection trust

! Configure Access port
SW2(config)#int fas 0/1
SW2(config-if)#description user port
SW2(config-if)#ip arp inspection limit rate 10

*** Logs after Attack
%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/1, vlan 123. ([b827.eb51.1af6/10.123.0.6.57ac/10.123.0.3/01:23:03 UTC Mon May 4 1991])

*** Logs after make some Nmap
%SW_DAI-4-PACKET_RATE_EXCEEDED: 11 packets recived in 25 milliseconds on Fa0/1.
%PM-4-ERR_DISABLE: arp-inspection error detected on Fa0/1, putting Fa0/1 in err-disable state

* For more info use : 
SW2#show interfaces status err-disable
SW2#show ip arp inspection statistics vlan 123

! Configure 3 more additional validation check
SW2(config)#ip arp inspection validate src-mac dst-mac ip

SW2(config)#do show ip arp inspection vlan 123
Source Mac Validation      : Enabled                                 <---
Destination Mac Validation : Enabled                                 <---
IP Address Validation      : Enabled                                 <---
 Vlan     Configuration    Operation   ACL Match          Static ACL
 ----     -------------    ---------   ---------          ----------
  123     Enabled          Active

 Vlan     ACL Logging      DHCP Logging      Probe Logging
 ----     -----------      ------------      -------------
  123     Deny             Deny              Off

! Configure ARP Access List For R1
SW2(config)#interface fastEthernet 0/3
SW2(config-if)#description Trunk to R1
SW2(config-if)#exit

SW2(config)#arp access-list OUR-ARP-ACL
SW2(config-arp-nacl)#permit ip host 10.123.0.1 mac host 001f.9e00.ee89

! Verify
SW2(config-arp-nacl)#do show arp access-list OUR-ARP-ACL
ARP access list OUR-ARP-ACL
    permit ip host 10.123.0.1 mac host 001f.9e00.ee89

! Apply ACL Filter
SW2(config)#ip arp inspection filter OUR-ARP-ACL vlan 123

SW2(config)#do show ip arp inspection vlan 123
Source Mac Validation      : Enabled
Destination Mac Validation : Enabled
IP Address Validation      : Enabled

 Vlan     Configuration    Operation   ACL Match          Static ACL
 ----     -------------    ---------   ---------          ----------
  123     Enabled          Active      OUR-ARP-ACL        No

 Vlan     ACL Logging      DHCP Logging      Probe Logging
 ----     -----------      ------------      -------------

  123     Deny             Deny              Off

! Auto Re-enable port
SW2(config)#
errdisable recovery cause arp-inspection

SW2(config)#errdisable recovery interval 30

root@kali#arpspoof -i eth0 -t 10.123.0.3 10.123.0.1
b8:27:eb:51:1a:f6 0:c:29:16:57:ac 0806 42: arp reply 10.123.0.1 is-at b8:27:eb:51:1a:f6

SWITCH LOG
%SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Gi0/2, vlan 123 ([b827.eb51.1af6/10.123.0.1/0:c:29:16:57:ac/10.123.0.1/15:34:45 UTC Mon Mar 2 1991])

SW2(config)#do show ip arp inspection statistics vlan 123
 Vlan     Forwarded        Dropped     DHCP Drops       ACL Drops
 ----     ---------        --------    ----------       ---------
  123          40             24           24               0

 Vlan     DHCP Permits     ACL Permits    Probe Permits   Secure MAC Failure
 ----     ------------     -----------    -------------   ------------------
  123         25               11               0                  0 


 Vlan     Dest MAC Failure    IP Validation Failure    Invalid Protocol Data 
-----     ----------------    ---------------------   -----------------------
  123             0                     0                        0