庫(kù)中的終端炸彈案例)
termBomb詳解如何看懂USB Rubber Ducky倉(cāng)庫(kù)中的終端炸彈案例【免費(fèi)下載鏈接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository項(xiàng)目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloadsusbrubberducky-payloads是 Hak5 USB Rubber Ducky 的官方 Payload 倉(cāng)庫(kù)收錄了上千個(gè)基于 DuckyScript 的鍵盤(pán)注入腳本。本文以倉(cāng)庫(kù)中頗具代表性的termBomb 終端炸彈案例為切入點(diǎn)帶你讀懂一個(gè) USB Rubber Ducky payload 的完整結(jié)構(gòu)它如何打開(kāi)終端、如何隱身、又如何在目標(biāo)機(jī)器上種下YOU HAVE BEEN HACKED彩蛋與經(jīng)典 fork 炸彈。一、USB Rubber Ducky 與 DuckyScript 是什么USB Rubber Ducky 外觀像普通 U 盤(pán)插入電腦后會(huì)被系統(tǒng)識(shí)別為HID人機(jī)接口設(shè)備即鍵盤(pán)。電腦天然信任鍵盤(pán)輸入Ducky 便以超人的速度盲打一串預(yù)編寫(xiě)的按鍵序列——這就是HID 按鍵注入技術(shù)。它的腳本語(yǔ)言叫DuckyScript核心命令只有幾個(gè)新手幾分鐘就能上手命令作用REM注釋不產(chǎn)生任何動(dòng)作DELAY 400暫停 400 毫秒STRING xxx輸入一段文本ENTER/CTRL-ALT-T回車(chē) / 組合鍵termBomb 就是一份典型的 DuckyScript payload完整文件位于 payloads/library/execution/termBomb/payload.txt目標(biāo)平臺(tái)是Unix 類(lèi)系統(tǒng)Linux/macOS。二、termBomb 的實(shí)戰(zhàn)效果payload 頭部的注釋REM行說(shuō)明了一切當(dāng)目標(biāo)用戶打開(kāi)終端/Shell時(shí)屏幕會(huì)刷出!!!!!!YOU HAVE BEEN HACKED!!!!!!隨后觸發(fā) fork 炸彈。效果拆解為三步注入階段Ducky 插好后自動(dòng)打開(kāi)終端執(zhí)行一段寫(xiě)入腳本把被黑提示和 fork 炸彈寫(xiě)入~/.bashrc與~/.zshrc用戶每次打開(kāi)終端都會(huì)加載的配置文件。觸發(fā)階段目標(biāo)此后每次打開(kāi)終端先看到滿屏 YOU HAVE BEEN HACKED接著系統(tǒng)因 fork 炸彈逐漸卡頓、卡死。隱蔽階段整個(gè)注入過(guò)程不留下明顯的命令歷史痕跡——這正是下面要講的第一行命令。圖Ducky 終端類(lèi) payload 的典型運(yùn)行環(huán)境——Linux 桌面CtrlAltT即可呼出終端三、逐行拆解 termBomb 的實(shí)現(xiàn)1?? 先抹掉足跡清空 Shell 歷史DELAY 400 CTRL-ALT-T DELAY 400 STRING unset HISTFILE HISTSIZE0 rm -f $HISTFILE unset HISTFILE ENTERCtrlAltT是大多數(shù) Linux 發(fā)行版打開(kāi)終端的快捷鍵。緊跟的這條命令做了三件事禁用歷史記錄文件HISTFILE、將歷史條數(shù)設(shè)為 0HISTSIZE0、刪除歷史文件。目的是讓目標(biāo)事后翻h(huán)istory也查不到 Ducky 做了什么——這是 HID 注入 payload 中很常見(jiàn)的反取證手法。2?? 用 heredoc 在目標(biāo)機(jī)上落盤(pán)一個(gè)腳本STRING cat EOF /tmp/tmppp ...多行 STRING ENTER... STRING EOF ENTERcat EOF /tmp/tmppp是 Bash 的heredoc語(yǔ)法把多行文本原樣寫(xiě)入臨時(shí)文件/tmp/tmppp。Ducky 用一連串STRINGENTER模擬人類(lèi)逐行敲入把完整的植入腳本打字出來(lái)最后以EOF收尾。3?? 腳本核心雙保險(xiǎn)寫(xiě)入 rc 文件 fork 炸彈落盤(pán)腳本的邏輯很直白——先探測(cè)系統(tǒng)里存在哪些 Shell 配置文件就改哪些檢測(cè)到.zshrc向其中追加8 行echo !!!!!!YOU HAVE BEEN HACKED!!!!!!檢測(cè)到.bashrc同樣追加 8 行提示最后都寫(xiě)入一行傳奇代碼:(){ :|: };:這就是大名鼎鼎的fork 炸彈定義一個(gè)函數(shù)不斷自我后臺(tái)復(fù)制指數(shù)級(jí)吃光系統(tǒng)進(jìn)程與內(nèi)存直到機(jī)器徹底無(wú)響應(yīng)。8 行提示 1 行炸彈的組合就是 termBomb 名字里 Bomb 的由來(lái)。4?? 執(zhí)行并自毀STRING chmod x /tmp/tmppp /tmp/./tmppp rm /tmp/tmppp ENTER STRING exit ENTER給腳本加執(zhí)行權(quán)限后運(yùn)行再順手刪除/tmp/tmppp本體——落盤(pán)文件消失但寫(xiě)進(jìn) rc 文件的毒丸已經(jīng)就位。最后exit關(guān)閉終端恢復(fù)現(xiàn)場(chǎng)整個(gè)過(guò)程不到兩秒。四、如果中招了如何修復(fù)?termBomb 只修改用戶目錄下的配置文件修復(fù)并不復(fù)雜在登錄界面按CtrlAltF2切到 TTY 登錄或使用 Live USB 啟動(dòng)用文本編輯器打開(kāi)~/.bashrc和~/.zshrc刪除所有echo ... YOU HAVE BEEN HACKED ...行和:(){ :|: };:這一行保存后重啟終端即可恢復(fù)正常。??安全提醒fork 炸彈會(huì)讓整機(jī)進(jìn)程耗盡務(wù)必只在自己的測(cè)試機(jī)上實(shí)驗(yàn)。本文僅作技術(shù)原理剖析請(qǐng)勿用于攻擊他人系統(tǒng)——未經(jīng)授權(quán)對(duì)他人設(shè)備實(shí)施按鍵注入屬于違法行為。五、舉一反三倉(cāng)庫(kù)里還有哪些終端系案例termBomb 所在的 execution 目錄還有大量同類(lèi)思路的 payload而 prank 分類(lèi)下則是一批只整活、不傷系統(tǒng)的兄弟案例非常適合新手對(duì)比學(xué)習(xí)讓終端一開(kāi)就關(guān)This_damn_shell_doesn_t_work___so_sad!/README.md——同樣修改.bashrc但只注入一行exit效果溫和是該類(lèi) payload 的安全練習(xí)首選?數(shù)字雨彩蛋payloads/library/prank/Digital_Rain/payload.txt——終端里播放《黑客帝國(guó)》風(fēng)格的數(shù)字雨動(dòng)畫(huà)??假黑客打字機(jī)payloads/library/prank/Hacker_Typer/payload.txt——用 ASCII 動(dòng)畫(huà)模擬一段黑客正在操作的打字秀終端 Rickrollpayloads/library/exfiltration/rickroll_terminal_payload/payload.txt。六、小結(jié)termBomb 教會(huì)我們的 3 件事DuckyScript 極簡(jiǎn)注釋、延時(shí)、輸入文本、組合鍵四板斧就完成了一次完整的終端植入HID 注入的信任鏈U 盤(pán) → 鍵盤(pán) → 終端攻擊者利用的是操作系統(tǒng)對(duì)人類(lèi)按鍵的天然信任持久化即改 rc 文件.bashrc/.zshrc是 Linux 用戶級(jí)最經(jīng)典的每次開(kāi)終端必執(zhí)行的落點(diǎn)理解它就理解了這一類(lèi) payload 的 80%。如果你想動(dòng)手實(shí)踐可以 clone 本倉(cāng)庫(kù)倉(cāng)庫(kù)地址https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads配合 Hak5 PayloadStudio 編譯 payload并參照倉(cāng)庫(kù)根目錄的 README.md 了解 DuckyScript 語(yǔ)法與 CONTRIBUTING.md 的貢獻(xiàn)規(guī)范。多讀幾份 payloads/library/execution/ 下的 payload你對(duì) HID 按鍵注入的理解會(huì)突飛猛進(jìn) ?!久赓M(fèi)下載鏈接】usbrubberducky-payloadsThe Official USB Rubber Ducky Payload Repository項(xiàng)目地址: https://gitcode.com/GitHub_Trending/us/usbrubberducky-payloads創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考