Door jep_z11: 3-in-1
OK, even opnieuw.
Stap 1:
Het gaat om de controller van een geheugenchip (USB-stick).
Je systeem (host) heeft er NIETS mee te maken.
Deze controller-firmware is alleen aan te passen met
speciale hardware (Stick open schroeven om bij de contactpuntjes te komen die het mogelijk maken om de controller-firmware te benaderen, aangezien dat (meestal) niet via de USB-connector kan) ... en ...
speciale software (controller-firmware openen, analyseren, aanpassen, testen, dat herhalen tot het werkt, en het vervolgens terug uploaden op de controller).
Dit vereist, logischerwijs, heel veel tijd, inzet, middelen en een breed pakket aan
skills, van precisie-solderen tot het analyseren (en herschrijven) van ruwe machine-code.
Dat is het enige indrukwekkende aan de PoC als je het mij vraagt.
Nu begrijp je waarschijnlijk ook waarom het maar om één type controller gaat, ieder type controller is anders, de meeste zijn niet uit te lezen via de USB-connector, en het aanpassen (kraken) van firmware is monnikenwerk.
Stap 2:
Inmiddels is het duidelijk dat je dit niet even 1-2-3- zelf doet, toch? OK.
Dan gaan we naar de mogelijkheden.
* Je kunt via de controller-firmware een deel ven het flash-geheugen onzichtbaar maken voor het OS.
Op dat verborgen stuk geheugen kun je, met speciale software / commando's, vervolgens malware plaatsten die dus niet direct zichtbaar is voor de host.
Dus je kunt redelijk onopvallend data buiten- of binnensmokkelen met zo'n stick.
* Je kunt via de controller-firmaware een apparaat zich anders voor laten doen dan het in werkelijkheid is.
Het enige gevaar dat ik me kan bedenken is RubberDucky.
Dat is namelijk een standaard geheugen-stick, met verborgen geheugen, die ook nog de firmware voor een extra toetsenbord heeft.
Zodra je dat aansluit op de host, begint dat 'toetsenbord' geheel automatisch, zo goed als onzichtbaar, héél snel te typen (scripts) waarbij de host (het OS dus) denkt dat jij dat zelf aan het typen bent.
Via zulke scripts kun je zaken als een AV uitschakelen, gebruikers-rechten proberen te verhogen, of erger.
* Alles met een USB-connector, van geheugen-stick tot telefoon-lader, en van externe HDD tot USB-ventilator is mogelijkerwijs van zo'n controller te voorzien.
Dus als jij ruzie hebt met de NSA of zo ... is het mogelijk dat ... jouw elektronische sigaret ... (waarvan jij dus denkt dat daar geen controller in
kan zitten) ... omgetoverd wordt tot geheugen-stick, netwerkadapter, etc.
Stap 3
Het probleem ontstaat dus pas als je daadwerkelijk een BADUSB op een host (systeem) aansluit.
Of je er vervolgens iets mee kan doen hangt af van het systeem (security-settings / rechten / up-to-date / etc.) en van de malware (exploits) die je op dat USB-apparaat hebt verborgen.
Die malware (scripts / exploits) maken dus geen onderdeel uit van de BADUSB, maar moet je er zelf op zetten.
Kortom, je hebt fysieke toegang nodig, en deze BADUSB-PoC is op zich helemaal niet gevaarlijk.
Het is gewoon een (niet-)nieuwe, inefficiënte, maar wel relatief onopvallende manier van malware verspreiden, data stelen, pentesten, etc.
Stap 4
Door jep_z11:Alleen met anders, en beter geprogrammeerde controllers is dit te verhelpen.
...
maar u heeft mij nog niet overtuigd van de noodzaak van fysieke toegang.
...
Het lijkt mij dat alles dat de controller kan benaderen, misbruik kan maken.
...
Oh, wat uw verhaal ook, laat ik zeggen: verwarrend maakt zijn de lavalampjes.
Ik heb een electronische sigaret, die kan met een USB verbinding opgeladen worden. Ook via een hulpstukje rechtstreeks in het stopcontact.
Daarbij is vanzelfsprekend geen exploit mogelijk omdat er niks is om te exploiteren, er zit waarschijnlijk helemaal geen controller tussen. Laat staan iets dat misbruikt kan worden.
Maar, als ik dat ding op m'n computer aansluit zit de controller in mijn pc er wel tussen, en dan kan een exploit alles doen dat het kan met de computer als gereedschap. Inclusief de internetverbinding.
Het heeft niets te maken met fouten of exploits in de controller-firmware, het hele idee achter USB is juist de controller-firmware vrijwel onbeperkte mogelijkheden heeft.
...
De controller zelf kan eigenlijk niets anders doen dan data op het USB-apparaat verbergen voor de host e/o het USB-apparaat zichzelf anders voor laten doen dan het in werkelijkheid is.
...
Controller-firmware is maar zelden (volledig) toegankelijk via de USB-connector. Meestal kan die code alleen benaderd worden via contactpuntje op de chip zelf.
...
Die lavalamp slaat inderdaad nergens op, zo'n lamp vraagt veel meer elektrisch vermogen dan een USB-poort aankan.
Het is maar een voorbeeld om aan te geven dat iedere apparaat, hoe onschuldig lijkend ook, in principe, voorzien kan worden van een USB-controller.
Ik gebruikte dat voorbeeld omdat niet zo lang geleden een USB-discobol gebruikt is bij een pentest bij het MvD (ik dacht Landmacht). Dus ook jouw elektronische sigaret is, in theorie, om te bouwen tot BADUSB.
Er is in feite geen verschil tussen een (OS-)exploit op een oude floppy, een reguliere USB-stick, een DVD, een BADUSB of welke andere soort data-drager dan ook.
Het enige verschil is dat je die malware / exploit (die je dus al moet hebben!!!) onzichtbaar kunt meenemen op een BADUSB / RubberDucky.
Dus er is geen super-duper-exploit, een BADUSB is alleen te gebruiken als je die in een host (systeem) stopt (fysieke toegang!) en het is (zo goed als) onmogelijk om controller-firmware aan te passen op afstand, zelfs als je al volledige controle over een systeem hebt.
Misschien dat het mogelijk is voor de NSA om zulke geintjes op afstand uit te voeren, maar niet alleen zou dat heel erg opvallen (alle data via het netwerk), tevens is het niet praktisch (je hebt toch al volledige controle over het systeem).
Kortom:
Doe maar weer kalm, geen paniek.
1] Niets nieuws aan, is al jaren bekend.
2] Ben blij dat je geïnformeerd wordt.
3] Fysieke toegang nodig, dus geen vreemde stickies in je gleuf stoppen.
4] AV helpt hier niet tegen, alleen met wat serieuze aanpassingen aan het OS kun je je hier tegen beschermen.
Kortom, hoe meer media-aandacht hoe beter, de meeste gebruikers realiseren zich niet dat een USB-poort hardware-toegang is en wat dat voor gevolgen kan hebben.