HID útok (útočení HID hostitelské implementace)

Úvod

Klávesnice a myši Bluetooth se velké procento prodaných zařízení Bluetooth, většina z vysoce kvalitních bezdrátových počítačů nyní používat Bluetooth. Všechny Klávesnice, myši, joysticky a kreslení tablet použít HID protokol (HID = Human Interface Device). HID je nezávislá na připojení Bluetooth a je také používán pro zařízení USB, samozřejmě to bylo používáno pro USB dávno předtím, než Bluetooth ještě existovala. Bluetooth SIG právě uvedeno malé obálky protokol k přepravě HID přes Bluetooth. Popsaný útok v podstatě únos systémovou klávesnici počítače.

Historie

Začal jsem používat Bluetooth HID zařízení (Apple klávesnice) v roce 2003. HID bezpečnostní výzkum právě začal nedávno v listopadu 2005, zatímco dělá nějaký vývoj na měkký-HID Bluetooth klávesnice.
HID Podrobnosti

Tato je zaměřena na klávesnice, myši jsou v podstatě řešeny stejným způsobem. V HID jsou dvě instance: počítače (PC, notebook, PDA, mobil, atd ...) a zařízení (klávesnice, myš, atd ...). Oba případy jsou spojeny dvěma kanály (PSM) na vrstvě Bluetooth L2CAP. Jedná se o kontrolní a přerušení kanálu. Řídicí kanál je použit pro signalizaci a přerušení kanál se používá pro přenos dat. Více informací lze nalézt pomocí odkazů v sekci reference. Aby bylo možné použít HID zařízení, které potřebuje pro připojení k hostiteli nějakým způsobem, protože nejsou tam žádné kabely být zapojen proces je trochu složitější. Což je velmi zajímavé pro nás. Připojení HID zařízení k hostiteli lze provést dvěma způsoby. Nejběžnější způsob je místo, kde hostitel iniciuje připojení. Zde hostitel musí nejprve najít zařízení, to se provádí pomocí specifického dotazu Bluetooth skenování pro HID zařízení. Nyní hostitel musí objevit typu a servisní profily nalezené HID zařízení. To se provádí pomocí SDP (Service Discovery Protocol), který je silně využívaného HID. Určuje triviální věci, jako je L2CAP PSM pro kontrolu a přerušit kanály a funkce na vysoké úrovni HID, jako je počet klíčů, jazykových sad, atd vzorek dump lze nalézt zde . Režim Druhá příloha je místo, kde se přístroj připojuje k hostiteli , Zde hostitel také dotazuje zařízení SDP informace. V obou případech je třeba řídící kanál mají být zavedena před připojením přerušení kanálu. Součástí procesu připojení se rozhodování o protokolu, který bude použit. K dispozici jsou dva protokoly pro klávesnice: boot protokol , který se používá Bluetooth vědom BIOSs pro používání klávesnice Bluetooth jako konzole vstup a druhý v protokolu zpráv je trochu složitější a zahrnuje věci jako klíčové mapovacích tabulek. Využijeme zde zaváděcí protokol.

Útok Bluetooth HID

Stejně jako jsme si řekli v úvodu, budeme unést klávesnice konzole počítače nebo přesnější představíme a (nový) klávesnice do systému. V podstatě jsme jen využít HID počítač v režimu serveru, na níž HID hostitel přijímá příchozí připojení ze zařízení. Můžeme se také pokusit udělat pasivní útok a jen čekat, až někdo hledá Bluetooth klávesnice, jakmile se dostaneme příchozí spojení jsme převzít kontrolu a aplikovat to, co někdy klávesovou sekvenci chceme. Howto objevit HID počítač v režimu serveru? Potřebujeme jen pro kontrolu dvou HID kanálu, protože PSM pro HID jsou standardizovány prostě skenování portů cílového hostitele. Pomocí BT Audit, Bluetooth port scanner apartmá , aby to.

# Psm_scan -o 00: 12: 34: 56: 78: 9A
skenování, bude to nějaký čas trvat ...
PSM: 0x0001 (00001) Stav: L2CAP_CS_NO_INFO výsledek: L2CAP_CR_SUCCESS (je to SDP)
PSM: 0x0003 (00003) Stav: L2CAP_CS_NO_INFO výsledek: L2CAP_CR_SUCCESS (to je RFCOMM)
PSM: 0x0011 (00017) Stav: L2CAP_CS_NO_INFO výsledek: L2CAP_CR_SUCCESS (HID ctrl)
PSM: 0x0013 (00019) Stav: L2CAP_CS_NO_INFO výsledek: L2CAP_CR_SUCCESS (HID intr)
Poslední dva porty (PSM) jsou nejzajímavější. 0x11 (17) je HID PSM pro řídící kanál a 0x13 (19) je přerušení kanálu. Jak je uvedeno L2CAP_CR_SUCCESS žádná bezpečnostní vrstva je povoleno a pokus o připojení bude úspěšné. Více informací o zabezpečení nízkoúrovňové Bluetooth a HID později. Teď můžeme jen na naše vlastní implementaci HID zařízení a připojte jej k hostiteli. To opravdu vám dává plnou kontrolu nad vstupem počítače klávesnice . Samozřejmě další klávesnice se stále pracuje, takže nemusíte mít úplnou kontrolu nad počítačem oběti. To samé platí pro výše uvedenému pasivního útoku, kde jsme čekat, až se někdo připojí k nám. K tomu je třeba pár úprav místního rozhraní Bluetooth, takže můžeme napodobovat zařízení Bluetooth HID.
 

