با توجه به کامنت های دوستان در پست قبل و مطلع شدن از این که دوستان خود اینکاره هستند ، مقداری توضیحات را تخصصی تر کردم ولی نه زیاد؛ پس ممکنه در انتهای پست به اندازه عکس فوق متعجب باشید و با خود بیندیشید که یک کارت ساده چقدر لایه های امنیتی داره !
بعد از روشن شده این موضوع که نمیتوان با سعی و خطا کلید های دسترسی کارت را به دست آورد (منظور منطقی و معقول بودن فرایند است) ، باید به دنبال راه کاری بود که بتواند فرایند را سریعتر نماید.
همیشه یکی از فرایند های پیش رو اسنیفینگ است ، یا همان فال گوش ایستادن است به این صورت که وقتی کارت و قرائت گر مربوطه (مثلا گیت ورودی مترو) در حال صحبت هستند ، ما نیز گوش کنیم که چه جمله هایی بین آنها رد و بدل می شود ، قائدتا یکی از جمله های رد و بدل شده باید کلمه عبور کارت باشد. با توجه به غیر تماسی بودن (Contactless) این کارت ها ، فال گوش ایستادن کار پیچیده ای است ، در این نوع کارت ها برای برقراری ارتباط بین گیرنده و فرستند از امواج رادیویی با فرکانس 13.5 مگاهرتز استفاده می شود که داده ها روی موج حامل(13.5 Mhz) سوار می شوند مانند تصور زیر:
امواج ارسال شده دو وظیفه بر عهده دارند ، اول تامین انرژی چیپ کارت و دوم انتقال داده ، یکی از مهم ترین دلایلی که کارت های غیر تماسی برد کوتاهی دارند همین مساله تامین انرژی لازم برای کارکرد چیپ آنهاست. کارت هایی وجود دارند که باطری داخلی دارند و به همین دلیل برد آنها تا چند متر هم می رسد.
برای تامین امنیت اطلاعات از لحاظ جداسازی بیت های ارسالی و عدم تداخل داده ها با هم به دلیل عدم وجود سیگنال همزمانی ، داده ها باید به صورت کدهای منچستر (manchester) ارسال شوند.
پس با توجه تو عملکرد ارتباطی ، برای فال گوش ایستادن اول باید گیرنده ای بسازیم که این امواج رادیویی را دریافت کند بدون آنکه تغییری در آن ایجاد کند بعد از آن موج حامل را حذف کند بعد از حذف موج حامل برای استخراج داده های دریافتی باید کد های منچستر را نیز کد گشایی کرد پس از آن می توان به حرف های کارت و قرائت گر گوش کرد.
خوب تازه وارد مرحله ای شده ایم که داده های ارسالی و دریافتی کارت را دریافت می کنیم ، برای پیدا کردن کلید کارت نیاز هست از پروتکل ارتباطی آگاهی پیدا کنیم
به تصویر زیر دقت کنید:
همانطور که در تصور بالا مشخص هست ، ابتدا Reader درخواست Type A را با ارسال کد 26 انجام می دهد بعد کارت جواب آن را می دهد و فرایند ادامه پیدا می کند تا جایی که خود این ارتباط نیز توسط Crypto1 کد گذاری می شود و از آن پس داده ها به صورت رمز گذاری شده بین Reader و کارت تبادل می شوند.
پس گوش کردن به جملات تبادل شده هیچ کمکی نمی کند مگر این که بتوانیم داده ها را از حالت رمز شده خارج نماییم !
پس اگر بتوانید داده های دریافتی را از حالت کد گذاری شده خارج نمایید می توانید به کلید کارت دسترسی پیدا کنید.
یک آشنا تمام این راه ها رو رفته و بهترین راه رو پیدا کرده ، خوب البته همون طور که می دانید نمیشه و نباید راه حل این جور مسائل رو گفت.
اما باز قسمت جالب ماجرا هنوز به قوت خودش باقی هست ، پیدا کردن کلید کارت مثل به دست آوردن کلید یک گاو صندوق است ، که بعد از باز کردن گاو صندوق ممکنه وجه نقد توش موجود باشه یا یک کاغذ رمز گذاری شده دیگه که برای رسیدن به هدف نهایی ناگزیر به رمزگشایی اون باشید. در مورد کارت مترو شما به یک کاغذ رمز گذاری شده دیگه می رسید!
و این قصه همچنان ادامه دارد.
تجهیزات یک آشنا :
یک ریدر هک شده:
و اسنیفر فوق پیشرفته خخخخ