본문 바로가기

IT관련

미밴드6 NFC에 암호화된 출입 카드 등록 및 사용 방법

반응형

암호화된 출입카드 등록된 미밴드6

중국 내수용 미밴드 NFC는 국내에서도 도어락 카드를 추가해서 사용할 수 있다는 것을 확인했다.

스마트 카드 업계에 일하는 입장이라 테스트를 해보고 싶었다.

 

확인해 보니 mifare classic 1K 카드만 등록이 가능한 것으로 확인 되었고 카드 등록도 상당히 쉬운 편이었다.

미밴드가 다수의 카드 복제를 지원한다는 것은 mifare를 에뮬레이션 한다고 볼 수 있다.

카드를 몇 개 등록해 보니 mifare A, B key가 전부 'FF...FF'인 카드는 바로 읽어서 미밴드에 복제를 해 버린다.

그리고 당연히 하나의 sector에라도 A, B key가 'FF...FF'가 아닌 카드는 "the original card has been encrypted."라고 표시되면서 복제를 하지 못한다. 즉, 미밴드는 A, B key가 'FF...FF'일 거라는 가정하에 mifare를 읽고 복제 하는 것이다.

 

Mifare 스팩을 간단히 설명하자면 구성은 총 16개의 sector로 되어 있고, 각각의 sector는 4개의 block으로 구성된다.

제일 첫 번째(0번) sector의 첫 번째(0번) block은 manufacturer block으로 4 bytes의 UID(unique ID) + 7 bytes manufacturer data로 구성되어 있으며 이 block은 제조시 부여되고 이후 변경이 불가능 하다.

 

각 sector별 마지막 block(3번)은 trailer로 A key + access bits + B key로 구성된다.

 

실제로 테스트한 출입카드들은 전부 0번 sector의 0번 block(manufacturer block)에만 값이 있고 나머지 block에는 전부 0x00으로 되어 있었다. 또한 모든 trailer의 키 값은 FF...FF 였다. 분명히 manufacturer data만 가지고 출입 여부가 가능한 것이다. 실제 이렇게 허술하게 사용하고 있으니 mifare 카드는 위험하다고 쓰지 말라는 이유인것 같다.

 

다만 자사에서 사용하고 있는 사원증만 미밴드에 등록이 되지 않았다. 당연히 사원증의 특정 trailer A, B key가 FF...FF가 아니기 때문에 데이터를 읽을 수 없어 불가능 한 것이다.

 

그렇다면 내가 사원증의 A, B key를 알면 복제가 가능하지 않을까? A, B key를 FF...FF로 바꾸면 미밴드에 등록이 가능해 지고 이후 미밴드에 등록된 카드의 키를 원복시키면 되지 않을까?

결론은 "가능하다"이고 실제로 미밴드에 복제를 해봤다. 

 

준비물

ACS ACR122 reader

1. ACS ACR122 reader --> 이 리더기가 Mifare password cracking 용으로 많이 사용된다. 방법으로 nested attack과 dark side attack이 있는데 이 리더기가 기능을 제공하는 것으로 알고 있다.

2. Magic card --> UID를 변경할 수 있는 mifare카드. 테스트 도중에 원본 카드가 망가지면 곤란하기 때문에 우선 이 카드에 복제 한 후 테스트 해 보았다. 이 카드는 중국에서 만들어서 파는데 누구나 쉽게 알리에서 구매 가능하다.

3. Mifare Offline Cracker(MFOC) --> mifare해킹 s/w, 이건 보안 사항이라 공개 불가능하고 각자 알아서 구해야 한다.

 

절차

Dumped Mifare Data

1. 리더기에 원본 카드를 올려놓고 MFOC를 이용하여 키 해킹 후 mifare data를 dump 파일로 기록한다.

2. Dump 파일에서 A, B 키가 FF...FF가 아닌 sector를 기록해 두고 해당 sector의 키를 전부 FF...FF로 변경해 둔다.

3. FF...FF로 바꾼 dump 파일과 리더기 그리고 MFOC를 이용해 magic card에 복제한다.

4. 복제된 magic card를 미밴드에 등록한다. 키가 전부 FF...FF라서 등록이 가능하다. 

5. 리더기에 미밴드를 두고 등록된 카드를 읽어서 UID 및 기타 데이터들이 제대로 복제되었는지 확인한다.

5. 리더기에 미밴드를 두고 아까 바꿨던 sector의 키만 원래 키로 변경한다.

 

추가 내용 - 1

국내에서는 mifare classic(티머니, 캐쉬비 X)을 교통카드로도 사용 한다. 이것은 마찬가지로 키를 알수 있다면 mifare 교통카드도 미밴드에 등록이 가능하다는 뜻이 된다.

그런데 복제를 해도 국내 mifare 교통카드는 충전하는 방식(선불)이 아닌 후불형태라서 부정하게 사용하는건 불가능 하다. 아니 복제하고 나만 사용하면 되는데, 이걸 다른 사람이 사용하게 된다면 문제가 되고 나중에 서버 정산시 들통날 수 밖에 없다. 결국 경제사범이 될 수 있으니 하지 말아야 한다.

