MIFARE classic tool 이라는 앱으로 읽어봄. → 섹터 15 뺴고 다 읽어짐 → 키 가 없거나 쓰지 않는 섹터 → 키가 없을 가능성이 큼
Mifare Classic 취약점
MCT(MIFARE Classic Tool) 사용법
- MIFARE classic 은 다양한 산업군에서 사용되고 있는 통신 규격이다.
- 1k와 4k 로 분류되는데 4k 는 잘 안씀
- 각 섹터마다 부여된 키 값을 알지 못하면 그 섹터에 접근하지 못해 해당 섹터는 죽은 섹터 (Dead Sector) 로 처리된다.
MIFARE Classic은 여러 보안 및 암호학 전문가에 의해서 이전에 파해법이 밝혀졌다….?
MIFARE Classic의 보안 특징
- UID 는 읽기 전용이다.
- 태그와 리더 사이에서 세션 키 를 이용하여 인증
- CRYPTO1 암호화 알고리즘을 사용
- 패리티 정보가 불명학
- 하드웨어단의 기술
- 무차별 대입(Brute-Force) 공격
- 기본적으로 하나의 키는 48bit 로서 오직 6Byte에 불과하다. 따라서 알려진 해킹 도구를 이용하면 평균적으로 하루 이내로 대입 공격을 이용해 키를 따낼 수 있다.
- 둥지공격 (Nested Attack)
- LFSR의 난수 생성 알고리즘의 동작 원리를 응용한 공격 기법이다. LFSR 레지스터의 시간차를 이용해 원래의 키를 찾아낼 수 있습니다. 이 둥지 공격은 기본적으로 최소한 한 개 이상의 default key를 알고 있어야 수행이 가능하다. 사실 일반적으로 대부분의 카드는 몇몇 섹터에 기본 키로 FFFFFFFFFFFF등을 사용하고 있는 경우가 많아서 이런것들을 이용하면 나머지 키도 모두 뽑아낼 수 있다.
- MFCUK을 활용한 공격
- 현재 어떠한 키도 알고 있지 않은 상태라서 둥지 공격을 수행할 수 없는 상황이라면 MFCUK을 이용해 최소한 한 개 이상의 키를 찾아낼 수 있다. 이후에 특정한 섹터의 키를 알아내서 그거을 이용해 다른키 또한 모두 찾아낼 수 있다.
Attack Vector
- 일반적으로 먼저 MFOC 를 이요하여 해당 카드가 어떠한 default 키를 이용하고 있는지 확인이 가능.
- nested attack 을 수행해 키 획득
Proxmark3