Skip to main content

Tag: wifi

Mist AI vs Clarke’s Law: Magic is Technology we don’t understand yet.

Packet Magician

Have you ever watched a magician perform a magic trick and wondered how he did it?
Today I’m going to reveil the magic that Packet Magician Peter MacKenzie is using to block his kids internet.

If you’ve been in Peter’s JNCIS MistAI class you’ve probably seen him say “hey Siri, Block Luke’s internet” with an evil grin on his face.  If not, Jussi Kiviniemi got a screenshot of it on twitter.

Did you get an Mist AP on one of the Wireless Wednesdays and want to get your kids to the dinner table? Or do you just want to show off to your boss by enabling the guest network by a voice command? Then keep reading.

Getting the right code

Everything that we do in the Mist UI is translated into API calls. So first off we need to get the right API call. I’m going to use the block internet example here, but you can to the same with enabling or disabling an SSID.

As we are using a WxLAN policy that blocks access for a client we need to build that rule first.
It is made of 3 components, a group of clients, an action (block) and a resource.

First off I created a label under Network -> Labels.
Here I grouped the mac addresses for my kids devices

Labels

Next I needed to build the policy, again on the site level so under Network -> Policy I created a policy using the label Kids and blocking them access to All resources. I’ve saved the rule and then DISABLED it. In the end I’ve created 3, each one of my boys individually, and them all combined.

Wxlan Policies

Now this is where the magic happens, now I need to build or steal the API call needed to to enable the rule I want.  Building is quite hard but there is loads of documentation found here and here.
So I’m going to show you how to steal the API call. For that the I’m going to open the Mist UI using Google Chrome.

Under the Menu -> More Tools you can find Developer Tools.
With these Developer Tools we can see everything our browser is doing on a webpage. This can be a lot so I’ve added a filter to just show me things to api.mist.com

Chrome Developer Tools

So now when I enable the policy and press save I can see the actual API calls made:
API Call displayed

You can see the PUT method as we are changing a value not a POST and creating a new entry. And in the body we see the “Enabled” set to “True”
Enabled

The API call and the Enabled : True is what we need for our plan. The only other thing we need is API access. We need an API token.

API Token:

If you are logged in to the Mist UI you can get a token by going to the following URL : https://api.mist.com/api/v1/self/apitokens

you should see something like this, though yours might be blank.
API Token

To get a token just press the post button at the bottom BUT the token wil only be shown to you ONCE!

API Token revealed

Save it in your password vault as this is your access to everything your account is entitled to in the Mist Environment!

Siri

Now lets get this stuff over to Siri. On your IOS device if you haven’t already install the shortcuts app.

Now we’re going to add a new shortcut by using the + icon.

For type of shortcuts choose Web.
Then under Web Requests choose Get Contents of URL.

This is where we need to add our collected components :

Siri Shortcuts

Now name it, save it and go bully your kids! Oh and don’t forget to create an Enable Kids Internet. Just to the same thing again but set Enabled to False!

 

Pwnagotchi, alle coole WiFi Engineers hebben er een (of meer)!

Tamagotchi

Wie in de jaren 90 op school zat weet het nog wel, als je geen Tamagotchi had hoorde je er niet bij! Nu in 2019 heeft Evilsocket er een twist op bedacht. Evilsocket is een hacker/security researcher die ook bettercap heeft verzonnen. Bettercap is een WiFi tool voor Man in the Middle attacks. Man in the middle attacks laten de noodzaak voor VPN oplossingen en andere beveilingen voor WiFi zien.

Fase 1: Project PITA

Project PITA is een vervolg op Bettercap, gebruikmakend van ultrakleine singleboard computers is PITA een massale deauthenticator. DE—Authenticator? JA DE-Authenticator! Als een apparaat gebruik maakt van WiFi vinden er een aantal stappen plaats om verbinding te krijgen. Bij een open netwerk (lees geen sleutel dus onbeveiligd) zijn dit er 4, bij een WPA2 beveiligd netwerk komen er nog minstens 4 bij (de 4-way handshake). Maar standaard is alle communicatie om op het netwerk te komen of er vanaf te gaan onbeveiligd. Deze communicatie noemen we in WiFi Management frames.