시도해 봤는데 키 찾는데 시간이 너무 오래 걸려서 그냥 포기함.

 

추가 내용 - 2

Cracking Mifare Classic on the cheap workshop

위 내용을 보면 아주 자세히 mifare key를 찾아내는 방법이 소개된다.

HiP19_Cracking_Mifare_Classic_on_the_cheap_workshop.pdf
3.91MB

반응형
  • 이승훈 2021.05.24 15:58

    안녕하세요.
    작성해주신 글 보고 정상적으로 미밴드에 등록이 되었는데..
    1. ACS ACR122 reader 카드 정보 리딩, 0번 섹터, 7번 섹터에 정보 중 7번섹터의 3번째 블럭의 A KEY에 FFFF로 변경 후 카드를 복제 후 미밴드에 등록 완료
    2. 리더기에 미밴드 UID 리드 시 8번째까지 로딩 완료 후 Select Card Failed. 라고 뜨면서 정보가 전체가 조회가 되지 않고 있는데.. 혹시 왜그런지 알아볼수 있는 방법이 있을까요?
    - 원본카드의 정보를 변조 (7번섹터 A KEY FFFF로 변경)하여 등록한 복제카드의 경우는 정상적으로 UID 리드가 되고 있습니다.

    • 싸이형아 2021.05.24 16:19 신고

      미밴드에 등록된 카드를 다시 ACR122 reader + MFOC로 read가 안된다는 건가요? 원본 카드는 MFOC로 password cracking이 되었지만 미밴드는 안된다는게 좀 이상하네요.
      다만 Select Card Failed라는 메시지는 의미상 리더기가 미밴드에 등록된 카드와 통신이 끊어졌다는 것으로 생각됩니다. 아마도 미밴드가 password cracking에 대응하고자 보안코드가 있어서 이렇게 동작할 수 있습니다.
      사용하고 계시는 MFOC가 어떤건지 모르겠지만, 원본카드를 cracking하셨으니 키는 이미 다 알고 있는 것이니 해당키로 MFOC를 setting 하시고 읽어보시는건 해 보셨나요? MFOC가 잘 동작하지 않는다면 안드로이드 Mifare Classic Tool로 키 설정 후 테스트 해보시는 것도 방법입니다.

  • soyear 2021.06.09 00:14

    안녕하세요. 먼저 양질의 글 감사합니다. (_ _)
    미밴드6 NFC로 암호화된 공용현관키를 복사하려고 해서,
    암호화된 공용현관키를 알리NFC 복사기로 읽었더니, 한 sector만 FF가 아니라서 FF로 변경 후, 공 13.56Mhz스티커에 복사한 후, 미밴드6에서 복사 완료했습니다.
    문제는 공용현관에서 이게 될때도 있고 안될때도 있네요..
    혹시 왜 그런지 추측가는게 있으실까요

    • 싸이형아 2021.06.09 22:25 신고

      굳이 디폴트로 FF...FF였던 키를 특정 sector만 다른 값으로 바꿨다면 분명 그 sector의 데이터를 이용해서 도어락 인증에 사용한다는 것으로 생각됩니다. 가끔식 된다는 것은 그 데이터 외 0 Sector의 UID도 사용하는 것이 아닐까요?
      해당 sector의 키 값을 알고 계신다면 원래키값으로 바꿔 보시면 잘 동작할 것 같습니다.

  • 2021.06.16 05:37

    비밀댓글입니다

    • 싸이형아 2021.06.16 10:42 신고

      1. 신용카드는 Mifare가 아니라서 불가능 합니다.
      2. 티머니, 캐시비는 Mifare가 아니라서 제외됩니다. 국내에선 PayOn 후불교통카드만 mifare classic 입니다. 그런데 PayOn은 하나의 sector만 쓰는게 아니고 다수의 sector를 사용합니다. 그만큼 해킹에 시간이 오래 소요됩니다. 해킹을 못하는 것은 아닐겁니다.

  • Jay 2021.07.06 22:49

    안녕하세요. 싸이형아님의 글을 대충 보고 저도 미밴드6 NFC를 주문했는데, 여러가지 다른 준비물이 필요하군요.
    혹시 게이트맨 도어락키는 암호화되어 있는지 아니면 그냥 복사가 되는지 아시면 답변 부탁드리겠습니다.

    • 싸이형아 2021.07.07 06:14 신고

      해당 브랜드는 테스트 해보지는 않았습니다. 인터넷 찾아보니 예전 모델은 쉽게 되고 최신모델은 안되는 것 같습니다.

  • 2021.07.09 20:18

    비밀댓글입니다

    • 싸이형아 2021.07.13 20:36 신고

      대중적인 출입용 카드는 UID만 맞으면 열리도록 동작하는 것 같습니다. 그 UID를 읽는 키가 A key일 것 같구요.
      결론적으로 문만 잘 열린다면... 상관없지 않을까요? :)