【360图书馆】插入U盘自动攻击:BadUSB原理与实现
插入U盤自動攻擊:BadUSB原理與實現
| 漏洞背景 “BadUSB”是今年計算機安全領域的熱門話題之一,該漏洞由Karsten Nohl和Jakob Lell共同發現,并在今年的BlackHat安全大會上公布。BadUSB號稱是世界上最邪惡的USB外設。 筆者使用他們的代碼做了個類似的U盤,用戶插入U盤,就會自動執行預置在固件中的惡意代碼,下載服務器上惡意文件,執行惡意操作。注意,這里的U盤自動運行可不是以前的autorun.inf自動運行程序哦,具體的技術細節可以參考后文內容。 
 BadUSB最可怕的一點是惡意代碼存在于U盤的固件中,由于PC上的殺毒軟件無法訪問到U盤存放固件的區域,因此也就意味著殺毒軟件和U盤格式化都無法應對BadUSB進行攻擊。 BadUSB原理 在介紹BadUSB的原理之前,筆者在這里先介紹下BadUSB出現之前,利用HID(Human InterfaceDevice,是計算機直接與人交互的設備,例如鍵盤、鼠標等)進行攻擊的兩種類型。分別是"USB RUBBERDUCKY"和"Teensy"。 TEENSY介紹 攻擊者在定制攻擊設備時,會向USB設備中置入一個攻擊芯片,此攻擊芯片是一個非常小而且功能完整的單片機開發系統,它的名字叫TEENSY。通過 TEENSY你可以模擬出一個鍵盤和鼠標,當你插入這個定制的USB設備時,電腦會識別為一個鍵盤,利用設備中的微處理器與存儲空間和編程進去的攻擊代 碼,就可以向主機發送控制命令,從而完全控制主機,無論自動播放是否開啟,都可以成功。 關于TEENSY,可以參考天融信阿爾法實驗室的《HID攻擊之TEENSY實戰》 USB RUBBER DUCKY介紹 簡稱USB橡皮鴨,是最早的按鍵注入工具,通過嵌入式開發板實現,后來發展成為一個完全成熟的商業化按鍵注入攻擊平臺。它的原理同樣是將USB設備模擬成為鍵盤,讓電腦識別成為鍵盤,然后進行腳本模擬按鍵進行攻擊。 這兩種攻擊方式,是在BadUSB公布之前,比較流行的兩種HID攻擊方式,缺陷在于要定制硬件設備,通用性比較差。但是BadUSB就不一樣了,它是在“USB RUBBER DUCKY”和“Teensy”攻擊方式的基礎上用通用的USB設備(比如U盤)。 U盤的內部構造 
 
 U盤由芯片控制器和閃存兩部分組成,芯片控制器負責與PC的通訊和識別,閃存用來做數據存儲;閃存中有一部分區域用來存放U盤的固件,它的作用類似于操作系統,控制軟硬件交互;固件無法通過普通手段進行讀取。 BadUSB就是通過對U盤的固件進行逆向重新編程,相當于改寫了U盤的操作系統而進行攻擊的。 USB協議漏洞 為什么要重寫固件呢?下面我們可以看看USB協議中存在的安全漏洞。 現在的USB設備很多,比如音視頻設備、攝像頭等,因此要求系統提供最大的兼容性,甚至免驅;所以在設計USB標準的時候沒有要求每個USB設備像 網絡設備那樣占有一個唯一可識別的MAC地址讓系統進行驗證,而是允許一個USB設備具有多個輸入輸出設備的特征。這樣就可以通過重寫U盤固件,偽裝成一 個USB鍵盤,并通過虛擬鍵盤輸入集成到U盤固件中的指令和代碼而進行攻擊。 BadUSB利用代碼分析 筆者對KarstenNohl和Jakob Lell公布的代碼進行簡單的一個流程解析。 這樣一個帶有惡意代碼的U盤就產生了,更詳細的可以搜索Karsten Nohl 和 Jakob Lell公布的代碼。 總結 “USB RUBBER DUCKY”、“TEENSY”、“BadUSB”三種最終都是利用了USB協議的漏洞而進行攻擊的,“BadUSB”和另外兩者的區別在于:BadUSB可以利用普通的USB設備,而不需要進行硬件定制,更具有普遍性。 HID攻擊方式有很多種,BadUSB作為其中一種是通過偽裝成鍵盤設備來實現的,同時HID攻擊也可以通過偽裝成網卡進行DNS劫持攻擊。BadUSB的危害目前局限于單向感染,即USB設備感染PC,暫無發現從PC感染USB設備案例。 為了預防此類安全風險,需要我們在日常使用USB設備時,不要使用陌生的USB設備,避免USB存在惡意代碼導致安全風險。 延伸:更多的USB接口攻擊 通過USB接口攻擊的案例很多,BadUSB只是一類,還有通過USB接口橫跨PC和Mobile平臺進行攻擊的案例。 比如今年爆發的WireLurker蠕蟲,感染病毒的電腦系統會通過USB接口去間接感染iOS設備,即使是未越獄的設備也無法避免;還有前段時間發現的電子香煙通過USB傳播惡意軟件到PC;最近央視也報道了充電寶盜取手機隱私的案例。 對于愈演愈烈的USB風險,應用層還沒有見到好的解決方案。倒是硬件層面比較容易解決。比如360無線安全研究團隊的SecUSB,還有我們騰訊安全應急響應中心的SecLine。原理都是將USB中的兩根數據線去掉,具體細節可以參考《揭秘:充電寶是如何盜取你的個人隱私的》。 或許未來SecUSB或者SecLine將成為USB接口標配。 我扔個U盤你敢撿么?一種防不勝防的USB攻擊方式作者:一尺 在踏入安全圈之前,我的日子平靜如水。 自從入了安全圈,我就成朋友眼中計算機怪人,自此以后,修電腦、求資源之類的事兒都不會忘了我... “我真不會這些。”看著朋友們期待而來,失望而歸的表情,我想,我大概是個假黑客吧。 一天,一個朋友找到我。朋友是一個在圈里小有名氣的設計師,已經很久沒聯系了,突然發信息過來,開始還以為是這哥們兒要結婚,又該準備份子錢了。 “你是在搞網絡安全嗎?有個事兒想請你幫個忙。” 沒等我推辭,朋友就跟我說了,他電腦里的文件被加密了。里面有他最近在做的一個很重要的項目,準備很長時間,現在文件卻突然打不開了,自己也沒有備份。眼看著要交付了,萬般無奈下才來向我求助。 電腦出現了中毒的癥狀,希望我可以幫他把電腦救回來。 朋友表示,自己用電腦也是有常識的,從來不會去點擊來源不明的鏈接,也沒上過什么“不該上”的網站,殺毒軟件也裝了,所以沒那么容易中毒。 我看了一下,打不開文件是因為文件被加密了(AES算法),采用這種算法加密文件,必須用其對應的密鑰才能解開,這樣看來我也愛莫能助。 我決定幫他找出問題的來源。經過排查,我在C盤的某個目錄下發現了一個powershell腳本。 (紅框部分就是一個powershell腳本) 腳本里的代碼是從指定服務器里下載文件,這很可能是個攻擊腳本。不僅如此,這個powershell腳本還做過免殺處理,所以殺軟也無法檢測。從過往經驗來看,這種攻擊腳本大多都是靠U盤等外接設備傳播。 “最近電腦有沒有借給別人用過,或者有沒有用過陌生的U盤?”我問他。 “有過一次,就在前幾天,有個同事拿他的U盤過來找我拷資料,奇怪的是明顯示裝了驅動,卻讀不出內容,我以為是U盤的問題,就讓他換個U盤。但之后再拷文件時,卻發現都打不開了,之后重啟幾次也沒用。” 問題應該就在這個“U盤”上,聽起來很像是類似rubber ducky(業界稱為橡皮鴨)的設備給他的電腦植入了一段惡意代碼,這段代碼會自動下載一個木馬,木馬再對其文件進行加密,之后木馬會執行把自己刪掉,所以用殺軟掃描也是一無所獲。 橡皮鴨可通過USB接口連接電腦,且體型小巧,所以適合偽裝成U盤進行攻擊。 “所以是那個U盤的問題嗎?那他是怎么把病毒弄到我電腦來的?”朋友突然醒悟過來。被一起工作的同事暗算,他又驚又惱。 問了下他被暗算的原因。朋友猶豫了一下,沒講什么,不過看得出他現在心里跟明鏡似的。 相比二流國產劇的情節,我更想去自己去驗證下這種攻擊方式。雖然理論上可行,不過在我所知的案例中,還沒有出現過這種攻擊實例。 其實這個問題并不復雜,所有的USB設備都有一個微控制器芯片,作為設備與計算機之間的接口。而這個芯片上的固件可以被重新編程甚至植入病毒。而且,BadUSB可以輕松繞過防病毒軟件,所以極難被查覺。 這只是一種攻擊的途徑,目的可以有很多種,危害的程度也可大可小,危害完全取決于攻擊者。 我決定以一包辣條的代價,請老師傅出山,為大家復原一次用USB設備植入病毒的過程。 首先,作案前需要有一個可以被重新編程的USB設備,在某寶上,幾十塊錢就買到一個,簡直是居家旅行黑人電腦的利器。 我在網上找了張圖,簡單給大家介紹一下這個設備。在藍色的板子上,一面是存儲器,一面就是控制器固件,也就是被寫入惡意代碼的地方。惡意代碼會在電 腦安裝該USB驅動的時候自動運行,這時它會模擬鍵盤或鼠標操作,自己編寫powershell,這個過程可能轉瞬即逝,整個過程都不會被殺軟報警,所以 極難察覺。 貨到手后,老師傅先生自編一段powershell代碼,然后將這段代碼植入設備,插入電腦后,就可以自動執行指令,將病毒植入到電腦。 本以為一插就懷孕,結果什么也沒發生。。。 “不應該啊!”老師傅沒想到,自己也有翻車的一天。 “臥槽!我怎么沒想到這茬!”老師傅一陣苦笑。 其實是電腦的輸入法默認輸入中文,所以沒能完成植入。原來老師傅的克星,不是殺軟是輸入法! 既然找到了癥結所在,那就問題也就迎刃而解了,只要在前面設置一個大寫鎖定的指令,后面的指令就可以進行正常操作了。 植入代碼后,老師傅就可以對這臺電腦為所欲為了。 利用外部連接的硬件設備進行病毒傳播的手段并不新穎,早在軟驅時代,這就是傳播病毒的主要方法。隨著互聯網的發展,利用網絡傳播才漸成主流,以至于很多人逐漸淡忘了USB可以傳播病毒,所以會放松警惕。 我們來做個實驗,看有多少人會中招。 我就近在星巴克和kfc放了五個已經植入攻擊代碼并偽裝成了U盤的設備,一旦被人插入電腦,可以在短短幾秒內植入木馬,遠程操控、實時監控也就不在話下了。 (太小的U盤是不行的,圖片就是意思一下) 結果是有三個人中招,電腦感染木馬后,我們可以監控屏幕、操縱攝像頭等操作。 屏幕監控 可以看出對方應該是個財務,我們完全可以獲取這些資料并且掌握該公司的人事和財務狀況。 和男友很直白的交流。。。 通過監控屏幕和記錄鍵盤敲擊,經過分析后我獲取了對方的對方的微博賬號和密碼,并登錄了她的微博,發現這個微博賬號關聯了淘寶、知乎等賬號。所以登 陸了微博就可以“快捷登錄”其他關聯的賬戶。如果她還是那種“一個密碼走天下”的人,那么她的個人信息和財產就完全沒有安全可言了。 還好,她遇上的是我們這些有(mei)良(dan)知(zi)的黑客,實驗點到為止,沒有再往下挖了。 諷刺的是,我發現這三個人里還有一個是科技公司的運維,可見即使是有計算機常識的工程師也缺乏必要的安全意識。一個早已被用爛的病毒木馬傳播方式,依然能讓不少人中招。 鍵盤、鼠標、充電寶等,都可以被植入惡意代碼,加上計算機外高度依賴USB外接設備,以至于這種攻擊方式成功率極高。也許就是上個洗手間的工夫,電腦就可能被人入侵,一舉一動完全暴露在別人的眼皮子地下。 黑客從來只黑有價值的人,如果你覺得自己很安全,那只是你缺乏被黑的價值,這句話毫不夸張。在商業領域,矛與盾的較量從未間斷。 在科技領域,為保密或竊取研發資料所產生的博弈從未停止。例如華為這種極重研發的公司,投入重金的研發資料一旦泄密,其造成的影響是不可估量的。 在巨大利益的誘惑下,不少獵手都對其躍躍欲試,讓華為不管是網絡層還是硬件層,都投入了極高的防護成本。 所以,大家一定要注意信息安全,不要讓攻擊者有機可乘。 | 
總結
以上是生活随笔為你收集整理的【360图书馆】插入U盘自动攻击:BadUSB原理与实现的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 绝地求生N卡掉帧怎么解决 N卡掉帧解决办
- 下一篇: 中文参考文献如何导入到endnote中
