譚惠東 李天松 周曉燕 肖建峰 楊昊天
摘要:隨著無線網絡的快速發展,無線網絡安全問題逐漸被人們關注。常規通過臺式電腦或者筆記本進行滲透測試,易于暴露,器件大不方便攜帶。針對以上一問題,提出了一種基于無人機的卡片式系統板滲透測試方案,將添加多個滲透工具集的BeagleBone Black系統板搭載在無人機上,用無線網絡適配器與目標網絡進行連接,通過無線數據傳輸終端將數據反饋回控制臺,組成基于無人機的滲透測試設備,實現包括進行監聽、捕包、破解密碼、網絡掃描、漏洞掃描、獲取文件等功能。通過實際滲透測試,證明了該滲透測試設備可以利用檢測出周圍較弱的網絡密碼,起到網絡滲透測試的作用。
關鍵詞:滲透測試;網絡安全;無線網絡;BeagleBone Black系統板;無人機
中圖分類號:TM711 文獻標識碼:A
文章編號:1009-3044(2019)07-0060-03
開放科學(資源服務)標識碼(OSID):
Abstract: With the rapid development of wireless networks, wireless network security issues have gradually attracted attention. It is routinely tested for penetration by a desktop computer or notebook, which is easy to expose and the device is inconvenient to carry. Aiming at the above problem, a card-based system board penetration test scheme based on drone is proposed. The BeagleBone Black system board with multiple infiltration toolsets is installed on the drone, and the wireless network adapter is used to connect with the target network. The data is fed back to the console through the wireless data transmission terminal to form a drone-based penetration testing device, which implements functions such as monitoring, capturing packets, cracking passwords, network scanning, vulnerability scanning, and obtaining files. Through the actual penetration test, it is proved that the penetration test equipment can use the network password test to detect weak network passwords.
Key words: penetration test; network security; wireless network; BeagleBone Black system board; UAV
滲透技術是用來測試黑客入侵計算機系統進行攻擊的一個過程,準確地講是研究者研究不法分子如何發現計算機漏洞[1]。目前滲透測試大多采用Intel或AMD處理器的臺式機或筆記本,缺少隱蔽性以及機動性。通過對滲透測試針對隱蔽性與移動性進行探索,設計了基于無人機的網絡滲透測試設備。以安裝Ubuntu系統的BeagleBone Black作為主控板,并配備網絡適配器以進入目標網絡。將整個系統板搭載在無人機上,最終構成具有高隱蔽性、滲透性強并且移動性高的無線網絡滲透測試設備。
1 系統構架設計
如圖1所示,是整個設備的整體構架,無人機采用STM32可編程控制板,通過連接433M無線數據傳輸終端實時發送狀態與反饋數據信息,再通過無線數傳連接電腦傳輸數據,在電腦上通過無人機地面站實時顯示無人機的狀態。通過采用姿態解算模塊以實現無人機的平穩飛行。將BeagleBone Black系統板搭載無人機上,將BeagleBone Black系統板采集的數據傳給無人機主控板,通過無人機上的433M無線數傳將采集的數據傳輸回電腦,電腦通過軟件putty來實時讀取無線數傳傳輸的信息。電腦可以通過putty軟件通過無線數傳傳輸指令給無人機。
2 硬件及外部設備設計
2.1 BeagleBone Black系統板
BeagleBone Black系統板是滲透設備的核心,核心處理器采用A工業級的MPU:德州儀器AM3359 Cortex-A8處理器[2],有外設具有運行如Metasploit等強力滲透測試工具所需的處理能力;ARM AM3359 Cortex-A8處理器消耗的功率是樹莓派的50% ~ 66.6%,低功耗的特點可以延長工作時間,進行更長時間的破解工作;同時該系統板因具有體積小、易于隱蔽和便于攜帶的特點,適合搭載無人機進行移動使用。
2.2 AWUS036H USB無線網絡適配器
BeagleBone Black的USB 接口可用于連接無線網卡。通過查看Aircrack-ng的網卡兼容性列表,選用Alfa的AWUS036H USB無線網絡適配器,該適配器采用Realtek RTL8187芯片,Realtek官方提供了該無線模塊對Linux的支持[3],非常緊湊的空間里提供了高達1W的發射功率。帶有標準的RP-SMA天線接口,且支持Aircrack-ng等所有無線破解功能。
2.3 無人機硬件
無人機硬件電路如圖2所示,主要包括STM32飛控、遙控接收機、MPU6050姿態模塊等。從成本和性能方面綜合考慮,飛控板和遙控板的主控單元都采用 意法半導 體公司的 增強型高 速單片機STM32F103作為主控 制器,STM32F103基于32位的ARM Cortex-M3內核[4],用來處理姿態計算、GPS數據的處理、輸出PWM控制電機、通過DBUS的方式與遙控器進行通信等。飛控與外設之間通過I2C通信。其中無人機姿態數據的采集采用MPU6050傳感器與三維電子羅盤。MPU6050集合了三軸 MEMS陀螺儀與三軸 MEMS加速計,并且內置DMP與I2C接口,此處外接了一個三微電子羅盤。它由三維磁阻傳感器、雙軸傾角傳感器和MCU構成,可用于測量平面地磁場以及雙軸傾角補償。并且可以進行溫度補償減小無人機的在傾斜角與指向角的溫度漂移。
2.4 433M無線數據傳輸終端
該模塊負責數據的接收和發送,實時發送無人機姿態信息提供給地面站以及反饋BeagleBone Black系統板數據。通過電腦上的Putty軟件,可以實現電腦與系統板之間的通信。
3 系統軟件設計
3.1 姿態系統設計
通過MPU6050將采集到的加速度數據進行低通濾波,對陀螺儀數據進行卡爾曼濾波并一同進行四元數姿態解算。將電子羅盤的地磁傳感器數據進行去極化濾波,并將其進行姿態解算,最終與四元數姿態解算成果一同進行互補濾波產生俯仰角、橫滾角與航向角。
3.2 系統的選擇
本套滲透測試工具采用Ubuntu系統,裝載在BeagleBone Black系統板上。與其他linux版本比較,Ubuntu具有系統開銷小,集成度高、安全與配置簡單、安全性高、運行速度快[5],有桌面應用倉庫支持、Hacking應用倉庫支持以及社區支持,軟件包倉庫包含絕大多數滲透測試所需工具,易于配置,且能夠支持BeagleBone Black系統板。考慮到BeagleBone Black系統板本身eMMC的空間只足以安裝命令行版本的Ubuntu,將把帶桌面環境的Ubuntu 16.04的基本系統安裝到一個16GB的SD卡上。
3.2.1 工具集
由于滲透測試工具集自動化程度高,精準度強等特點,此處采用自動化滲透工具集合來進行滲透測試,以減少人為判斷所帶來的誤差。本設計采用多個工具集相互配合的形式,已達到完成滲透測試的目的。
3.2.2 破解無線網絡
無線網絡破解,采用Aircrack-ng工具集。Aircrack-ng工具集是一款用于破解802.11WEP及WPA-PSK密鑰的工具,只要獲得足夠的數據包,就可以破解出密鑰[6],主要破解步驟為:先修改無線網卡的狀態為down,之后偽造無線網卡MAC地址以減小被發現的可能;讓無線網卡進入Monitor狀態并修改無線網卡狀態為up;通過查看網絡狀態以記錄AP與系統板的MAC;通過監聽或者發送垃圾數據包的方式已得到足夠量的數據包,最后通過破解數據包獲得無線網絡密碼。
3.2.3 破解密碼
Hellman 和Oechslin 等人提出的時空折中算法(彩虹表法),相比較查表法和暴力破解法,在破解時間和存儲空間兩個維度上折中,在滿足破解速度要求的前提下,大大降低對存儲空間的要求,因此是一種能滿足實戰需求的實用性方法[7]。
3.2.4 掃描器OpenVAS、Metasploit
Metasploit是目前最成熟的滲透測試工具之一。它的框架中集成了大量的滲透攻擊模塊,可通過支持插件及第三方安全工具的導入和集成來擴展整個框架對滲透測試全過程的支持,可用于包括情報搜集、威脅建模、漏洞分析、滲透攻擊與報告生成[8]。
Nmap是一個可用于掃描互聯網上大規模計算機且支持腳本擴展的可移植掃描器,它可用于推斷目標計算機采用的操作系統、漏洞類型、漏洞位置以及協議,為進入對方計算機提供攻擊參數[9]。當發現一個服務時,需要利用漏洞掃描器來掃描這個服務是否存在漏洞。OpenVAS包含一個能夠進行漏洞掃描的服務器以及一個可以用來提交和讀取掃描結果的客戶端。
4 設備測試全過程
4.1 無人機起飛并到達相應位置
將調好參數的無人機與電腦地面站相連,將電子羅盤進行校準。通過地面站規劃無人機路線,并采取GPS導航+手控的方式使無人機到達目標位置。如圖3所示是整個設備:
4.2 滲透測試流程
IEEE802.15.4網絡屬于低速網絡,這一連接適合使用命令行控制臺,可以通過IEE802.15.4網絡從遠在1.6公里的地方控制滲透測試設備。設備在距離破解網絡源約1公里的位置進行了下面的滲透測試。主要測試步驟如下。
4.2.1 連接目標網絡
首先在root權限下通過命令Airmon-ng strat wlan0來創建一個監聽接口。然后從Python腳本中運行Airodump-ng,解析重定向到文件的輸出信息。本文使用的腳本實現了監聽AP發射的IEEE802.11信標幀,檢測出所有網絡,在60秒后退出。找到目標網絡后,用另一個腳本抓包監視一小時內的網絡流量,并檢測是否有關聯狀態的客戶端,以此達到通過踢掉一兩個客戶端來捕獲握手包的目的。此時監聽界面鎖定在正確的頻道上,以避免不必要的丟包情況。本文滲透測試的目標客戶端采用了WPA2加密方式,為捕獲認證握手包,執行命令pyrit -r PFE-Secure.pcap analyze來運用pyrit工具檢查捕獲的數據包文件,并報告找到的網絡名和握手包。運行pyrit的標準字典攻擊可以預先計算一部分認證語句,以便加快破解的過程。成功得到網絡密碼后,創建一個wpa_supplicant使用的配置文件,運行wpa_supplicant連接到PFE-Secure網絡。在無線適配器上運行dhclient3以獲取IP地址,通過nmap命令掃描整個網絡。
4.2.2 尋找漏洞和利用漏洞
利用從軟件源安裝的OpenVAS v6對目標網絡進行漏洞掃描。創建掃描任務,并執行對應的掃描。再通過命令來查看掃描的運行狀態和工作報告。本文使用openvas.omplib Python模塊來實現自動掃描并保存掃描結果的功能。在檢測系統漏洞中,查看端口是否開放尤為重要,使用Nmap掃描,掃描結果如圖5所示。執行命令nmap -sV 172.16.183.130,探查目標系統的開放情況,并獲得操作系統掃描時間為11.65s。
本文的結果如圖4所示,網絡中有一臺脆弱的運行Windows 7的機器。使用Metasploit命令行工具msfcli來實現對這臺主機的攻擊,并開放Mete rpreter shell。同時可通過加載不同的攻擊代碼以實現收集文件、捕獲屏幕截圖、投放文件等功能。
5 總結
本文闡述了一種基于無人機的網絡滲透測試設備,該設備首次將卡片式無線網絡滲透設備與無人機相結合,通過對BeagleBone Black系統板進行配置,植入多種滲透測試工具集,最終實現了一種基于卡片式系統板的滲透測試。實驗表明,本設備可以實現網絡安全檢測,有隱秘和便攜的特性。
參考文獻:
[1] Postel J. Transimission control protocol network working group request for comments[J].IEEE Transactions on Network Sicence.2012(6):92-99.
[2] 楊浩.基于嵌入式Linux實時控制的四軸飛行器設計與實現[D].成都:交通大學,2015.
[3] 侯維巖,曾磊,張海峰.工業無線測控網絡中WiFi無線終端設計與實現[J].自動化與儀表,2011,26(08):41-44.
[4] 常國權,戴國強.基于STM32的四軸飛行器飛控系統設計[J].單片機與嵌入式系統應用,2015,15(02):29-32
[5] 綦偉,金偉,張磊,李仲巍,劉達峰.在VMware虛擬機及Ubuntu環境下安裝GAMIT/GLOBK[J].網絡安全技術與應用,2018(05):18-19.
[6] 李強.Aircrack-ng在Wi-Fi安全實驗中的應用與研究[J].信息通信,2015(10):45-46.
[7] 王偉兵,文伯聰.基于彩虹表技術的分布式密碼破解研究[J].中國人民公安大學學報(自然科學版),2017,23(01):79-84.
[8] 鄭清安.基于Metasploit框架的web應用滲透測試研究[J].通訊世界,2018(06):281-282.
[9] 尚廣明.Nmap滲透測試指南[J].信息安全與通信保密,2015(11):81.
【通聯編輯:梁書】