Pokud pracujete s USB, Androidem, IoT nebo jakýmkoli typem připojeného hardwaru, dříve či později se budete muset vypořádat s... komunikační selhání, neúplné výčty nebo ovladače, které neposkytují žádné vodítkaV tom okamžiku je jít naslepo peklo: musíte vidět, co se skutečně děje „na kabelu“ a v operačním systému.
Dobrou zprávou je, že dnes máme velmi vyspělý ekosystém Nástroje pro ladění USB, zachycování provozu a diagnostiku chybOd open-source hardwarových snifferů po Wireshark, ETW ve Windows, ADB v Androidu a specifické nástroje pro USB 3.x, všechny je spojíme a vytvoříme z nich uceleného průvodce, abyste si mohli vybrat ten správný nástroj pro problém, se kterým se potýkáte.
USB hardwarové sniffery: Vidění sběrnice tak, jak je
Když je problém na nejnižší úrovni, potřebujete tým, který zachycovat provoz přes USB bez nutnosti spoléhat se na operační systém, ovladače nebo APIA právě zde přicházejí na řadu specializovaní hardwaroví snifferi.
Jedním z nejzajímavějších projektů posledních let je kapesní USB 2.0 sniffer navržený Alexem Taradovem, zařízení, které... zcela otevřený hardware což umožňuje zachycovat vysokorychlostní provoz (480 Mbps) a ukládat ho přímo do formátu PcapNG pro analýzu pomocí Wiresharku.
Jádro designu je založeno na Mikrokontrolér Cypress CY7C68013A, velmi oblíbené jako generické USB rozhraní, pracující na 48 MHz, ke kterému je přidán FPGA mřížka MachXO2-2000HC zodpovědný za rekonstrukci signálu NRZI a správu synchronizace, plus Transceiver USB3343 který se fyzicky připojuje k linkám D+ a D- sběrnice USB. Společně tvoří kanál, ve kterém PHY zachycuje signál, FPGA znovu sestavuje pakety a mikrokontrolér je balí do bloků PcapNG s přesnými časovými razítky.
Díky této architektuře bez mezilehlého operačního systému je zařízení schopno udržovat trvalé rychlosti v rozmezí 40-50 MB/sBlíží se praktickým limitům vysokorychlostního USB 2.0 s přesností zachycení, které je obtížné dosáhnout pouze pomocí softwaru. Celý projekt, včetně firmwaru, kódu Verilog a schémat, je k dispozici v autorově repozitáři, což usnadňuje studium, úpravy nebo dokonce výrobu desky.
Další silnou stránkou je její velikost: deska je dostatečně malá, aby se vešla do kapsy, a nevyžaduje SBC ani druhý specializovaný počítač. Na rozdíl od předchozích projektů založených na mini PC (jako tinySniffer s NanoPi NEO Air) zde FPGA provádí zpracování dat, mikrokontrolér je omezen na objednávání a odesílání dat a počítač je pouze přijímá a zobrazuje.To výrazně snižuje riziko ztrát v důsledku zatížení CPU, latence nebo jitteru v časových razítkách.

