返回顶部

NFC模拟加密卡

  [复制链接]
天际线0907 显示全部楼层 发表于 2021-1-18 00:52:33 |阅读模式 打印 上一主题 下一主题 来自: 中国–山东–泰安肥城县 电信
记录小米手机NFC模拟加密门禁卡,以及Proxmark3的使用。
/ U% R% j  G" S% G% D0 h/ Q; q7 |3 h) r& O6 `0 F# H
0. 缘起# `' s- D& Z) D( x* j" `  W5 ]2 @
, r" w, w8 G& }! a
之前,小区用的门禁卡为非加密的门禁卡,使用小米手机系统自带的门卡模拟功能复制即可。
" K6 r- s# p3 a& T7 S* E后来,小区门禁系统换了一家供应商,再使用之前的方法复制门禁卡,手机提示为加密卡,无法复制。
4 m% G. Y+ C$ V; T: i- b9 E
; ~3 Y: D9 d( \3 A! X: i8 W7 [+ p新的门禁系统,更安全了,也支持APP远程控制开门了,直到有一天门禁卡丢了,开始使用APP开门,发现这APP写得烂透了,十次有五次点击开门按钮无反应,需要反复退出、打开APP多次才能点击开门按钮成功,还有两次直接没了开门按钮,提示到物业管理处处理……
% {; \& r+ i1 {6 K# W那个时候,我又开始怀念用手机刷门禁的快感了。。
. M4 Z! E* B  ^9 F  o
+ `( u6 C' X' K' C1. 基础知识  @+ Q% e8 D' z$ Z
  z2 S& ~/ Z6 F3 U
于是,我开始查阅资料,基本确定了小米手机是还是可以通过其它方式模拟加密门禁卡的。( c% Z3 w9 |% W4 q. V1 n
然后,资料查多了,记不到,又怕以后用到需要重新找,干脆水一篇博客记录下来。# n8 Z- Q+ _) ]7 z
如果熟悉NFC和IC卡,或者只想模拟加密门禁卡,并不关心原理,这章可以跳过,直接看下一章。  ^$ r* G) N! [1 R. w
7 Z8 r( T" n& Y% u; ?3 p- X
1.1 ID卡和IC卡  p9 ~0 H* G  `2 I1 y

+ a, a& d. j+ t- R8 F' |% XID卡:全称身份识别卡(Identification Card),多为低频(125Khz),是一种不可写入的感应卡,含固定的编号,主要有台湾SYRIS的EM格式,美国HID、TI、MOTOROLA等各类ID卡。# D. a' z2 M  r9 k; o! P
' |( M* C6 a9 w% v1 `7 \3 U! I. c$ v
IC卡:全称集成电路卡(Integrated Circuit Card),又称智能卡(Smart Card)。多为高频(13.56Mhz),可读写数据、容量大、有加密功能、数据记录可靠、使用更方便,如一卡通系统、消费系统等,目前主要有PHILIPS的Mifare系列卡。
" F8 A) o! `# q2 ~6 K/ K" A+ m0 K. Y, i0 b# p
主要区别:
9 ~/ D6 Y( q5 w% }! cID卡,低频,不可写入数据,其记录内容(卡号)只可由芯片生产厂一次性写入,开发商只可读出卡号加以利用,无法根据系统的实际需要制订新的号码管理制度;
0 M( g$ K. A# g7 a! ^IC卡,高频,不仅可由授权用户读出大量数据,而且亦可由授权用户写入大量数据(如新的卡用户的权限、用户资料等),IC卡所记录内容可反复擦写;
& u9 b- g5 j% Z" M( n3 m
& b; Y( Z' K7 s1 s" X6 v- dIC卡由于其固有的信息安全、便于携带、比较完善的标准化等优点,在身份认证、银行、电信、公共交通、车场管理等领域正得到越来越多的应用,例如二代身份证、银行的电子钱包,电信的手机SIM卡、公共交通的公交卡、地铁卡、用于收取停车费的停车卡、小区门禁卡等;% G( R7 f7 I+ G0 c# T
9 w& t0 C: X' G& v; }2 J' m9 X

- J0 c( L% @( d% U" j2 u- G; G: Q1 @

+ t6 n8 {. T- ^  k7 D
% N: q" b. Z' p4 X! p/ }( l) P以上图片来自淘宝商家,网上找了半天相关资料,发现淘宝商家解释得最清楚。
9 \% W$ s8 \' |
- D% B/ J6 L8 b! Y& C5 B总结:
/ [1 l* L9 w# v+ C& [1.ID卡多为低频,IC多为高频;0 A5 i5 F; H8 j; ]+ N6 T, Y
2.IC卡整体上看比ID卡更有优势,市面上使用的大多数也是IC卡;% `$ \% t7 _- }7 Z3 Q0 r2 z# A
3.对于矩形白卡,里面为矩形线圈、表面没有编号的多为IC卡,里面为圆形线圈、表面有编号的多为ID卡;7 w$ y  u  @0 @7 ]) z
4.对于异形卡,有编号的多为ID卡,最好使用带NFC的手机进行测试(目前手机NFC只能读高频13.56Mhz),IC卡会有反应;! g  d) m9 ^$ k5 l9 P

+ D; F, e0 B0 O' f7 {" f1.2 接触式和非接触式IC卡( L# v: l  w0 v. v& d

; `4 g5 d: n) Z$ O% y, hIC卡又可以分为接触式IC卡和非接触式IC卡。+ ?% O/ q) i+ r: T
- D6 F6 o6 a; A* U$ N$ }; J; [
接触式IC卡:该类卡是通过IC卡读写设备的触点与IC卡的触点接触后进行数据的读写;" u. O- Q( M) B8 k
7 B5 }# J/ A1 U/ D+ T* T. W) X" j
非接触式IC卡:又称射频卡、感应式IC卡,该类卡与卡设备无电路接触,而是通过非接触式的读写技术进行读写(例如RFID、NFC),其内嵌芯片除了CPU、逻辑单元、存储单元外,增加了射频收发电路。该类卡一般用在使用频繁、信息量相对较少、可靠性要求较高的场合。
& x! G" @1 ^6 |& F5 m0 N' }% K2 e  j% |- ^8 w8 P% M" [
两者比较好区分,直接看卡上有无金属触点即可。7 }6 v4 B0 `0 l8 O! {0 |* e0 U. B8 w
2 {4 T: w5 S3 q  M$ M4 b, e8 w
" m( D* i1 G4 L- r: D
7 n) ^9 `- @- t4 B  [3 T& z
1.3 RFID和NFC
% s3 {  h9 H( r/ t- G" e$ h9 j+ i/ b, d8 Y
非接触式的读写技术常见的有两种:RFID技术和NFC技术。
: {: h% O% P. R( ^* ^6 e6 k
* E) M; R8 B0 E' a- cRFID技术:
+ l6 N) t" d8 D! a6 }: K1.通常应用在生产,物流,跟踪和资产管理上;
  j4 H- F% @' f, T& e6 @9 @2.根据频率划分包含低频、高频(13.56MHz)、超高频、微波等;, m, E5 E( q: |3 o
3.作用距离取决于频率、读写器功率、读写器天线增益值、标签天线尺寸等,工作距离在几厘米到几十米不等;
4 M2 w' X0 t5 m4.读写器和非接触卡可以是一对多关系,也可以说一对一关系;且读写器和非接触卡是两个实体,不能切换;
3 S1 ]: }6 E  Z. e! B8 m' w( |# M
! H+ G, \6 I! u# ?1 SNFC技术:
3 V7 ^5 q& p7 {. z5 E1.通常应用在门禁,公交卡,手机支付等领域;
/ [: W' Z" w: n6 }* R2.频率也是13.56MHz,且兼容大部分RFID高频相关标准(有些是不兼容);
' A7 D) ^$ }6 M8 O3.NFC作用距离较短,一般都是0~10厘米;- S7 V$ g* y2 D! K: Z+ h
4.读写器和标签几乎都是一对一关系;且支持读写模式和卡模式,可以作为读写器也可变为非接触卡;
! k. ?( T$ d% H# r' j5 c8 q! F8 E, q' i* t0 B$ }
总体来说,NFC是RFID的子集,但NFC有些新特性又是RFID所不具备的。
5 W6 M; g$ c+ Y1 l
  h; p, C( ?! R1.4 ID卡类型0 u6 G. c3 r; G
/ e; o$ d5 U$ G+ {; H( o
ID卡,工作在低频(125Khz),根据卡内使用芯片的不同,有如下分类:
3 A* z6 o9 ?  u0 \+ q
$ \4 P6 D, Z) ~7 `+ \& o! @ID卡
2 `1 |7 w6 d( h1 dEM4XX系列,多为EM4100/EM4102卡,常用的固化ID卡,出厂固化ID,只能读不能写;常用于低成本门禁卡,小区门禁卡,停车场门禁卡;) ?, H' U* ]& A2 `' b7 I4 g# F; I

0 r4 P8 f6 s+ F4 C; x9 CID白卡! I% z9 l: x! \5 C3 ], w- K
EM4305或T5577,可用来克隆ID卡,出厂为白卡,内部EEPROM可读可写,修改卡内EEPROM的内容即可修改卡片对外的ID号,达到复制普通ID卡的目的;
) y: T! N2 P+ x2 x2 WT5577写入ID号可以变身成为ID卡,写入HID号可以变身HID卡,写入Indala卡号,可以变身Indala卡
5 m! r" d' x$ x1 u) F1 h$ r5 i  W: n9 y  _8 }
HID卡
; x; T) s4 r- j全称HID ProxⅡ,美国常用的低频卡,可擦写,不与其他卡通用;
0 }7 X) V5 x; t" v3 d
" a6 L# o, J6 Z; T( Y. m( i1.5 IC卡类型2 V, z& D) ~+ V; k1 Y
. t, m! M' r- V! v3 T% Z
IC卡中最常见的是NXP Mifare系列卡,工作在高频(13.56Mhz),根据卡内使用芯片的不同,有如下分类:
6 q4 M9 U6 C7 o$ Y3 i- Z. V9 q4 {4 H4 Q+ D* y' s0 D$ o( I! [
M1卡
2 B% I, [+ {, t& g3 a全称Mifare S50,是最常见的卡,出厂固化UID(UID即指卡号,全球唯一),可存储修改数据;常用于学生卡,饭卡,公交卡,门禁卡;  o% h1 x0 P: v

" z. K4 ]" v4 T6 |' m! p2 W7 IM0卡
" h! e2 B9 ]+ m& @5 I全称Mifare UltraLight,相当于M1卡的精简版,容量更小、功能更少,但价格更低,出厂固化UID,可存储修改数据;常用于地铁卡,公交卡;) n! ?* ?, ^' B! v4 }" a* [
+ B0 x1 w( `; G  G2 f! r, O
以上两种固化了UID,为正规卡,接下来就是一些没有固化UID,即不正规的卡:, s4 }$ C; M2 P* h% Q
; x/ q: O2 @! k+ _3 b* F1 d
UID卡
' i: C7 j' Y: c; }3 L4 I# t全称Mifare UID Chinese magic card,国外叫做中国魔术卡,M1卡的变异版本,使用后门指令(magic指令),可修改UID(UID在block0分区),可以用来完整克隆M1卡的数据;* i) h5 b  Y2 L2 Z' N. y
但是现在新的读卡系统通过检测卡片对后门指令的回应,可以检测出UID卡,因此可以来拒绝UID卡的访问,来达到屏蔽复制卡的功能(即UID防火墙系统);
" }4 w6 K7 k. Z6 V0 A
% ^: D' p* e  E6 T, eCUID卡
' E6 o. l+ O" U. S: E5 V为了避开UID防火墙系统,CUID卡应运而生,取消响应后门指令(magic指令),可修改UID,是目前市场上最常用的复制卡;
; c8 B% F( b) k: m近两年,智能卡系统制造公司,根据CUID卡的特性研发出CUID卡防火墙,虽然现在(2019年)还不是很普及,但是总有一天CUID卡会和UID卡一样面临着淘汰;
* W% l& C% n8 A+ ?9 x7 ^
; _- k8 w$ O- c7 ~$ ]: \2 ^  LFUID卡
- ^' r9 q, ]. N4 t0 e! `FUID卡只能写一次UID,写完之后自动固化UID所在分区,就等同M1卡,目前任何防火墙系统都无法屏蔽,复制的卡几乎和原卡一模一样;
  _1 k3 u/ G, C; d( k. e( N但缺点也相对明显,价格高、写坏卡率高,写错就废卡。8 Z$ i8 x3 w: o5 y9 Z+ B" |

9 V8 @" B4 c+ d" J# q+ Q- uUFUID卡. l. d7 S$ j3 C& O" ~
集UID卡和FUID卡的优点于一身,使用后门指令,可修改UID,再手动锁卡,变成M1卡。  c6 `' M% v8 B$ Q9 Y2 D, K
可先反复读写UID,确认数据无误,手动锁卡变成M1,解决了UID卡的UID防火墙屏蔽,也解决FUID的一次性写入容易写错的问题,且价格比FUID卡还便宜;
* m+ X) L$ t2 T5 v* v
- j3 w& `* k; R6 x  d' ~* t判断是M0卡(Mifare UltraLight),还是M1卡(Mifare Classic 1k),可以通过SAK值判断。+ Z* \6 T' t$ c, w9 T; D: _

4 F7 }  N' d0 O8 d, K产品ATQASAKUID长度Mifare Mini00 04094 bytesMifare Classic 1k00 04084 bytesMifare Classic 4k00 02184 bytesMifare Ultraligh00 44007 bytesMifare Plus00 44207 bytes% i* e5 l  B  R( W
- |" f$ \0 K+ a/ o  V
1.6 IC卡详细分析, _: d# R' g3 N( B5 y$ a& F
0 P* B" i8 W9 t
1.6.1 IC卡存储器结构% W% F  R2 {% ~

* K( p0 A& w- X- `* M' r5 i5 A以M1卡为例,介绍IC卡数据结构。
$ }+ R: s9 c6 C. Y6 |M1卡有从0到15共16个扇区,每个扇区配备了从0到3共4个数据段,每个数据段可以保存16字节的内容;! U0 p5 [& J; }& y
每个扇区中的段按照0~3编号,第4个段中包含KEYA(密钥A 6字节)、控制位(4字节)、KEYB(密钥B 6字节),每个扇区可以通过它包含的密钥A或者密钥B单独加密;
. \4 F8 a/ v; ~& q4 Y2 v$ K2 t8 M
" f1 m% X0 ], T2 R
# E  D. k: T) \; [* n1 n# W, g3 l2 }! F1 u- ]
厂商段
1 ~9 s3 G3 x2 V/ a1 m每张M1卡都有一个全球唯一的UID号,这个UID号保存在卡的第一个扇区(0 扇区)的第一段(0 编号数据段),也称为厂商段。- k- Z& h3 M% Z+ O5 @7 \5 b
其中前4个字节是卡的UID,第5个字节是卡 UID 的校验位,剩下的是厂商数据。
& P# N; n1 Y9 Z: C% j* E: j: h并且这个段在出厂之前就会被设置了写入保护,只能读取不能修改,前面各种能修改UID的卡,UID是没有设置保护的,也就是厂家不按规范生产的卡。
" n7 x- Z3 @0 r6 U( h7 t
  L/ ?% i" ^7 _' a6 a8 ~/ d6 s+ X& F
) _  {' N, }! m+ U3 p% l9 H  R
1 x% M1 j7 J% f数据段9 U% O* K8 O8 z" e" a# v# E
除了第0扇区外,其它每个扇区都把段0、段1、段2作为了数据段,用于保存数据。
9 D1 R7 D0 P- l0 W数据段的数据类型可以被区尾的控制位(Access Bits)配置为读/写段(用于譬如无线访问控制)或者值段(用于譬如电子钱包)。
4 |5 {% M3 W% n2 @值段有固定的存储格式,只能在值段格式的写操作时产生,值段可以进行错误检测和纠正并备份管理,其有效命令包括读、写、加、减、传送、恢复,值段格式如下:
7 G7 y7 U; \5 t$ }, c( c' }# s, Q/ B+ k' Y# W* K! D

6 |, |! @. F7 f# D% j- m; u9 f) F2 Y$ H
Value表示一个带符号4字节值,为了保证数据的正确性和保密性,值被保存了3次,两次直接保存,一次取反保存。该值先保存在0字节-3字节中,然后将取反的字节保存在4字节-7字节中,还保存了一次在8字节-11字节中。
! a8 A8 e1 D% s# K& lAdr表示一个字节的地址,当执行备份管理时用于保存存储段的地址。地址字节保存了4次,取反和不取反各保存了2次。在执行加值、减值、恢复和传送等操作时,地址保持不变,它只能通过写命令改变。  m# b: ]. ~5 L* O' u
! a6 b) }9 g8 G1 h& ~
控制段
, X+ d' F9 {* s+ ]每个扇区都有一个区尾控制段,它包括密钥A和密钥B(可选),以及本扇区四个段的访问控制位 (Access bits);访问控制位也可用于指出数据段的类型(为读/写段还是值段);控制段的存储格式如下:$ ?) e! q1 u4 U* L; `0 g, U) e
  X9 X! f* r  m) y3 {' f/ n6 ~& Y
! c2 x' J$ u- ?$ o' _0 G2 L
  R# w; w( M: h0 |8 L) {
如果不需要密钥B,那么区尾的最后6个字节可以作为数据字节,用户数据可以存储在区尾的第9个字节,这个字节具有和字节6、7、8一样的访问权限。7 `% \" [$ ?6 p+ N  S6 R8 q- Q

9 t/ C( [% i' f1.6.2 IC卡访问存储器
% ^9 `( E4 t! M% V" Q5 |  n* V5 h# p1 r! N
数据段支持的操作! r1 w) g- @! j
根据使用的密钥和相应区尾访问条件的不同,数据段所支持的存储器操作也不同,存储器的操作类型如下:
9 H8 v9 Z9 L7 B7 m& X0 n8 B" t2 ]8 Q3 T( \' P
9 D; \4 f7 N; v' Q4 [2 c
6 r* f. m+ |% s! q6 u$ l
可以看到只有作为值段时,才能加、减、传送、恢复。5 F- l4 X1 r1 r

9 K4 B1 `5 E7 b7 z各区的访问位定义
' t! d5 Y! z; R3 Y每个数据段和区尾的访问条件由3个位来定义,它们以取反和不取反的形式保存在区尾指定字节中。  ?! S" m  y( N& I
访问位控制了使用密钥A和B操作存储器的权限,当知道相关的密钥和当前的访问控制条件时,可以修改访问条件,各区的访问位定义如下:
9 f( c6 {1 W7 X
) w0 i. _& D9 a' L' R' Z+ h4 T
' r" y. r6 l9 n8 u5 e
+ y% W3 k& j0 f* ^& R+ t* t" G访问位在区尾的存储形式5 T( A2 E: @0 |) g5 W1 H% i# X

( b) ~1 Q1 X: ]; c% k$ P
! r" J  T' Q+ k# U. C
, B* g/ y; G3 E5 ^2 ~0 @7 y2 h2 }, T区尾的访问条件
4 L" V2 x6 L' ]" q根据区尾(段 3)访问位的不同,访问条件可分为 “从不”、“密钥A”、“密钥B” 或“密钥A|B”(密钥A或密钥B),区尾的访问条件如下:
! z7 k/ V* _" C1 b* S3 [% u* t6 \/ c* ]0 K

6 t# }4 S& H, r: r8 M, S: b5 ?* {& U
+ T4 U! ]2 q; ]  B. }4 c" f/ L5 g用灰色标明的行是密钥B可被读的访问条件,此时密钥B可以存放数据。0 D- S' N  U2 x* ]
例如:当段3的访问条件C13C23C33=100时,表示:密钥 不可读(隐藏),验证密钥B正确后,可写(或更改);访问控制位在验证密钥A或密钥B正确后,可读不可写(写保护);密钥B不可读,在验证密钥 B 正确后可写;
- e" D: i$ H+ k2 w: |: R又如:当段3的访问条件C13C23C33=110或者111时,除访问控制位需要在验证密钥A或密钥B正确后可读外,其他如访问控制位的改写,密钥 A,密钥 B 的读写权限均被锁死而无法访问;
) G6 ^+ j) F. r) w
2 q* [  A- Q4 b% x+ x1 M数据段的访问条件
' v/ O4 e7 g% k! T( N3 T8 `根据数据段(段 0-2 访问位的不同,访问条件可分为 “从不”、“密钥A ”、“密钥B ” 或“密钥A|B”(密钥A或密钥B)。4 D2 E& u$ d+ S& j
相关访问位的设置定义了该段的应用(或者说数据段类型)以及所支持的应用命令,不同的数据段类型可以进行不同的访问操作。 读/写段可以进行读操作和写操作。值段可以进行加、减、传送和恢复的值操作。' [% o; |' ^. N" x" f; @
其中一种情况中(001)只能对不可再充电的卡进行读操作和减操作,另一种情况中(110)使用密钥B可以再充电。 厂商段无论设置任何的访问位都只是只读的, 数据段的访问条件如下:2 f* D; ^0 ?: A$ I
5 T4 v7 F/ y9 t" w' }$ S  x
5 _3 y4 C1 Q' V; b+ I3 r
# n5 o' V# f8 H
如果密钥B可以在相应的区尾被读出,它就不能用于确认(在前面所有表中的灰色行)。如果读卡器要用这些(带灰色标记的)访问条件的密钥B确认任何段,卡会在确认后拒绝任何存储器访问操作。' _2 y5 M8 q0 Y) u

, }1 Z* _; |( Q" C) M9 v$ E1.6.3 举例说明
# k8 k' J$ V3 E  a2 J( S2 K/ m2 F- f3 `7 h. M
Mifare S50出厂时,访问控制字节(字节6-字节9)被初始化为“FF 07 80 69”,KEY A和KEY B的默认值为“FF FF FF FF FF FF” ;
, n4 P  C0 a9 _( t, Y字节6为FF,二进制为1111111;字节7为07,二进制为00000111;字节8为80,二进制为10000000,如下:
( p! b: L/ N6 d
2 G0 b( N7 T* T* ^4 Y2 v- n6 E4 a$ ]* {# p% H

! l2 Y- R3 l7 j: a对照前面的访问位在区尾的存储形式图,可得知访问控制位为:
' ]  P5 s* r! rC10C20C30=000;C11C21C31=000;C12C22C32=000;C13C23C33=001。1 W3 J- t  J3 I  V
0 G, u. q8 A. B7 Q
C10C20C30、C11C21C31、C12C22C32对应数据段0、1、2,参考数据段的访问条件图即可得知该段三个数据区的访问权限;" O7 Y6 U: o$ R" V6 F
C13C23C33对应区尾(段 3),参考区尾的访问条件图即可得知该段的访问权限;
" ~3 C% {% c8 b! f1 n' {% I, ?* ~: T* X) ~' M
块0控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;8 E) z, i1 N/ U" s
块1控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
% I" T; q( Z7 S. X4 Q* O块2控制位为:0 0 0 权限为:通过A或者B密码认证后可读,可写,可进行加值和减值操作;
% X9 u& q! y% I; x1 u7 G" W7 B块3控制位为:0 0 1 权限为:A密码不可读,验证A或者B密码后可改写A密码;验证A或者B密码后,可读可改写存取控制;验证A密码或者B密码后,可读可改写B密码;
. H' F+ u. {- E$ l
1 c, r& \5 ^) o3 U' }9 U9 k' f这样每次换算还是有点麻烦,可以使用M1 S50卡控制字节生成工具快速换算:
2 L' |8 [1 a: w3 [4 b: Z. Z; N- f: j  |3 S( c2 w, w7 ~

' o- z! r" C+ _) K" _& ^4 u2 k# V2 x7 T
最下面一行可以输入想解释的控制字,也可以根据上面的设置生成控制字;
2 M# c' @' ~4 d( I最上面一行,左边是数据段0、1、2的访问控制位,右边是对应权限所需要的秘钥;
. {* z: T* r6 c% y! |9 ?- }中间的一行,左边是区尾的访问控制位,右边是对应权限所需要的秘钥;5 d& E- X4 E( G& F$ Z: n% t

0 p6 W) w4 o4 k) c1.7 非加密IC卡和加密IC卡% Z5 {% O/ M2 E8 e$ O7 Z

* g! G! H3 ]- f. m5 _0 N6 \* g9 |非加密IC卡和加密IC卡的区别就是,非加密IC卡中所有扇区的KEYA和KEYB数值都是默认值FFFFFFFFFFFF;) f( G5 ]. C% Q3 D2 h
而加密IC卡中,其中有扇区的KEYA和KEYB不等于FFFFFFFFFFFF,部分扇区加密的卡称半加密IC卡,所有扇区都加密的卡称全加密IC卡。9 ^% c: |, T  z- f  [

; M' a- D% j: @: n) `一般的读卡器,像手机的NFC,是读不到IC卡的加密数据的,需要用专门的工具,比如Proxmark3读取。( r9 b. Z: g) x1 u

5 @* L+ S2 d2 q4 I9 b1 }对于IC卡,除了对卡上数据加密,还有滚动码加密、服务器数据验证等技术。
& L! x) O! f6 B  w- `因此,对IC卡的解密,更多的是门禁卡、签到卡、车库卡等的讨论,像公交卡、饭卡等涉及到资金问题的,基本都有服务器定期校验,得先搞定服务器再说,难度高还违法。
+ V" D7 G) H* ~  f( |& Y
9 t8 w' K7 Y# E! @9 H+ y& e参考资料:
2 s+ ~; ]" X$ q" ~, t码农生活 篇二:IC卡门卡模拟探秘$ E8 w( l& Q! G# ?
IC卡简介【M1/S50,UID,CUID,FUID,UFUID复制卡介绍】9 O) b' M! F  Q: P- T  Z: F
谈谈 Mifare Classic 破解
: U) O7 ^" ?& |' H  ^4 lrfid-practice
7 g% t" F3 d& G" e9 X, YType A 卡存储结构与通信8 q: t& e: v' [) a
Proxmark3 Easy破解门禁卡学习过程
0 J. h7 _" A) A4 _; n# {( k9 J' T5 I2 x6 g/ u
2. 手机NFC模拟加密门禁卡
; v8 _; F: u/ P; [) ?* D
3 H9 ~& E6 G- N5 ?! t& V+ y有了前面的知识,再来看现在我的加密门禁卡情况,手机能识别为加密卡,肯定是IC卡。
) ^2 B: |$ u1 n- [0 `
! l% f6 f0 ]+ A. q" z6 g首先,加密卡在目前这个情况下是无法解密的,如果按照下面的操作失败,请参考下一章。/ h9 R# \8 g& T3 J% I, x' B0 A
部分门禁系统只认证IC卡的UID,利用这一情况,可以试试复制门禁卡的UID,看运气能否打开门。
: S& g: ?5 D2 y  _/ Q1 S6 ~; V6 `+ |7 M
在已root的情况下,直接使用APP NFC卡模拟 便可读取加密卡的UID和非加密数据、并写UID到手机NFC里。4 x. q* l3 a2 F% L, [/ n
在未root的情况下,使用小米系统自带的门卡模拟功能,出于安全考虑,是不能对加密卡进行任何操作。手机的NFC,理论上可以读加密IC卡的UID,因此可以使用第三方软件MifareClassicTool读取UID,因为没有root,不能写手机NFC,但可以写IC卡,因此还需要一张CUID卡(不能使用UID卡),某宝上一块多一张,思路就是先读取加密卡的UID,再读取CUID卡的数据,然后将CUID卡的UID改为加密卡一样的UID,再将修改后的数据写回到CUID卡,最后用小米系统自带的门卡模拟功能,复制未加密的CUID卡即可。7 I1 @; ]' ]) b& O/ Z  y( T6 i

, j! Q7 p3 a) }' y1.读取加密卡的UID
* F) z- Z$ r+ m" h" Z) _7 F7 L打开软件Mifare Classic Tool,将加密门禁卡放到手机的NFC感应区域,识别到IC卡后,点击“工具”->“显示标签信息”,可以看到加密门禁卡的8个数字,4字节的UID。4 w- H) |) e$ _4 K2 E" G% I
注意,在16进制里,每个数字为4位(2^4=16),8位(bits)为一字节(bytes),即两个数字组成一字节,这里8个数字,即为4字节(Bytes)。
$ @) G& W- l4 q" q( u前8个数字,每个数字代表4位,8位为一字节,8个数字就是32位,即4字节
4 c- B+ d, v- [9 y5 s1 s6 |接着打开“工具”->“BCC计算器”,输入UID,得到1位BBC(两个数字)校验数据。) B9 [1 h2 v# B# s4 J
0 k0 x, i) M- \* k; J
& i+ K5 d& }. L. E$ x

# D. g8 p3 E4 M( h+ K; A4 r: `2.读取CUID卡数据! J$ p2 N0 v! ]( R/ `: `
将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“读标签”->“启动映射并读取标签”,即可得到CUID白卡的所有信息。
/ r- o0 m/ g) n2 l接着修改第一行的前10个数字,改为加密门禁卡的UID(8个数字)和BCC(2个数字),一共10个数字,并点右上角保存图标保存。- B$ I8 `7 D) j  P/ O% P) u
  R5 ~! d3 h. n, R
- n, p& X+ y7 ?2 L" G: E

/ K+ V5 c0 }2 x/ t0 }3.写数据到CUID卡8 `4 K$ R: j( ~( S; n+ Q& V
再将CUID卡放到手机的NFC感应区域,识别到IC卡后,点击“写标签”,勾选“写转储(克隆)”->“显示选项”->“高级:使能厂商块写入”。
* W8 g4 L* h' _7 ?. G+ [再点击“选择转储”,选择刚才保存的数据,点击“选择转储”。7 J( @5 ^$ r1 @# I

! b) C5 ~- f( X: G: o
+ n' r* r- p$ V0 K( N1 P- }' z
# s+ ?4 v* r. d$ Q! D# S8 J+ j在弹出的选择写扇区界面,默认即可,点击“好的”,最后点击“启动映射并写转储数据”。% l6 U3 |4 C  ~$ x

* x# o2 `1 }0 m: f5 p8 ~1 R8 h
3 J) e% Y2 X: M6 |* e& l% p9 g9 k! `8 C5 w6 ?+ o* }
4.NFC手机复制CUID卡9 m* X) w- Z+ d. F8 z
最后,使用小米手机系统自带的门卡模拟功能,复制刚才写入新UID的CUID卡即可。
6 ^8 \. Z9 F. x  J
9 D8 J% p+ C4 _9 _0 f接着,就看运气吧,我小区的门禁系统就只认UID,搞定。
% K9 i9 S7 Z2 E9 c4 M+ M& o  |, ~4 q% S

7 ]" A# ]0 J9 H; Z3 T0 C8 N

精彩评论8

BI3NRS 来自手机 显示全部楼层 发表于 2021-1-18 13:25:25 来自: 中国–河北–唐山 联通
学习一下,感谢分享
回复 支持 反对

使用道具 举报

15314375698 来自手机 显示全部楼层 发表于 2021-1-19 07:46:45 来自: 中国–山东–滨州–无棣县 联通
学习了师傅厉害
回复 支持 反对

使用道具 举报

彩虹之约 来自手机 显示全部楼层 发表于 2021-1-19 15:42:33 来自: 中国–云南–文山壮族苗族自治州 移动
谢谢师傅,好详细的文章。
回复 支持 反对

使用道具 举报

畅游天下 显示全部楼层 发表于 2021-4-8 13:45:17 来自: 中国–陕西–铜川 电信
4 t( G+ [. |' S+ {" K
谢谢师傅,好详细的文章。现在多用于UID和CUID以及IC
回复 支持 反对

使用道具 举报

灵活的胖子 来自手机 显示全部楼层 发表于 2021-5-16 08:00:48 来自: 中国–江西–南昌 电信
每天学习一点点,每天进步一点点
回复 支持 反对

使用道具 举报

苍蓝 来自手机 显示全部楼层 发表于 2022-7-1 09:21:24 来自: 中国–北京–北京 移动/数据上网公共出口
学习一下,谢谢分享。
回复 支持 反对

使用道具 举报

A锁作锁为,为你 来自手机 显示全部楼层 发表于 2022-7-1 21:08:08 来自: 中国–云南 电信/数据上网公共出口
谢谢师傅,好详细的文章
回复 支持 反对

使用道具 举报

向世伟 来自手机 显示全部楼层 发表于 2022-7-14 06:41:54 来自: 中国–重庆–重庆–铜梁区 电信
不错不错不错不错,谢谢分享!辛苦了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册成为锁艺人

本版积分规则

中国锁艺人,这里是一个锁的世界,锁匠行业交流门户网站,聚集了锁具爱好者、锁具开发者、锁匠、锁匠协会、锁匠俱乐部、锁具企业等会员在这里交流互动。锁艺互动,技艺飞跃,洞悉锁艺奥秘。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Copyright © 2008-2022, Lockartist  | All Rights Reserved. 锁艺人 | 锁匠 | 开锁 | 开锁学校 | 西安开锁 | 西安汽车钥匙
  • 西安锁艺人安防设备有限公司 版权所有 陕ICP备12005758号-11 | 电子营业执照 | 经营许可证编号 陕B2-20200181