MAC-adressen en hash berekening

Naar aanleiding van mijn lezing heeft Stef die daar aanwezig was mij gevraagd of het mogelijk was om met Rainbow tabel of hashcat van de hash terug te rekenen naar originele MAC-adres. Ik was me wel bewust van deze mogelijkheden, maar had hierin geen ervaring en dus niet verder uitgezocht. Stef heeft dit uitgezocht en een blogartikel van gemaakt.

TL;DR dit zijn methoden die praktisch realiseerbaar zijn, niet een theoretische mogelijkheid. Om het daadwerkelijk uit te voeren zal wat geld kosten, maar dit zijn geen onmogelijke bedragen (denk aan bedragen van € 1000-2500). Eigenlijk ben ik wel een beetje verrast hoe bereikbaar deze aanvallen zijn.

Hashcat methode

Hashcat is een programma die met behulp van een GPU (grafische processor) in korte tijd heel veel berekening kan uitvoeren en veel wachtwoorden kan testen.

Stef heeft met behulp van hashcat laten uitrekenen om van een zelf berekende hash het MAC adres terug te vinden. Met de setup die hij heeft hij hier 12 minuten over gedaan waarbij ongeveer 50% van de mogelijkheden waren uitgeprobeerd. Stel dat de laatste poging de goede was zou deze naar verwachting 20 minuten over hebben gedaan.

Dit is echter niet met een snelle opstelling, als je met een moderne dure grafische kaart zou doen zoals bijvoorbeeld Nvidia RTX 3090 zou het resultaat naar verwachting 10x zo snel zijn. Dezelfde berekening zou dan iets langer dan een minuut zijn of om alle mogelijke combinaties uit te proberen maximaal 2 minuten. ( Update 18 juli 2023 : Met een Nvidia 4090 zou dit ongeveer 35 seconden zijn. )

Dus met hashcat kan je met de hash binnen 2 minuten het originele MAC-adres terugvinden. Grote aanname is wel dat hier dan de standaard SHA256 berekening gebruikt word, volgens de uitspraken van RMC gebruiken ze een op SHA256 gebaseerde methode (wat dat ook moge inhouden).

Rainbow table methode

Een Rainbow tabel is een soort database waarin je dan alle mogelijk MAC-adressen opslaat met bijbehorende hash berekening. Als je dan een hash adres hebt, kun je door in deze database makkelijk terug vinden welke MAC-adres hier dan bij hoort. Er zijn in dit voorbeeld voor de MAC-adressen 776818655232 mogelijkheden volgens de berekening van Stef, als je dit in een database zou opslaan (uitgaande van 12+9=23 bytes per record) = 18 Terrabyte aan opslag. Gelukkig kun je met wat slimme berekeningen een Rainbow tabel anders opslaan, dan zou je rond minder dan 1 Gb uitkomen. Tegenwoordig kun je een 18 TB HD schijf voor rond de € 750 kopen.

Technische onderbouwing snelheid :

Setup Stef : 512 NVIDIA CUDA 
Speed.#1………:   581.2 MH/s (7.02ms) @ Accel:8 Loops:128 Thr:512 Vec:1

Benchmark Nvidia RTX 3090
Hashmode: 1400 - SHA2-256
Speed.#1………:  9713.2 MH/s (70.57ms) @ Accel:16 Loops:512 Thr:1024 Vec:1

NVIDIA GeForce RTX 4090, 20155/24563 MB, 128MCU
Speed.#1.........: 21975.5 MH/s (48.66ms) @ Accel:32 Loops:512 Thr:512 Vec:181

PS in zowel de hashcat als rainbow tabellen ben ik geen expert, deze conclusies heb ik getrokken op basis van eigen internet onderzoek. Als je hier een fout in ziet laat me het weten en ik zal het corrigeren.