2 poin oleh GN⁺ 2024-08-20 | 1 komentar | Bagikan ke WhatsApp
  • FindMy Flipper adalah aplikasi yang memperluas kemampuan Bluetooth FlipperZero agar dapat berfungsi seperti Apple AirTag, Samsung SmartTag, dan Tile Tracker
  • Aplikasi ini menyiarkan sinyal SmartTag menggunakan BLE beacon milik FlipperZero, serta dapat menyalin tag yang sudah ada atau membuat pasangan kunci OpenHaystack untuk terhubung ke jaringan Apple FindMy
  • Metode penyalinan tag yang sudah ada dapat mengambil alamat MAC dan payload dari AirTag, Samsung SmartTag, dan Tile Tracker agar bisa dilacak lewat aplikasi native, tetapi pada AirTag kunci dapat berotasi saat baterai dipasang kembali sehingga kunci Flipper saat ini bisa menjadi tidak valid
  • Metode pembuatan kunci AirTag bisa dilakukan tanpa AirTag atau perangkat Apple asli, tetapi memerlukan Docker Desktop, Python, dan Git, serta menggunakan komputer dan autentikasi Apple ID untuk menerima data lokasi
  • Aplikasi mendukung eksekusi di latar belakang serta pengaturan interval beacon dan daya transmisi, dan pengguna harus mematuhi peraturan privasi terkait perangkat pelacak serta menghormati kepemilikan perangkat asli

Aplikasi untuk memakai FlipperZero seperti tag pelacak

  • FindMy Flipper adalah aplikasi yang membuat FlipperZero dapat mengemulasikan Apple AirTag, Samsung SmartTag, dan Tile Tracker
  • Aplikasi ini menggunakan BLE beacon FlipperZero untuk menyiarkan sinyal SmartTag yang dapat dideteksi oleh FindMy Network
  • Fitur yang dituju adalah sebagai berikut
    • Menyalin Apple AirTag, Samsung SmartTag, dan Tile Tracker yang sudah ada ke FlipperZero
    • Membuat pasangan kunci OpenHaystack untuk jaringan FindMy tanpa AirTag asli
    • Terus melacak lokasi FlipperZero

Fitur utama

  • Emulasi tag

    • Dapat menyalin alamat MAC dan payload dari tag yang sudah ada
    • Dapat membuat pasangan kunci untuk jaringan FindMy meskipun tidak memiliki AirTag asli
  • Penyesuaian pengguna

    • Dapat menyesuaikan interval siaran beacon
    • Dapat mengubah daya transmisi untuk menyeimbangkan visibilitas dan masa pakai baterai
  • Operasi di latar belakang

    • Aplikasi dioptimalkan untuk berjalan di latar belakang
    • Dirancang untuk mempertahankan pelacakan dengan penggunaan baterai rendah tanpa menghentikan penggunaan normal FlipperZero

Cara instalasi

  • Instalasi dapat dilakukan dengan dua cara
    • Menggunakan firmware FAP rilis/prekpilasi yang sesuai dengan perangkat
    • Membangun firmware secara langsung dengan fbt/ufbt
  • Saat ini semua firmware seharusnya berjalan di branch main termasuk ikon

