我們昨天提到 NFC 的一些攻擊手法,今天則會跟各位帶來我自己很常用到的 NFC 功能,可惜前幾天社團博覽會的時候還沒有想到,否則在宣傳上應該會方便不少,究竟是什麼功能呢,讓我們看下去。
請注意,透過 Flipper Zero 學習的資訊技術與知識,目的在於提升個人的技術能力和資安意識。我們強烈呼籲大家,絕對不要使用所學知識從事任何違法行為。您的合法使用是我們的期望,也是您自身責任的一部分。
圖片來源:https://docs.flipper.net/nfc/add-manually#h2VTu
我們有兩種方式可以創造虛擬的 NFC 卡:
首先這部分支援的卡片如下:
學會了上面的功能以後我們可以來玩一下 NFC RickRoll,如果是 Momentum 的話是有內建 RickRoll.nfc 這個檔案的。
如果沒有的話可以到 https://github.com/UberGuidoZ/Flipper/blob/main/NFC/Fun_Files/RickRoll.nfc 來下載,這裡也有其他有趣的檔案。
我們把它模擬起來拿去感應手機,就會跳 NFC Tag 的通知,問我們要不要前往,如下圖所示:
當然點下去就會被 RickRoll 啦,不過除了 RickRoll 你隔壁同學以外,我還想到一些實用的使用場景像是:
那我們就來研究一下怎麼客製出自己的 NFC 檔案。
我們到這份 Repo 的 README 會看到他有說明:
https://github.com/UberGuidoZ/Flipper/blob/main/NFC/Fun_Files/ReadMe.md
他拿 RickRoll.nfc 來舉例,其中 Block 0 的解釋如下圖:
圖片來源:https://github.com/UberGuidoZ/Flipper/blob/main/NFC/Fun_Files/ReadMe.md
接著 pages 1 到 6 感覺是這個檔案的 header 的一部份,其中第六個 page (0x04) 代表的是 URL 的類型,參考如下:
------ ----------
0x00 No prepending is done ... the entire URI is contained in the URI Field
0x01 http://www.
0x02 https://www.
0x03 http://
0x04 https://
0x05 tel:
0x06 mailto:
0x07 ftp://anonymous:anonymous@
0x08 ftp://ftp.
0x09 ftps://
0x0A sftp://
0x0B smb://
0x0C nfs://
0x0D ftp://
0x0E dav://
0x0F news:
0x10 telnet://
0x11 imap:
0x12 rtsp://
0x13 urn:
0x14 pop:
0x15 sip:
0x16 sips:
0x17 tftp:
0x18 btspp://
0x19 btl2cap://
0x1A btgoep://
0x1B tcpobex://
0x1C irdaobex://
0x1D file://
0x1E urn:epc:id:
0x1F urn:epc:tag:
0x20 urn:epc:pat:
0x21 urn:epc:raw:
0x22 urn:epc:
0x23 urn:nfc:
接著我們會看到 page 7 - 11 的資料如下:
Page 7: 79 6F 75 74
Page 8: 75 2E 62 65
Page 9: 2F 64 51 77
Page 10: 34 77 39 57
Page 11: 67 58 63 51
其中 79 6F 75 74 75 2E 62 65 2F 64 51 77 34 77 39 57 67 58 63 51
其實就只是 youtu.be/dQw4w9WgXcQ
的 ascii,其中第 12 個 page 是 FE 00 00 00 代表的是資料終止,我們可以透過 TinyURL 來協助我們把 url 的長度弄得剛剛好,舉例像是 https://kazma.tw 轉換後會變成 tinyurl.com/m47f6f9a 轉換成對應的 ascii 會是 74 69 6e 79 75 72 6c 2e 63 6f 6d 2f 6d 34 37 66 36 66 39 61
,我們複製 RickRoll.nfc 的檔案後把 page 7 - 11 換成:
Page 7: 74 69 6E 79
Page 8: 75 72 6C 2E
Page 9: 63 6F 6D 2F
Page 10: 6D 34 37 66
Page 11: 36 66 39 61
模擬後就可以看到手機可以跳轉到我的部落格了,之後也會把常用的連結都存進去~
今天我們學到 Flipper 也可以模擬出一張虛擬的 NFC 卡片,不只可以 RickRoll 你旁邊的同學,也可以把我們平時常用的連結存在 NFC 裡面,之後就不用麻煩別人輸入一堆 URL,直接碰一下他手機就可以跳出連結了,超級方便。
明天我也不知道會介紹什麼,各位敬請期待!