ببخشید بعد از گذشت تقریبا یک ماهه دارم این مقاله رو می‌نویسم و ادامه مقاله قبل بوده مقداری در گیر بودم حقیقت ، دانشگاه و یکسری مشکلات شخصی ولی هنوز با قدرت ادامه میدیم ‌‌. بریم سراغ اصل مطلب خب ابزارا رو شناختیم، حالا وقتشه بریم سراغ مرحله‌ی اتصال، راه‌اندازی و کار کردن واقعی با کارت‌خوان.

اینجا دیگه خبری از تئوری و حدس و گمان نیست، قراره با هم ببینیم دقیقاً چی به چی وصله، چی باید نصب کنیم و چطور ازش خروجی بگیریم.

خوب بچه ها قبل اینکه بریم سراغ کارت های بانکی نیاز که یک سری کخ تو دستگاه پز باهم بریزیم که با ساختارش آشنا بشیم ، اره احتمالا بعد این بتونید یک دستگاه پز یا همون کارت خوان رو به صورت فیزیکی هک کنید . 

۱. چی لازم داریم واسه اتصال کارت‌خوان

کابل USB به TTL (مدل‌های معروف مثل PL2303 یا CP2102)

یه کابل OTG واسه اتصال کارت‌خوان‌های USB به گوشی یا رزبری

پروگرامر CH341A واسه خوندن حافظه‌ها

یه لپ‌تاپ لینوکسی، یا ترموکس روی گوشی

ابزار باز کردن قاب، مثل پیچ‌گوشتی ریز و پنس

بریم برای ادامه مطلب 🤏😈

اتصال به پورت سریال کارت‌خوان

1. قاب کارت‌خوانو باز کن. دنبال پین‌های TX، RX و GND بگرد (معمولاً کنار پردازنده اصلیه).

 

2. کابل TTL رو اینطوری وصل کن:

GND دستگاه → GND پروگرامر

TX دستگاه → RX پروگرامر

RX دستگاه → TX پروگرامر

 

3. حالا وصلش کن به سیستم و با این دستور ببین کدوم پورت ساخته شده:

dmesg | grep tty

dmesg | grep tty 

مثلاً می‌گه :

/dev/ttyUSB0

4. بعد این دستور رو بزن تا کنسول باز بشه:

screen /dev/ttyUSB0 115200

اگه دستگاه لاگ حفاظت نشده داشته باشه، لاگ بوت یا ترمینال داخلیش بالا میاد.( اگه هم داشت تو مقاله بعدی میگم چجوری دورش بزنید) 


بک‌آپ گرفتن از حافظه کارت‌خوان

اگه چیپ‌هایی مثل 24C32 یا 25Q64 روی برد دیدی، یعنی می‌تونی حافظه رو بخونی. واسه این کار از CH341A استفاده کن:

sudo flashrom -p ch341a_spi -r dump.bin

اگه حافظه‌اش I2C باشه:

sudo i2cdetect -y 1
sudo i2cdump -y 1 0x50

خروجی اینا معمولاً اطلاعاتی مثل شماره آخرین کارت، لاگ تراکنش، و حتی بعضی وقتا کلیدهای رمزنگاریه.


تحلیل محتوا

بعد از اینکه فایل dump رو گرفتی، اینجوری بررسیش کن:

hexdump -C dump.bin | less

یا برای پیدا کردن چیزای مهم مثل شماره کارت:

xxd dump.bin | grep 6219

بعضی وقتا می‌تونی رشته‌هایی مثل IR001, POS, یا حتی اعداد حساب ببینی.


دستکاری دیتا و ساخت "حباب"

اگه فایل پشتیبان رو توی hex editor باز کنی و مثلاً عدد موجودی یا کد ترمینالو عوض کنی، بعد فلشش کنی، کارت‌خوان ممکنه تو نمایشگر یه عدد تقلبی نشون بده.

ولی حواست باشه:

ترمینال فقط نمایش می‌ده. تراکنش واقعی باید توسط سرور بانکی تأیید بشه.

پس اگه فکر می‌کنی با این روش می‌شه پول برداشت، سخت در اشتباهی.


جاهایی که بیشتر روشون کار می‌کنیم

پورت UART واسه گرفتن لاگ بوت یا شل

حافظه EEPROM واسه خوندن لاگ‌ها و تنظیمات

خطوط I2C یا SPI برای تزریق دیتا

حالت بوت خاص برای استخراج سیستم‌عامل


هشدار

این مقاله فقط برای آگاهی و آموزش امنیت سخت‌افزاره.

هیچ‌کدوم از این مراحل برای کار خرابکارانه یا دور زدن قانون نیست.

اگه کسی ازش استفاده اشتباه کنه، مسئولیتش کاملاً با خودشه.