標籤:

BadUSB:用一個U盤入侵你的電腦

0x00 名詞解釋

  1. Arduino: 一款開源電子原型平台,也就是常說的開發板。
  2. Arduino UNO/Leonardo: Arduino中的兩種型號
  3. HID Attacks: 通過接入偽裝的設備,如U盤,達到模擬鍵盤輸入的攻擊
  4. TEENSY: 實現HID Attacks的一種設備,類似於Arduino設備。

  5. USB RUBBER DUCKY: 實現HID Attacks的一種設備,外觀和U盤無差別

  6. BadUSB:基於U盤實現HID Attacks的方式

  7. kali NetHunter:基於安卓的開源移動滲透測試平台

0x01 背景

在現實生活中,威脅無處不在。也許當有一個人靠近你的電腦,瞬間悄無聲息的插入了一個U盤,通過自動執行U盤中的惡意代碼,下載遠程伺服器上的惡意文件,執行惡意操作,可能你的機器就已經淪陷了。這種通過接入類似於U盤設備的攻擊方式,被稱為HID Attacks。

截圖來自視頻:v.youku.com/v_show/id_X

0x02 先來看個栗子。

badarduino—在線播放—優酷網,視頻高清在線觀看 http://v.youku.com/v_show/id_XMTY5MDExMTY1Mg==.html

稍微解釋一下,當Arduino UNO插入電腦時,Arduino將會偽裝成鍵盤,並且自動輸入已經寫好在Arduino中的命令。換句話說,就是一雙無形的手在操控你的電腦,並且可以在極短的時間內,讓受害者毫無察覺PS:視頻中純粹是為了演示,在Arduino中加了delay ,並且演示中沒有產生任何攻擊操作 : )

0x03 關於HID

HID(Human InterfaceDevice),人機交互設備,例如鍵盤,滑鼠等。從HID衍生出來的攻擊方式目前有可以分為三大類。包括TEENSY,USB RUBBER DUCKY以及近年來曝光率最高的BadUSB。本質上來講,這三種攻擊方式,都是將設備偽裝成鍵盤,並且執行存儲在設備中指令或者遠程下載伺服器上的惡意程序,達到控制目標機器。

0x04 關於TEENSY

pjrc.com/teensy/

設備本身就是一種USB開發板,類似於Arduino,能夠寫入一些代碼。並將設備偽裝成鍵盤,從而實現操作。

0x05 基於Arduino的實現

在栗子中,採用的是Arduino UNO這塊開發板,看起來很難偽裝,無奈只有UNO。將就著用唄 : (,在Arduino系列中,有一種leonardo開發版,能夠更好的實現keyboard操作,相比於BadUSB實現HID攻擊,設備製作上會更加簡便。Arduino leonardo直接用Arduino IDE燒錄代碼即可完成。

0x06 關於USB RUBBER DUCKY

http://usbrubberducky.com/

這就更像是一個產品了,設備內置好了環境。寫入對應的payload,然後插上電腦就能實現攻擊了。優點就是,偽裝度更高,看起來就是一個USB移動存儲設備。攻擊實施可行性更高。

0x07 關於BadUSB

github.com/brandonlw/Ps

BadUSB,於2014年在Black Hat上提出。對於一些特定的USB存儲設備,能夠通過重寫固件的方式,實現偽裝。相比於其它兩種方式,在設備上,只需要滿足一定需求的usb存儲設備都可製作成BadUSB。在設備需求上,要求不算很高。但在設備的製作,也就是重寫固件過程,實際操作起來會比較麻煩。

0x08 Kali Nethunter

github.com/offensive-se

kali NetHunter功能十分強大,原理就是將自己的安卓設備刷成Kali NetHunter的系統,實現HID Attacks也是不在話下。能夠在移動端輕鬆實現HID Attacks。不過找個什麼理由,讓自己的kali NetHunter手機插上別人的電腦呢?

0x09 總結

就目前的互聯網環境,不僅僅要謹慎連接不受信任的wifi,同樣USB設備也不能掉以輕心。

人與人之間最基本的信任啊~唉~


推薦閱讀:

保護web應用的安全
家居用品中有哪些安全隱患,需要大家注意,或是設計師進一步改善?
如何進入安全公司實習或工作2--你該怎麼做?
不用水的免洗洗手液,到底有沒有那麼神奇?
2016阿里安全峰會重點資料下載

TAG:安全 |