低成本打造便攜式無線網絡攻防學習環境

1.摘要

一直以來, 無線網絡安全問題與大眾的個人隱私息息相關, 例如: 為了節省流量, 連接到一個看似安全的免費WiFi, 在使用過程中泄露自己的各類密碼信息甚至銀行卡賬號密碼信息。隨著家用智能電器的普及, 家中的各類智能設備連入家里的無線網絡, 卻突然失靈, 甚至無法正常連接上網絡。本文將從研究的角度搭建一個專門用于無線網絡安全探索的實驗環境。

2.設備選型

要了解無線攻擊原理, 很有必要從攻擊者的需求角度來模擬, 從硬件設備選擇上, 普通電腦或服務器、虛擬機已經無法滿足實際需求, 一款能夠滿足攻防技術復現還原的設備至少需要滿足以下幾點:

  • 可便攜 - 設備體積偏小、攜帶、安裝、拆卸均方便。

  • 可編程 - 設備上能夠運行自主開發的控制程序, 由此對硬件性能有一定要求。

  • 可維護 - 能夠方便提供軟、硬件接口, 方便問題查找和維護。

  • 可續航 - 為了能夠持續產生效果, 需要具備一定的連續工作能力, 包括: 有電源和無電源的情況都要考慮。

  • 可覆蓋 - 主要針對信號強度, 普通電腦的無線網卡雖也可滿足需求, 但信號范圍覆蓋有限會導致某些功能不穩定。

2.1 設備主體選型

針對以上特點, 這款無線硬件主體設備最終決定采用:Raspberry Pi 4B(樹莓派), 其參數和需求滿足對應關系如下:

硬件型號:Raspberry Pi 4B
硬件尺寸:88 * 58 * 19.5 毫米滿足便攜式需求
中央處理器:1.5GHz,四核Cortex A-72滿足可編程需求
存儲空間(最高):64GB滿足可編程需求
內存空間(最高):8GB滿足可編程需求
無線網絡:802.11 2.4GHz/5GHz雙頻滿足可維護需求
有線網絡:USB 2.0前兆以太網(300Mb/s)滿足可維護需求
供電接口micro usb(5V 2.5A)支持外接USB電池供電,滿足續航需求。
USB接口USB 2.0 * 2 / USB 3.0 * 2支持更豐富的外接設備。
HDMI接口可接顯示器方便維護

Raspberry Pi 4B設備除了擁有容量足夠的磁盤空間和內存之外,還提供眾多第三方接口。設備提供了四個USB接口,可以即插即用鼠標、鍵盤、U盤、移動硬盤等設備;設備提供了HDMI接口,能夠將設備運行信息投到顯示器上操作,方便維護。

2.2 天線選型

設備的信號接收范圍決定了掃描的WiFi范圍和數量,Raspberry Pi 4B設備雖然自帶無線網卡,但集成的無線網卡接收無線信號范圍有限,最多接收半徑不超過10米,經過選型,最終選擇了一款第三方基于USB接口帶外接天線的無線網卡,該無線網卡參數詳情如下:

指標名稱指標參數需求指標
信號覆蓋半徑50米符合
天線長度106mm符合
系統兼容性支持即插即用符合
USB體積15mm x 37mm符合
支持監聽模式監聽和正常模式切換符合

其原型圖如下:

該天線是一款帶USB頭的即插即用天線, 支持大多數Linux系統, 與樹莓派主體可以完美結合, 如圖:

注意: 在選購外接無線網卡時, 一定要問清楚是否支持網卡監聽模式, 關于監聽模式參考文章后面的第四部分。

2.3 續航設備選型

由于樹莓派自帶電源接口和電源, 這里的續航主要針對無電源供電情況, 選擇了一個10000毫安的電池, 可連續工作十幾個小時,電池綁定在一個小型嵌入式板上, 通過USB供電, 如圖:

與天線比起來, 這款電池和電池板不像一款產品, 但也臨時沒有找到便宜的可替代品, 還好體積不算太大, 便攜性也能滿足實際需求。

3.操作系統安裝

3.1 操作系統選擇

根據實際需求, 目前最合適的系統莫過于Kali系統, 打開網址: Get Kali | Kali Linux , 這里可以找到專門針對樹莓派的最新Kali系統鏡像, 如圖:

3.2 操作系統安裝

3.2.1 系統燒錄工具安裝

樹莓派沒有硬盤, 替而代之的是一個很小的SDCard卡片, 因此安裝Kali系統首先要將系統image鏡像燒錄到SdCard中。

系統燒錄工具主要包括:PanasonicSDFormatter和balenaEtcher。其中,PanasonicSDFormatter是SDCard格式化工具,能夠將SDCard中的數據快速清空,如果是新系統換舊,則需要先格式化之前的數據。balenaEtcher是系統燒錄工具,能夠將操作系統鏡像燒錄到SDCard中。

將PanasonicSDFormatter下載解壓之后進入文件夾, 該工具是綠色免安裝版, 直接雙擊SDFormatter.exe即可看到主界面,如圖:

