dinsdag 18 februari 2014

HOW TO: Test a Smurf Attack

Een Smurf DoS heeft als bedoeling een host te flooden met netwerk verkeer. Deze soort van aanvallen worden ook wel amplification attacks genoemd aangezien je met weinig resources een doeltreffende DoS kunt uitvoeren. Bij IPv4 zag men dit vaak in samenhang met het broadcast adres. In IPv6 bestaan er geen broadcast adressen meer, maar dit wil niet zeggen dat deze aanval verleden tijd is in IPv6.

In IPv6 wordt er hevig gebruik gemaakt van multicast adressen. Vooral bij ICMPv6 berichten of Neighbor Detection wordt er al snel gebruik gemaakt van deze adressen. Aangezien een multicast adres ook naar meerdere interfaces gelinkt is, dan hebben de aandachtigen al door dat dit ook gebruikt kan worden voor een smurf aanval. Met het aanpassen van bepaalde ICMPv6 paketten kunnen deze gespoofd worden om responses op deze packeten naar het slachtoffer te sturen. Verduidelijking volgt in het voorbeeld.

Als men bijvoorbeeld een ICMPv6 echo request zou versturen naar een slachtoffer, dan wordt infeite het Source adres dat in het de echo request staat gespoofed naar dit van het slachtoffer. Wanneer deze dan naar het FF02::1 multicast adres gestuurd worden (naar alle gelinkte interfaces zoals bijvoorbeeld routers die de message dan nog meer verspreiden). Aangezien de echo request gespoofed is met een verkeerd adres, denken alle hosts die deze echo request hebben gekregen dat het slachtoffer deze gestuurd heeft. En sturen allemaal tegelijk een ICMPv6 echo reply message. Als genoeg pakketten gestuurd worden die dan weer geamplified worden resulteerd dit in een DoS voor het slachtoffer.

Zo een aanval kan makkelijk gesimuleerd worden door verscheidene tools. Zoals de smurf6 tool van THC IPv6 Attack Toolkit.

./smurf6 ETH DSTADR

Dit is het commando om een smurf aanval te beginnen. Waarbij ETH de interface is waarlangs je de aanval wilt sturen (de interface verbonden met het netwerk) en DSTADR het IPv6 adres van het slachtoffer. In een testopstelling zal al de slachtoffer host al snel DoS krijgen.

Je zou ook bijvoorbeeld een pakket zelf kunnen samenstellen in Scapy zoals in de HOW TO over NDP Spoofing.

Hoe zo een aanval tegen te gaan?

De vraag is natuurlijk hoe zo een aanvallen tegen te gaan, aangezien DoS aanvallen de moeilijkste zijn om tegen te houden (vaak worden pakketten gebruikt die anders ook in een legitiem netwerk veel voorkomen). In dit specifiek geval kan je de aanval tegenhouden door geen ICMPv6 pakketten toe telaten die van een (bepaald) multicast adres komen. Tevens kun je in de firewall configureren dat er van bepaalde pakketten (ICMPv6 pakketten bv) maar een bepaald aantal per tijdsspane wordt toegelaten.

NOOT: Deze specifieke aanval lukt wel alleen op bepaalde machines (e.g. Linux machines) aangezien veel hosts automatisch al ICMPv6 die van multicast adressen komen deze tegenhouden.

Referenties:
http://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904?show=complete-guide-ipv6-attack-defense-33904&cat=detection
- http://tools.ietf.org/html/draft-gont-6man-ipv6-smurf-amplifier-00
- http://tools.ietf.org/html/rfc2463#page-11
- Cisco Press IPv6 Security by Eric Vyncke

Geen opmerkingen:

Een reactie posten