當前位置:
首頁 > 新聞 > 成為物理黑客吧!利用樹莓派實現P4wnP1項目進行滲透測試

成為物理黑客吧!利用樹莓派實現P4wnP1項目進行滲透測試

看到標題的各位可能認為物理黑客是這樣的。



當然今天並不是說的上面這種~


大家在小的時候可能在電影中看到過,一個大黑闊從手裡掏出了一個U盤,然後噼里啪啦的操作一番,某大BOSS電腦就被打開了。在電腦被破解的那一刻,大家是否也想過,總有一天我能不能也能這樣呢?

這樣的U盤就叫badusb,網上有國外團隊做好的成品(

Bash Bunny

),然而這個價格實在是感人……


那麼問題來了,作為具有geek精神的(基)機佬,自然要用最低的成本來完成咯。所以筆者發現了P4wnP1這個開源項目。



P4wnP1 is a highly customizable USB attack platform, based on a low cost Raspberry Pi Zero or Raspberry Pi Zero W (required for HID backdoor).


P4wnP1是一個高度可定製的USB攻擊平台,基於低成本的Raspberry Pi Zero或Raspberry Pi Zero W(HID後門所需)。


廢話不多說,我們直接進入主題吧!


需要什麼


樹莓派 Pi Zero W (某寶上有Zero,Zero W,Zero WH,因為我們需要的只有藍牙和wifi故選擇Zero W )


一張microSD(TF)卡(8G就夠用了,大了也可以)

USB擴展板【選購】(這樣就可以直接插USB進行數據連接,如果不想買的話你拿micro usb的數據線也是一樣的)


系統:這裡有一個坑,我用最新版的鏡像系統安裝會出現問題(wifi無法配置連接)… 所以我選擇了2017年的raspbian jessie版本。下載地址:點我下載 。下載後綴為zip的解壓成img即可


安裝


硬體安裝


由於本人比較嫌麻煩,所以就直接買了帶USB的擴展版。以下是安裝好之後的成品~





系統安裝


用到的軟體:win32diskimager 或者 rufus-3.4 ,兩個都可以,這裡貼一個rufus的下載鏈接。 rufus下載地址

同樣我們里rufus為例,用讀卡器將TF卡插入電腦,打開rufus,引導文件選擇我們下載好的鏡像文件,點擊開始即可。



大概等個5分鐘左右,鏡像就寫入完畢了。


Wifi配置


注意: Pi Zero W 只支持2.4G頻率!


寫入鏡像之後,我們需要對樹莓派的網路連接進行配置。我們打開boot分區,在其根目錄下創建

wpa_supplicant.conf

 以及 

ssh

 文件(注ssh文件是沒有後綴名的)


在wpa_supplicant.conf 文件中寫入你的網路配置,(這一步操作是為了讓你的電腦和樹莓派處於同一個網路環境下,這樣你才能通過ssh連接上),配置格式如下:

network={
   ssid="WiFi_name"
   psk="mypassword"
   key_mgmt=WPA-PSK
   priority=1
}

network={
   ssid="WiFi_name2"
   psk="password"
   key_mgmt=WPA-PSK
   priority=2
   scan_ssid=1
}

對以上Wifi配置名稱的解釋:

ssid - wifi名稱
psk - wifi密碼
key_mgmt - 如果你的wifi加密方式使用的WPA/WPA2,該類型為WPA-PSK,若為WEP加密或沒密碼,則為NONE。
priority - wifi優先順序,如果你怕某個WiFi連接不上,則可以配置多個wifi,樹莓派會按照優先順序進行連接。
scan_ssid - 如果你的wifi是隱藏的,則需要指定該值為1

在配置完Wifi後,我們還要在根目錄下創建一個名為 

ssh

的空文件(記住沒有後綴名),配置完後如下圖所示。



做完上述工作後,我們就可以將TF卡插入樹莓派,然後插入電腦。



SSH連接到樹莓派


當我們插上USB後,等待個1-2分鐘,我們就可以在路由器管理界面上找到名為raspberrypi的設備,找到它的IP,記錄下來。



接下來我們用putty進行ssh連接,用別的ssh軟體也行,我這裡以PUTTY為例:


填上樹莓派的地址,然後連接。賬號為pi 密碼為raspberry。


配置安裝P4wnP1


建議連接後,先改下源。這樣速度快一點(針對國內用戶)

修改源的方法:
sudo nano /etc/apt/sources.list
將 deb xxxxx 改成
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
ctrl+o保存,ctrl+x退出

配置環境

sudo apt-get update

sudo apt-get install git john

git clone --recursive http://github.com/mame82/P4wnP1

克隆完畢後,執行下列操作

cd P4wnP1/
./install.sh

需要經過漫長的等待……在安裝的時候可能會遇到一些安裝詢問,均按默認情況執行即可。



出現這個界面時就代表安裝成功了!

使用


上述步驟完成之後,將樹莓派插入想要入侵的電腦。(這裡以一台win10的台式機為靶機)。



連接到一個名為P4wnP1的wifi,初始密碼是:MaMe82-P4wnP1。


連接成功後,我們打開PUTTY,連接到:172.24.0.1 埠22, 賬號密碼仍然是樹莓派的密碼。


輸入成功後有些會直接進入如下界面。



我們可以進入P4WNP1的安裝路徑,找到

setup.cfg

payloads更換:

sudo nano /P4wnP1/setup.cfg

setup.cfg裡面有很多配置,你可以根據需要進行一些修改.

這裡可能會出現一些配置問題,你可以拉到最下面查看解決方案。


payloads更換