balenaEtcher下載解壓后同樣直接雙擊exe開始安裝, 無需任何設置, 點擊"我同意"后直接進入安裝流程, 主界面如下:

3.2.2 SDCard格式化

將樹莓派自帶的SDCard插入到USB讀卡器中(讀卡器樹莓派自帶), 再將USB讀卡器插入到操作電腦中, 經過少許等待, 會發現系統多出兩個盤符, 如圖:

打開工具PanasonicSDFormatter, 在Drive中選擇Boot之外的那個盤符, 這里也就是G盤,直接點擊"格式化"按鈕進行格式化,如圖:

出現以下界面說明格式化成功,如圖:

此時再查看SDCard的盤符, 可以發現已經可以看到SDCard的容量, 接下來便可以開始燒錄系統。

3.2.3 系統鏡像燒錄

打開工具balenaEtcher,點擊按鈕"Select image",選擇下載到本地的kali鏡像,之后再點擊“Flash”按鈕開始燒錄,如圖:

燒錄過程要等待比較長一段時間, 等進度到達100%后, 便可以拔出讀卡器, 將SDCard插入到樹莓派底部插槽中,通電進入系統。

在樹莓派中啟動的Kali系統啟動界面如下:

4.設置網卡監聽模式

無線網卡監聽模式是指無線網卡可以接收所有經過它的數據流的工作方式, 通常用于網絡發現。當前掃描無線熱點之前, 必須將無線網卡設置為監聽模式。然而,并不是所有無線網卡默認支持監聽模式, 可以使用工具: airmon-ng測試當前的無線網卡是否支持監聽模式, 首先直接在Kali系統中運行以下命令:

# airmon-ng

命令執行后,顯示以下網卡名稱:

注意:上圖中的rt2800usb就是我們選購的第三方網卡,是通過USB接入, airmon-ng命令能夠識別的網卡均支持網卡監聽模式。

接著輸入以下命令,嘗試開啟無線網卡的監聽模式:

# airmon-ng start wlan0

注意: 只有支持監聽模式的網卡才能啟動成功, 以下是啟動監聽模式成功后的:

到這里, 監聽模式啟動完畢, 下面就可以開始掃描周邊的無線熱點了。

5.啟動無線掃描

無線掃描主要使用Kali自帶的air-dump-ng來完成, 例如,使用以下命令開啟抓包:

# airodump-ng 監聽網卡名稱 --beacons -w 抓包文件保存路徑

該命令執行后, 程序不會退出, 會持續進行掃描, 并且會生成抓包文件,如圖:

其中, .csv文件中保存了掃描到的無線熱點信息,如圖:

除此之外, 還能獲取到連接到Wifi的客戶端信息,如圖:

6.總結

到此, 一個屬于我們自己的便攜式無線網絡攻防環境搭建完成, 后面可以以此環境做很多研究工作,包括無線攻防技術研究, 開發自己的程序對數據進行分析和處理, 以及協議分析及元數據獲取等等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161763.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161763.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

模擬Spring源碼思想,手寫源碼,理解注解

1、BeanDefinition package com.csdn.myspring; import lombok.AllArgsConstructor; import lombok.Data; Data AllArgsConstructor public class BeanDefinition {private String beanName;private Class beanClass; }2、掃描包的工具類MyTools package com.csdn.myspring; im…

@Scheduled注解 定時任務講解

用于在Java Spring框架中定時執行特定任務的注解 Scheduled,它能夠指定方法在特定時間間隔或特定時間點執行。默認參數是cron,cron參數被用來定義一個Cron表達式,它代表了任務執行的時間規則 參數如下 Cron 這是是一種時間表達式&#xff…

【應用程序啟動過程-三種加載控制器的方式-上午內容復習 Objective-C語言】

一、我們先來回憶一下,上午所有內容 1.首先呢,我們先說的是這個“應用程序啟動過程”, 應用程序啟動過程里面,有三方面內容 1)UIApplication對象介紹 2)AppDelegate對象介紹 3)應用程序啟動過程 現在不知道大家對這個應用程序啟動過程有印象嗎, 2.首先,這個UIAp…

MySQL數據庫時間計算的用法

今天給大家分享如何通過MySQL內置函數實現時間的轉換和計算,在工作當中,測試人員經常需要查詢數據庫表的日期時間,但發現開發人員存入數據庫表的形式都是時間戳形式,不利于測試人員查看,測試人員只能利用工具對時間戳進…

【 順序表經典算法—移除元素和合并兩個有序數組】

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 目錄 前言 經典算法OJ題1: 移除元素 解法一、逐個判斷 解法二、雙指針覆蓋 經典算法OJ題2: 合并兩個有序數組 OJ題分為兩個類型: 總結 前言…

MAX/MSP SDK學習07:list傳遞

實現自定義Obejct,要求將傳入的一組數據100后傳出。 #include "ext.h" #include "ext_obex.h" typedef struct _listTrans {t_object ob;void* outLet;t_atom* fArr;long listNum;} t_listTrans;void* listTrans_new(t_symbol* s, long arg…