Cara memperoleh data SmartTag

  • Ada dua cara untuk memperoleh data emulasi tag
    • Opsi A: Menyalin tag yang sudah ada

      • Opsi B: Pembuatan kunci AirTag
  • Opsi A: Menyalin tag yang sudah ada

    • Menyalin tag yang sudah ada adalah metode yang disarankan dan bisa dilacak tanpa pengaturan tambahan
    • Tag Apple, Samsung, dan Tile dapat digunakan dengan menyalin alamat MAC dan payload dari tag asli
    • Metode ini memungkinkan pelacakan melalui aplikasi native seperti Apple FindMy, Samsung SmartThing, dan Tile App
    • Prosedur dasarnya sebagai berikut
    • Pasangkan terlebih dahulu AirTag, Samsung SmartTag, atau Tile Tracker dengan perangkat
    • Pisahkan tag dari perangkat yang terdaftar selama sekitar 15 menit agar masuk ke mode Lost
    • Gunakan nrfConnect di Android atau ESP32
    • Di nrfConnect, disarankan versi Android karena versi Apple tidak menampilkan data Raw yang dibutuhkan
    • Jika memakai ESP32-WROOM atau ESP32-S3, data yang diperlukan bisa diperoleh tanpa Android
    • Sebagai alat terkait, dapat menggunakan ESP32-AirTag-Scanner
    • Prosedur pemindaian mencakup mengecualikan item selain merek tag pada filter dan menyesuaikan RSSI ke -40 dBm, lalu menunggu hingga SmartTag muncul sebagai perangkat “FindMy”
    • Segera setelah payload dan alamat MAC tertangkap, baterai tag harus dilepas
    • Jika baterai AirTag dipasang kembali, kunci dapat berotasi dengan server Apple
    • Jika kunci berotasi, kunci Flipper saat ini menjadi tidak valid
    • Agar tetap dapat digunakan di Flipper, AirTag harus tetap dimatikan atau baterainya dilepas
    • AirTag dan Flipper tidak dapat digunakan secara bersamaan, dan jika perlu prosesnya bisa diulangi untuk memulihkan fungsi Flipper
    • Payload dan MAC Address yang ditangkap dimasukkan ke aplikasi FlipperZero
  • Opsi B: Pembuatan kunci AirTag

    • Pembuatan kunci AirTag adalah metode untuk mengemulasikan AirTag tanpa perangkat Apple atau AirTag asli
    • Metode ini bekerja dengan pembuatan kunci dan memerlukan komputer untuk mengunduh data lokasi
    • Komponen yang dibutuhkan adalah sebagai berikut
    • Docker Desktop
    • Python
    • Git
    • Setelah meng-clone repositori, kerjakan di folder AirTagGeneration
    git clone https://github.com/MatthewKuKanich/FindMyFlipper.git
    cd AirTagGeneration
    
    • Setelah menjalankan Docker Desktop, atur server dengan perintah berikut
    docker run -d --restart always --name anisette-v3 -p 6969:6969 dadoum/anisette-v3-server:latest
    
    • Server ini mengemulasikan lingkungan yang menipu server autentikasi Apple
    • Buat dan aktifkan virtual environment Python lalu instal dependensi
    python3 -m venv venv
    pip3 install -r requirements.txt
    
    • generate_keys.py membuat kunci yang diperlukan untuk AirTag dan menyimpannya di folder keys yang baru
    • File .keys yang dihasilkan dapat dipindahkan ke FlipperZero lalu diimpor di aplikasi
    • Pilih “register tag” di menu config aplikasi
    • Pilih jenis tag
    • Impor .keys atau .txt, atau masukkan secara manual
    • Jika memasukkan manual, masukkan MAC dan payload secara berurutan
    • Tekan simpan untuk mendaftarkan
    • request_reports.py meminta data lokasi real-time dengan autentikasi Apple ID dan kata sandi
    • Informasi login Apple disimpan dalam file auth sehingga tidak perlu dimasukkan ulang nanti
    • RequestReport&Map.py menampilkan data lokasi 24 jam terakhir pada peta interaktif
    • Meminta laporan lokasi menggunakan kunci iklan yang di-hash dari folder keys
    • Mendekripsi data dengan kunci privat dari file .keys yang sama
    • Menampilkan data yang telah didekripsi di terminal
    • Menampilkan koordinat di peta dan menghubungkan jalur pergerakan
    • Menampilkan metadata lokasi dan menyimpannya sebagai file HTML dengan nama tanggal laporan

