Bagaimana saya menggunakan AirDrop, bukan Tinder

Bagaimana saya menggunakan AirDrop, bukan Tinder

Perangkat Apple memiliki fitur Airdrop yang luar biasa - fitur ini dibuat untuk mengirim data antar perangkat. Dalam hal ini, tidak diperlukan pengaturan atau pemasangan awal perangkat; semuanya langsung berfungsi dalam dua klik. Add-on melalui Wi-Fi digunakan untuk mentransfer data, dan oleh karena itu data ditransfer dengan kecepatan luar biasa. Pada saat yang sama, dengan menggunakan beberapa trik, Anda tidak hanya dapat mengirim file, tetapi juga mengetahui nomor telepon orang yang berada di gerbong kereta bawah tanah yang sama dengan Anda.

Selama setahun terakhir saya telah menggunakan fungsi ini untuk berkenalan secara menarik dalam perjalanan ke tempat kerja, di transportasi umum, dan di perusahaan katering umum. Rata-rata, saya berhasil mendapatkan beberapa kenalan baru setiap hari, dan terkadang saya meninggalkan kereta bawah tanah ditemani orang baru.

Di bawah potongan saya akan bercerita tentang semua kesemek.

Bagaimana cara kerja AirDrop?

Bagaimana saya menggunakan AirDrop, bukan Tinder

AirDrop adalah protokol untuk mentransfer file dalam jaringan peer-to-peer. Ini dapat bekerja baik melalui jaringan lokal biasa dan melalui udara antara perangkat Apple apa pun. Kami akan menganalisis kasus terakhir, ketika dua perangkat tidak terhubung ke jaringan yang sama, tetapi berada di dekatnya, misalnya, dua orang dengan telepon sedang bepergian di dalam gerbong kereta bawah tanah dan tidak terhubung ke Wi-Fi umum.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Tahap pertama transmisi melalui AirDrop adalah mengirimkan paket BLE

Untuk memulai transfer data melalui AirDrop, ponsel pemrakarsa mengirimkan paket siaran BLE, yang berisi informasi hash tentang akun iCloud dan nomor telepon pemilik perangkat pemrakarsa, dengan proposal untuk membuat koneksi melalui AWDL (Apple Wireless Direct Link ) protokol, seperti Wi-Fi.Fi Direct dari dunia Android. Struktur paket BLE ini sangat menarik, kami akan menganalisanya lebih lanjut.

Di pihak penerima, AirDrop dapat berada dalam tiga status:

  • Dimatikan - tidak akan terdeteksi sama sekali
  • Hanya untuk kontak — menerima file hanya dari kontak di buku alamat Anda. Dalam hal ini, kontak dianggap sebagai nomor telepon atau email yang terhubung dengan akun iCloud. Logika yang sama untuk menautkan akun berfungsi di sini seperti pada iMessages messenger.
  • Untuk semuanya - telepon akan terlihat oleh semua orang

Bagaimana saya menggunakan AirDrop, bukan Tinder
Pengaturan privasi AirDrop. Status default diatur ke “Untuk kontak”.

Tergantung pada pengaturan privasi Anda, telepon akan terus membuat koneksi melalui AWDL atau mengabaikan paket BLE. Jika AirDrop diatur ke “untuk semua orang”, maka pada langkah berikutnya perangkat akan terhubung satu sama lain melalui AWDL, membuat jaringan IPv6 di antara mereka, di mana AirDrop akan berfungsi sebagai protokol aplikasi biasa menggunakan mDNS melalui protokol IP standar.

Bagaimana saya menggunakan AirDrop, bukan Tinder

Untuk eksperimen, Anda dapat melihat cara kerja AWDL di MacBook. Semua pertukaran berdasarkan protokol ini terjadi melalui antarmuka awdl0, yang dapat ditangkap dengan mudah menggunakan Wireshark atau tcpdump.

Pada tahap ini kita mengenal tiga entitas:

Paket Bluetooth LowEnergy (BLE). - paket ini berisi data yang menjadi dasar ponsel memutuskan apakah pemrakarsa ada dalam daftar kontaknya atau tidak.
Tautan Langsung Nirkabel Apple (AWDL) — pengganti Wi-Fi Direct dari Apple, diaktifkan jika komunikasi melalui BLE berhasil.
Penurunan amunisi dan persedian-persedian lainnya dan orang dgn payung - protokol aplikasi yang beroperasi dalam jaringan IP biasa menggunakan mDNS, HTTP, dll. Dapat bekerja dalam jaringan Ethernet apa pun.

Struktur paket BLE

Tampaknya paket BLE ini hanya terbang sekali dari pemrakarsa ke penerima, dan kemudian pertukaran hanya terjadi melalui AWDL. Pada kenyataannya, koneksi AWDL mempunyai umur yang sangat pendek, hanya beberapa menit atau kurang. Jadi, jika penerima file ingin merespons Anda, dia juga akan bertindak sebagai inisiator dan mengirimkan paket BLE.

Bagaimana telepon penerima memahami apakah nomor/email pemrakarsa ada dalam daftar kontaknya atau tidak? Saya sangat terkejut ketika mengetahui jawabannya: pemrakarsa mengirimkan nomor dan emailnya sebagai hash sha256, tapi tidak seluruhnya, tapi hanya 3 byte pertama.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Struktur paket BLE dari inisiator AirDrop. Dengan menggunakan hash dari nomor telepon dan email, responden memahami apakah pemrakarsa ada dalam daftar kontaknya.

Misalnya, jika akun Apple Anda (alias iCloud, alias iMessages) ditautkan ke nomor +79251234567, hash dari akun tersebut akan dihitung seperti ini:

echo -n "+79251234567" | shasum -a 256
07de58621e5d274f5844b6663a918a94cfd0502222ec2adee0ae1aed148def36

Dan akibatnya, nilai pada paket BLE akan terbang jauh 07de58 untuk nomor telepon. Tampaknya ini tidak cukup, tetapi seringkali tiga byte ini cukup untuk mengetahui nomor telepon sebenarnya.

Penting juga untuk diingat bahwa pengaturan privasi AirDrop tidak memengaruhi data dalam paket BLE. Hash nomor telepon akan terkandung di dalamnya, meskipun pengaturan “Untuk semua orang” disetel. Selain itu, paket BLE dengan hash nomor telepon dikirim ketika jendela Bagikan dibuka dan ketika kata sandi untuk jaringan Wi-Fi dimasukkan.

Untuk analisis rinci tentang struktur paket BLE dan kemungkinan serangan terhadapnya, baca penelitiannya Apel Blee dan Rusia terjemahan ke Habré.

Studi Apple Bleee menerbitkan skrip python siap pakai untuk mengotomatisasi analisis data dalam paket BLE. Saya sangat merekomendasikan untuk memeriksa penelitian dan mencoba programnya, ada banyak hal menarik di luar sana.

AWDL (Tautan Langsung Nirkabel Apple)

AWDL adalah add-on milik Apple untuk Wi-Fi biasa yang mengimplementasikan sesuatu seperti Wi-Fi Direct. Saya tidak sepenuhnya tahu cara kerjanya, ada cara khusus untuk mengumumkan dan mengoordinasikan saluran, dan ini hanya berfungsi pada driver milik Apple. Artinya, hanya MacBook/iPhone yang dapat terhubung melalui AWDL.

Pemilik ponsel Android yang sedih masih hanya memimpikan fungsi Wi-Fi Direct yang berfungsi dengan baik.

Bagaimana saya menggunakan AirDrop, bukan Tinder

Tapi belum lama ini orang-orang dari sepertinya-lab menulis implementasi AWDL yang sepenuhnya open source dan menyebutnya Buka Tautan Nirkabel (BURUNG HANTU). Untuk menjalankan OWL, adaptor Wi-Fi harus mendukung mode monitor dan injeksi paket, sehingga tidak berjalan di semua perangkat keras. Situs ini memiliki contoh konfigurasi pada Raspberry pi. Ini bekerja jauh lebih buruk daripada AWDL asli, misalnya, waktu pengaturan koneksi diperpanjang ~10 detik, bukan beberapa detik untuk yang asli, tetapi berhasil.

Bagaimana saya menggunakan AirDrop, bukan Tinder

Juga, orang-orang ini menulis dari awal sebuah implementasi protokol AirDrop dengan Python, yang disebut Buka Jatuhkan. Ini dapat digunakan bersama dengan OWL untuk meluncurkan AirDrop di Linux dan dengan AWDL asli di macOS.

Cara menggulung melalui AirDrop

Bagaimana saya menggunakan AirDrop, bukan Tinder
Situasi umum dengan pengguliran melalui AirDrop

Teori yang cukup membosankan, saatnya mulai berlatih. Jadi Anda dipersenjatai dengan semua peralatan yang diperlukan dan siap untuk bergerak maju dan menggulung bola menggunakan teknologi tinggi.

Pertama, Anda perlu mengingat poin-poin utamanya:

  • AirDrop hanya akan berfungsi jika ponsel tidak terkunci – sebaiknya target terus-menerus melihat ponsel. Paling sering ini terjadi di tempat-tempat yang membosankan, misalnya di kereta bawah tanah.
  • Butuh waktu — biasanya konversi positif terjadi pada gambar ke 3-5 yang dikirim, sehingga Anda memerlukan waktu tenang minimal 5 menit di satu tempat. Saya menganggap konversi positif sebagai momen ketika Anda setuju melalui AirDrop untuk terus berkomunikasi di messenger. Hal ini sulit untuk diterapkan dengan cepat, karena tidak segera jelas siapa yang menerima muatan Anda, dan kemungkinan besar Anda akan melakukan pemanasan sebelum Anda dapat menyetujui sesuatu.
  • Materi iklan yang dipersonalisasi berfungsi lebih baik — Saya menyebut payload sebagai konten media yang Anda kirim melalui AirDrop. Gambar meme saja kemungkinan besar tidak akan menghasilkan apa-apa; kontennya harus relevan dengan situasi dan memiliki ajakan bertindak yang jelas.

Metode klasiknya hanyalah telepon

Cocok untuk semua orang yang memiliki iPhone, tidak memerlukan keahlian khusus selain sosial. Kami mengalihkan AirDrop ke mode Semua Orang dan turun ke kereta bawah tanah. Pada hari biasa (sebelum isolasi mandiri) di dalam mobil metro Moskow, saya mengamati sesuatu seperti ini:

Bagaimana saya menggunakan AirDrop, bukan Tinder
Daftar target

Seperti yang Anda lihat, hampir semua ponsel menyiarkan nama pemiliknya, sehingga kita dapat dengan mudah menentukan jenis kelaminnya dan menyiapkan muatan yang sesuai.

Muatan

Seperti yang saya tulis di atas, muatan unik berfungsi lebih baik. Idealnya, gambar tersebut harus menyebutkan nama pemiliknya. Sebelumnya, saya harus membentuk kreativitas menggunakan editor grafis di aplikasi catatan dan semacam rintisan Photoshop seluler. Alhasil, pada saat gambar yang dibutuhkan sudah dibuat, ia sudah harus keluar dari mobil.

Temanku Anya koteeq, khusus atas permintaan saya, menulis bot Telegram yang menghasilkan gambar yang diperlukan dengan teks dengan cepat: @AirTrollBot. Saya sangat berterima kasih padanya atas kenyataan bahwa saya sekarang dapat melempar bola dengan lebih berteknologi daripada sebelumnya.

Cukup dengan mengirimkan satu baris teks ke bot, dan bot akan menghasilkannya dalam bentuk gambar yang sama persis dengan rasio aspek untuk pratinjau di jendela AirDrop. Anda dapat memilih karakter dalam gambar dengan menekan tombol. Anda juga dapat secara opsional mengaktifkan penambahan login Telegram Anda ke gambar di sudut.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Generator muatan

Parahnya, gambar tersebut langsung ditampilkan di layar korban tanpa ada tindakan apa pun. Anda bahkan tidak perlu mengklik "terima". Anda dapat melihat reaksi instan di wajah saat memuat muatan. Sayangnya, mulai iOS 13, gambar dari kontak asing tidak lagi ditampilkan di layar. Berikut tampilannya sebelumnya:

Bagaimana saya menggunakan AirDrop, bukan Tinder
Payload dikirimkan di iOS ≤12

Sekarang, alih-alih pratinjau, hanya nama perangkat pengirim yang ditampilkan. Oleh karena itu, satu-satunya cara untuk menghubungi korban dengan iOS ≥13 dengan menyebutkan namanya adalah dengan mengaturnya di pengaturan perangkat Anda, misalnya memanggil telepon “Yulia, halo.” Petunjuk: Anda dapat menggunakan emoji di nama perangkat. Tentu saja, metode ini tidak secemerlang dengan gambar, namun sangat meningkatkan kemungkinan mengklik tombol “terima”.

Deskripsi lebih lanjut tentang tindakan tersebut berada di luar cakupan artikel teknis dan hanya bergantung pada imajinasi, improvisasi, dan humor Anda. Saya hanya bisa mengatakan bahwa mereka yang mengikuti permainan ini dan mulai merespons Anda dengan gambar atau mengirim catatan biasanya adalah orang-orang yang sangat ceria, terbuka, dan menarik. Mereka yang, setelah melihat gambarnya, tidak menanggapi, atau lebih buruk lagi, menolak pesan tersebut, biasanya adalah orang sombong dan pemalu yang membosankan. Faktor ketakutan juga sering berperan: orang yang rapuh dan pemalu takut berinteraksi dengan orang asing yang sombong dan tidak dikenal.

Mesin pick-pick otomatis

Jika Anda terlalu malas untuk membuat dan mengirim muatan secara manual, dan ingin mengotomatiskan prosesnya, Anda dapat membuat mesin pemilih suara otomatis, yang di latar belakang akan mengirimkan gambar melalui AirDrop ke semua orang dalam jangkauan. Kami akan menggunakan raspberry pi zero sebagai platform perangkat keras, tetapi komputer mana pun dengan Linux dapat melakukannya, yang utama adalah kartu Wi-Fi mendukung mode monitor dan injeksi paket.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Pengirim speaker melalui Airdrop berdasarkan raspberry pi zero w + pelindung baterai UPS Lite

Ada program banjir AirDrop untuk iPhone Jailbreak, mereka bekerja lebih stabil daripada versi terbuka pada raspberry pi

Menyiapkan OWL pada raspberry pi dijelaskan secara rinci di situs web proyek, tapi saya lebih suka menggunakan build Kali Linux untuk Raspberry Pi Zero karena sudah menginstal patch nexmon untuk mengaktifkan mode monitor Wi-Fi di rpi0.

Penting untuk diingat bahwa Airdrop (atau lebih tepatnya AWDL) diaktifkan untuk pasien hanya setelah menerima paket BLE. Oleh karena itu, kita harus mengirimkannya dengan interval beberapa detik. Ini dapat dilakukan dengan menggunakan utilitas py-bluetooth-utils. Menggunakan fungsi start_le_advertising(), saya mengirim string data dari contoh apple bleee: 000000000000000001123412341234123400.

Setelah Anda memiliki daemon OWL yang berfungsi, Anda dapat meluncurkan fork saya drop terbuka. Ada skrip di repositori flooder.py, yang mengirimkan gambar kepada semua orang kak_dela.jpeg.

Menurut pengamatan saya, raspberry pi zero w tidak stabil dalam mode monitor. Setelah sekitar 20 menit operasi banjir aktif, subsistem Wi-Fi mogok. Masalahnya dijelaskan oleh penulis pwnagotchi, dan mungkin disebabkan oleh panas berlebih. Penting untuk menyediakan pengawas atau menggunakan perangkat keras yang lebih stabil

Mode Maniacello - Saya tahu nomor Anda

Jika Anda ingin menunjukkan diri Anda sebagai seorang maniak yang tidak memadai dan selamanya menyurutkan keinginan untuk terus berkomunikasi dengan Anda, Anda dapat mencoba mencari tahu nomor telepon orang yang ada di dekatnya.

Seperti yang kita pelajari sebelumnya, paket BLE yang dikirim oleh pemrakarsa berisi tiga byte pertama nomor telepon sha256. Hash ini dapat ditangkap ketika korban mengklik tombol “bagikan” dan mulai memindai perangkat airdrop atau mengetuk kata sandi Wi-Fi untuk jaringan baru di kolom input (dengan cara ini, Apple mencari teman dalam jangkauan yang dapat Anda minta. kata sandi jaringan).

Anda harus memicu pesan hash dari korban dan menangkapnya. Saya menggunakan utilitas dari repositori Apel Blee. Karena alamat MAC Bluetooth perangkat acak dan terus berubah, Anda harus mencari cara lain untuk menentukan perangkat yang diinginkan dalam daftar ini. Tugas ini disederhanakan oleh fakta bahwa iOS menyiarkan status ponsel saat ini seperti: layar mati, layar hidup, layar kunci, tidak terkunci, dll. Oleh karena itu, cukup dengan mengamati tindakan korban, Anda dapat membandingkan status perangkat saat ini dengan perangkat di tabel. Cara termudah adalah dengan mengabadikan momen ketika pengguna mengeluarkan ponsel dari sakunya, menyalakan layar, dan membuka kunci ponsel dengan jari atau wajahnya. Semua ini akan terlihat di sniffer.