更換payloads需要進入程序的安裝目錄進行更改,但是這裡可能會有一些問題出現,筆者曾經安裝過一次,它的安裝目錄會變到其他位置,但是後面幾次安裝它的安裝目錄仍然在當前目錄下,如果遇到找不到安裝路徑的情況,可以試試以下命令。

sudo find -name P4wnP1

進入到安裝目錄後,對setup.cfg進行修改。

sudo nano /P4wnP1/setup.cfg

到最底部,找到Payload selection:



這裡有很多以#號開頭的payload,意味著他們是未被使用的。該項目只能一次性載入一個payload,所以你選擇了network_only就不能選擇別的payload. 這裡我們以hid_backdoor_remote.txt為例。


首先在network_only前加上#號,再去掉backdoor_remote前的#號。


保存,退出。 你可以直接reboot,或者拔了數據線再插上去。


當我們再次連接的時候,如果出現如下圖的情況,說明更換成功,你就可以開始搞事情了~



實戰(以hid_backdoor_remote為例)


在進入到P4wnP1 shell時,我們需要先輸入FireStage1,其對靶機進行連接操作。當出現」client connect」字樣時說明連接成功。



P.S:你可以輸入help查看可以用的命令。


這裡以shell為例,我們輸入shell



可以看到我們正在以當前主機的身份進行了操作。

如果想要退出shell模式,按Ctrl+C即可退出。


以下對一些命令的解釋



SendDuckyScript 發送鍵盤腳本


SendMouseScript 發送滑鼠腳本


download 下載文件到樹莓派


upload 上傳文件到主機


shell 以靶機的身份訪問控制台


CreateProc 創建進程 (打開記事本的命令為: CreateProc notepad)


sendkeys xxx 發送『xxx』鍵盤輸入


其它很多命令的解釋可以在 官方手冊查看


在上Win10破解密碼


這個是P4wnP1上比較特別的一個點。但是經過我個人測試之後,其實是存在一定限制的。


簡單的說一下原理,先插好設備,在輸入密碼進去系統界面時,樹莓派會截取到有密碼的hash值,然後暴力破解一個一個進行對比… 簡單的字母比如abc,123速度確實很快,但是如果是字母+數字或者又長又複雜的組合密碼可能要破解到猴年馬月了。


假如密碼是弱密碼


我們設置完payloads後,插入電腦。在受害者輸入密碼後,樹莓派會自己利用 John the Ripper 模塊進行破解,這個作者在文檔說明中也提到了。



you leave P4wnP1 plugged and the hashes are handed over to John the Ripper, which tries to bruteforce the captured hash.


If the ′password of the user who locked the box is weakly choosen, chances are high that John the Ripper is able to crack it, which leads to…


例如,筆者靶機上密碼為abc,當插上樹莓派時等待一會,輸入密碼進入windows系統,此時我們用另一台機子連接到樹莓派的熱點。執行以下命令

cd /P4wnP1/collected
ls

在collected文件夾內存儲了竊聽到的hash值。如果是弱密碼,在後面會直接生成 .hashes.cracked .此時我們直接查看即可獲得密碼。




假如密碼是強密碼,且知道密碼的組成


這裡就要推薦一個工具了。 叫hashcat:下載地址 ,它需要GPU進行運算。


將我們得到的hash值,運用下面的命令執行

hashcat64.exe -m 5600 hash.txt -a 3 ?d?d?d?d?d?l?l

解釋一下上面的命令,hash.txt是.hashes文件中的內容。後面問號表示不同位置密碼的取值範圍。例如上面的例子,密碼的前五位是數字,後兩位是字母。



詳細的解釋可以看這個: 點我


在手機上進行滲透測試


推薦倆APP


安卓:JuiceSSH


蘋果:shelly


遇到的問題


如果真的嫌安裝過程麻煩


作者提供了一個打包好的系統鏡像,可以直接寫入tf卡。


下載地址


SSH連接問題


如果遇到SSH拒絕連接,先想想你在配置完WiFi後有沒有創建ssh文件,如果創建了但還是連不上,你可以重啟一下路由器,看下是否是路由器記錄出現了問題(這種情況會發生在你原來用這個樹莓派裝過系統,但是你重新安裝系統後導致連不上),最後還是不行的話,再重裝系統。


WiFi名設置問題


「為什麼我在

setup.cfg

中修改了wifi名為什麼載入出來的不是我修改的?」.


這是因為在載入payload的時候,項目會先從payload裡面載入一些配置,而payload設置是默認原來setup.cfg中的。如何修改? 注釋掉payload中相應的選項,只要程序發現payload中缺少一些選項的配置(如wifi名,密碼等),程序會自動到setup.cfg補上缺少的選項。


樹莓派沒有開啟熱點模式,仍然是作為wifi連接的情況

sudo -i
nano /etc/network/interfaces

將圖中框住的部分刪掉即可


連接成功,但是彈不出主程序shell界面


在靶機上盡量選3.0介面,筆者用2.0的有時候就會出現這樣的情況。


win10破解密碼模式無法獲得hash值


筆者是在鎖屏的狀態下,插上樹莓派,等待了一會後才進入。 有時候會出現一定的延遲,或者壓根不截取hash值,此時最好先清空collected文件內的內容,然後將靶機註銷再進行嘗試。


參考文檔


P4wnP1


P4wnP1_Offical_Wiki


hashcat


如何將自己的樹莓派打造成「滲透測試神器」


Snag Windows Passwords With Pi Zero | P4wnp1


*本文作者:Milu。,本文屬 FreeBuf 原創獎勵計劃,未經許可禁止轉載。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

我所了解的物聯網設備測試方法(硬體篇)
從PowerShell內存轉儲中提取執行的腳本內容

TAG:FreeBuf |