Project Pita maakt gebruik van een RaspberryPi Zero-W om alle kanalen te scannen en als het een WiFi netwerk vind stuurt het De-authentication frames om de verbonden apparaten van het netwerk af te gooien. Een DEAUTH aanval. Kan dit dan zo maar? Jazeker! Kunnen we er dan niets tegen doen?
Jawel! Daar is 802.11w voor gemaakt. Dit onderdeel van de WiFi standaard noemen we ook MFP: Management Frame Protection en zorgt er onder andere voor dan een onbekend apparaat jou laptop niet zomaar van het WiFi netwerk kan afgooien.

Enter Pwnagotchi

De nieuwste ontwikkeling van PITA is de Pwnagotchi. De term Pwned komt uit de gamer wereld en is eigenlijk een typ-fout maar is blijven hangen. Iets of iemand pwnen (spreek uit als pownen) betekend dat je er volledige controle over hebt. En als je dan een hacktool hebt met een gezichtje is de samentrekking Pwnagotchi wel erg passend.

Maar wat is het nu? Pwnagotchi is een AI die op een RaspberryPi Zero-W draait. Gebruikmakend van Bettercap luistert en leert je Pwnagotchi van de WiFi omgeving. Door te luisteren of door DEAUTH aanvallen probeert het zoveel mogelijk handshakes te pakken te krijgen. Deze handshakes worden dan opgeslagen en kunnen gebruikt om een wachtwoord hash er uit te halen. Een hash is een overeengekomen sleutel tussen bijvoorbeeld je laptop en WiFi zender. Als de Pwnagotchi die heeft, kan die gebruikt worden om je WPA2 sleutel te kraken.

 

 

Hebben Hebben Hebben!

En? Wil je er al een? Dacht ik wel! Daarom deze handleiding hoe je snel aan de slag kunt.
Je kunt het zo uitgebreid maken als je wilt maar dit zijn wat mij betreft de noodzakelijke dingen:

RaspberryPi Zero W
e-ink display (je wilt je Pwnagotchi toch een gezicht geven?)
Hardware klok (anders zijn je resultaten ook zo verwarrend)
SD oplag
Acrilic case (er zijn legio 3d print modellen beschikbaar, ik gebruik de achterkant om sluiting te voorkomen.

Ik heb gekozen voor de RaspberryPi met GPIO header, ik had geen zin in het extra soldeerwerk.

De RaspberryPi heeft geen eigen hardware klok of batterij hiervoor. De datum wordt dus elke boot opnieuw geherstart. Dit zorgt voor verkeerde data bij handshakes etc. Daarom heb ik hier een hardware klok op gesoldeerd. Pin 1-3-5-7-9 zorgen voor 3.3v, ground en clock aansturing.

Na het solderen heb ik de klok met isolatietape omwikkeld omdat het straks een net pakketje wordt.
De klok past netjes boven de 2 usb aansluitingen. Dan past het e-ink display er nog netjes boven op.

In de klok moet nog een CR1220 batterij.

Als je aller hebt samen gevoegd tot een net pakketje moet je nog de software op de SD schrijven.
gewoon kopiëren gaat niet werken. Ik heb hiervoor Balena Etcher gebruikt.
Download de nieuwste Pwnagotchi image op https://github.com/evilsocket/pwnagotchi/releases

Start Balena, kies de image, selecteer de drive van de SD kaart en kies Flash!

Dan is je Pwnagotchi klaar voor de eerste keer opstarten! Mijn advies is om dit dan te doen met een USB kabel via de “middelste” aansluiting. Dit zorgt er voor dat je Pwnagotchi als RNDIS adapter onder windows zichtbaar wordt. Hier kun je dan een FIXED ip adres aangeven de Pwnagotchi heeft op deze interface standaard 10.0.0.2 dus gebruik zelf bijvoorbeeld 10.0.0.1.

Het eerste wat ik gedaan heb is Bluetooth tethering gefixed, hierdoor kom ik ook de software voor de klok downloaden en updaten:

SSH naar je PI met Putty bijvoorbeeld

Standaard inlog : pi / raspberry

Zorg dat je telefoon bluetooth tethering aan heeft staan en dat het bluetooth venster open staat.

In je SSH venster start de bluetooth module en laat deze scannen:

We willen het mac-adres van de telefoon: bv 50:32:37:A9:4C:49. Deze hebben we nodig voor de config.yml.

Voer hiervoor sudo nano /etc/pwnagotchi/config.yml uit.

LETOP! Verander de eerste 3 octetten van het ip adres niet, dit is voor Android de adresreeks voor BT tethering.

Sla deze file op en dan gaan we weer terug naar de bluetooth module:

De beveiligingscodes moeten op de telefoon en in he SSH overeenkomen. Een trust commando is daarna nodig voor automatisch verbinden.

 

 

De IP gegevens moeten nog opgeslagen worden in een config file:

sudo nano /etc/network/interfaces.d/bnep0-cfg

Alles aangepast? Voer dan een reboot uit: sudo reboot

Als het goed is zie je na de herstart een BT staan in je pwnagotchi scherm. Omdat je via usb verbonden bent zal je pwnagotchi in MANU mode staan en dus niets doen, ook geen bluetooth verbinding maken. Dit kun je forceren door het het commando touch /root/.pwnagotchi-auto && systemctl restart pwnagotchi MAAR: hiervoor heb je een root wachtwoord nodig. Voor dus eerst sudo passwd root uit om dit in te stellen. Je pwnagotchi komt nu tot leven en bij BT in het scherm zal een C komen te staan. Als het goed is kun je nu dus bijvoorbeeld ook 8.8.8. pingen.

Phew.. op naar de klok:

Allereerst moeten we de I2C aanzetten dmv sudo raspi-config onder 5. Interfacing options vind je de mogelijkheid:

Afsluiten met een reboot.

Controle van de soldering doen we met:

sudo apt-get install python-smbus i2c-tool
en het daarna uitvoeren van de tool: sudo i2cdetect -y 1

Je ziet nu ID 68 of UU naar voren komen.
edit nu de volgende file:

sudo nano /boot/config.txt

 en voeg aan het einde de volgende regel toe: dtoverlay=i2c-rtc,pcf8523

reboot en als je bij de vorige sudo i2cdetect -y 1 wel #68 zag zou dit nu zeker UU moeten zijn.

De RaspberryPi gebruikte een nepklok om iets van tijd bij te houden, die moeten weg:
    sudo apt-get -y remove fake-hwclock
sudo update-rc.d -f fake-hwclock remove
sudo systemctl disable fake-hwclock

 

 

Nu kan de “echte” klok weer aan:
sudo nano /lib/udev/hwclock-set zet # voor de volgende regels om deze uit te schakelen:

#if [ -e /run/systemd/system ] ; then
# exit 0
#fi

Doe dat ook voor de volgende regels:

/sbin/hwclock –rtc=$dev –systz –badyear

en

/sbin/hwclock –rtc=$dev –systz

 

Controleer de tijd dmv het date commando en pas het eventueel aan.

Schrijf daarna de datum dmv sudo hwclock -w en
controleer dit dmv sudo hwclock -r

Pesto. De basis voor je pwnagotchi is gelegd! Wil je meer aanpassen?
Check dan: https://community.pwnagotchi.ai/

Wireless Consultancy | Advies m.b.t. offertes uit Wi-Fi Tender

>publieke organisatie voor onderwijs en ict. Dit bedrijf zorgt voor een landelijke ict-basisinfrastructuur, adviseert de sectorraden en deelt kennis met het po, vo en mbo.

Vraag: Voor een grote scholengemeenschap ontstaat de behoefte aan een nieuwe wireless netwerk. Dit netwerk moet toekomstbestendig zijn. Ons is gevraagd de ingezonden offertes uit de tender te toetsen en te beoordelen op inhoud. Op basis hiervan een advies uit te brengen over de beste optie en de best te nemen route.

Lees verder

Wireless Training | ECSE, Amsterdam

12 cursisten, Ekahau Certified Survey Engineer

Vraag: Twee tot drie maal per jaar wordt de ECSE training in Nederland verzorgd door Sicaron Solutions. WiFi Wise voorziet in de gecertificeerd trainer, Sicaron regelt de locatie. Deze 4 daagse training wordt als zeer waardevol ervaren door de interactieve componenten. Kan er voor de ECSE trainingen in NL ook een Nederlandse trainer worden ingezet?

Lees verder