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é.