# Hciconfig hci0 -a
hci0: Typ: USB
BD Adresa: 00: 12: 34: 56: 78: 9A ACL MTU: 192: 8 SCO MTU: 64: 8
UP RUNNING PSCAN IScan
RX bytes: 9847 ACL: 315 sco: 0 události: 361 chyb: 0
TX bytes: 5723 ACL: 316 sco: 0 příkazy: 34 chyb: 0
Vlastnosti: 0xff 0xff 0x0F 0x00 0x00 0x00 0x00 0x00
Typ paketu: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link politika: RSWITCH HOLD SNIFF PARK
Režim Link: SLAVE ACCEPT
Název: "Keyboard Bluetooth"
Třída: 0x002450
Servisní třídy: Unspecified
Třída zařízení: Audio / Video, Unknown (vyhrazeno) menší zařízení třídy
HCI Ver: 1.1 (0x1) HCI Rev: 0x20d LMP Ver: 1.1 (0x1) LMP Subver: 0x20d
Výrobce: Cambridge Silicon Radio (10)
Důležitá nastavení jsou: zařízení a služby třídy musí odrážet HID (např 0x002540), zařízení by se neměla snažit, aby se stal mistrem piconet (SLAVE) zařízení musí být zjistitelné a připojit (IScan, PSCAN) a název zařízení by mělo být nějakým způsobem sugestivní, že je Bluetooth klávesnice . U obou typů útoků je vyžadován platný SDP klávesnice záznam, protože HID hostitelé potřebují informace o konfiguraci zpracovat spojení, a proto se většinou odmítnout připojení v případě, že záznam není k dispozici. Tyto útoky samozřejmě fungovat pouze v případě, zabezpečení low-level Bluetooth (mode2 / 3) není vyvolána během doby připojení (jako výše). Z toho, co jsem viděl: můj odhad je, že buď připojení hostitel vyvolá režim zabezpečení (požadavek PIN), nebo že některé HID zařízení vyžadují zabezpečené připojení. V některých případech, které mění BD_ADDR (Bluetooth MAC adresu) k útočící zařízení může pomoci (např oklamat vlastnických jednotek, které kontrolují určitou dodavatele). Chcete-li napodobovat Apple hardware může někdo chtěl prefix své nové BD_ADDR s 00: 0A: 95.
 

Nástroje

hidattack

hidattack čte / dev / input / události jako události ze souboru. Prostřednictvím tohoto nástroje lze velmi snadno vytvářet kontrolní-sekvence, jako je Ctrl-Alt-Del . hidattack lze poslouchat i pro příchozí připojení, k tomu pasivní útok.

Collinův Bluetooth klávesnice

To je plnohodnotným Bluetooth soft-HID klávesnice (to byl hlavní důvod pro hraní s HID). To je klávesnice na obrazovce na základě Matthew Allum je xkbd . Jen jsem vytrhl XTEST věci a nahradil jej s mým bthid kódu. Tento měkký-HID klávesnice mohou být také použity pro oba typy útoku. Protože se jedná o samostatný projekt má své vlastní webové stránky zde .
Zranitelné implementace

Jen jsem udělal jen velmi málo zkoušek. [X] Linux Bluez než 2,25 (Bluez-utils)

ukrytý (HID hostitele) je spuštěna ve výchozím nastavení a přijímá připojení zařízení bez ověření
v závislosti na distribučních ukrytý může být zahájena ve výchozím nastavení, nebo se spustí bezpečné parametry

[O] Windows SP2 (Microsoft stack)
neběží HID serveru ve výchozím nastavení

[?] Windows (Widcomm stack)

[?] MacOSX

[O] PocketPC
Think Outside HID hostitelský ovladač (v4.3), nepodporuje režim serveru a ve výchozím nastavení odchozí spojení požádat o kolík

[?] PalmOS
Ohrožení

Potenciální hrozba je vysoká, to v podstatě je jako dostat fyzický přístup k cílovému systému. Ale stejně jako kapuce skutečně úspěšně napadnout cíl je nízká. To je proto, že z několika důvodů. Není mnoho HID hostitelé realizovat režim serveru, nebo alespoň nemají být zapnuté po celou dobu. A většina z hostitelů používat zabezpečené připojení při připojování nových HID zařízení si mysleli odchozí spojení. Také plně automatizované útoky jsou těžké udělat, protože oni jsou slepí. Vzhledem k tomu, že nemáte žádné indicie o tom, co aplikace má fokus klávesnice, atd Použití klávesových kombinací (otevřete Start menu nebo spuštění dialogu) lze napravit část tohoto, ale samozřejmě, že ne úplně. Nejpravděpodobnější typ útoku by Denial of Service. Kde jste buď zaplavit vstupní fronty nebo poslat destruktivní klíčová sekvence.
 

Budoucí práce

Budoucí práce by byla, plný audit z nejčastějších HID hostitelských implementací. To je věc, která je zde většinou chybí. Také interakce s allready spárovaným Bluetooth HID zařízení by mohlo být zajímavé.