Plug Black 300xIedereen (die mijn blog een beetje kent) weet dat ik hardware-hack-gadgets geweldig vindt. Recentelijk heb ik een O.MG cable (meedere) toegevoegd aan mijn collectie. En daar wil ik jullie graag over vertellen in deze blogpost. Ik had al wel een aantal kabels die heel erg op de O.MG kabels lijken, namelijk de USB Ninja kabels (https://jarnobaselier.nl/usb-ninja-hid-attack-usb-kabel). Toch zit er verschil tussen de USB Ninja en de O.MG kabels en dat ga je vanzelf ontdekken tijdens het lezen van deze post.

 

Laten we beginnen met het feit dat Hak5 NIET de ontwikkelaar / uitgever is van de O.MG kabel. Darren Kitchen (Hak5) en MG (ontwikkelaar en leverancier O.MG kabels) kennen elkaar DefCon conference en besloten om samen te teamen. Nu snap je waarschijnlijk ook meteen waar de naam “O.”MG vandaan komt  Hak5 helpt dus bij het promoten, verkopen en distribueren van de O.MG kabel maar ontwikkeld deze zelf niet.

Zo, nu we dat opgehelderd hebben, wat is dan de O.MG kabel precies? O.MG komt overigens in meerdere varianten. Waar ze begonnen met verschillende soorten kabels (Lightning, USB A-C, USB A-Micro, USB-C-C en visa versa) daar breiden ze de O.MG attackvector uit andere accessoires. Recentelijk zijn de O.MG plug (USB-A dongle) en de O.MG Adapter (USB-A to USB-C adapter) toegevoegd aan het arsenaal en ik heb het gevoel dat er binnenkort nog meer worden toegevoegd omdat het idee achter O.MG best slim in elkaar steekt!

De O.MG kabels zien er namelijk uit als “gewone” USB kabels. De O.MG Plug is helaas voorzien van een logo welke de Plug duidelijk minder stealthy maakt. Maar zoals je ondertussen wel zult vermoedde zijn de O.MG producten helemaal niet gewoon of onschuldig. In de O.MG producten zit een chip verwerkt welke fungeert als WiFi accesspoint. Je kunt op afstand connectie maken met deze WiFi en via WiFi de kabel programmeren en besturen. Je kunt de O.MG producten ook programmeren om connectie te maken met een bestaande WiFi netwerk. Dit maakt ze meer stealthy maar minder dynamisch. Dit is dan ook meteen het grootste verschil met de USB Ninja kabels. Deze zijn alleen te programmeren door ze aan te sluiten op je computer in “program mode” via de magnetische ring. Het werken met de O.MG kabels is door WiFi connectie vele malen gemakkelijk.

O.MG kabels zijn gebouwd voor field penetration tests waarbij covert hardware gebruikt mag worden maar zijn door hun kracht en flexibiliteit ook ideaal voor het geven van demo’s en trainingen. De kabel is gemaakt voor het uitvoeren van zogenaamde “Keystroke Injection-payloads”. De payloads worden geschreven in DuckyScript en geven daarmee de O.MG kabels dezelfde kracht als de Rubber Ducky en de Bash Bunny. Wanneer de kabel (of de plug/adapter) geen payloads verzendt fungeert deze als een hele normale USB kabel. De kabel transporteert data en geeft stroom (voeding) door.

Er bestaan ook varianten met een passieve “Keylogger” ingebouwd. Deze varianten kunnen ook keystrokes onderscheppen van aangesloten keyboards. Ideaal wanneer je keystrokes wilt onderscheppen van een keyboard met afneembare kabels. De O.MG Keylogger Edities kunnen tot 650.000 toetsaanslagen opslaan. De keylogger varianten zijn gemiddeld zo’n 40 euro duurder dan de normale O.MG kabels. Uiteraard behouden de keylogger varianten ook hun normale eigenschappen (om keystrokes te injecteren).

De O.MG kabel is platgeslagen een via WiFi bestuurbare en programmeerbare Rubber Ducky welke er volledig stealthy uitziet.

Het is goed om te weten dat de werking, mogelijkheden en interface van de O.MG kabels bij alle varianten hetzelfde is. Let wel op de directie. Sommige kabels kunnen bidirectioneel keystrokes verzenden. De meeste kabels functioneren slechts 1 kant op. Dus wanneer je een “*to USB-A” kabel koopt welke aan de andere kant een USB-C aansluiting heeft dan kun je alleen keystrokes versturen naar de aangesloten USB-A kant.

Om de O.MG producten te voorzien van de nieuwste firmware heb je een speciale programmer nodig. Let erop dat je een programmer besteld welke uiteraard ook gemaakt is voor het type aansluiting. De beschikbare USB-A Programmer kan wel gebruikt worden om de O.MG Plug te programmeren maar niet om de USB-C kabels te programmeren.

O.MG WEBINTERFACE

Laten we de O.MG webinterface eens bekijken. Het werken met de O.MG kabel is zeer makkelijk. We pluggen hem in (en voorzien hem dus van stroom) en vervolgens zoeken we naar het default WiFi:

That’s it. Wanneer we nu naar de webinterface browsen zien we het volgende:

Binnen de webinterface hebben we een aantal opties.
Settings:

De settings geven de mogelijkheid om een aantal zaken in te stellen. Zo kunnen we de netwerk settings aanpassen en ook de netwerk mode kunnen we aanpassen van AccessPoint naar Station.

We kunnen onder “Payload” settings aanpassen om het product meer stealthy te maken. Hoe doet het apparaat zich voor (op de doelcomputer). Ook kunnen we hier een reboot initieren en zelfs een “Self Destruct” uitvoeren. De Self Destruct kan gedeeltelijk en volledig worden uitgevoerd. Altijd wordt de data gewist maar bij een volledige Self Destruct zullen ook de datalines verbroken worden waardoor het device geen malicious data meer kan transporteren en niet meer opgemerkt wordt. Om het device daarna weer in gebruik te nemen dient deze opnieuw (via een programmer) geflashed te worden.

De “Debug” sectie geeft toegang tot verschillende informatiebronnen. Zo kun je hier de “Keylogging” functionaliteit inschakelen, de keyboard modus installen en alle keylogging info verwijderen. Ook kun je het loglevel aanpassen, logs downloaden, custom commands injecteren etc.

 

Syslog

De syslog informatie geeft simpelweg een overzicht van de systeemstatus en stabiliteit van het signaal. Handig voor troubleshooting.

Keylog
Het “Keylog” pane geeft de mogelijkheid om keylogging te stoppen en te starten en om gelogde keystrokes op te slaan en te bekijken. Deze mogelijkheid is uiteraard alleen aanwezig op de O.MG kabels met keylogging functie.

Payload
Het belangrijkste onderdeel is zonder twijfel het “Payload” pane. Hier kunnen payloads geschreven, opgeslagen en uitgevoerd worden. Je kunt zelf je payloads schrijven via het handige DuckyScript en je kunt natuurlijk kiezen voor standaard payloads vanuit de repository: https://github.com/hak5/omg-payloads/tree/master/payloads/library

En net zoals met de Rubber Ducky. Wanneer de payload gestart wordt zal deze de keystrokes uitvoeren op het doelstation.

UPDATEN VAN DE O.MG KABEL

Het updaten van de O.MG firmware kan op 2 manieren. Het is altijd belangrijk om de O.MG kabel op de juiste manier aan te sluiten op de programmer en om de programmer op de juiste manier aan te sluiten op de computer. Vooral met de USB A+C programmer kun je hier gemakkelijk een fout in maken wat kan resulteren in een defecte programmer of een defecte O.MG accessoire.

Nadat alles is aangesloten is het belangrijk dat de VCP (210) drivers aanwezig zijn. Mocht je computer het apparaat niet kunnen vinden is het raadzaam de juiste drivers te downloaden (https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers) en te installeren en om vervolgens de computer te rebooten. Voor Windows:

Nu de drivers aanwezig zijn kun je op 2 manieren flashen. De meest gebruiksvriendelijke manier is via de Google Chrome Webflasher (https://o-mg.github.io/WebFlasher):

De wizard zal je door het flash-proces helpen.

De meest stabiele manier vind ik echter door de Python flasher te gebruiken. Dit is een Python script welke gebruikt kan worden om de O.MG kabel te voorzien van de nieuwste firmware, het geven van een factory reset of het maken van een configuratie backup van de kabel:

TOT SLOT

Ik hoop dat je deze introductie van de O.MG accessoires interessant vond. Malicious Covert Hardware is ontzettend krachtig en potentieel ontzettend gevaarlijk. Gelukkig maakt O.MG niet alleen de malicious hardware maar maken ze ook een oplossing. Wil je je kabels eens controleren of ze malicious zijn. Dus met andere woorden, of ze data transporteren terwijl er maar 1 kant van de kabel aangesloten is? Dat kan met de O.MG Malicious Cable Detector. Deze lijkt ontzettend veel op de USB-A programmer maar heeft een lampje in de vorm van het O.MG logo (cool detail) op de chipset. Zodra je een kabel aansluit en deze transporteert data dan gaat het lampje branden. Als dat gebeurt wanneer slechts 1 kant van de kabel aangesloten is dan weet je dat er iets niet in de haak is.

Al met al zijn de O.MG accessoires ontzettend dynamisch, krachtig, makkelijk te programmeren en makkelijk te gebruiken. Qua dat passen ze precies in het assortiment van Hak5. En de support die is ook prima. Helaas had ik voor 1 onderdeel support nodig en via Discord was dit snel en netjes opgelost. Kortom, zeer tevreden!

Bron: Jarnobaselier.nl