BadUSB:用一個U盤入侵你的電腦
0x00 名詞解釋
- Arduino: 一款開源電子原型平台,也就是常說的開發板。
- Arduino UNO/Leonardo: Arduino中的兩種型號
- HID Attacks: 通過接入偽裝的設備,如U盤,達到模擬鍵盤輸入的攻擊
- TEENSY: 實現HID Attacks的一種設備,類似於Arduino設備。
- USB RUBBER DUCKY: 實現HID Attacks的一種設備,外觀和U盤無差別
- BadUSB:基於U盤實現HID Attacks的方式
- kali NetHunter:基於安卓的開源移動滲透測試平台
0x01 背景
在現實生活中,威脅無處不在。也許當有一個人靠近你的電腦,瞬間悄無聲息的插入了一個U盤,通過自動執行U盤中的惡意代碼,下載遠程伺服器上的惡意文件,執行惡意操作,可能你的機器就已經淪陷了。這種通過接入類似於U盤設備的攻擊方式,被稱為HID Attacks。
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
https://www.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
https://github.com/brandonlw/Psychson/
BadUSB,於2014年在Black Hat上提出。對於一些特定的USB存儲設備,能夠通過重寫固件的方式,實現偽裝。相比於其它兩種方式,在設備上,只需要滿足一定需求的usb存儲設備都可製作成BadUSB。在設備需求上,要求不算很高。但在設備的製作,也就是重寫固件過程,實際操作起來會比較麻煩。
0x08 Kali Nethunter
https://github.com/offensive-security/kali-nethunter/wiki/NetHunter-HID-Attacks
kali NetHunter功能十分強大,原理就是將自己的安卓設備刷成Kali NetHunter的系統,實現HID Attacks也是不在話下。能夠在移動端輕鬆實現HID Attacks。不過找個什麼理由,讓自己的kali NetHunter手機插上別人的電腦呢?
0x09 總結
就目前的互聯網環境,不僅僅要謹慎連接不受信任的wifi,同樣USB設備也不能掉以輕心。
人與人之間最基本的信任啊~唉~
推薦閱讀:
※保護web應用的安全
※家居用品中有哪些安全隱患,需要大家注意,或是設計師進一步改善?
※如何進入安全公司實習或工作2--你該怎麼做?
※不用水的免洗洗手液,到底有沒有那麼神奇?
※2016阿里安全峰會重點資料下載
TAG:安全 |