BadUSB zařízení v pentestingu: praktický průvodce
Termín BadUSB v užším smyslu znamená přeprogramování firmwaru řadiče USB tak, aby zařízení emulovalo klávesnici HID a vkládalo příkazy do systému bez jakékoli autorizace (koncept předvedli Karsten Nohl a Jakob Lell na BlackHat 2014). V pentesterské praxi pod tento pojem spadá celá třída nástrojů keystroke injection - od mikrokontroléru za pár dolarů po kabel s vlastním panelem C2 přes Wi-Fi. Není to akademická zajímavost: v lednu 2022 FBI vydala výstrahu FLASH o skupině FIN7, která poštou rozesílala upravená zařízení USB (hardware LilyGO) vydávající se za dárky od Amazonu a amerického ministerstva zdravotnictví, s ransomwarem BlackMatter/REvil na konci řetězce.
Obsah
Klíčové závěry
| Bod | Podrobnosti |
|---|---|
| Emulace HID jako základ útoku | Každé zařízení BadUSB funguje jako virtuální klávesnice, což umožňuje obejít většinu zabezpečení. |
| Výběr zařízení závisí na scénáři | Bash Bunny se hodí na pokročilé audity, Digispark na výuku a rozpočtové testy. |
| Samotný antivirus nestačí | Signaturní AV bezsouborovou injekci nevidí, ale behaviorální EDR zachytí řetězec po vložení a stažený druhý stupeň je už soubor ke skenování. |
| Obrana vyžaduje vrstvy zabezpečení | Účinná politika USB kombinuje whitelisting VID/PID, USBGuard a fyzické zámky portů. |
| Dokumentace je povinná | Každé použití zařízení BadUSB při auditu musí být zakotveno v písemném rozsahu zakázky. |
1. Kritéria hodnocení a výběru zařízení BadUSB pro pentesting
Výběr zařízení BadUSB pro konkrétní zakázku začíná analýzou několika klíčových parametrů. Bez této analýzy vznikají situace, kdy drahý hardware nepřináší nic navíc oproti tomu, co by zvládl levnější ekvivalent.
Schopnost emulace zařízení je prvním kritériem. Některá zařízení emulují pouze klávesnici HID. Jiná dokážou současně předstírat síťovou kartu, velkokapacitní úložiště a klávesnici, což otevírá zcela jiné vektory útoku.
Možnosti konfigurace a programování určují flexibilitu v terénu. Zařízení s vlastním skriptovacím jazykem (Ducky Script, Bunny Script) umožňují rychle přizpůsobit payloady konkrétnímu testovanému prostředí.
Cena versus možnosti je praktické hledisko. Cenové rozpětí je široké. Klon Digisparku stojí pár dolarů (u nás 28 zł), USB Rubber Ducky asi 60-90 USD (675 zł) a Bash Bunny Mark II asi 210 USD (1458 zł). Rozpočet zakázky by se měl přímo promítat do volby hardwaru - dražší zařízení dává smysl jen tehdy, když rozsah auditu využije jeho další režimy.
Snadnost použití a integrace rozhodují o tom, kolik času zabere nasazení zařízení v testovacím prostředí. Pro pentestery pracující v terénu se počítá čas od zapojení po vykonání payloadu.
Právní a etické aspekty jsou nezbytné. Každé použití zařízení BadUSB musí být kryto písemným rozsahem zakázky a souhlasem vlastníka systému. Vlastnit hardware je legální, použít jej bez souhlasu nikoli.
Bezpečnost firmwaru je otázka, kterou mnozí přehlížejí. Zařízení s open-source softwarem umožňují audit kódu. Levné klony z neznámých zdrojů mohou obsahovat vlastní backdoory.
Rada profesionála: Nové zařízení BadUSB vždy nejprve otestujte v izolovaném virtuálním prostředí, než ho použijete v prostředí klienta. Chyba v payloadu na produkčním stroji může ukončit zakázku rychleji než jakýkoli ochranný systém.
2. Přehled nejpopulárnějších zařízení BadUSB pro pentesting
Trh se zařízeními pro USB pentesting je rozmanitější, než naznačuje většina seznamů "top 5". Níže jsou popsány modely, které se skutečně dostávají do rukou pentesterů.
USB Rubber Ducky
USB Rubber Ducky je považován za standard v testech vkládání příkazů HID. Payloady se píší v jazyce DuckyScript - jednoduchý příklad, který otevře Poznámkový blok a napíše text, demonstruje klíčovou vlastnost útoku: příkazy přicházejí do systému rychlostí rozhraní, ne člověka.
REM Demonstracja szybkosci wstrzykiwania - otwiera Notatnik
DELAY 1000
GUI r
DELAY 500
STRINGLN notepad
DELAY 1000
STRINGLN Ten tekst wpisalo urzadzenie HID w ulamku sekundy.
Každý příkaz je doslovný: GUI r je zkratka Windows+R, STRINGLN napíše text a potvrdí Enterem a DELAY čeká zadaný počet milisekund. V reálném payloadu je třeba počítat s rozložením klávesnice cíle - zařízení posílá kódy kláves, ne znaky, takže payload napsaný pro US-QWERTY napíše na klávesnici s jiným rozložením nesmysl. Samotný Ducky V2 už není "jen klávesnice": DuckyScript 3.0 přidává režim velkokapacitního úložiště, klonování VID/PID a exfiltraci dat technikou Keystroke Reflection. Co mu chybí, je emulace síťové karty - a tím se liší od Bash Bunny.
-
Emulace: HID (klávesnice) + režim velkokapacitního úložiště
-
Skriptovací jazyk: DuckyScript 3.0
-
Cena v SAPSAN: 675 zł (asi 60-90 USD)
-
Použití: rychlé vkládání příkazů, testy social engineeringu, exfiltrace přes Keystroke Reflection
Hak5 Bash Bunny
Bash Bunny Mark II je zařízení vyšší třídy, schopné současně emulovat klávesnici, síťovou kartu Ethernet a velkokapacitní úložiště. Režimy se deklarují jedním řádkem, např. ATTACKMODE HID RNDIS_ETHERNET STORAGE. To umožňuje složité sekvence: při útoku QuickCreds zařízení nejprve předstírá síťovou kartu, aby přinutilo uzamčenou stanici k ověření a zachytilo hash NTLMv2 (Responder), a poté se přepne do režimu klávesnice, aby spustilo payload. Přepínání režimů trvá sekundy.
-
Emulace: HID, Ethernet (RNDIS/ECM), velkokapacitní úložiště, sériový port
-
Skriptovací jazyk: Bash, Python, DuckyScript
-
Cena v SAPSAN: 1458 zł (asi 210 USD)
-
Použití: pokročilé audity sítě a Active Directory
OMG Cable
O.MG Cable vypadá naprosto stejně jako obyčejný kabel USB, ale v pouzdře má mikrokontrolér s Wi-Fi a vlastní panel C2 ovládaný z prohlížeče. Není to "HID přes Wi-Fi", ale kompletní implantát: vkládá klávesnici i myš, verze Elite má hardwarový keylogger ukládající asi 650 000 znaků, podporuje geofencing (payload se spustí jen na zadaném místě) a self-destruct, který kabel po opuštění vymezené oblasti znehodnotí. Pentester může útok řídit z vedlejší místnosti.
-
Emulace: HID (klávesnice + myš) ovládaný přes Wi-Fi
-
Funkce: panel C2 v prohlížeči, keylogger (Elite), geofencing, self-destruct
-
Cena v SAPSAN: 968-1298 zł (podle verze)
-
Použití: testy se zachováním fyzické vzdálenosti, skrytá forma
Digispark
Digispark je miniaturní mikrokontrolér založený na ATtiny85, nejlevnější a nejdostupnější ze všech probíraných řešení. Programuje se v prostředí Arduino, má omezenou paměť (asi 6 KB na payload) a emuluje pouze klávesnici. Postrádá pokročilé funkce, ale jako vzdělávací platforma a nástroj pro základní testy vkládání příkazů funguje dobře - zvláště při úzkém rozsahu, kde dražší hardware nic nepřináší.
-
Emulace: HID (klávesnice)
-
Programování: Arduino IDE
-
Cena v SAPSAN: 28 zł (klony od pár USD)
-
Použití: výuka, rozpočtová testovací prostředí
WHID Injector a Packet Squirrel
WHID Injector (Cactus WHID) spojuje vkládání HID s modulem Wi-Fi ve formě flash disku - levnější, open-source alternativa pro vzdálené řízení payloadu, postavená na čipu ESP8266 (169 zł). Stále je to zařízení třídy keystroke injection.
Jiné třídy je Packet Squirrel Mark II - jde o síťový implantát, ne o zařízení BadUSB. Nevkládá klávesnici; zapojuje se do kabelu Ethernet mezi stanicí a sítí a funguje jako device-in-the-middle: zachytává provoz (PCAP), provádí DNS spoofing, staví VPN/SSH a poskytuje vzdálený přístup k cílové síti. Je nástupcem osvědčeného LAN Turtle, který je už dlouho nedostupný a nové verze se nedočkal. Vyplatí se tento rozdíl pochopit: Rubber Ducky či O.MG útočí přes port USB jako klávesnice, zatímco Packet Squirrel sedí na síťovém kabelu.
3. Porovnání zařízení BadUSB: tabulka pro pentestery
Následující přehled shromažďuje nejdůležitější parametry zařízení na jednom místě, aby usnadnil rozhodnutí o nákupu i provozu.
| Model | Třída | Emulace / funkce | Programování | Cena v SAPSAN |
|---|---|---|---|---|
| USB Rubber Ducky V2 | Injekce HID | HID + režim úložiště | DuckyScript 3.0 | 675 zł |
| Bash Bunny Mark II | HID + síť | HID, Ethernet (RNDIS/ECM), storage, serial | Bash / Python / DuckyScript | 1458 zł |
| O.MG Cable | Injekce HID (Wi-Fi C2) | HID klávesnice+myš, keylogger, geofencing | DuckyScript + webový panel | 968-1298 zł |
| Digispark | Injekce HID (rozpočet) | HID (klávesnice) | Arduino IDE | 28 zł |
| WHID Injector | Injekce HID (Wi-Fi) | HID + vzdálené Wi-Fi | Webový panel / Arduino | 169 zł |
| Packet Squirrel Mark II | Síťový implantát | Ethernet MITM, PCAP, VPN/SSH (ne HID) | Bash / Python / DuckyScript | 780 |
Tipy pro přiřazení zařízení ke scénáři:
Pokud se audit týká reakcí zaměstnanců na pohozená zařízení USB, stačí USB Rubber Ducky nebo Digispark. Pokud rozsah zahrnuje převzetí doménové relace nebo extrakci přihlašovacích údajů z Active Directory, správným nástrojem je Bash Bunny. O.MG Cable se hodí, když si pentester musí udržet fyzickou vzdálenost od napadané stanice. A když se test týká drátové sítě a zachytávání provozu, nesáhne se po klávesnicovém BadUSB, ale po síťovém implantátu - Packet Squirrel Mark II.
Rada profesionála: Při nákupu zařízení BadUSB ověřte, zda výrobce udržuje aktivní komunitu a repozitář payloadů. Hardware bez aktuálních zdrojů rychle ztrácí použitelnost v měnících se testovacích prostředích.
4. Výzvy a techniky obrany proti útokům BadUSB
Znalost obranných metod je pro pentestera stejně důležitá jako znalost útočných technik. Při provádění testů bezpečnosti USB musíte vědět, co funguje na straně obránce a co jen vypadá jako účinné zabezpečení.
-
Kontrola zařízení USB a whitelisting VID/PID. Filtrování podle identifikátorů výrobce (VID) a produktu (PID) je nejčastěji nasazovaný mechanismus. Problém je v tom, že tyto identifikátory jsou hodnoty z firmwaru, plně kontrolované útočníkem - zařízení lze nakonfigurovat tak, aby se vydávalo za VID/PID povolené klávesnice (Rubber Ducky či WHID dokážou naklonovat deskriptory legitimního zařízení). Whitelisting VID/PID je tedy opatření, které ztěžuje, nikoli blokuje útok; silnější vazba používá sériové číslo a hash deskriptoru, ale i ty lze zfalšovat.
-
Fyzické zámky portů USB. Mechanické zámky portů nebo jejich vypnutí v BIOS/UEFI jsou metody, které obránci používají jako doplněk softwarových politik. Účinné v prostředích s vysokým rizikem. Nevýhodou je výrazné omezení ergonomie práce uživatelů.
-
USBGuard a Endpoint Protector. USBGuard na Linuxu umožňuje vytvářet politiky, které povolují pouze předem definovaná zařízení. Endpoint Protector běží na Windows a macOS a nabízí centrálně spravované politiky USB. Oba nástroje vyžadují správnou konfiguraci, protože výchozí nastavení často nová zařízení HID neblokují.
-
Omezení signaturních antivirů. Samotná injekce je bezsouborová - stisky kláves z virtuální klávesnice nikdy nedopadnou na disk, takže signaturní skener nemá co analyzovat. To ale neznamená, že je obránce bezbranný: behaviorální EDR detekuje řetězec po vložení (např. explorer.exe spouštějící PowerShell několik sekund po zapojení USB), nadlidské a rovnoměrné tempo "psaní" prozradí automat a každý stažený druhý stupeň útoku je už soubor ke skenování. Tento rozdíl - signatury slepé, behaviorální analýza ne - by měl pentester jasně popsat ve zprávě.
-
Vzdělávání uživatelů. Nejtěžším aspektem obrany proti BadUSB je to, že útoky spoléhají na emulaci klávesnice, tedy zařízení nezbytného pro běžnou práci. Uživatelé nemají snadný způsob, jak útočící zařízení odlišit od skutečné klávesnice bez dalších nástrojů.
-
Monitorování událostí a behaviorální detekce. Zapojení nové "klávesnice" generuje ve Windows událost 6416 (rozpoznání nového externího zařízení) - obzvlášť podezřelé, když se druhá klávesnice zaregistruje na stanici, která už jednu má. SIEM může také korelovat anomální vytváření procesů (PowerShell spuštěný několik sekund po zapojení USB) s tempem kláves. Existují hotové nástroje: DuckHunt a Beamgun sledují kadenci psaní a zapojení USB a dokážou stanici po zjištění injekce uzamknout. Je to detekce, ne prevence - zpomalený, "rozechvělý" payload ji dokáže obejít a rychlé vkládání ze schránky generuje false-positive.
-
Účinná bezpečnostní politika USB vyžaduje kombinaci kontroly zařízení, vzdělávání uživatelů a fyzické ochrany portů. Žádný z těchto prvků samostatně nestačí.
5. Mé zkušenosti se zařízeními BadUSB při pentestech
Se zařízeními BadUSB pracuji dostatečně dlouho na to, abych měl několik postřehů, které v dokumentaci výrobce nenajdete.
Za prvé: účinnost těchto nástrojů v reálných auditech je výrazně vyšší, než většina klientů před testem předpokládá. Příkazy vkládané přes HID přicházejí do systému rychlostí dotazování rozhraní, ne rychlostí člověka píšícího na klávesnici. V praxi se payload spustí během několika sekund po zapojení zařízení.
Za druhé: nejčastější chybou pentesterů je netestovat payload na úplně stejné verzi operačního systému, jakou má klient. Payload napsaný pro Windows 10 se může na Windows 11 chovat jinak, zvláště když spouští příkazy PowerShellu s bezpečnostními příznaky změněnými Microsoftem.
Za třetí: Bash Bunny v rukou pentestera se slabou orientací v síťových protokolech je zařízení, které dělá méně, než stojí. Pokročilý hardware vyžaduje pokročilé znalosti, aby se dal smysluplně využít. Viděl jsem zakázky, kde Digispark za 15 USD dosáhl stejného efektu jako Bash Bunny za 120 USD, protože rozsah auditu byl úzký.
Co skutečně funguje: kombinace USB Rubber Ducky pro fyzické testy social engineeringu a Bash Bunny pro audity Active Directory. O.MG Cable přidávám jen tehdy, když audit vyžaduje přítomnost zařízení u stanice po delší dobu a vzdálené řízení. Dokumentování každého použití je stejně důležité jako samotný útok - zpráva bez přesných kroků reprodukce je pro IT oddělení klienta k ničemu.
Vybavení BadUSB pro pentestery v nabídce Sapsan-sklep
Sapsan-sklep jako evropský distributor hardwaru pro kybernetickou bezpečnost nabízí zařízení BadUSB probíraná v tomto článku s doručením do celé Evropské unie a do USA.
V naší nabídce najdete celou třídu keystroke injection: USB Rubber Ducky (675 zł), Bash Bunny Mark II (1458 zł), O.MG Cable (od 968 zł), rozpočtový Digispark (28 zł) a WHID Injector (169 zł). Pro testování drátové sítě je k dispozici implantát Packet Squirrel Mark II (780 zł). Všechna zařízení jsou určena výhradně k legálním bezpečnostním testům s písemným souhlasem vlastníka systému. Celá nabídka: sapsan-sklep.pl.
FAQ
Čím se BadUSB liší od běžného flash disku?
BadUSB je zařízení s přeprogramovaným firmwarem, které emuluje klávesnici HID a vkládá příkazy do systému. Běžný flash disk pouze ukládá data a po zapojení neprovádí žádné akce.
Které zařízení BadUSB zvolit na první audit USB?
USB Rubber Ducky je nejčastěji doporučovaná volba pro pentestery začínající s testy bezpečnosti USB. Jednoduchý skriptovací jazyk a velká základna hotových payloadů zkracují čas na vstup na minimum.
Odhalí antivirus útok BadUSB?
Signaturní antivirus samotnou injekci neodhalí - příkazy z virtuální klávesnice systém považuje za normální vstup a útok je bezsouborový. Odhalí ho však behaviorální EDR, podle následků: neobvyklého řetězce procesů a staženého druhého stupně útoku, který je už obyčejný soubor.
Jak legálně používat zařízení BadUSB?
Každé použití zařízení BadUSB vyžaduje písemný souhlas vlastníka testovaného systému a musí být kryto rozsahem pentestingové zakázky. Použití bez souhlasu je nelegální bez ohledu na úmysl.
Hodí se Digispark pro profesionální audity?
Digispark se hodí pro jednoduché testy vkládání HID a do vzdělávacích prostředí. Pro profesionální audity zahrnující síťovou emulaci nebo složité payloady je nutné zařízení třídy Bash Bunny.
