低成本安全硬體(二) | RFID on PN532
* 原創作者:ya0guang,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載
引言
鑒於硬體安全對於大多數新人是較少接觸的,而這方面又非常吸引我,但是部分專業安全研究設備較高的價格使人望而卻步。在該系列中,筆者希望對此感興趣的讀者在花費較少金錢的情況下體會到硬體安全的魅力所在。
本系列計劃分成四個部分:BadUSB on Arduino; RFID on PN532; GSM on Motorola C118 ; SDR on RTL2832U(電視棒)。
背景
早在2007年,Mifare M1 RFID卡片就被研究人員破解了出來。NXP公司在M1卡上使用了未公開的加密演算法,然而密碼學史上的種種教訓都表明了「不公開」與「安全的」並沒有什麼聯繫。
研究人員剖析了卡片的門電路結構從而逆向了加密的演算法並發現了漏洞。M1卡的結構如圖所示,其擁有16個扇區,每個扇區有4個塊,每個扇區的第一塊儲存著扇區的密鑰。
目前針對Mifare卡片的攻擊主要有三種方法:
Nested攻擊
簡單地說,就是默認密碼攻擊。
由於M1卡片有16個扇區,在絕大多數情況下16個扇區不一定會同時使用到。於是根據廠商在出廠時預設的密碼可能碰撞出其中某一個扇區的密碼。
由於無源的M1卡每一次刷卡上電的時候,密鑰交換採用的隨機數都是「有規律」的,用已經碰撞出的某一扇區的密鑰去試探其它扇區,在此時根據隨機數的規律即可「套」出密碼
Darkside攻擊
簡單地說就是暴力破解,即爆破出某一個扇區的密鑰,之後再使用Nested攻擊就能Dump出整張卡。
而與通常意義上的暴力破解不同的是,由於M1卡片的認證機制,其會泄露部分認證信息,從而大大加快爆破的進度。
電波嗅探
顧名思義,即在正常刷卡的時候嗅探卡片與讀卡器交換的數據,從而逆向密碼。
這裡可以參考2014年BlackHat的PDF:
https://www.blackhat.com/docs/sp-14/materials/arsenal/sp-14-Almeida-Hacking-MIFARE-Classic-Cards-Slides.pdf
以及相關論文:
http://www.cs.ru.nl/~flaviog/publications/Attack.MIFARE.pdf
常見硬體介紹
不同於之前BadUSB,在這方面可供我們選擇的並不多。
旗艦級All-in-one的Proxmark3
國外的開源硬體,由FPGA驅動。性能十分強大,集嗅探、讀取、克隆於一體,玩得了高頻卡艹得動低頻卡。可以插電腦可以接電源。當然其價格也是十分的感人。
不過某寶上近期出現了400多元的V2版本,也不知道是如何做到將價格放到那麼低的————國外的V1版本也要300多,只不過人家的是美刀。
偽裝性:★★
易用性:★★★★
社區支持:★★★★
項目主頁
http://www.proxmark.org
國外最近出現的ChameleonMini
如果不是因為要寫此文特意去搜集了許多相關資料我還真不知道這玩意。這是德國的一個眾籌項目,其和PM3差不多,擁有偽裝卡的功能,從外形上看厚度與真正的卡片差不多,但是價格在國外比PM3要友好許多。
偽裝性:★★★★
易用性:★★★
社區支持:★★★
項目主頁
https://github.com/emsec/ChameleonMini/wiki
最流行的讀卡器ACR122
反正就是很流行,大抵是因為網路上流傳了非常強大的GUI改卡讀卡複製卡軟體吧!某寶價格一百多,但還是比我們今天所用到的硬體高出了那麼三四倍。
偽裝性:★
易用性:★★★★
社區支持:★★
PN532
根據上篇的經驗,之前介紹的那坨東西肯定是不會用到的———因為窮啊!本品某寶價格在30至50元。
本篇的主角是PN532,我將其與樹莓派連接使用。當然沒有樹莓派也沒關係(買一個就完了),也可以使用UART轉USB的介面連接電腦使用。接下來的篇幅將從樹莓派的構建開始詳細講解其玩法。
系統搭建
以主機為windows系統為例,linux自行解決。
系統準備
去https://www.raspberrypi.org/上下載最新的Raspbian Jessie 系統,筆者下載時的發布日是2017-02-16。
使用win32diskimager將解壓後的img鏡像文件燒寫到sd卡上
注意新版本的Raspbian是默認不開啟ssh的,所以我們需要在boot分區下創建一個名為ssh(小寫!!!!)的文件
ssh進去,用戶名pi,密碼raspberry
系統配置
執行sudo raspi-config進行配置.
選擇5-Interface Options,啟用SPI、I2C,禁用Serial
選擇7-Advanced Options,1-Expand Filesystem 擴展分區
安裝依賴
依賴:
autoconf
libusb-dev
libtool
libpcsclite-dev
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install autoconf libusb-dev libtool libpcsclite-dev
工具安裝
部分參考:https://firefart.at/post/how-to-crack-mifare-classic-cards/
樹莓派與PN532連接
筆者用的是樹莓派3,但是GPIO口的區別不大,與PN532的連接方式為:
04 <-> VCC
06 <-> GND
08 <-> RXD
10 <-> TXD
libnfc
顧名思義,nfc庫。
官方github:https://github.com/nfc-tools/libnfc
wget https://github.com/nfc-tools/libnfc/releases/download/libnfc-1.7.1/libnfc-1.7.1.tar.bz2
tar -jxvf libnfc-1.7.1.tar.bz2
cd libnfc-1.7.1
autoreconf -vis
./configure --with-drivers=all --sysconfdir=/etc --prefix=/usr
make
sudo make install
sudo mkdir /etc/nfc
sudo mkdir /etc/nfc/devices.d
由於我們使用UART介面直接和PN532在樹莓派上連接,還需要
sudo cp contrib/libnfc/pn532_uart_on_rpi.conf.sample /etc/nfc/devices.d/pn532_uart_on_rpi.conf
此時在不放卡與放卡的時候分別執行nfc-list,輸出如下:
mfoc
mfoc即上述nested攻擊的實現。
官方github:https://github.com/nfc-tools/mfoc
git clone https://github.com/nfc-tools/mfoc.git
cd mfoc/
autoreconf -vis
./configure
make
sudo make install
點擊閱讀原文查看mfoc用法。簡單地執行mfoc -O out.mfd,會dump出當前的卡片信息。【詳情點擊閱讀原文】
mfcuk
官方github:https://github.com/nfc-tools/mfcuk
mfcuk(不是mfuck!!!)即上述darkside攻擊的實現。
git clone https://github.com/nfc-tools/mfcuk.git
cd mfcuk
autoreconf -vis
./configure
make
sudo make install
用法還是點擊閱讀原文查看哦,鑒於篇幅關係,這裡不詳細介紹了。
寫卡
直接使用nfc-mfclassic即可對Mifare classic系列卡片寫入。主要有M1卡(S50)和4K卡(S70)。這裡要額外說明的是,M1卡的UID區域是只讀不可寫的,然而一些商家不符合規範(中國的牛B商家)吧0扇區的UID弄成了可寫的,用W可以強行寫入。
A|B代表用密鑰A或者B寫入(均可),這裡牽扯到Mifare協議的東西,讀者可以自行查閱相關資料。
結語
本文所含內容具有一定攻擊性,切勿用於非法用途!弄出什麼新聞也別找我負責!
關於PN532
由於查到PN532是支持Ultralight卡片的,但是筆者的PN532始終無法讀取該類卡片,於是到elechouse的Github Issue中詢問了關於PN532的問題——他們表面他們自己生產的PN532可以讀幾乎符合NFC協議的一切卡片,但是萬惡的某寶在山寨的時候似乎閹割了一些功能,但是筆者測試1k和4k卡片都是可用的。
在手機上的奇技淫巧
在帶有NFC功能的Android手機上有一款名為Mifare Classic Tools的軟體,可以進行讀寫卡,dump的操作————但是必須用對密鑰哦!可以在樹莓派上破解之後把密鑰添加進去,然後就能用手機進行讀寫卡了。
至於用途,你懂的。
GGPLY鏈接:https://play.google.com/store/apps/details?id=de.syss.MifareClassicTool&hl=zh 自備梯子
* 原創作者:ya0guang,本文屬FreeBuf原創獎勵計劃,未經許可禁止轉載
※擔心投票系統被黑,詳解荷蘭政府為何決定在大選中使用手工計票
※電商篇——移動 APP 安全行業報告
TAG:FreeBuf |
※Bepal Pro S硬體錢包亮相日本FINWISE2018紛智全球峰會
※本周PC硬體新品——Nvdia新一代顯卡、AMD32核心64線程CPU
※【硬體】三星悄然發布32GB DDR4 PC內存條:256GB系統成真
※Steam硬體上新:Huawei VR 2定價1999RMB
※IDC 2019年Q1 全球超融合市場份額:系統硬體 Dell 32.2%;軟體 VMware 41.1%
※硬體IPMI+Hi-Fi音頻 技嘉新推可K歌雙路工作站主板C621-WD12-IPMI
※Arduino UNO CH340版硬體常見故障
※【硬體】8nm工藝!三星發布新旗艦SoC Exynos 9820:GPU性能提升40%
※華碩ROG DAY展示全系硬體 三款RTX 2080Ti搶眼
※硬體:七彩虹推出iGame RTX 2080 SURER Advanced顯卡,散熱升級
※魯大師2018上半年硬體排行:Intel+NVIDIA呈壟斷之勢
※CEATEC JAPAN 2018|展出多款軟硬體產品,內容領域涉及VR/AR、互聯網……
※軟硬體全面提升 360手機正式發布N7 Pro/N7 Lite
※戴爾EMC為AI、IoT推出了新的PowerEdge硬體,於9月12日全球上市!
※不僅僅是 RGB 燈效 Computex 2018 DIY硬體產品彙總
※7月VR大數據:硬體份額穩定,Steam平台VR內容佔7.11%
※硬體資訊:習武之人必備?Eurocom發布 F7W DTR筆記本:桌面i9+128GB內存
※Debian riscv64版本進展迅速,九成軟體包可運行在RISC-V硬體上
※7nm EUV工藝 AMD RDNA2要上硬體光追加速
※Q1中國IT安全硬體市場份額:UTM網御星雲13.8%、防火牆天融信21.1%、IDP綠盟18%、VPN深信服18.2%