అందరికీ మంచి రోజు. ఈ పరిశోధనను నిర్వహించడానికి నన్ను ప్రేరేపించిన దాని గురించి నేను నేపథ్యంతో ప్రారంభిస్తాను, కానీ మొదట నేను మిమ్మల్ని హెచ్చరిస్తాను: అన్ని ఆచరణాత్మక చర్యలు పాలక నిర్మాణాల సమ్మతితో నిర్వహించబడ్డాయి. అక్కడ ఉండే హక్కు లేకుండా నియంత్రిత ప్రాంతంలోకి ప్రవేశించడానికి ఈ మెటీరియల్ని ఉపయోగించే ఏదైనా ప్రయత్నమే క్రిమినల్ నేరం.
టేబుల్ను క్లీన్ చేస్తున్నప్పుడు, నేను అనుకోకుండా RFID ప్రవేశ కీని ACR122 NFC రీడర్లో ఉంచినప్పుడు ఇదంతా ప్రారంభమైంది - Windows కొత్త పరికరాన్ని గుర్తించే సౌండ్ను ప్లే చేసినప్పుడు మరియు LED ఆకుపచ్చగా మారినప్పుడు నా ఆశ్చర్యాన్ని ఊహించుకోండి. ఈ క్షణం వరకు, ఈ కీలు ప్రత్యేకంగా సామీప్య ప్రమాణంలో పనిచేస్తాయని నేను నమ్ముతున్నాను.
కానీ రీడర్ దానిని చూసినందున, కీ ISO 14443 ప్రమాణం (అకా నియర్ ఫీల్డ్ కమ్యూనికేషన్, 13,56 MHz) పైన ఉన్న ప్రోటోకాల్లలో ఒకదానికి అనుగుణంగా ఉందని అర్థం. కీల సెట్ను పూర్తిగా వదిలించుకోవడానికి మరియు నా ఫోన్లో ప్రవేశానికి కీని ఉంచే అవకాశాన్ని నేను చూసినందున శుభ్రపరచడం వెంటనే మరచిపోయింది (అపార్ట్మెంట్ చాలా కాలంగా ఎలక్ట్రానిక్ లాక్తో అమర్చబడి ఉంది). అధ్యయనం ప్రారంభించిన తర్వాత, ప్లాస్టిక్ కింద దాగి ఉన్న Mifare 1k NFC ట్యాగ్ అని నేను కనుగొన్నాను - ఎంటర్ప్రైజ్ బ్యాడ్జ్లు, ట్రాన్స్పోర్ట్ కార్డ్లు మొదలైన వాటిలో అదే మోడల్. సెక్టార్లలోని విషయాలలోకి ప్రవేశించే ప్రయత్నాలు మొదట విజయం సాధించలేదు మరియు చివరకు కీని పగులగొట్టినప్పుడు, 3 వ సెక్టార్ మాత్రమే ఉపయోగించబడిందని మరియు చిప్ యొక్క UID దానిలో నకిలీ చేయబడిందని తేలింది. ఇది చాలా సరళంగా కనిపించింది, మరియు అది అలా మారింది, మరియు ప్రతిదీ సరిగ్గా అనుకున్నట్లు జరిగితే కథనం ఉండదు. కాబట్టి నేను కీ యొక్క గిబ్లెట్లను అందుకున్నాను మరియు మీరు అదే రకమైన మరొకదానికి కీని కాపీ చేయవలసి వస్తే ఎటువంటి సమస్యలు లేవు. కానీ మొబైల్ పరికరానికి కీని బదిలీ చేయడమే పని, ఇది నేను చేసాను. ఇక్కడే సరదా మొదలైంది - మా దగ్గర ఫోన్ ఉంది - ఐఫోన్ రష్యా ఇన్స్టాల్ చేయబడింది iOS 13.4.5 బీటా బిల్డ్ 17F5044d మరియు NFC యొక్క ఉచిత ఆపరేషన్ కోసం కొన్ని అనుకూల భాగాలు - కొన్ని ఆబ్జెక్టివ్ కారణాల వల్ల నేను దీని గురించి వివరంగా చెప్పను. కావాలనుకుంటే, క్రింద చెప్పబడిన ప్రతిదీ Android సిస్టమ్కు కూడా వర్తిస్తుంది, కానీ కొన్ని సరళీకరణలతో.
పరిష్కరించాల్సిన పనుల జాబితా:
- కీ యొక్క కంటెంట్లను యాక్సెస్ చేయండి.
- పరికరం ద్వారా కీని అనుకరించే సామర్థ్యాన్ని అమలు చేయండి.
మొదటిదానితో ప్రతిదీ చాలా సరళంగా ఉంటే, రెండవదానితో సమస్యలు ఉన్నాయి. ఎమ్యులేటర్ యొక్క మొదటి వెర్షన్ పని చేయలేదు. సమస్య చాలా త్వరగా కనుగొనబడింది - మొబైల్ పరికరాల్లో (iOS లేదా Android) ఎమ్యులేషన్ మోడ్లో, UID డైనమిక్గా ఉంటుంది మరియు ఇమేజ్లో హార్డ్వైర్డ్తో సంబంధం లేకుండా, అది తేలుతుంది. రెండవ సంస్కరణ (సూపర్యూజర్ హక్కులతో అమలు చేయబడింది) ఎంచుకున్న దానిలో క్రమ సంఖ్యను కఠినంగా పరిష్కరించబడింది - తలుపు తెరవబడింది. అయినప్పటికీ, నేను ప్రతిదీ ఖచ్చితంగా చేయాలని కోరుకున్నాను మరియు Mifare డంప్లను తెరిచి వాటిని అనుకరించే ఎమ్యులేటర్ యొక్క పూర్తి వెర్షన్ను రూపొందించడం ముగించాను. ఆకస్మిక ప్రేరణకు లొంగి, నేను సెక్టార్ కీలను ఏకపక్షంగా మార్చాను మరియు తలుపు తెరవడానికి ప్రయత్నించాను. మరియు ఆమె… తెరిచింది! కొద్దిసేపటి తర్వాత అవి తెరుచుకుంటున్నాయని నేను గ్రహించాను ఏ ఈ తాళం ఉన్న తలుపులు, అసలు కీ సరిపోని వాటికి కూడా. ఈ విషయంలో, నేను పూర్తి చేయడానికి కొత్త పనుల జాబితాను సృష్టించాను:
- కీలతో పని చేయడానికి ఎలాంటి కంట్రోలర్ బాధ్యత వహిస్తుందో తెలుసుకోండి
- నెట్వర్క్ కనెక్షన్ మరియు కామన్ బేస్ ఉందో లేదో అర్థం చేసుకోండి
- వాస్తవంగా చదవలేని కీ ఎందుకు విశ్వవ్యాప్తం అవుతుందో తెలుసుకోండి
మేనేజ్మెంట్ కంపెనీలో ఇంజనీర్తో మాట్లాడిన తర్వాత, బాహ్య నెట్వర్క్కి కనెక్ట్ చేయకుండా సాధారణ ఐరన్ లాజిక్ z5r కంట్రోలర్లు ఉపయోగించబడుతున్నాయని నేను తెలుసుకున్నాను.
CP-Z2 MF రీడర్ మరియు IronLogic z5r కంట్రోలర్
ప్రయోగాల కోసం నాకు పరికరాల సమితి ఇవ్వబడింది:
ఇక్కడ నుండి స్పష్టంగా, వ్యవస్థ పూర్తిగా స్వయంప్రతిపత్తి మరియు అత్యంత ప్రాచీనమైనది. కంట్రోలర్ లెర్నింగ్ మోడ్లో ఉందని మొదట నేను అనుకున్నాను - అర్థం ఏమిటంటే అది కీని చదువుతుంది, మెమరీలో నిల్వ చేస్తుంది మరియు తలుపు తెరుస్తుంది - అన్ని కీలను రికార్డ్ చేయడానికి అవసరమైనప్పుడు ఈ మోడ్ ఉపయోగించబడుతుంది, ఉదాహరణకు, రీప్లేస్ చేసేటప్పుడు అపార్ట్మెంట్ భవనంలో తాళం వేయండి. కానీ ఈ సిద్ధాంతం ధృవీకరించబడలేదు - సాఫ్ట్వేర్లో ఈ మోడ్ ఆఫ్ చేయబడింది, జంపర్ పని స్థానంలో ఉంది - ఇంకా, మేము పరికరాన్ని పైకి తీసుకువచ్చినప్పుడు, మేము ఈ క్రింది వాటిని చూస్తాము:
పరికరంలో ఎమ్యులేషన్ ప్రక్రియ యొక్క స్క్రీన్షాట్
... మరియు నియంత్రిక యాక్సెస్ మంజూరు చేయబడిందని సంకేతాలు ఇస్తుంది.
దీని అర్థం సమస్య కంట్రోలర్ లేదా రీడర్ సాఫ్ట్వేర్లో ఉంది. రీడర్ను తనిఖీ చేద్దాం - ఇది iButton మోడ్లో పని చేస్తుంది, కాబట్టి బోలిడ్ సెక్యూరిటీ బోర్డ్ను కనెక్ట్ చేద్దాం - మేము రీడర్ నుండి అవుట్పుట్ డేటాను వీక్షించగలుగుతాము.
బోర్డు తరువాత RS232 ద్వారా కనెక్ట్ చేయబడుతుంది
బహుళ పరీక్షల పద్ధతిని ఉపయోగించి, అధికార విఫలమైన సందర్భంలో రీడర్ అదే కోడ్ను ప్రసారం చేస్తారని మేము కనుగొన్నాము: 1219191919
పరిస్థితి స్పష్టంగా మారడం ప్రారంభించింది, అయితే ఈ కోడ్కు కంట్రోలర్ ఎందుకు సానుకూలంగా స్పందిస్తుందో ప్రస్తుతానికి నాకు స్పష్టంగా తెలియదు. డేటాబేస్ నిండినప్పుడు - ప్రమాదవశాత్తూ లేదా ఉద్దేశపూర్వకంగా ఇతర సెక్టార్ కీలతో కూడిన కార్డ్ సమర్పించబడిందని ఒక ఊహ ఉంది - రీడర్ ఈ కోడ్ను పంపారు మరియు కంట్రోలర్ దానిని సేవ్ చేసింది. దురదృష్టవశాత్తూ, కంట్రోలర్ కీ డేటాబేస్ని పరిశీలించడానికి IronLogic నుండి యాజమాన్య ప్రోగ్రామర్ నాకు లేదు, అయితే సమస్య ఉన్నదనే విషయాన్ని నేను దృష్టిని ఆకర్షించగలిగానని ఆశిస్తున్నాను. ఈ దుర్బలత్వంతో పని చేసే వీడియో ప్రదర్శన అందుబాటులో ఉంది
PS యాదృచ్ఛిక జోడింపు సిద్ధాంతాన్ని క్రాస్నోయార్స్క్లోని ఒక వ్యాపార కేంద్రంలో నేను కూడా అదే పద్ధతిని ఉపయోగించి తలుపు తెరవగలిగాను.
మూలం: www.habr.com