14.Python 模塊

目錄 1. 使用模塊2. 使用包3. 常用模塊3.1 日期和時間3.2 偽隨機數3.3 摘要算法3.4 JSON 處理3.5 圖像處理 模塊是Python用來組織代碼的一種方法,包是Python用來組織模塊的一種方法。 1. 使用模塊 Python 把能夠相互包含,且有組織的代碼段稱為模塊&…

.NET面試題1

1.什么是C#? C#(讀作"C sharp")是一種通用的、面向對象的編程語言,由Microsoft開發。它是一種靜態類型語言,支持強類型檢查和面向對象編程(OOP)的概念。C#主要用于開發Windows應用程序…

Bug等級劃分

Bug是指在程序或系統中存在的錯誤、缺陷或異常,是由于編碼錯誤、設計問題、邏輯錯誤或其他因素導致的。 常見的Bug分類方法 功能性Bug與軟件的功能有關,軟件無法正常工作、功能與需求不符或功能執行不正確。 用戶界面Bug與軟件的用戶界面有關&#xff…

Unity中Shader雙向反射分布函數BRDF

文章目錄 前言一、渲染方程二、什么是BxDF1、BSSRDF2、BRDF3、BTDF4、BSDF 三、迪士尼原則的BRDF四、迪士尼原則的BRDF的參數五、在Unity中看一下默認Shader的這些參數六、在這里記錄一下使用 Blender 和 SubstancePainter 的流程1、在Blender中導出模型為 .obj 格式2、在Subst…

Android WMS—— Surace管理 (二十)

WMS 負責創建 Surface 以及對 Surface 的擺放工作,之后將 Surface 提交給SurfaceFlinger 進行合并。在 App 層也創建了一個 Surface 對象,但是那個是空對象,用于 WMS 的填充。 一、Surface的創建 首先 APP 層在 ViewRootImpl 的 relayoutWindow() 方法中發起創建任務。 1、…

Go 實現網絡代理

使用 Go 語言開發網絡代理服務可以通過以下步驟完成。這里,我們將使用 golang.org/x/net/proxy 包來創建一個簡單的 SOCKS5 代理服務作為示例。 步驟 1. 安裝 golang.org/x/net/proxy 包 使用以下命令安裝 golang.org/x/net 包,該包包含 proxy 子包&am…

天軟特色因子看板 (2023.11 第12期)

該因子看板跟蹤天軟特色因子A05006(近一月單筆流入流出金額之比(%),該因子為近一個月單筆流入流出金額之比(%)均值因子,用以刻畫在 市場日內分時成交中流入、流出成交金額的差異性特點,發掘市場主力資金的作用機制。 今日為該因子跟蹤第12期&…

expect腳本在自動化部署中的具體應用案例

#expect腳本在自動化部署中的具體應用 expect腳本是一個非常好的交互式應用腳本,在自動化部署中,可以使用這個腳本來實現全自動的自動化部署。下面是一些具體的應用案例。 場景一:自動安裝mysql 可以使用expect腳本來實現mysql自動安裝&…

Windows平臺Unity下實現camera場景推送RTMP|輕量級RTSP服務|實時錄像

技術背景 我們在對接Unity平臺camera場景采集的時候,除了常規的RTMP推送、錄像外,還有一些開發者,需要能實現輕量級RTSP服務,對外提供個拉流的RTSP URL。 目前我們在Windows平臺Unity下數據源可采集到以下部分: 采集…

@PostConstruct雖好,請勿亂用

1.問題說明 在日常的業務開發中,有時會利用PostConstruct在容器啟動時執行一些任務。例如: PostConstruct public void init(){System.out.println("service 初始化..............."); }一般情況這沒什么問題,但最近一個同事在做…

ui5使用echart

相關的代碼已經發布到github上。 展示下相關的實現功能 1、柱狀圖-1 2、柱狀圖-2 3.折線圖 4.餅狀圖 如何使用: 使用git clone項目到本地 git clone https://github.com/linhuang0405/com.joker.Zechart找到index.html。在vscode里右鍵選擇Open with Live Serve…

1

【任務 1】私有云服務搭建[10 分] 【題目 1】基礎環境配置[0.5 分] 【題目 2】Yum 源配置[0.5 分] 【題目 3】配置無秘鑰 ssh[0.5 分] 【題目 4】基礎安裝[0.5 分] 【題目 5】數據庫安裝與調優[0.5 分] 【題目 6】Keystone 服務安裝與使用[0.5 分] 【題目 7】Glance 安裝與使用…

BLE通用廣播包

文章目錄 1、藍牙廣播數據格式2、掃描響應數據 1、藍牙廣播數據格式 藍牙廣播包的最大長度是37個字節,其中設備地址占用了6個字節,只有31個字節是可用的。這31個可用的字節又按照一定的格式來組織,被分割為n個AD Structure。如下圖所示&…

npm命令

node -v --查看版本 npm install --安裝npm npm config get registry --查看npm當前鏡像 npm config set registry https://registry.npmmirror.com --設置淘寶鏡像 npm版本管理工具