Bagaimana saya menggunakan AirDrop, bukan Tinder
icon Х berarti paket dengan hash telepon telah ditangkap.

Pengurainya terkadang rusak, tetapi paling sering berhasil. Saya tidak akan sepenuhnya menceritakan kembali inti dari kerentanan tersebut, karena telah dianalisis secara rinci oleh penulis Apple Blee, saya hanya akan menjelaskan pengalaman saya. Saya hanya akan mengatakan bahwa saya menggunakan adaptor USB Bluetooth pada chip CSR 8510, karena bagi saya ini bekerja jauh lebih stabil daripada adaptor Bluetooth yang terpasang di MacBook dan dimasukkan ke dalam mesin virtual.

Jadi kami menangkap hash dari ponsel korban dan menerima tiga byte yang didambakan dari hash nomor telepon tersebut.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Paket BLE yang disadap dengan hash nomor telepon menggunakan utilitas baca_ble_state.py

Kita tahu bahwa di Rusia semua nomor ponsel diawali dengan kode +79 dan, kemungkinan besar, ponsel korban kita memiliki kode yang sama. Ternyata kita mempunyai rentang angka dari +79000000000 hingga +79999999999, sekitar satu miliar angka.

Untuk mempersempit jangkauan, kami hanya mengambil kode yang benar-benar terdaftar di operator mana pun dan membuang sisanya. Akibatnya, jangkauannya menjadi setengah besarnya, sekitar setengah miliar jumlahnya.

Selanjutnya, kami membuat sha256 dari semua nomor dan hanya menyimpan 3 byte pertama dari setiap hash. Kami memasukkan daftar ini ke dalam database Sqlite dan membuat indeks untuk mempercepat pencarian.

Berikut tampilan data di database:

Bagaimana saya menggunakan AirDrop, bukan Tinder
Semua nomor telepon Rusia dan tiga byte pertama hash

Selanjutnya, dengan memiliki hash korban, kita dapat mencari semua kecocokan di database. Biasanya ada 15-30 kecocokan per hash.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Semua nomor yang cocok dengan hash korban

Tentu saja, tidak semua nomor tersebut benar-benar digunakan. Kita dapat memotong yang tidak perlu menggunakan permintaan HLR atau SMS yang tidak terlihat. Dari 30 nomor, 5 ditemukan online.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Hasil dari permintaan HLR. Nomor jaringan disorot dengan warna hijau.

Saya bisa terus menyaring nomor-nomornya, misalnya, menambahkan semuanya ke Telegram/Whatsapp dan melihat avatarnya, memeriksa database seperti Getcontact dan sebagainya. Namun ternyata lebih mudah untuk hanya menelepon kelima nomor tersebut satu per satu dan melihat kapan telepon korban berdering.

Bagaimana saya menggunakan AirDrop, bukan Tinder
Sasaran terletak

Semua

  • Flooder pada raspberry pi sangat tidak stabil, Anda perlu mencoba papan tunggal lainnya.
  • Flooder asli untuk iOS akan jauh lebih baik, tetapi saya tidak dapat menemukan yang berfungsi di iOS 12-13 bahkan dengan jailbreak.
  • Skrip Flooder.py sangat bodoh. Ini mungkin dapat menghasilkan gambar yang dipersonalisasi dengan mengambil nama dari nama perangkat penerima dan memotong kata iPhone.
  • Metode penentuan nomor telepon dapat dioptimalkan dengan hanya memeriksa fakta bahwa nomor tersebut terhubung ke iMessage. Kemungkinan besar ini akan memberi Anda tingkat keberhasilan yang mendekati 100%.

Kesimpulan

Ini adalah hiburan yang sempurna untuk metro. Ada efek wow, penasaran jadi tertarik dengan ini. Banyak improvisasi, ada kasus-kasus lucu. Ternyata banyak orang yang rela ikut-ikutan bahkan membatalkan rencananya demi turun di stasiun metro dan pergi minum kopi. Sepanjang tahun, saya bertemu banyak orang dan terus berkomunikasi dengan beberapa dari mereka.

Terkadang saya mematikan login Telegram dan bersenang-senang begini.

Bagaimana saya menggunakan AirDrop, bukan Tinder

Bagaimana saya menggunakan AirDrop, bukan Tinder

Sumber: www.habr.com

Tambah komentar