久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1863|回復: 0
收起左側

TPYBoard實例之利用WHID為隔離主機建立隱秘通道

[復制鏈接]
ID:130183 發表于 2017-9-13 15:25 | 顯示全部樓層 |閱讀模式
  0引言

  從2014年BADUSB出現以后,USB-HID攻擊就這一直被關注,且具爭議。爭議的焦點是USB-HID的實戰效果過于“雞肋”,無論從早期的BADUSB,還是到后來的各種USB-HID設備,對于目標機來說,都要通過彈出“運行框”來實現payload的植入,由于彈框過于明顯,所以實戰中效果就大打折扣。于是,圍繞著如何提升實戰效果,很多人提出了不同的想法,我也做過多次嘗試,比如通過改善payload的存儲位置,通過加入BLE模塊等方法,目的只有兩個,一是盡可能減少payload植入過程中的code字符數,二是控制payload的植入時間。再到后來,我也開始嘗試引入wifi模塊,通過wifi進行控制,如2017年5月,我在freebuf上發表了《利用micropython快速實現Badusb及手機搖控擴展》,當時第一次通過wifi來控制usb-hid,實現與演示了遠程關機的操作。

  WIFI與HID相結合國外有個更專業的名字就是WHID。WHID在當前的眾多文章和應用中,多是把它作為一個控制模塊,通過偽裝,控制HID攻擊的效果,更多呈現的是手機或者其它wifi下設備如何利用WHID對目標機進行攻擊控制。但實際上,WHID完全可以在目標機上形成一個自定義的通道實現目標機與手機或者wifi下其它攻擊設備的通訊,相當于給目標機安裝了一個自定義網卡。這一方法,對于隔離主機的信息獲取具有一定的應用效果。

  1WHID及其構成

  一個傳統的USB-HID設備,常常是用來虛擬或者仿真鍵盤、鼠標等usb外設來完成惡意代碼的植入。最常見的就是通過仿真鍵盤來完成,主要流程是當USB-HID設備插入PC后,會仿真出一個虛擬鍵盤,然后通過輸入win+R,調出系統的運行框,在運行框內輸入code。這里常用的方法是,輸入cmd等命令,調出最小布局的cmd(也可以改變顏色,目的就是讓這個cmd不易察覺),再通過上下鍵把cmd拖出窗外,讓被攻擊者無法看到。這時,開始在cmd里輸入code。如遍歷磁盤,找到payload的存儲位置,植入payload。

  在植入的這個過程中,又會面臨權限、免殺、過UAC等工作,如果你有足夠的時間,都可以通過這個仿真鍵盤事前寫好代碼或者批處理命令,逐個解決。從這一點看,USB-HID還是很實用的,但是實際上,在插入后需要輸入的code量過大,這期間如果被攻擊機器的鍵盤操作過,或者鼠標動過,就會影響到仿真鍵盤的工作,從而使實現效果不盡人意。于是,有人通過在目標機器上啟動Empire或Meterpreter會話,將輸入的2670個字符壓縮到116個字符,輸入時間從38秒壓縮到3秒。還有人通過修改padload存儲位置,如存儲在A盤,可以將輸入的字符壓縮到8個(如a:\m.exe),輸入時間壓縮到不足1秒,但這些方法都無法控制彈出運行框的時間,WHID可以說是解決了這個問題。

  WHID就是在USB-HID上加入了wifi模塊。你可以把wifi配置成AP,也可以配置成STA,然后利用你的PC或者手機來控制USB-HID的動作及動作時間。例如,我在《利用micropython快速實現Badusb及手機搖控擴展》一文中寫到的,通過手機遙控關機。

  那么WHID由哪幾部分構成呢?

  第一,易于使用的USB-HID攻擊模塊,我們常見的就是teensy、arduino等。這里我選用的是支持micropython的模塊TpyboardV102,其采用python來進行硬件控制,代碼寫起來比較簡單、方便,而且這個模塊有6個串口,足夠我們進行擴展與使用。其缺點也很明顯,體積略大,不易偽裝,不像arduinonano、arduinopro、teensy、arduinolenorado那樣可以很容易的偽裝為U盤。對我來說,我覺得這不是大的缺點,因為TPYBoard也屬開源硬件,原理圖都是開放的,完全可以自己再畫成適合偽裝的形態。

  第二,合適的WIFI模塊。我最初在嘗試時,使用的是MT7681模塊,具體可見《利用micropython快速實現Badusb及手機搖控擴展》一文。后來,在學習micropython的過程中,發現利用TPYBoardv202(ESP8266芯片)更加方便,可以直接形成一個AP,并建立一個WEB服務器。于是,選定用這個模塊來完成。

  第三,WIFI與USB-HID的連接。連接的接口也有很多種,可以通過I2C、SPI等接口。這里我選用的是串口,只需要將TPYBoardV102與TPYBoardV202兩個板子上的TX、RX相互交叉接線就可以了,操作非常簡單。

  WHID示意圖如下:

1.png

  利用micropython完成WHID的簡易拼裝:

2.png

  利用WHID為隔離主機建立隱秘通道

  2WHID通道搭建原理

  對于一個WHID來說,由于其帶有的WIFI模塊,構建了一個無線網絡,所以我們完全可以考慮利用這個WIFI網絡實現與PC之間的隱蔽通訊,從而建立一套自定義的無線網卡。如果說,對于互聯網主機,USB-HID可以實現payload的植入,利用payload反彈一個shell的話,那么對于隔離主機,WHID一樣可以反彈一個shell給攻擊者,實現對隔離主機的攻擊。從原理來說,就是WHID通過HID在隔離主機內植入一個payload,也可以認為是WHID自定義網卡的驅動,然后隔離主機會通過串口等接口與WHID進行交互,WHID再將交互內容通過WIFI模塊傳遞給遠端的控制者。

  第一,實現USB-HID設備與隔離主機的通訊。其實,USB-HID負責與PC進行通訊的就是一個單片機,其與PC的通訊方式有很多種,最為常見的就是串口通訊,往往在單片機與pc之間會有一個TTL轉USB的芯片,如CH340等。一般串口通訊的最大速度為115200bps,約相當于每秒14KB。如果在通訊中覺得這個速度過于有限,那也可以嘗試使用SPI轉USB,這樣速度可以達到每秒10MB以上。TPYBoardv102開發板自帶了TTL轉USB模塊,所以本文中的研究過程全部采用串口通訊。

  第二,實現USB-HID與WIFI模塊之前的通訊,由于TPYBoardv102本身帶有SD卡存儲,可以作為緩存存放,這樣在速度上要求不是很高,所以TPYBoardv102與TPYBoardv202(ESP8266)之間完全可以采用串口通訊,連接簡單,操控方便。

  第三,實現WIFI模塊與控制終端之間的通訊,這一點對于WIFI來說一定是通過無線網絡。本研究中,利用TPYBoardv202建立了一個AP及web服務器,提供WEB網頁服務做為控制平臺。

  于是,WHID與隔離主機之間的通道傳輸如下圖所識:

3.png

  3利用隔離主機WHID通道讀取文件

  為了說明如何利用WHID從隔離主機中獲取信息,這里我們以獲取文件為例進行講解。命題為獲取D盤根目錄下test.txt的內容。具體步驟為:

  (1)準備一套可供使用的Payload代碼。根據命題,payload需要解決兩個問題,一是類似上位機,獲取WHID所在串口,并通過握手包來確認其工作正常;二是讀取D盤下的test.txt文件內容,并通過串口向WHID進行傳送。

  (2)利用WHID完成payload植入。植入是打通通道的最關鍵一步,第一步中準備的payload相當于給WHID安裝了驅動,從而保障PC與WHID的通訊暢通。這里的植入過程,依然還是依賴于HID。常見的使用方法為將Payload存在特定存儲位置,HID仿真鍵盤運行payload。

  (3)payload運行后,查找WHID所在的串口,與WHID進行握手,確認通訊正常,然后讀取D盤根目錄下的test.txt文件,將內容通過串口傳送給WHID設備。

  (4)WHID實現一個AP,并建立一個WEB服務器,將獲取到的串口數據在自身實現的web上進行呈現。此時手機或者其它終端連接到這個AP上,通過Web就能查看結果。

  實現的攻擊效果為,通過手機連入WHID建立的無線網絡,然后輸入WHID預定的web地址,會呈現上圖中的WEB控制頁面,當點擊“植入”后,電腦中會閃過“運行”框,從而完成payload植入,然后點擊“查看”,就能獲取到文件內容。如下圖:

4.png

  如果攻擊者,把WHID與一個USB設備進行偽裝,其攻擊就很具有迷惑性。如與USB小音箱封裝到一個盒子里,從外表看,就是一個略大點的USB音箱,但實際上已經可以進行WHID攻擊了。當然攻擊者也完成可以通過payload從隔離主機中反彈出一個shell,從而再進行進一步的滲透。

  【效果視頻】



  【部分代碼】

  僅包含硬件固件,未包含Payload。

  http://pan.baidu.com/s/1qXVhfWg

  【免責聲明】

  請不要在非合法情況下利用TPYboard實施攻擊,這種行為將會被視作非法活動。由本軟件所造成的任何不良后果,作者將不承擔任何責任,請各位謹慎使用。



回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区在线发布 | 国产一区二区三区四区 | 亚洲一区二区三区免费视频 | 国产亚洲欧美在线视频 | 日韩www| 91佛爷在线观看 | 91国产精品在线 | 国产高清视频在线 | 久久性色 | 亚洲久久| 国产精品视频一区二区三区 | 亚洲看片| 欧美精品片 | 91免费福利视频 | 日日摸日日碰夜夜爽亚洲精品蜜乳 | aⅴ色国产 欧美 | 视频一区在线 | 欧美一级淫片免费视频黄 | 亚洲一区二区久久 | 蜜臀久久99精品久久久久野外 | 美国黄色毛片 | 一区二区不卡 | 播放一级毛片 | 久久视频精品在线 | 91免费在线 | 欧美激情综合色综合啪啪五月 | 亚洲成人一区 | 欧美精品在线免费观看 | 欧美亚洲日本 | av免费网站在线观看 | 天天躁日日躁狠狠躁白人 | 在线一区视频 | 国产成人黄色 | 欧洲精品视频一区 | 久草视频观看 | 久久久久久国产精品 | 99久久婷婷国产综合精品 | 综合国产在线 | 国产 日韩 欧美 在线 | 成年人网站免费视频 | 成人午夜免费福利视频 |