Wireshark jako přirozený společník pro ladění USB a sítě
Většina moderních hardwarových snifferů, včetně Taradova, odesílá provoz do Soubory PcapNG, abyste je mohli otevřít přímo pomocí WiresharkuTo dává dokonalý smysl: Wireshark je de facto standardem pro analýzu protokolů, a to jak síťových, tak USB.
Wireshark je Analyzátor protokolů, který vám umožňuje paket po paketu sledovat, co se mezi zařízeními vyměňujePodporuje Ethernet, Wi-Fi, Bluetooth, ATM, USB, Token Ring, Frame Relay a FDDI a rozumí stovkám protokolů fyzické, datové, síťové, transportní a aplikační vrstvy. Můžete zaznamenávat v reálném čase nebo ukládat záznamy a analyzovat je offline, kdykoli budete chtít.
Kromě grafického rozhraní nabízí Wireshark i další funkce TShark, jeho verze pro příkazový řádekTo je velmi užitečné pro automatizaci analýzy, práci přes SSH nebo její integraci do skriptů. Oba sdílejí stejné výkonné filtry, v nichž spočívá velká část kouzla: můžete si ponechat pouze to, co vás zajímá (koncový bod, PID, konkrétní IP adresu, tok TLS atd.) a na zbytek šumu zapomenout.
V kontextu USB, když zachycení pochází z fyzického snifferu, není Wireshark omezen systémovými ovladači: vidí řídicí, hromadné, přerušovací a izochronní transakce přesně tak, jak procházejí sběrnicí. Specifický plugin interpretuje... pole jako PID, adresa zařízení, koncový bod, délka dat, příznaky a hardwarová časová razítkaToto je klíčové pro ladění, proč zařízení neprovádí výčet, proč je deskriptor chybný nebo proč koncový bod nereaguje, když by měl.
Wireshark umí číst a zapisovat do různých formátů dat, například libpcap/tcpdump, pcapng a dalšía dokonce i komprimovat za chodu pomocí GZIP. Podporuje různé technologie (Ethernet, 802.11, PPP/HDLC, Bluetooth, USB atd.) a pokud jsou k dispozici příslušné klíče, je schopen dešifrovat IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP, WPA/WPA2 a další, čímž výrazně rozšiřuje svůj dosah v šifrovaných prostředích a prostředích s nulovou důvěryhodností.
Wireshark v kybernetické bezpečnosti a prostředí Zero Trust
Přestože je stále více provozu šifrováno, Wireshark zůstává ústředním nástrojem v sadě nástrojů každého modrého týmu.Šifrování skrývá obsah, ale nikoli metadata: IP adresy, porty, vzorce připojení, velikosti paketů, načasování, náhlé změny chování atd.
V architekturách Zero Trust, kde je vše šifrováno i v rámci interní sítě, se Wireshark často kombinuje s nástroji, jako je Fiddler nebo mitmproxy Wireshark dokáže autoritativním způsobem kontrolovat HTTPS provoz pomocí vlastních certifikátů nebo řízeného ukončení TLS. Wireshark navíc může použít soubory klíčů TLS (SSLKEYLOGFILE) generované moderními prohlížeči k... selektivně dešifrovat TLS 1.3, HTTP/2 nebo dokonce části provozu QUIC/HTTP/3 když jsou k dispozici klíče relace.
V praxi se nakonec používá hybridní model: Platformy SIEM/SOAR (Sentinel, Elastic, Splunk atd.) a senzory jako Zeek nebo Suricata generují výstrahy a protokoly na vysoké úrovni.Wireshark se naopak používá k ponoření se do detailů konkrétního incidentu, zobrazení skutečných paketů, rekonstrukci toků a ověřování hypotéz. Tato kombinace snižuje počet falešně pozitivních výsledků a výrazně urychluje reakci na incidenty.
Wireshark je také vysoce ceněn ve světě reakce na incidenty související s SSH, RDP nebo VPNI když je obsah šifrovaný, můžete rozlišit úspěšné relace od neúspěšných pokusů podle doby trvání toku, velikosti paketů, doby mezi zprávami nebo počtu pokusů o ověření. Jedná se o poměrně sofistikovaný způsob, jak detekovat útoky typu „credential stuffing“ nebo rozsáhlé skenování vzdáleného přístupu.
V útoku červené týmy a pentestery hodně používají TShark a tcpdump k... špehování provozu, identifikace používaných služeb a protokolů, pozorování chování obranných systémů nebo zda probíhá hloubková kontrola perimetruDoplněno o Scapy je možné generovat a vkládat vlastní pakety a sledovat reakci sítě v reálném čase.
Ladění a diagnostika USB ve Windows s ETW a specifickými nástroji
V ekosystému Windows máte kromě klasického analyzátoru paketů k dispozici velmi výkonnou infrastrukturu založenou na Sledování událostí pro Windows (ETW) což umožňuje velmi podrobný záznam dění v USB stacku: výčet, změny stavu portů, výpadky napájení, problémy se spouštěním zařízení atd.
Řadič USB hubu generuje události ETW s různými úlohami, které můžete zachytit a zobrazit pomocí nástrojů, jako je Netmon nebo jeho moderní náhrada. Analyzátor zpráv Microsoft (nyní již nevyráběný, ale stále používaný v mnoha prostředích) nebo s aktuálnějšími prohlížeči ETW. Filtrováním úlohy „Výčet rozbočovačů USB“ (Úkol 2) se můžete zaměřit pouze na události relevantní pro připojení zařízení, konzultace Diagnostické příručky pro USB porty ve Windows.
Například při hledání událostí jako „Spuštění výčtu portů“ nebo „Výčet portů dokončen“Můžete měřit, jak dlouho trvá systému vyčíslení zařízení, v jakém kroku se zasekne nebo zda během detekce dochází k elektrickým odskokům (debounce). Cílem je měřit intervaly mezi událostmi, jako například:
- Zahájení výčtu portů → Výčet portů dokončencelková doba výčtu.
- IoInvalidateDeviceRelations → IRP_MN_QUERY_DEVICE_RELATIONS: doba, kterou PnP potřebuje ke spuštění dotazu na zařízení.
- IRP_MN_QUERY_DEVICE_RELATIONS dokončeno → IRP_MN_START_DEVICE odesláno: zpoždění mezi detekcí nového PDO a efektivním spuštěním zařízení.
Pro cyklus napájení existují také specifické úlohy ETW, jako je obnovení zařízení z režimu spánku (D0), selektivní pozastavení rozbočovačů a zpracování spouštěcích IRP zařízení. Měření mezi událostmi „Odesláno IRP napájení sady zařízení USB D0“ a „…Dokončeno“ Poznáte, zda je úzké hrdlo v samotném zařízení, v ovladači nebo v... Problémy s napájením z USB.
Ve Windows 8 a novějších verzích společnost Microsoft také přidala Rozšíření ladicího programu specifická pro USB 3.0 a nové ladicí nástroje ve Visual Studiu/WinDbg zaměřené na ekosystém xHCI. Tato rozšíření zobrazují stav řadiče, přenosové fronty, koncové body, stav portů a detaily na nízké úrovni, které v kombinaci s ETW a zachycením provozu výrazně usnadňují lokalizaci jemných chyb v ovladačích a firmwaru. K dispozici jsou také průvodci pro identifikovat verzi USB portů když existují pochybnosti o kompatibilitě.
Android Debug Bridge (ADB): Ladění a USB/síťový provoz v systému Android
Pokud máte rádi mobilní telefony a tablety, ekvivalentem diagnostického „švýcarského nožíku“ je... Ladicí most pro Android (adb)Jedná se o nástroj typu klient-server, který umožňuje vašemu vývojovému počítači komunikovat se zařízeními Android přes USB i Wi-Fi.
Architektura adb se skládá ze tří částí: klient (adb) které spouštíte na svém PC, démon (adbd) který běží na zařízení a Server který se nachází na vašem počítači a funguje jako prostředník mezi vámi. Server otevře TCP port 5037 a pokud existují emulátory, vyhledá je v rozsahu portů 5555-5585, aby se mohl připojit ke každé instanci.
Chcete-li povolit ladění USB, musíte aktivovat Možnosti pro vývojáře a ladění USB na zařízení; pokud máte problémy s připojením, obraťte se Co dělat, když telefon nerozpozná USBPočínaje verzí Androidu 4.2.2 musí být každý připojený počítač explicitně autorizován prostřednictvím dialogového okna zobrazujícího klíč RSA, aby se zabránilo ovládání mobilního zařízení neznámým zařízením pouhým připojením.
V systému Android 11 a novějších verzích Google přidal funkci bezdrátové laděníTo vám umožňuje spárovat zařízení a pracovní stanici přes Wi-Fi pomocí QR kódu nebo párovacího kódu, bez nutnosti kabelu. V Android Studiu můžete použít možnost „Spárovat zařízení pomocí Wi-Fi“ nebo to provést z příkazového řádku pomocí adb pair ip:puerto y adb connect ip:puerto.
Jakmile je zařízení připojeno, adb vám nabídne obrovský katalog možností pro Diagnostika problémů s aplikacemi, systémem a sítí:
- Instalace a odinstalace souborů APK (
adb install,adb uninstall), také více souborů APK rozdělením. - Přesměrování portů (
adb forward tcp:host tcp:deviceoa lokální sockety), velmi užitečné pro ladění interních služeb. - Kopírovat soubory uvnitř i vně zařízení (
adb pull,adb push). - Otevření interaktivního shellu (
adb shella spouštět unixové příkazy a nástroje, jako napříkladtoyboxologcat.
Kromě toho adb integruje rychlý přístup ke klíčovým subsystémům prostřednictvím utilit, jako je am (Správce aktivit), pm (Správce balíčků) nebo dpm (Správce zásad zařízení)S nimi můžete spouštět aktivity, restartovat služby, ukončovat problematické procesy, vynucovat výpisy paměti, ovládat profily, manipulovat s oprávněními, vytvářet nebo mazat uživatele, konfigurovat vlastníky zařízení/profilů v podnikovém prostředí atd.
Pro vizuální ladění máte k dispozici příkazy jako screencap y screenrecordkteré vám umožňují pořizovat snímky obrazovky nebo nahrávat video o tom, co se na zařízení děje, a poté je extrahovat pomocí adb pullIdeální pro dokumentaci chyb uživatelského rozhraní nebo toků, kde je třeba zachytávání provozu zasadit do kontextu s tím, co uživatel vidí.
Sériové sniffing a průmyslové sběrnice: když ne všechno je přes USB nebo Ethernet
V prostředí průmyslové automatizace, CNC, PLC nebo vestavěné elektroniky je velmi běžné nalézt komunikaci založenou na UART/TTL, RS-232 nebo RS-485 s protokoly jako Modbus RTU nebo ASCII, proprietární komunikací průmyslových zařízení atd. Pro jejich ladění je klasickou a velmi účinnou technikou fyzické čichání v pasivním režimu.
Myšlenkou je vytvořit „sniffing PC“ se dvěma USB-sériovými adaptéry, jejichž RX vstupy jsou zapojeny paralelně s TX vstupy hlavního počítače a cílového zařízení, sdílejí zem, ale bez propojení TX vstupů adaptérů, aby se zabránilo rušení. Toho lze dosáhnout pomocí softwaru, jako je například SerialTool nebo jakýkoli pokročilý terminál, otevřete dva porty (například COM5 a COM6) a upravte rychlost a formát (obvykle 115200-8N1, ale můžete vyzkoušet různé rychlosti nebo změřit osciloskopem).
Asynchronní sériový protokol (start bit, 7/8 LSB datových bitů jako první, volitelná parita a stop bity) je stejný, ať už pracujete na úrovních TTL, RS-232 nebo RS-485; jaké jsou změny? Elektrické hladiny a fyzikální topologie (jednostranný vs. diferenciální)Proto potřebujete správný adaptér: USB-TTL, USB-RS-232 nebo USB-RS-485.
Nástroje jako SerialTool nejen zobrazují tok v HEX a ASCII, ale také integrují Klienti Modbus pro čtení/zápis registrů, monitory s časovými razítky a funkce záznamníku dat které ukládají celou relaci pro pozdější analýzu, a to i exportují do formátů, které pak můžete otevřít pomocí Wiresharku nebo vlastních skriptů.
Tento přístup je velmi účinný pro reverzní inženýrství protokolůPokud máte pouze proprietární software, který komunikuje se strojem, můžete konverzaci „odposlechnout“, dokumentovat rámce, adresy, CRC, časování a poté toto chování replikovat s vaší vlastní IoT aplikací nebo bránou.
IoT a rádio: Bluetooth, ZigBee, UART, JTAG a další
Ve světě internetu věcí se věci trochu komplikují, protože do hry vstupují další faktory. bezdrátové protokoly a interní ladicí sběrniceAnalýza těchto kanálů umožňuje odhalit bezpečnostní nedostatky, závažné zranitelnosti nebo jednoduše implementační chyby.
Pro Bluetooth a BLE je jedním z odkazů projekt UberzubUbertooth ONE je open-source hardwarový a softwarový balíček, který umožňuje zachytávat a vkládat provoz Bluetooth Classic (Basic Rate) i BLE. Obsahuje anténu Ubertooth ONE (kterou si můžete koupit nebo si sami postavit) a nástroje pro Linux/macOS, které s ní komunikují a umožňují... sniffing, dekódování a export provozu, včetně podpory pro analýzu pomocí Wiresharku prostřednictvím integrovaného pluginu BLE z relativně starších verzí.
Analýza provozu Bluetooth není triviální, protože protokol je složitý a spoléhá na postupy přeskakování frekvencí a párování. Ubertooth však přichází s... rozsáhlá dokumentace, wiki a fóra pokrývá vše od základů protokolu až po praktické příklady snímání a analýzy.
Pokud máte fyzický přístup k zařízení IoT, dalším důležitým nástrojem je Odznak AttifyMalá víceúčelová deska pro propojení s UART, SPI, I2C, JTAG, GPIO a dalšími typickými rozhraními pro embedded hardware. S ní můžete odposlouchávat provoz UART. Získání root přístupu přes sériovou konzoli, provádění výpisů paměti přes JTAG, manipulace s GPIO piny a obecně mít legitimní zadní vrátka k elektronice zařízení.
Pro sítě ZigBee a 802.15.4 projekt KillerBee Je to ekvivalent Ubertoothu: softwarový framework (hlavně v Pythonu) a kompatibilní hardware (jako je Atmel RZ RAVEN USB Stick), který umožňuje Zachycování, vkládání a analýza ZigBee provozuSpouštění útoků typu denial-of-service, wardriving sítí domácí automatizace atd. s podporou generování paketů pomocí Scapy.
Abyste se vyhnuli zběsilé instalaci nástrojů a závislostí, existuje také Attify OSJedná se o distribuci založenou na Ubuntu, která je předkonfigurovaná se vším potřebným pro audit IoT: podpora pro Ubertooth, Attify Badge, KillerBee, GNU Radio, HackRF, JADx, IDA (pokud máte licenci), Firmware Analysis Toolkit pro emulaci firmwaru a mnoho dalšího. Nevýhodou je, že je distribuována jako virtualizovaný obraz (pro VMware, VirtualBox atd.), což někdy trochu komplikuje věci s USB passthrough, ale pro mnoho laboratoří je to velmi pohodlné a rychlé řešení pro nasazení.
Legalita, osvědčené postupy a doplňkové alternativy
Zachycení síťového nebo USB provozu je v dnešní době technicky jednoduché, ale je důležité si uvědomit, že Ne všechno, co lze udělat, je legální nebo eticky přijatelné.Například ve Španělsku není používání nástrojů, jako je Wireshark nebo fyzické sniffery, samo o sobě trestným činem, ale přístup k údajům třetích stran, jejich zachycení nebo šíření bez jejich souhlasu spadá pod trestné činy odhalování a vyzrazování tajemství.
Abyste se ochránili, vždy se omezte na sítě a zařízení, které vlastníte vy nebo klienti, kteří vám dali výslovný písemný souhlasNevyužívejte otevřené Wi-Fi sítě v kavárnách, na letištích ani u sousedů, abyste „zjistili, co se děje“. I když si myslíte, že „jen špehujete“, pokud se chytí vaše screenshoty s hesly, zprávami nebo osobními údaji, vysvětlování toho soudci je později mnohem složitější, než se zdá.
Dalším klíčovým bodem je to Snímky obrazovky mohou obsahovat vysoce citlivé informacePřihlašovací údaje, interní provoz, metadata, klíče atd. Pokud budete sdílet soubor pcap s třetí stranou, která vám pomůže s laděním, udělejte to pouze s někým, komu důvěřujete, anonymizujte, co je možné, a pokud se jedná o šifrovaný provoz, nesdílejte soukromé klíče lehkovážně.
Pokud jde o alternativy a doplňkové nástroje, kromě již zmíněných (tcpdump, TShark, Zeek, Suricata, Fiddler, mitmproxy) máte k dispozici řešení jako například CloudShark (zaměřeno na analýzu a sdílení pořízených snímků přes web), SmartSniff pro Windows nebo vizuální prohlížeče, jako například EtherApeMnoho z nich funguje s Wiresharkem velmi dobře, protože sdílejí formát pcap, takže můžete kombinovat hrubou sílu některých s jemnou analýzou jiných.
Celý tento ekosystém – otevřené hardwarové USB sniffery, Wireshark a TShark, ladění ETW a USB 3.x ve Windows, ADB v Androidu, sériové nástroje pro průmyslové sběrnice, frameworky IoT jako Ubertooth nebo KillerBee a moderní analytické platformy – vám umožňuje přechod z „Nemám tušení, co se děje“ na „Vidím každou část, která se hýbe, a vím, kde selhává“a také pochopit Proč je přenos dat přes USB pomalý když je to vhodné.