Pengaturan dan penyesuaian aplikasi FlipperZero

  • Setelah menjalankan aplikasi, di menu config dapat menggunakan Import Tag From File atau Register Tag Manually
  • File .keys dapat diletakkan di folder apps_data->findmy atau AppsData/FindMyFlipper pada kartu SD FlipperZero untuk diimpor
  • File .txt yang disimpan dari nrfConnect juga dapat diletakkan di folder yang sama untuk diimpor
  • Item yang dapat disesuaikan adalah sebagai berikut
    • Beacon Interval: mengatur seberapa sering FlipperZero menyiarkan keberadaannya
    • Transmit Power: mengatur kekuatan sinyal untuk menyeimbangkan jangkauan pelacakan dan masa pakai baterai

Kompatibilitas, alternatif, dan tanggung jawab

  • Kompatibel dengan hal-hal berikut
    • Perangkat Apple untuk pelacakan AirTag melalui jaringan FindMy
    • Perangkat dan browser web yang mendukung pelacakan Samsung SmartTag
    • Tile Tracker melalui Tile App
  • Untuk pelacakan dengan OpenHaystack, diperlukan macOS di bawah 14
    • Pada macOS 14 atau lebih tinggi ada masalah kompatibilitas plugin Mail
  • Sebagai alternatif, disarankan macless-haystack
    • Saat menggunakan metode ini, tetap hanya gunakan generate_keys.py dari folder AirTagGeneration
    • Skrip pembuatan kunci di repositori tersebut memiliki format file kunci yang berbeda, sedangkan file dari FindMy Flipper berisi data yang diperlukan agar dapat diimpor dengan benar ke FlipperZero
  • Aplikasi ini ditujukan untuk penggunaan pribadi dan edukasi
  • Pengguna harus mematuhi peraturan privasi dan regulasi lokal terkait perangkat pelacak
  • Penyalinan dan emulasi tag pelacak harus digunakan secara bertanggung jawab dengan menghormati kepemilikan perangkat asli
  • Proyek ini tidak berafiliasi dengan Apple Inc. maupun Samsung

