WI-FI滲透利器Pineapple Nano初探
本文是作為一個新手接觸這款產品時使用的一些記錄和理解,由於入手時在網上找到的資料有限,翻譯成為中文的文件也更是少之又少,沒有找到較好的指導文件(也可能姿勢不對)。因此出現了本篇文章,對使用及測試過程中遇到的問題和心得進行記錄,幷包括對於不同模組的簡單介紹,對於某些模組測試記錄了簡單示例,以供跟我一樣的新人基礎入門,如果想要完整地進行一些攻擊的話,需要熟練使用不同模組,瞭解原理和機制,並不斷進行嘗試以達到目的,由於個人水平極其有限,文章中可能出現一些理解偏差,描述偏差甚至是錯誤的情況,不接受任何批評(哈哈哈哈,歡迎指正QAQ)
一 簡介
The WiFi Pineapple 是由國外無線安全審計公司Hak5開發並售賣的一款無線安全測試神器(俗稱大菠蘿),從2008年起目前已經發布到第六代產品。當前的主打產品是The WiFi Pineapple NANO 和WiFI Pineapple TETRA(支援5GHz頻段)
手上這款是WiFi Pineapple NANO
產品規格:
·CPU:400 MHz MIPS Atheros AR9331 SoC ·記憶體:64 MB DDR2 RAM ·磁碟:16 MB ROM + Micro SD(6G) ·無線:Atheros AR9331(wlan0)+ Atheros AR9271(wlan1),均為IEEE 802.11 b / g / n ·埠:(2)RP-SMA天線,USB網絡卡(ASIX AX88772A) ·USB 2.0主機,Micro SD讀卡器 ·電源:USB 5V 1.5A. 包括 Y型USB電源線 ·可配置狀態指示燈LED ·可配置的重置按鈕
二 使用背景
對於這種黑客 “外設” 來講,和其他外設沒什麼兩樣,都是燒錢的東西,那這個東西在什麼情況下入手比較合適呢?
1安全研究
對於正在進行安全研究並計劃將研究方向定為wifi安全的小夥伴們,可以使用這款 “外設” 作為入門和進階的部分,能夠帶領我們瞭解一些常見的wifi安全問題、原理和攻擊手段,進一步的可以分析這些利用工具的原理,實現方法,組合攻擊手段
2安全演示
如果你是安服的小夥伴,給客戶演示的時候不要總是帶著自建靶場,給領導搞一個SQL注入,永恆之藍,過時了!就算你配合Cobalt Strike來個主機上線,也頂多是視覺上的刺激。你帶個wifipineapple,現場來個中間人,搞個綿羊牆,抓個密碼,豈不美哉?
3有錢
您老要是有閒錢,那就買個玩玩!
三 管理
安裝與配置過程不在此贅述,網上均有相關指導文章,在本文第十章”參考連結”處也能找到, 可以使用 USB 網絡卡或 wifi 進行網路接入
Web管理端地址: http://172.16.42.1:1471
第一次登陸會以root身份登陸,並在安裝時配置密碼, 這個密碼將同樣作為ssh連線時的root密碼
四 特性
a.用作 Wi-Fi 中間人攻擊測試平臺 b.一整套的針對 AP 的滲透測試套件 c.基於 WEB 應用的管理介面 d.基於嵌入式 linux 系統 e.不定時的各種軟體更新,可以自定義模組、payload
五 管理頁面簡介
1 Dashboard儀表盤
儀表盤上顯示了一些狀態、統計資訊、通知和公告的概覽檢視,包括:
CPU 使用率、裝置執行時間、客戶端連線數量 Landing Page 瀏覽狀態,公告 Bulletins從wifipineapple.com獲取的最新專案資訊
2 Recon偵察
Recon模組採用被動式掃描方式,掃描過程會自動將網絡卡設定為監聽模式,監聽周圍不同通道上(客戶端)發出的各種資料包。能夠掃描出SSID、MAC地址、加密方式、是否啟用了WPS功能、通道及訊號強度等資訊,甚至還能掃描出當前未連線任何AP的客戶端
從下拉列表為掃描的持續時間,增加掃描時間可以在每個通道上看到更多潛在的流量,選中“Continuous”框將啟用正在進行的掃描。每隔一段時間進行持續掃描,並更新掃描結果列表,直到掃描停止
掃描結果將顯示在表格檢視中
未關聯的客戶端僅顯示 MAC 地址。這些客戶端具有活動無線電,但不與接入點關聯
單擊SSID和MAC地址旁的下拉選單,會出現如下兩張圖的選單,用於 PineAP 模組的 Filter(過濾) 和 Tracking(追蹤) 功能,以及進行 Deauth(取消認證洪水) 攻擊中傳送取消身份驗證幀的倍數引數
需要注意的是,使用 Recon 模組進行掃描將會斷開已有的連線
3 Clients客戶端
如果在 PineAP 中勾選了 Allow Associations(允許關聯),WiFi Pineapple將允許客戶端進行連線
已連線的客戶端將在“ Clients ”檢視中列出它們各自的MAC地址,IP地址,它們已連線的 SSID (如果在PineAP中啟用了Log Probes(日誌探測) 功能)和主機名
Kick按鈕可以從Wi-Fi Pineapple網路中刪除客戶端
MAC地址和SSID旁邊的下拉選單按鈕用於 PineAP 模組的 Filter 和 Tracking 功能
Refresh按鈕可以重新整理Clients表格檢視
4 Filters過濾器
可以通過客戶端MAC地址或SSID來執行過濾。支援“Deny”和“Allow”模式,可以使用Swith按鈕進行切換
Client Filtering 客戶端過濾
在Deny Mode下,客戶端過濾器中列出的具有MAC地址的客戶端將無法連線到WiFi Pineapple
在 Allow Mode下,只有客戶端過濾器中列出的具有MAC地址的客戶端才能連線
進行WI-FI安全測試時,最好使用“Allow Mode”以確保僅針對參與範圍內的客戶端
SSID Filtering SSID過濾
在Deny Mode下,如果客戶端嘗試連線到過濾器中列出的SSID,則客戶端將無法與WiFi Pineapple關聯
在 Allow Mode下,如果過濾器中列出了他們嘗試連線的SSID,則客戶端只能與WiFi Pineapple關聯
SSID可以從與Recon中各自列表相關聯的選單按鈕新增到過濾器中,也可以手動新增或刪除過濾器中的條目
5 PineAP Pine接入點
PineAP是通過偽造的Probe Response響應包來響應周圍的客戶端(可能是筆記本、手機、pad等等),讓客戶端以為周圍存在著曾經成功連線過的無線AP,而用來欺騙客戶端進行連線我們的Pineapple Nano裝置
Allow Associations 允許關聯
此項被勾選時,客戶端可以通過任何請求的 SSID連線到Pineapple
禁用時,客戶端將不允許被連線。相當於以前的 karma
Log Probes 日誌探測
開啟後,將記錄客戶端的探針請求。可以從 Logging 模組裡看檢視分析
Log Associations 日誌關聯
開啟後,客戶端的連線資訊將會被記錄。可以從 Logging 模組裡檢視分析
禁用後,連線成功的資訊將不被記錄,並且不會出現在 Clients 模組的 SSID 一欄裡
PineAP Daemon PineAP 守護程序
這個程序必須開啟
可以使用 Beacon 響應,捕獲 SSIDs 到池裡,以及對SSID進行廣播
這個設定會作用於 wlan1 ,並且 wlan1 不能用於 Client 模式去橋接外網
Beacon Response Beacon 響應
開啟之後,目標 beacons 將會發送給客戶端裝置,用來響應客戶端的 SSID 探針請求
這些 beacons 將不會被廣播,而是指定傳送給傳送了探針請求的客戶端裝置。這可以防止beacon 被其他裝置看見。如果 Allow Associations 啟用並且有客戶端連線,目標 beacon 響應將持續傳送給客戶端裝置一段時間
Beacon 響應將會使用源 mac 地址設定,並且也會與廣播 SSID池特性共享
Beacon 響應間隔將決定發射的頻率
Capture SSIDs to Pool 捕獲SSID到池中
開啟之後,將會把捕捉到的探針請求裡的 SSID 儲存到 SSID 池中
Broadcast SSID Pool 廣播SSID池
開始之後,SSID 池將會按照設定的時間間隔以及源地址、目標地址來廣播beacon
SSID 池也可以手動來管理,相當於以前的 Dogma
Source MAC 源Mac地址
預設情況下,是Pineapple wlan0 的 Mac 地址,可以在 Networking 裡進行設定
Target MAC 目標Mac地址
預設情況下是廣播的 Mac 地址 FF:FF:FF:FF:FF:FF
用於廣播幀資料將會被附近的客戶端識別,如果設定為某一個固定的 mac 地址,將會對該地址本身進行 PineAP唯一的攻擊目標
類似 beacon 響應,只有池中的 SSID 廣播會被目標客戶端看到
如果使用了 Filters,將更精確的定位到目標裝置
Broadcast SSID Pool Interval 指定廣播 SSID 的時間間隔
間隔越小,對 CPU 的佔用就越高
Beacon Response Interval 指定 beacon 響應的時間間隔
間隔越小,對 CPU 的佔用就越高
Save as Default on Boot 儲存為啟動預設配置
將會把設定儲存,並且系統啟動時會繼續執行
SSID Pool SSID池
當 Capture SSID Pool 功能開啟時,將會自動記錄捕獲到的SSID,也可以手動新增或刪除
6 Tracking跟蹤
跟蹤功能將按MAC地址連續掃描指定的客戶端,並執行可自定義的跟蹤指令碼
此功能需要啟用 PineAP 的 Log Probes 和 Log Associations 中的至少一個選項
可以手動新增客戶端,也可以在 Clients 或 Recon 檢視中關聯的MAC地址使用 PineAP Tracking Add MAC 按鈕新增 Mac 地址到此模組中
當客戶端被識別時,將會執行自定義指令碼
7 Logging日誌記錄
Logging模組共記錄了 PineAP Log、System Log、Dmesg、Reporting Log四種日誌
PineAP Log
如果啟用了Log Probes 和 Log Associations其中的一個或全部,則按時間順序顯示PineAP事件。每個事件都包含時間戳,事件型別(探測請求或關聯),客戶端裝置的MAC地址以及裝置探測或關聯的SSID
可以對結果進行過濾,在按下”Apply Filter”之前,過濾器不會生效,預設情況下,PineAP日誌位於/tmp中,重啟不會儲存
PineAP Log
系統日誌,沒什麼好說的
Dmesg
裝置故障的診斷,硬體連線斷開等資訊
Reporting Log
生成報告日誌
8 Reporting報告
此功能能夠以指定的間隔生成報告。報告可以通過電子郵件傳送,也可以本地儲存在SD卡上
報告內容可選,包括PineAP日誌(可以在生成報告後刪除),PineAP Site Survey(可指定掃描時間)PineAP 探測和跟蹤客戶端報告。
9 Networking網路
在 Networking 模組中,可以更改路由,接入點,MAC地址,主機名,並使用WiFi客戶端模式連線到接入點
Route 路由
顯示核心IP路由表,可以針對所選介面進行修改,預設閘道器為172.16.42.42
使用WiFi Pineapple Connector Android應用程式時,IP路由將自動更新以使用usb0作為預設閘道器
下拉選單可以重啟DNS服務
Access Points 接入點
可以配置WiFi Pineapple主要開放接入點和管理接入點。開放和管理接入點共享相同的通道
可以隱藏開放接入點,並且可以禁用管理接入點
WiFi Client Mode WI-FI客戶端模式
能夠將WiFi Pineapple連線到另一個無線接入點,以進行Internet或本地網路訪問
MAC Addresses Mac地址
可以手動更改MAC地址,也可以設定隨機MAC,更改MAC可能會斷開連線的客戶端與WiFi Pineapple的連線
Advanced 高階
能夠更新主機名
下拉選單中能夠將WI-FI配置恢復預設
顯示ifconfig的輸出
10 configuration配置
General 常規
一些裝置的常規設定,如設定時區、更改密碼、關機、重啟、恢復出廠設定
Landing Page 著陸頁面(釣魚)
啟動後,客戶端全部連結將會被強制導向到此頁面,頁面訪問的統計資訊將會顯示在 Dashboard 上
頁面可以是 PHP 或 HTML 的
只有WiFi Pineapple具有Internet連線時,才會顯示此頁面
例如下圖是之前寫的模仿某寶的釣魚頁面
11 Advanced高階
高階檢視提供有關係統資源,USB裝置,檔案系統表,CSS以及升級WiFi Pineapple韌體的功能的資訊
Resources 資源
顯示檔案系統磁碟使用情況和記憶體,下拉選單按鈕可以清除頁面快取
USB
顯示外接USB,設定檔案系統表(fstab)。下拉選單按鈕可以格式化SD卡
CSS 層疊樣式表
可以修改WiFi Pineapple Web介面樣式表
Firmware Upgrade 韌體升級
韌體升級將替換所有資料(不包括SD卡或USB等外部儲存器)
升級前應備份重要的非系統資料
六 常用模組
Dwall綿羊牆
DWall 是一款可以實時抓取 http 資料的外掛,並且可以實時展示在web頁面上
Enable開啟模組,Start Listening 開始監聽
所有連到 Pineapple 客戶端的http連線都會被抓到
頁面顯示了客戶端、URL、Cookies、資料內容,以及圖片
Deauth 取消驗證洪水攻擊
De-authenticationFlood Attack,全稱為取消身份驗證洪水攻擊或驗證阻斷洪水攻擊,通常被簡稱為Deauth攻擊,是無線網路拒絕服務攻擊的一種形式。它旨在通過欺騙從AP到客戶端單播地址的取消身份驗證幀來將客戶端轉為未關聯/未認證的狀態
normal模式下,選中網絡卡,點選 Start 後就開始攻擊攻擊過程中同網段內的網路認證(由於NANO不支援5G,所以攻擊僅支援2.4G)均會失敗,無法認證並連線
要針對某個WI-FI攻擊,可以在Editor中選中網絡卡,掃描WI-FI,並Add to Blacklist(新增到黑名單),在Mode中也選擇blacklist,輸入Channels,通道可以去SiteSurvey中檢視
測試過程中發現,blacklist模式不生效,Pineapple 沒有發出資料包;normal模式可以使用,但已經認證成功並通訊的連線無法阻斷,只能攻擊正在進行認證的連線
DNS/DNSMasq Spoof DNS欺騙
這個外掛會啟動 DNSMasq 服務,對客戶端訪問的域名進行重定向
在Hosts處填寫要重定向的域名,寫法與其他 Hosts 檔案一致
此處可以填寫內網配置好的釣魚伺服器,也可以指到Pineapple,並在上面搭建服務
點選 Start 之後,重定向就開始了,ping 域名可以發現被重定向到了內部網路IP
針對釣魚頁面,可以修改Landing Page,也可以編寫自己的頁面,網頁儲存位置位於 /www 中
支援 php 和 html
urlsnarf URL捕獲
選定網口後點擊 Start ,模組將會捕獲全部的HTTP流量,GET及POST的資料均會顯示
顯示格式為web訪問日誌型別
Evil Portal 惡意門戶認證
模組主要由以下幾個部分組成:
Controls(控制):啟用模組和設定自動啟動;
Word Bench(建立工作目錄):包含門戶頁面的php檔案等;
White List(白名單):不需要通過門戶認證頁面跳轉的IP地址列表;
Authorized Clients(認證客戶端):當前通過門戶頁面認證跳轉過的IP地址列表;
Live Preview(預覽):預覽惡意門戶頁面。
Evil Portal模組和自帶的Landing Page功能很像,區別在於Landing Page僅能夠提供一個強制跳轉顯示頁面的效果,不具有認證、白名單以及更自由化的門戶頁面自定義功能。Evil Portal能夠實現像現在的商業WiFi接入訪問一樣,提供一個由我們自定義的認證頁面,引導客戶端使用者完成認證及跳轉功能
新建名為 test1 的專案,系統會自動生成三個頁面
可以隨意修改三個頁面達到想要的效果,也可以SSH登入到Nano的系統中,找到Evil Portal的配置資料夾直接將我們編輯好的頁面複製進去
如果要啟動該專案,需要點選 Activate 按鈕進行啟用,就可以在 Live Preview 功能下看到頁面狀況
啟用模組後,凡是連線Pineapple wifi的客戶端,均需要進行認證後再連線網路
下面進行一個簡單的示例,我們修改原始碼
index.php
MyPortal.php
此處注意目錄的寫許可權,否則可能儲存不成功
ssh到Pineapple或使用Cabinet模組管理檔案,在模組所在路徑下建立portal.log
認證一下,看看新建的log檔案中是否記錄
連線後的客戶端也會被記錄
ettercap 中間人攻擊
這個模組相當於呼叫 ettercap 這款工具進行中間人欺騙,將引數轉換為web頁面,並將輸出返回到頁面上
SSLsplit SSL分離
SSLsplit可以作為中間人監聽 SSL 資訊及 HTTP 資訊。SSL 實現代理的同時要與伺服器建立連線,同時偽造證書與客戶端建立連線,即雙連線,依據獲取的 Client 資訊再與伺服器通訊,從而實現明文資料監聽
Configuration無需改變,使用預設即可
在客戶端使用HTTPS進行通訊時,將會由SSLsplit作為中間代理
SLLsplit的實現需要配合其他欺騙手段,如果有Clients連線到Pineapple,那麼就直接可以進行攻擊,如果要攻擊的目標在同一網段內,則需要將目標流量定向到此模組的監聽埠,通常配合 ettercap等欺騙軟體
如果網站具有HSTS(HTTP Strict Transport Security),網站將不能正常顯示,也就無法攻擊
tcpdump 網路資料採集
tcpdump可以將網路中傳送的資料包完全截獲下來提供分析。它支援針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來去掉無用的資訊,是一款非常高階的網路資料分析工具
與Pineapple上很多其他的模組一樣,提供的可供點選的web管理介面
Options提供了基本的選項模組
在下方選中或勾選的引數將會被格式化到 Command 處
Interface 為需要監聽的埠
Verbose 對應 -v 選項,代表輸出報文資訊的詳細程度
Resolve 對應 -n 選項,不將主機名轉換為IP地址,以及不進行埠名稱的轉換
Timestamp 對應 -t 選項,指定是否輸出時間戳或時間戳格式
Don’t print domain name qualification of host names:對應 -N 選項,不輸出主機名中的域名部分。例如,’wiki.ver007.org’只輸出’wiki’
Show the packet’s contents in both hex and ASCII:對應 -X 選項,在解析和列印時,除了列印每個包的報頭之外,還要用十六進位制和ASCII列印每個包的資料(通常用於分析一種協議)
Print absolute sequence numbers:對應 -S 選項,將tcp的序列號以絕對值形式輸出
Get the ethernet header as well:對應 -e 選項,在輸出行打印出資料鏈路層的頭部資訊
Show less protocol information:對應 -q 選項,快速輸出。只輸出較少的協議資訊
Monitor mode:對應 -I 選項,使標準輸出變為緩衝行形式,可以把資料匯出到檔案
Filter提供了一些過濾規則,我們可以利用Filter編寫過濾表示式,用來匹配得到我們想要的結果,在點選引數之後,手動輸入引數值,並繼續點選下一個引數,同樣的,如果你熟悉tcpdump的話,可以進行手工填寫,跟wireshark什麼的過濾語法道理都類似
Output為系統回顯,History則可以檢視和管理抓住的完整tcp資料包
例如,我想檢視172.16.42.225和m.tool.chinaz.com之間埠為80的通訊
Output中輸出一些資訊
history中能看到捕獲的資料包
在此處可以將捕獲的包下載,得到一個pcap檔案,可以在wireshark、networkminer、科來等其他工具中
具體的使用方法就根據需求不同定製,需要熟悉過濾表示式的編寫
需要注意的是,tcpdump只能抓取流經本機的資料包,因此確保有 Client 連線上網
由於頁面僅提供部分命令,如果想要達到與命令列完全一樣的效果,可以SSH連線到Pineapple直接執行tcpdump.sh,路徑在/pineapple/modules/tcpdump/scripts
Meterpreter 漏洞攻擊
大名鼎鼎的 Meterpreter,配置主機埠後能夠接收會話,無需更多介紹
nmap 網路地圖
著名的網路掃描工具,用法一模一樣
Options(選項)與圖形化的Nmap頁面相似,輸入目標,在 Profile 中選擇一些預置的規則
各種引數設定在下面可以手動點選
也可以在 Command 處手動輸入引數
結果會回顯在 Output 中,也可以在Log Manager模組中檢視記錄結果
測試發現無論針對內網和外網掃描,過程都比較慢,而且經常有程序退出的情況,效果不是很好
APITokens API令牌
/api 允許對Pineapple模組進行遠端呼叫,儲存路徑為/pineapple/api
已生成的API令牌儲存在Pineapple本地資料庫中,路徑為/etc/pineapple/pineapple.db
本模組的作用就是提供對API呼叫的訪問控制
只有在本模組中生成APIToken,並作為JSON引數進行傳遞時,Pineapple才會返回結果
autossh 反向SSH連線
autossh是一個程式,原理是啟動一個 ssh 副本並進行監視,如果程序中斷或停止流量傳輸,則根據需要重新啟動
想法來自rstunnel,但是由C語言編寫的,使用埠轉發迴圈或遠端回顯服務進行連線監視
當遇到連線被拒絕等快速故障時,能夠降低連線嘗試的速率
多數情況下,程式用於反向SSH,以及解決連線不穩定等問題,利用這個模組,我們可以利用具有公網IP的VPS隨時隨地連線到 Pineapple 下進行操作
例如VPS 使用者是 root IP是 1.1.1.1 SSH埠是 22,在反向連線Pineapple時,需要登入的埠是 8888
那麼應該如下填寫
填寫後點擊Save儲存到下方的命令列中
在Additional Configuration(附加配置)中生成公鑰
SSH到 Pineapple中,執行
cat ~/.ssh/id_rsa.autossh.pub | ssh -p 22 [email protected] 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys'
輸入VPS密碼,將Pineapple公鑰匯入VPS的authorized_keys中
點選Start
此時 SSH 反向連線已經建立,可以隨時隨地在VPS中ssh連線到 Pineapple
在vps中輸入
ssh localhost -p 8888
再輸入Pineapple NANO 的密碼,即可成功登入
base64encdec BASE64編/解碼
一個普通的 base64 編碼/解碼 模組
Cabinet 檔案管理
可以理解為一個檔案管理的webshell(-_-||)
Commander 指揮者
此模組能夠允許我們通過IRC來控制Pineapple
下面這個圖是官方論壇截的,從來沒用過IRC,這輩子可能都不會用了,此模組略過了
ConnectedClients 已連線客戶端
這個模組直觀的顯示通過不同網絡卡連線的不同客戶端
包括主機名稱、IP地址、MAC地址
可以對客戶端進行 Disassociate(取消關聯)、Deauthenticate(解除認證)、Blachlist(黑名單)操作
CursedScreech 命令執行
這是一個遠控模組
Sein:資訊收集功能,當監聽的網路內出現漏洞系統時,將會更新模組的 target 列表
Kuro:攻擊功能,自動嘗試連線Sein功能發現的目標機器,並連線
Listening Interface(監聽埠):用於組播socket的介面,如果目標直接連線到Pineapple,使用br-lan就可以
Multicast Group(組播組):傳送和接收目標心跳的地址,對於Sein和目標機器,組需要相同
Multicast Port(組播埠):Sein將從目標接收訊息的埠。這個埠需要在payload的startMulticaster()方法中
Heartbeat Interval(心跳間隔):payload傳送廣播的間隔,Sein在3個心跳間隔還為收到廣播包的話,就會判斷目標為掉線狀態
Kuro Keys/Target Keys(金鑰):用於TLS通訊時的金鑰,可以使用Papers模組建立Keys
可以從下方兩個下載按鈕下載 C# 和 Python 的payload模板
Activity Log(活動日誌):記錄 Kuro 功能執行過程中產生的全部記錄,使用模組的大部分時間都是盯著這裡看
右邊的Targets就是一個上線機器列表,以及一個命令執行功能
如果有目標機器的話,可以通過Select選擇機器,並執行命令
EZ Cmds事先預置了一些cmd命令,可以新增及刪除
設定好了之後,按照下載的模板,編寫payload,在目標機器上執行
執行後點擊Sein進行監聽,測試時發現python版本的payload在監聽後需要多等一下才能上線,此處要耐心等待一下,上線後可以開啟Kuro,再耐心多等一會
當日志顯示Kuro is ready後,就可以執行命令了
dump1090 接收/解碼無線訊號
本模組能夠對 1090MHz 的無線電進行收取和解碼,通過呼叫google-API等方式,可以在web地圖上描繪出飛機的軌跡,當然也可以手動更改頻率如:
我國民航使用的無線電頻率:1090MHz
民用對講機使用的無線電頻率:408-409MHz
警用頻率:350-390MHz
等等
軟體有很多引數,但是介面上只顯示了Gain
Checkbox 引數可以切換度量衡使用公制單位、切換到自動獲取、增大功率、將結果輸出為csv格式
使用此模組需要RTL-SDR(電視棒)接收無線電訊號,插入模組,將顯示地圖
get 獲取
get模組用於獲取客戶端連線資訊,包括瀏覽器和相關外掛
能夠獲取連線到 Pineapple 的 Clients資訊,點選View Information能夠檢視獲取的詳細資訊
識別庫比較老,外掛識別的也比較少,能夠獲取螢幕尺寸還是挺驚喜的,不過在實戰用處一般
HackRF 無線電攻擊
這個模組需要配合HackRF 硬體進行使用,在接入HackRF後,會出現一個簡單的設定介面
模組選項相當於 hackrf_transfer 的相關引數
Sample Rate(取樣率):每秒傳送或接受的樣本量。受到系統計算能力限制,設定過高可能會導致系統不穩定,此處建議設定預設10M或更低,相當於 -s Center Frequency(中心頻率):就是HackRF開始調諧的頻率,相當於 -f Transceiever Mode(收發方式):HackRF是半雙工工作模式,因此必須指定是要 TX(傳送)還是RX(接收),相當於 -t 或 -r File Name(檔名):目標檔案路徑,可以將收到的訊號記錄,也可以從檔案傳送 RF Amp & Antenna Power(射頻放大器和天線功率):Enable RF AMP可以指定是否開啟射頻放大器,Antenna Power可以指定功率是否被傳送到天線埠 RX IF Gain & RX BB Gain(RX二中頻增益和RX BB增益):根據不同層級的db及步長選擇增益模式 Repeat Transmission & TX IF Gain(重複和TX二中頻增益):是否重複播放,以及設定傳送增益
先進行錄製,並儲存到檔案中
然後進行重放,即可攻擊成功,如果重放失敗,可以調整放大器的增益
在實際測試過程中,將會如上圖報錯,除錯了一會依舊無法實現功能
這個模組僅僅是簡單的收取/重放,如果想要解碼、編碼再重放,單靠這個是實現不了的,而且在不清楚無線電工作頻率的情況下還是沒有辦法使用,因此還是將其定義為演示模組
Key Manager 金鑰管理
如題,本模組是用於SSH金鑰管理的模組
生成SSH Key Pair之後,自定義Remote Host(遠端主機)主機名、埠、賬戶、密碼
下面兩個按鈕就是將自己的公鑰複製到對方的主機上,或將對方的公鑰加入自己的主機上
在Known Hosts(已知主機)中可檢視和管理目前已儲存的一些公鑰
LED Controller LED燈控制
如題,就是一個控制LED燈的模組
Trigger(觸發器)有三個選項
Netdev:在網路傳輸時會閃爍,Mode(模式) TX 代表傳送 RX 代表接收,Interface 輸入要監聽的網口
Timer(計時器):將會根據設定的On和OFF時間進行交替亮滅,差不多是個呼吸燈,單位是 ms(毫秒)
設定為None時將會常亮,測試效果沒有圖,但模組還是好用的
Log Manager 日誌管理
該模組能夠檢視和管理各個模組產生的日誌
能夠顯示名稱、模組、大小、日期,並能夠檢視、下載和刪除
Modem Manager 調變解調器管理
這個模組允許Pineapple通過3G和4G USB調變解調器連線到網際網路
這個模組暫時不知道怎麼用,略過
Module Maker 模組製作
能夠生成及管理模組
並給出了模組需要的模式
是一個為開發者編寫新模組的web介面
ngrep 網路抓取
ngrep就相當於網路版的grep,支援大量的作業系統和網路協議。能識別TCP、UDP和ICMP包,理解bpf的過濾機制。與 tcpdump 類似
Occupineapple 佔領
Occupineapple 是一個干擾模組,能夠在周圍生成各種隨機或者自定義的SSID
Speed:每秒傳送的資料包
Channel:在哪個通道上生成虛假AP
Show station as Ad-Hoc:將站點顯示為點對點
Set WEP bit (Generates encrypted networks):設定WEP位(生成加密網路)
Show station using WPA TKIP encryption:顯示使用WPA-TKIP加密的站點
Show station using WPA AES encryption:顯示使用WPA-AES加密的站點
Use valid accesspoint MAC from OUI database:使用來自OUI資料庫的有效Access
Editor 引數處可以選擇、編輯或建立List,List中存放SSID名稱及Mac地址
在配置好引數後,點選Start就會在周圍生成List中名稱的SSID
可以看到生成了事先預設的SSID
這個模組的作用目前只能想到有兩個,第一個就是SSID廣告,可以利用這個釋出一些廣告資訊,第二個是導致無線網絡卡產生拒絕服務攻擊
Online Hash Crack 線上雜湊破解
模組呼叫了 www.onlinehashcrack.com 網站介面,可以將Hash值或字尾為.cap/.pacp/.hccapd的WPA握手包
傳入模組中進行破解
先設定 Email,點選Save儲存,結果將會輸出到回顯併發送到郵箱中
p0f 被動網路指紋識別
p0f是萬能的被動作業系統指紋工具,利用SYN資料包實現作業系統被動檢測技術,能夠正確地識別目標系統型別。和其他掃描軟體不同,它不向目標系統傳送任何的資料,只是被動地接受來自目標系統的資料進行分析。因此,一個很大的優點是:幾乎無法被檢測到,而且p0f是專門系統識別工具,其指紋資料庫非常詳盡,更新也比較快,適合於安裝在閘道器中
依舊是一款在 KALI 中經常使用的資訊收集軟體,頁面只給了設定網口的選項,沒有提供其他引數選項
測試過程中服務一直無法啟動,暫略
Papers 證件
Papers模組的作用就是生成 公/私 金鑰對,X.509數字證書,能生成可部署自簽名證書
有了這個模組我們可以在HTTPS上管理Pineapple,也可以讓我們的釣魚頁面在HTTPS上部署,更具有一定的迷惑性
我們可以在此模組生成證書,讓我們的管理埠1471,80,等其他埠均通過443轉發,也可以下載後部署於其他伺服器上
首先我們使用Build Certificates來生成證書
Modify Certificate info(定義證書資訊):中包含了一些描述資訊,可以自定義填寫
Encrypt Private Key(加密私鑰):選項勾選後,在訪問時瀏覽器將會等待輸入密碼,在部署於其他網站應用時,應該進行勾選,但不建議在Pineapple上勾選
Export keys to PKCS#12 container:將金鑰匯出到PKCS#12使用者金鑰儲存庫中
填寫完成之後點選Build Keys生成金鑰對,我們就能在Certificate Store中檢視和管理了
生成證書存放位置/pineapple/modules/Papers/includes/ssl/
將生成的兩個檔案copy至/etc/nginx/ssl/
接下來我們配置nginx,修改 nginx 配置檔案 /etc/nginx/nginx.conf
新增監聽埠 443 ssl
設定完重啟 nginx,點選Actions選項中的小鎖頭按鈕,Pineapple會自動將1471埠轉發到443上, 此時就可以通過HTTPS進行訪問了
由於證書是自簽名,所以依舊會被瀏覽器標記為Not Secure(不安全),所以多少有點雞肋,但是也具有一定的作用
Portal Auth 門戶認證
暫略
RandomRoll 隨機翻滾
這個模組是一個略微搞怪的模組,開啟模組後,將會把全部 http 連線進行重定向到內建的黑頁中
就是下面勾選的這些 rolls,每個對應一個黑頁,隨機選擇出現
模組開啟後,客戶機將會隨機出現選中的黑頁
不同的黑頁具有不同的動態圖,有的還有背景音樂,挺有意思的
Responder 響應者
依舊是一款非常有名的LLMNR欺騙工具,還可以偽造HTTP/s、SMB、SQL Server、FTP、IMAP、POP3等多項服務,從而採用釣魚的方式獲取服務認證資訊,如使用者名稱和密碼等
使用方式和其他嵌入式軟體一樣,選擇網絡卡,勾選引數即可
SignalStrength 訊號強度
選中一個網絡卡並掃描,將能夠得到附近wifi訊號的強度列表,原理是從iwlist命令收集訊號強度和質量資訊
能夠將結果以列表形式展示
並繪製成餅狀圖,以供檢視
在掃描過程中發現,使用 wlan0 能夠更快的進行掃描,而使用 wlan1 能夠獲得更大的掃描範圍
Site Survey 現場勘測
如題,這就是一個對周邊進行掃描勘測的模組
Interface 和 Monitor 需要兩個網絡卡,一個作為通訊,一個作為監聽
點選Scan後可以進行掃描,結果將以列表的形式返回
對於SSID和MAC,可以通過下拉選單放入PineAP中進行下一步操作
對於不同的網路,可以點選Capture進行抓包,也可以點選Deauth進行取消認證攻擊
模組使用airodump-ng 使用ssid引數捕獲,記錄發現的接入點的座標,並寫入一個文字檔案中
實際測試時,在此處使用Deauth會導致系統卡死,尤其是在使用wlan1作為監聽網絡卡的時候,對此官方的回答是:你為什麼要在進行初步勘測的時候就進行大範圍的洪範類攻擊?好吧,我竟無言以對
而且在測試WPA握手時,一直報告No,嘗試了很多次都報告No,感覺功能是不好用的,如果想要在Pineapple上實現此功能,建議使用Aircrack
Status 狀態
Status模組是一個展示模組,展示出了系統各方面執行情況
在網口處可以以圖形實時顯示一段時間內上下行流量狀況
wps wps攻擊
此模組集成了 reaver 和 bully ,利用路由的wps漏洞來破解 WI-FI 密碼
七 攻擊場景
如果我們手裡有Pineapple及一些相關裝置,我們能進行哪些攻擊呢?本章將列舉一些攻擊場景,並列出攻擊場景使用的模組
1 簡單搞怪
如果想要簡單的搞怪一下週圍的人,不進行惡意的破壞和複雜的攻擊行為,可以使用Occupineapple或者RandomRoll模組
使用Occupineapple在四周生成一些有趣的SSID,比如“XXX是個小智障”,“XXX是個小笨蛋”等等,十分有趣
也可以使用RandomRoll,在有客戶端連入Pineapple網路時,可以將HTTP網頁重定向到預設搞怪的網頁上,給人一個驚喜
2 技術演示
如果想要給身邊的人演示一些簡單的WI-FI攻擊,無需特別多的技術準備,可以使用Dwall、DNS/DNSMasq Spoof、urlsnarf
Dwall即是著名的“綿羊牆”,可以顯示抓到的URL、cookie、圖片用,用來做演示十分方便
DNS/DNSMasq Spoof 可以重定向使用者DNS,配合Landing Page或其他web應用可以進行釣魚、嗅探等
urlsnarf顯示網路內http資料包,抓取到的url,顯示也很直觀
配合HackRF硬體可以簡單重放無線電攻擊,進行一些演示
3 竊取密碼
如果想要竊取在同一網路下其他客戶端產生的密碼,也許是某些網站賬戶密碼,也許是其他WI-FI密碼,有幾種方式可以達到目的
想要獲得附近的WI-FI密碼,可以使用Site Survery抓取WPA握手包,再使用Online Hash Crack進行嘗試破解
使用wps模組直接進行WI-FI密碼破解
想要獲得客戶端在其他某些網站上的密碼,可以使用Landing Page、Evil Portal、Portal Auth製作釣魚頁面,結合ettercap做欺騙,或者讓客戶端連線到Pineapple網路中,在釣魚頁面輸入密碼,進行記錄
也可以使用ettercap進行網路欺騙,將自己欺騙成為閘道器,獲取流量,就可以截獲明文傳輸的密碼,配合SSLsplit即可抓取https傳輸的密碼
使用Responder進行欺騙,竊取某些協議中的密碼/hash值
4 漏洞利用
Pineapple還提供了一些漏洞利用模組,可以針對網路內漏洞進行攻擊
可以通過ettercap欺騙,替換目標下載檔案,可以改變js利用瀏覽器漏洞,可以改變文件利用office漏洞,可以改變exe利用各種漏洞
可以使用CursedScreech的payload進行監聽和執行命令
也可以使用Meterpreter接收會話
這個總結起來就是,我是你的閘道器,你的全部網路流量我都做主,我想怎麼玩就怎麼玩
5 資料採集展示
如果使用Pineapple在網路內採集資料,用於展示或進一步分析的話,可以使用一些抓取類模組
tcpdump可以對網路資料進行抓取和過濾,配合其他軟體可以進行展示
ngrep功能同上,對網路內資料進行抓取及展示
nmap用於網路內裝置發現及掃描
p0f被動網路指紋識別,被動收集網路內系統指紋
get模組抓取客戶端瀏覽器資訊
dump1090配合電視棒,可以獲取無線電資訊,展示如飛機航線等資訊
6 惡意破壞
如果就是想要搞事情,Pineapple也可以實現一些功能
可以使用ettercap進行網路欺騙,將自己欺騙成閘道器,可以導致斷網
Deauth模組可以導致網路內認證失敗,無法進行認證連線
八 操作Tips
在使用過程中,發現root使用者沒有訪問寫許可權,比如無法更改配置檔案,在頁面修改的檔案儲存不生效等等,此時應重新掛載磁碟,並賦予寫許可權
有時候想要對整個Pineapple進行備份,所有模組同時備份,然後一鍵恢復,但是Pineapple本身不提供這種功能,所以解決辦法就是/etc/config 下的檔案整體複製,能夠解決大部分的問題
如果想快速確定Pineapple是否連線網路,只需點選首頁載入資訊的按鈕,如果能夠獲得官網資訊,則已經聯網
WI-FI Pineapple可以在移動端使用,如果在公共場合嗅探,可以使用安卓手機進行管理,不會引人注目
在更改完模組配置後,千萬不要忘了點選Save,否則測試一萬遍模組都不好使的(都是眼淚)
測試過程中不一定完全依賴Pineapple本身,還可以配合一些常見的工具、平臺進行進一步滲透,如Kali等
九 總體感受
玩了大概一週左右,最直觀的感覺就是這玩意很坑(嗯,一個字足以概括)
其實本質來講就是一臺Linux系統機器+好幾塊網絡卡+一些很牛的軟體
只不過有些人把這些東西放在了一起,做了個PHP web介面,並將硬體縮小化,然後就拿出來賣了
所以學習使用這款工具,就變成了學習使用很多軟體怎麼使用
使用過程中也不是很愉快,經常出現斷網、wifi無法連線、機器卡死、頁面重新整理不出來等等
而且有一些模組用起來確實是不太好用的,大多數模組都是網上很有名的軟體(kali中也有收錄),只是做了個web頁面而已,而且點選複雜,還不能覆蓋全部引數
但是毋庸置疑,WI-FI Pineapple確實能夠實現一些網路攻擊方式,並且有一些有趣的模組以供選擇,模組更新速度很快,也可以自定義模組
因此,對於手中這款 WI-FI Pineapple NANO,作為學習、研究、演示用,還是可以的,但如果作為實際環境攻擊、大型網路嗅探等較為複雜的環境,鑑於計算能力或其他各方面的限制,可能表現的不是那麼優秀
而且在實現一些接近實際環境的滲透測試時,需要一定的shell程式設計/php程式設計/python程式設計/網路流量分析等等技能,不同模組涉及知識面不同,需要多方面學習
建議手頭寬裕、有一定程式設計基礎、並想要對WI-FI滲透進行入門學習研究的同學入手
在測試時,如果思路廣一點,可以實現很多組合攻擊,如ettercap配合BeEF,XSS平臺,配合metasploit,配合CobaltStrike,Evil Portal配合實時雙因子認證釣魚,網路嗅探類配合被動掃描等等,下面給一張圖自己體會: