HackerFest 2018 a co se nám do přednášky nevešlo

Minulý týden jsem měl možnost vystoupit na HackerFestu v Praze. Přednášel jsem s Wiliamem Ischanoe na téma BadUSB útoků (oficiální název přednášky „Plug and Pray“). Myslím si, že nám to spolu „hrálo“, vzájemně jsme se doplňovali a přednáška měla spád (avšak jsou to jen mé pocity, ještě musím počkat na zpětnou vazbu od publika).

Jelikož se nám do 45 minut nepodařilo vtěsnat vše, rád bych v tomto článku doplnil, co jsme s Wiliamem na pódiu nakousli.

Co zaznělo na přednášce

Vycházel jsem z článků, které jsem již na blogu psal: „Jak za pár sekund hacknout počítač aneb útok s Bash Bunny a Packet Squirrel“ a „Hračky na hackování: Hak5 Bash Bunny“. Myšlenky jsem rozšířil a vyladil. Natočil jsem názorná videa – snad se vám líbila. S podobnou (jen kratší) přednáškou bych se chtěl ukázat 13. 10. 2018 na hradeckém Barcampu. Budu rád, když dáte hlas mojí přednášce a přijdete se podívat. Vstupné je zdarma a během dne uslyšíte spoustu dalších zajímavých témat z různých oborů.

Rychlá rekapitulace obsahu naší přednášky s Williamem:

  • Teorie: Tip na dárky pro obchodní partnery, rychlá teorie ke GoodUSB (resp. BadUSB), co umí Bash Bunny.
  • Demo 1: Co se stane, když si v coworkingu dojdete pro vodu a nezamknete si své PC.
  • Demo 2: Když vám USB flash sama zazálohuje důležitá data.
  • Demo 3: Hackování ve filmu vs. hackování v realitě.
  • Teorie: BashBunny není jediný a co umí Raspberry Pi Zero W navíc.
  • Demo 4: Když vám v práci admin blokuje Facebook.
  • Demo 5: USB Flash, co má více tváří (obsahu).
  • Demo 6: Unikátní řešení problémů s nedůvěryhodnými certifikáty.
  • Závěr: USB gadgets jsou jako ToyStory – když vy spíte, oni ožívají.

Co se do přednášky nevešlo

A co se do přednášky nevešlo? Ačkoliv je HackerFest hlavně o útocích, chtěl jsem chvíli věnovat i obraně před těmito útoky.

Metody obrany před USB útoky

Obezřetnost zmíním na prvním místě. Když přijmete, že USB nejsou jen ty „neškodné“ USB flash disky, a když víte, co vám hrozí, můžete se bránit. Jak?

  • Ideálně USB nepoužívejte vůbec. Mějte PC bez USB, deaktivujte USB v BIOSu/UEFI nebo USB porty fyzicky zablokujte (např. „USB port lock“). Je mi jasné, že pro spoustu lidí to bude extrémně restriktivní řešení.
  • USB limitujte, pokud je úplné odstranění nereálné. Málokdo zapojuje do USB neomezené množství zařízení. Takže je nejlepší vše zakázat a „whitelistovat“ (povolovat) pouze zařízení, která používáme. Ve Windows využijete „Device installations restrictions“ a v Linuxu „Kernel settings“. Obdobnou funkcionalitu často nabízí i antiviry (např. modul „device control“ v ESET antiviru).
  • Zablokujte neznámé USB klávesnice. To v případě, že máte málo času a nechcete to příliš ladit, jak popisuji výše. Když zabráníte útočníkovi připojit se do vašeho systému jako klávesnice, pak většina BadUSB útoků nebude nefungovat. Chránit se můžete například pomocí bezplatné aplikace G DATA USB Keyboard Guard. Aplikace funguje následovně:
    • Zapojíte do PC novou USB klávesnici, program vás na to upozorní a vyžaduje potvrzení, že si klávesnici přejete povolit.
    • Program vás vyzve k přepsání náhodného 4číselného kódu. Kód můžete zadat jen pomocí jiné, již připojené klávesnice (např. klávesnice notebooku), nebo myši. Z jakého důvodu? Pokud by stačilo jen zmáčknout tlačítko „allow keyboard“, BashBanny by se mohl vydávat za myš a sám si tlačítko odkliknout (i když to zatím neumí).
    • Při příštím zapojení klávesnice do PC bude již klávesnice automaticky povolena.
    • Jelikož „1 obrázek vydá za tisíc slov“ (a video ještě více), přichystal jsem ukázku níže. ☟
  • Nepřipojujte cizí zařízení. Pokud nechcete nic instalovat ani nastavovat, tak do PC alespoň nepřipojujte cizí zařízení. 😊