1 komentar

 
GN⁺ 2024-08-20
Komentar Hacker News
  • Proyek yang menarik, tetapi salah satu dependensi turunannya yang dipakai di sini secara default tampaknya tidak aman:
    https://github.com/biemster/FindMy/blob/113ebf4017729b92a381...
    Sepertinya ini library autentikasi untuk iCloud, dan tampaknya MacBook device agent di-hardcode untuk menghubungkan key yang dibuat ke perangkat
    Seperti layanan tersentralisasi pada umumnya, saya tidak akan memakainya pada akun yang terkait dengan banyak layanan atau aset digital. Saya tidak akan terkejut kalau Apple memblokir akun yang dipakai seperti ini
    Karena ada kode adsid unik yang dibutuhkan untuk login, sepertinya tidak sulit juga untuk menemukannya

    • Kalau “tampaknya MacBook device agent di-hardcode untuk menghubungkan key yang dibuat ke perangkat”, secara teknis apakah itu berarti untuk mendaftarkan AirTag tidak perlu perangkat iOS, dan perangkat Apple apa pun sudah cukup?
      Tapi saya tidak mengerti kenapa Apple tidak mendukung ini secara resmi. Saya jadi berpikir apakah mereka ingin mendorong penjualan perangkat iOS
      Saya punya sekitar 5 ribu dolar perangkat desktop/mobile Apple, tetapi tetap harus membeli iPhone bekas lagi hanya untuk mendaftarkan beberapa AirTag, jadi saya kesal
    • Bukan apa-apa, itu localhost:
      https://github.com/biemster/FindMy/blob/113ebf4017729b92a381...
    • Library autentikasi untuk iCloud pada dasarnya tidak aman bagi pengguna, dan tentu saja tidak demikian bagi Apple, Inc. Menurut saya proyek ini, meski mengerikan, seharusnya di-fork menjadi dua produk terpisah
      Secara sadar saya tidak akan pernah mengintegrasikan library pihak ketiga. Sampai sekarang pun saya masih menjalankan semua rilis VenToy lewat pemindai virus, menunggu saat kerentanan ala NZ benar-benar terungkap
      Ini bukan karena alur pembayaran Apple, melainkan karena model langganan. Kalau Anda menyediakan gratis fitur yang mungkin dianggap menarik oleh Apple, Anda perlu berhati-hati. Apple bisa memblokir akses lalu mulai mengenakan biaya kepada pengguna
      Membuat para geek marah juga perlu dua kali lebih hati-hati. Mereka benar-benar menakutkan: bisa tertidur dalam keadaan marah pada Jumat malam, lalu sepanjang akhir pekan menganalisis produk sebagai black box dan membuat implementasinya menjadi sepele
  • Konsep ini tampaknya juga bisa dipakai untuk melewati fitur anti-stalking yang dimasukkan Apple dan pihak lain
    Misalnya, jika ada N tag donor lalu dipakai bergantian setiap 24/N jam, dari sudut pandang Apple atau pelacakan perangkat, orang yang dilacak tidak akan terlihat diikuti oleh satu tag yang sama dalam waktu lama

    • Kalau belum di-patch, saya pernah dengar bahwa cukup mematikan dan menyalakan daya tag secara berkala dengan timer saja sudah bisa menghindari deteksi
      Pasang baterai besar dan rangkaian timer sederhana, lalu lepaskan beeper-nya, maka jadilah perangkat pelacak yang bagus
      Seingat saya ini pernah dibahas dalam konteks melacak kargo berisi peralatan mahal. Pengiriman bisa memakan waktu berbulan-bulan, AirTag hemat daya sehingga bisa bertahan lama dengan baterai besar, sementara solusi GPS yang ada tidak memadai
    • Kenapa perlu tag donor? README proyek ini berisi cara membuat tag
    • Kalau harus terus menggilir tag, pada titik itu bukankah lebih sedikit usaha atau biaya kalau mengikuti langsung saja?
      Atau pakai tag GPS yang sama sekali tidak menggunakan “jaringan” AirTag, dan tidak perlu digilir
  • Saya masih memakai Flipper beberapa kali seminggu. Menantikan versi berikutnya yang mendukung Wi-Fi dan frekuensi lain

    • Dipakai untuk apa?
    • Apakah WiFi dev board belum cukup?
  • Apakah ada yang pernah menguji bagaimana aplikasi “Find My” bereaksi jika melihat tag yang sama di lebih dari satu lokasi?

    • Server Apple tidak tahu apa-apa tentang lokasi, jadi apakah lokasinya akan dirata-ratakan tergantung implementasi, dalam hal ini aplikasi FindMy
    • Kalau saya tidak melewatkan sesuatu, bukankah kemungkinan hanya memakai lokasi terbaru?
  • Saya memakai ini dan hasilnya luar biasa. Daya yang dipakai juga praktis hampir tidak ada
    Akan bagus kalau bisa berkomunikasi juga dengan jaringan Find My Device milik Google, tetapi di jaringan Apple ini sudah bekerja sangat baik

  • Akan bagus kalau ini bisa di-port ke perangkat BLE murah seperti ESP32-C3. Memakai Flipper sebagai AirTag agak mahal

  • Sayangnya perlu tag donor untuk ditiru, dan tag itu tidak bisa digunakan selama ini dipakai. Atau harus memakai OpenHaystack, tetapi untuk mendapatkan datanya perlu Mac

    • Tidak begitu. Saya memakainya di mesin Linux tanpa AirTag, dan berfungsi dengan baik
  • Akan bagus kalau README.md punya satu tautan agar orang tahu ini membicarakan apa: https://flipperzero.one/

  • Untuk memakai ini, aplikasi Android apa yang diperlukan? Kalau bisa, saya ingin aplikasi yang tidak memerlukan Google Services

    • Proyek ini untuk Flipper Zero, bukan ponsel
    • Saya tahu perlu Flipper, dan saya punya satu
      Tapi aplikasi Android apa yang sebenarnya bisa dipakai untuk “menemukan” ini? Saya tidak punya iPhone atau perangkat Samsung
    • Tidak ada. Cukup komputer dengan Python, git, dan Docker