MITM
OSPF / PYTHON
PETER OLDENBURGER
CYBERSECURITYAD.COMMan-in-the-Middle Attack (GNS3)
Peter Oldenburger CS105
Inleiding & Introductie
OSPF (Open Shortest Path First) is een link-state routingprotocol dat wordt gebruikt
binnen een enkele routingdomein, ook wel een Autonomous System (AS) genoemd.
Het is gedefinieerd in RFC 2328 voor IPv4 en RFC 5340 voor IPv6. OSPF wordt
voornamelijk gebruikt in grote enterprise netwerk omgevingen.
Kernfuncties:
• Dynamische Routering: OSPF past zich dynamisch aan veranderingen in het netwerk
aan, zoals het uitvallen van verbindingen of de toevoeging van nieuwe routes, door
de netwerk topologie actief te monitoren en routingtabellen bij te werken.
• Link-State Protocol: In tegenstelling tot distance-vector routingprotocollen, zoals
RIP, verzendt OSPF informatie over de staat van elk netwerklink naar alle nodes
binnen hetzelfde routingdomein. Dit zorgt voor een nauwkeuriger en efficiënter
routingbesluit.
• Gebieden en Hiërarchie: OSPF maakt het mogelijk om een netwerk te segmenteren
in meerdere hiërarchische gebieden, wat helpt bij het schalen door het beperken
van de omvang van routingtabellen en het verminderen van routingverkeer.
• Korte Weg Eerst Algoritme: OSPF gebruikt het Dijkstra algoritme om de kortste
paden te berekenen van de router naar alle andere routers in het netwerk. Dit zorgt
voor efficiënte datatransmissie.
• Type of Service (ToS) Routing: OSPF ondersteunt ToS-routing, waardoor
verschillende paden kunnen worden gekozen afhankelijk van de service-eisen van
het verkeer.
• Authenticatie: OSPF biedt ondersteuning voor authenticatie van routingberichten,
wat de beveiliging van het routingproces verbetert door ongeautoriseerde updates
te voorkomen.Belangrijke Begrippen:
• Router-ID: Een unieke identifier voor elke router, meestal het hoogste IP-adres op
de router.
• LSA (Link State Advertisement): Het mechanisme waarmee informatie over
netwerklinks wordt gedeeld met andere routers in hetzelfde OSPF-gebied.
• Link-State Database: Een database in elke OSPF-router die alle ontvangen LSAs
bevat, waarmee de volledige netwerk topologie kan worden gereconstrueerd.
• SPF Tree: Een boomstructuur die het kortste pad van de router naar elk punt in het
netwerk vertegenwoordigt, gegenereerd door het SPF (Shortest Path First)
algoritme.
Implementatie en Beheer:
Bij de implementatie van OSPF is zorgvuldige planning vereist, vooral in complexe
netwerken met meerdere gebieden.
Het configureren van OSPF omvat het instellen van router-ID's, het definiëren van OSPF-
gebieden, het configureren van authenticatie, en het optimaliseren van timers voor LSA-
uitzendingen. Het beheren van OSPF vereist monitoring van de netwerkprestaties en het
regelmatig bijwerken van de configuratie om te voldoen aan veranderende
netwerkbehoeften en -omstandigheden.
OSPF is een krachtig tool voor netwerkbeheerders, omdat het zorgt voor robuuste en
efficiënte netwerkcommunicatie. Echter, het vereist een grondig begrip van
netwerkprincipes en zorgvuldig beheer om maximale prestaties en stabiliteit te
garanderen.
Bron: ChatGPTMITM: Start: De Opzet van de Omgeving
De testomgeving is opgezet in GNS3, een virtuele netwerksimulator, waarbij gebruik is
gemaakt van een Kali Linux-machine en twee routers met de volgende configuraties:
Router 1 Configuratie
• Loopback Interface: lo1 - IP: 1.1.1.1
• FastEthernet Interface: fa1/0 - IP: 192.168.1.2
• OSPF Configuratie: Netwerken 1.1.1.0 en 192.168.1.0 onder OSPF proces 1
• RIP Configuratie: Netwerken 1.0.0.0 en 192.168.1.0
•
Router 2 Configuratie
• FastEthernet Interfaces: fa0/0 - IP: 192.168.2.1, fa1/0 - IP: 192.168.1.1
• OSPF Configuratie: Netwerken 192.168.1.0 en 192.168.2.0 onder OSPF proces 1
• RIP Configuratie: Netwerken 192.168.1.0 en 192.168.2.0
Aanval Methodologie
De aanval is uitgevoerd door middel van een Python-script.
Deze draait op de Kali Linux-machine binnen de GNS3-omgeving.
Deze scripts zijn geschreven om OSPF (Open Shortest Path First) pakketten te injecteren
en te vangen, waardoor een Man-in-the-Middle (MITM) aanval wordt gesimuleerd (en
tevens gecontroleerd dmv de catch1.py en Wireshark.)OSPF Hello Pakket Injectie (inject1.py)
Het eerste script, inject1.py, is gebruikt om vervalste OSPF Hello-pakketten te injecteren.
Het doel van deze injectie was om zich voor te doen als Router 2 en OSPF-berichten te
verzenden alsof ze van deze router afkomstig waren.
Dit is bereikt door het volgende te specificeren in het script:
• Bron IP-adres van de pakketten ingesteld op "192.168.1.1" (het IP-adres van
Router 2's FastEthernet interface fa1/0).
• Doel IP-adres ingesteld op "224.0.0.5", een multicast-adres gebruikt voor OSPF.
• De interface op de Kali-machine ingesteld op "eth0".
Dit script zond tien OSPF Hello-pakketten uit om zich in het netwerk te adverteren als een
legale OSPF-router.
Pakketvangen (catch1.py)
Het tweede script, catch1.py, werd gebruikt om de OSPF-pakketten die werden verzonden
naar het multicast-adres "224.0.0.5" te vangen.
Dit script heeft als doel om te verifiëren dat de geïnjecteerde pakketten werden verspreid
binnen het netwerk en om te observeren hoe je netwerkapparatuur hierop zal reageren.
Het script gebruikte Scapy's sniff-functie om tien pakketten te vangen die voldeden aan het
filter "ip dst 224.0.0.5" op interface "eth0".Resultaten
Het injecteren van OSPF Hello-pakketten middels inject1.py resulteerde in de succesvolle
verzending van vervalste OSPF-berichten binnen het netwerk.
Dit is natuurlijk een simpel voorbeeld met enkele paketten maar dit kan natuurlijk
eenvoudig worden aangepast.
De Kali Linux-machine deed zich voor als Router 2, en is hiermee het MITM-aanvals
apparaat.
Bevestiging (audit)
Dezen werd bevestigd door de output van catch1.py, waaruit bleek dat de geïnjecteerde
pakketten werden opgevangen, wat aantoont dat de pakketten door het netwerk werden
verspreid.
Tevens is wordt dit nog bevestigd met Wireshark dat meer in-depth analyse kan
verschaffen:
Wireshark Observaties
Tijdens de uitvoering van de geavanceerde Man-in-the-Middle (MITM) aanval in de GNS3
virtuele omgeving, is tevens gebruik gemaakt van Wireshark, een netwerkanalysetool, om
de netwerkverkeer en in het bijzonder de gemanipuleerde pakketten te monitoren.
Dit bood een dieper inzicht in de impact van de aanval en de manipulatie van het
netwerkverkeer.Observaties met Wireshark
Wireshark werd geconfigureerd om het verkeer op de Kali Linux-machine te monitoren,
met een focus op OSPF-verkeer gericht aan het multicast-adres "224.0.0.5". Tijdens deze
monitoring werd een specifiek OSPF Hello-pakket geïdentificeerd dat de manipulatie door
de aanvaller illustreert:
• Tijdstip: 0.444401450
• Bron IP: 192.168.2.1
• Doel IP: 224.0.0.5
• Protocol: OSPF
• Lengte: 80 bytes
• Beschrijving: Hello Packet
Dit OSPF Hello-pakket, afkomstig van IP-adres 192.168.2.1 en gericht aan het OSPF
multicast-adres 224.0.0.5, werd geïdentificeerd als een van de gemanipuleerde pakketten
verzonden door het inject1.py script uitgevoerd op de Kali Linux-machine.
Dit bevestigt de succesvolle injectie en verspreiding van vervalste OSPF-pakketten binnen
het netwerk, zoals bedoeld door de MITM-aanval.Verdere Analyse
Deze gemanipuleerde pakketten via Wireshark bieden tastbaar bewijs van de aanval en de
potentieel schadelijke impact ervan op het netwerkverkeer en de netwerkbeveiliging.
Het stelt onderzoekers en beveiligingsprofessionals in staat om de specifieke kenmerken
van de aanval te analyseren, inclusief de timing, de gebruikte protocollen en de bron- en
doeladressen.
Dit is essentieel voor het ontwikkelen van effectieve tegenmaatregelen en het versterken
van de netwerkbeveiliging tegen soortgelijke aanvallen in de toekomst.
Ik heb dus ook de Aanbevelingen Netwerkbeveiliging, Conclusies en de daarop beschreven
Migratie Aanbevelingen hierop gebaseerd.
Risico's en Aanbevelingen
Deze aanval demonstreert het risico van OSPF-routing protocol manipulatie, wat kan
leiden tot ongeautoriseerde toegang, data-onderschepping en -manipulatie, en potentiële
netwerkonderbrekingen.
Het is van cruciaal belang voor organisaties, zoals CyberSecurityAD.com, om de volgende
maatregelen te implementeren:
• Authenticatie voor OSPF-peers om de identiteit van routers binnen een OSPF-
domein te verifiëren.
• Encryptie van OSPF-verkeer om de integriteit en vertrouwelijkheid van
routinginformatie te waarborgen.
• Regelmatige beveiligingsaudits en -monitoring om ongeautoriseerde wijzigingen in
het netwerkverkeer te detecteren.Aanbevelingen voor Netwerkbeveiliging
Deze observatie onderstreept duidelijk het belang van het implementeren van goede
beveiligingsmaatregelen, zoals hierboven vermeld, evenals het belang van een goede en
duidelijke netwerkmonitoring en networking-analyse.
Conclusie
De uitgevoerde MITM-aanval laat zien dat er kwetsbaarheden zitten binnen
routingprotocollen zoals OSPF en benadrukt het belang van geavanceerde
beveiligingsmaatregelen om de netwerkinfrastructuur van een organisatie te beschermen!
Het illustreert de noodzaak van een gelaagde beveiligingsbenadering die zowel proactieve
beschermingsmaatregelen omvat als reactieve monitoring en analyse om netwerken tegen
geavanceerde bedreigingen te versterken.
Door proactief beveiligingsrichtlijnen te implementeren en te handhaven, kunnen
organisaties zich verdedigen.
Peter Oldenburger
CyberSecurityAD.com 2024Migratiemaatregelen tegen MITM-aanvallen in Routingprotocollen
Om de veiligheid van netwerken tegen MITM-aanvallen, zoals gedemonstreerd, te
versterken, zijn de volgende migratiemaatregelen aanbevolen door CyberSecurityAD.com
1. Implementatie van OSPF Authenticatie
• Doel: Verifiëren van de identiteit van OSPF-peers om te voorkomen dat
ongeautoriseerde apparaten OSPF-berichten kunnen injecteren.
• Aanpak: Gebruik van sterke authenticatiemechanismen, zoals MD5 of SHA, voor
OSPF-peers.
2. Encryptie van OSPF Verkeer
• Doel: Beschermen van de integriteit en vertrouwelijkheid van OSPF-verkeer tegen
onderschepping en manipulatie.
• Aanpak: Toepassen van IPsec voor het versleutelen van OSPF-verkeer tussen
routers.
3. Netwerksegmentatie
• Doel: Beperken van de bewegingsruimte van een aanvaller binnen het netwerk,
mocht deze toegang verkrijgen.
• Aanpak: Gebruik van VLAN's en firewall-regels om netwerksegmenten te isoleren op
basis van functie en gevoeligheid.
4. Regelmatige Netwerkmonitoring en -analyse
• Doel: Tijdige detectie van ongebruikelijke netwerkactiviteiten die kunnen wijzen op
een aanval.
• Aanpak: Gebruik van geavanceerde netwerkmonitoringtools en intrusion detection
systems (IDS) voor continue controle en analyse van netwerkverkeer.
5. Training en Bewustwording
• Doel: Verhogen van de bewustwording bij medewerkers over de risico's en
indicatoren van MITM-aanvallen.
• Aanpak: Organiseren van regelmatige trainingssessies en simulatieoefeningen voor
IT-personeel.6. Regelmatige Updates en Patchbeheer
• Doel: Verzekeren dat netwerkapparatuur en software up-to-date zijn met de
nieuwste beveiligingspatches.
• Aanpak: Implementeren van een gestructureerd patchbeheerproces om
kwetsbaarheden tijdig aan te pakken.
Door deze maatregelen te implementeren, kunnen organisaties hun verdediging tegen
geavanceerde MITM-aanvallen versterken en de veiligheid van hun netwerkinfrastructuur
waarborgen.
Het is van cruciaal belang dat deze maatregelen deel uitmaken van een alomvattende
beveiligingsstrategie, gericht op het minimaliseren van risico's en het beschermen tegen
potentiële bedreigingen.
Copyright 2024
Peter Oldenburger
AmsterdamScreenshots (Proof Of Work)
GNS 3 OmgevingRouter R1 & R2 ConfigurationPython Script to inject OSPF Packets
Python Script: Capture Packets (and define them)Packet sent:
Packet capture:WireShark:
COPYRIGHT 2023
Peter Oldenburger
CS105 CyberSecurityAD.com
Comments