Prolomení obrany: Jak obejít device control

Holt už to tak bývá. Jakmile existuje obrana, protistrana začne vymýšlet, jak ji prolomit. V dalším videu vám ukáži, jak obejít „device control“ antiviru ESET, používáte-li whitelisting. Možnost jej prolomit není způsobena tím, že by to měl ESET špatně udělané. Stejným způsobem lze obejít i technologie ostatních výrobců.

Tyto technologie totiž rozpoznávají „whitelistovaná“ zařízení podle PID (product ID), VID (vendor ID) a sériového čísla. Když USB zapojíte, tyto údaje o sobě sdělí. Vtip je v tom, že mohou lhát a systém to nepozná. Takže váš Bash Bunny může systému tvrdit, že je vaše domácí flaska Kingston DataTraveler.

V případě obcházení whitelistingu už útočník potřebuje nějaké informace o tom, jak to na síti oběti chodí. Když zjistí, že jsou USB flash disky zakázány až na model XY (nebo flash disk pana majitele), jednoduše jej „napodobí“.

Více v tomto videu ☟

 

Co se odehrálo ve videu:

  • Nejprve jsem nakonfiguroval ESET device control, aby povolil pouze moji flash: Kingston DataTraveler 2.0 se SN „001E4FB776D6BD21A75D002F“. Zbytek USB flash disků jsem nechal blokovat.
  • Vysunul jsem Kingston flash a zapojil jsem Bash Bunnyho. ESET ho zablokoval.
  • Podíval jsem se programem USBDeview, jak systém vidí připojená USB zařízení. Všimněte si, že se každá USB flash hlásila jinak.
  • Vysunul jsem Bash Bunnyho, přepnul jsem jej na jiný payload (který jsem měl připravený) a vrátil jsem jej do NB.
  • Nyní již Bash Bunny nebyl zablokován, ale povolen. Systém si myslí, že je v něm zapojen můj Kingston DataTraveler, což jsem si ověřil opětovným pohledem do USBDeview. 😊

Chcete si útok vyzkoušet se svým Bush Bunnym?

Čistě pomocí „payload.txt“ to provést nelze. Oficiálně totiž BB umožňuje nastavovat pouze PID, VID a SN (to ještě není ani v dokumentaci). Nevýhodou také je, že SN bude převedeno na velká písmena.

Neoficiálně však BB podporuje více voleb. Níže uvádím obrázek se seznamem parametrů, které kernel modul, jenž se používá pro emulaci USB zařízení, podporuje. Pro obejití ESET device control jsem potřeboval následující parametry: „iManufacturer, iProduct, iSerialNumber, idVendor, idProduct“. Ty jsem si nastavil rozšířením skriptu „/usr/local/bunny/bin/ATTACKMODE“. 😊

Další materiály k USB útokům, které určitě stojí za přečtení

Narazil jsem na ně, když jsem chystal přednášku na HackerFest. Myslím, že jsou velmi užitečné.

Závěr

Pokud jste zavítali na HackerFest 2018, doufám, že se vám naše prezentace líbila stejně jako celý festival. Já osobně jsem si moc užil spoustu skvělých řečníků, zajímavých témat i bezva lidi. Budu rád, když se na HackerFestu budeme moci potkat i příští rok.

Napadl vás k tématu zlepšovák? Máte tip na další útok? Zajímá vás konkrétní téma? Napište mi na e-mail nebo do komentáře. Těším se na vaše postřehy. 😊

Líbí se vám témata, o kterých píši?

Abyste nemuseli kontrolovat, jestli už vyšel nový článek, rád vám ho ihned po zveřejnění pošlu do e-mailu. Každý kontakt, který mi poskytnete, si nechám vždy jen pro sebe.

 

Diskuze k článku

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Hack The Box OSCP MCSE CHFI ECSA CCNP CCNA