Cara saya menggunakan AirDrop dan bukannya Tinder

Cara saya menggunakan AirDrop dan bukannya Tinder

Peranti Apple mempunyai ciri Airdrop yang sangat baik - ia dibuat untuk menghantar data antara peranti. Dalam kes ini, tiada persediaan atau gandingan awal peranti diperlukan; semuanya berfungsi di luar kotak dalam dua klik. Alat tambah melalui Wi-Fi digunakan untuk memindahkan data, dan oleh itu data dipindahkan pada kelajuan yang sangat tinggi. Pada masa yang sama, menggunakan beberapa helah, anda bukan sahaja boleh menghantar fail, tetapi juga mengetahui nombor telefon orang yang berada dalam kereta bawah tanah yang sama dengan anda.

Untuk tahun lepas saya telah menggunakan fungsi ini untuk membuat kenalan yang menarik dalam perjalanan ke tempat kerja, di pengangkutan awam, dan di pertubuhan katering awam. Secara purata, saya berjaya membuat beberapa kenalan baru setiap hari, dan kadang-kadang saya meninggalkan kereta bawah tanah bersama orang baru.

Di bawah potongan saya akan memberitahu anda tentang semua kesemak.

Bagaimanakah AirDrop berfungsi?

Cara saya menggunakan AirDrop dan bukannya Tinder

AirDrop ialah protokol untuk memindahkan fail dalam rangkaian peer-to-peer. Ia boleh berfungsi melalui rangkaian tempatan biasa dan melalui udara antara mana-mana peranti Apple. Kami akan menganalisis kes terakhir, apabila dua peranti tidak disambungkan ke rangkaian biasa, tetapi hanya berdekatan, contohnya, dua orang dengan telefon sedang dalam perjalanan dalam kereta bawah tanah dan tidak disambungkan ke Wi-Fi biasa.

Cara saya menggunakan AirDrop dan bukannya Tinder
Peringkat pertama penghantaran melalui AirDrop adalah menghantar paket BLE

Untuk memulakan pemindahan data melalui AirDrop, telefon pemula menghantar paket siaran BLE, yang mengandungi maklumat cincang tentang akaun iCloud dan nombor telefon pemilik peranti pemula, dengan cadangan untuk mewujudkan sambungan melalui AWDL (Apple Wireless Direct Link ) protokol, sesuatu seperti Wi-Fi. Fi Direct daripada dunia Android. Struktur paket BLE ini sangat menarik, kami akan menganalisisnya dengan lebih lanjut.

Di pihak penerima, AirDrop boleh berada dalam tiga keadaan:

  • Dimatikan - tidak akan dikesan sama sekali
  • Untuk kenalan sahaja β€” terima fail hanya daripada kenalan dalam buku alamat anda. Dalam kes ini, kenalan itu dianggap sebagai nombor telefon atau e-mel yang dipautkan akaun icloud. Logik yang sama untuk memautkan akaun berfungsi di sini seperti dengan messenger iMessages.
  • Untuk semua - telefon akan kelihatan kepada semua orang

Cara saya menggunakan AirDrop dan bukannya Tinder
Tetapan privasi AirDrop. Status lalai ditetapkan kepada "Untuk kenalan".

Bergantung pada tetapan privasi anda, telefon sama ada akan terus membuat sambungan melalui AWDL atau hanya mengabaikan paket BLE. Jika AirDrop ditetapkan kepada "untuk semua orang", maka dalam langkah seterusnya peranti akan bersambung antara satu sama lain melalui AWDL, buat rangkaian IPv6 antara mereka, di mana AirDrop akan berfungsi sebagai protokol aplikasi biasa menggunakan mDNS melalui protokol IP standard.

Cara saya menggunakan AirDrop dan bukannya Tinder

Untuk percubaan, anda boleh menonton cara AWDL berfungsi pada MacBook. Semua pertukaran di bawah protokol ini berlaku melalui antara muka awdl0, yang boleh ditangkap dengan mudah menggunakan Wireshark atau tcpdump.

Pada peringkat ini kita mengenali tiga entiti:

Pakej Bluetooth LowEnergy (BLE). - paket ini mengandungi data berdasarkan telefon yang memutuskan sama ada pemula berada dalam senarai kenalannya atau tidak.
Apple Wireless Direct Link (AWDL) β€” penggantian proprietari untuk Wi-Fi Direct daripada Apple, diaktifkan jika komunikasi melalui BLE berjaya.
AirDrop - protokol aplikasi yang beroperasi dalam rangkaian IP biasa menggunakan mDNS, HTTP, dsb. Boleh bekerja dalam mana-mana rangkaian Ethernet.

Struktur paket BLE

Nampaknya paket BLE ini terbang sekali sahaja dari pemula kepada penerima, dan kemudian pertukaran berlaku hanya melalui AWDL. Pada hakikatnya, sambungan AWDL mempunyai jangka hayat yang sangat singkat, hanya beberapa minit atau kurang. Jadi, jika penerima fail ingin membalas kepada anda, dia juga akan bertindak sebagai pemula dan menghantar paket BLE.

Bagaimanakah telefon di bahagian penerima memahami sama ada nombor/e-mel pemula ada dalam senarai kenalannya atau tidak? Saya sangat terkejut apabila saya mengetahui jawapannya: pemula menghantar nombor dan e-melnya sebagai cincang sha256, tetapi tidak sepenuhnya, tetapi hanya 3 bait pertama.

Cara saya menggunakan AirDrop dan bukannya Tinder
Struktur paket BLE daripada pemula AirDrop. Menggunakan cincang daripada nombor telefon dan e-mel, responden memahami sama ada pemula berada dalam senarai kenalannya.

Contohnya, jika akaun Apple anda (aka iCloud, aka iMessages) dipautkan ke nombor +79251234567, cincangan daripadanya akan dikira seperti ini:

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

Dan akibatnya, nilai dalam paket BLE akan hilang 07de58 untuk nombor telefon. Ini nampaknya tidak mencukupi, tetapi selalunya tiga bait ini cukup untuk mengetahui nombor telefon sebenar.

Ia juga penting untuk diingat bahawa tetapan privasi AirDrop tidak menjejaskan data dalam paket BLE. Cincang nombor telefon akan terkandung di dalamnya, walaupun tetapan "Untuk semua orang" ditetapkan. Juga, paket BLE dengan cincang nombor telefon dihantar apabila tetingkap Kongsi dibuka dan apabila kata laluan untuk rangkaian Wi-Fi dimasukkan.

Untuk analisis terperinci tentang struktur paket BLE dan kemungkinan serangan ke atasnya, baca kajian tersebut Apple Bleee dan bahasa Rusia terjemahan kepada HabrΓ©.

Kajian Apple Bleee menerbitkan skrip python siap sedia untuk mengautomasikan analisis data dalam pakej BLE. Saya sangat mengesyorkan menyemak penyelidikan dan mencuba program, terdapat banyak perkara menarik di luar sana.

AWDL (Pautan Terus Wayarles Apple)

AWDL ialah alat tambah Apple proprietari kepada Wi-Fi biasa yang melaksanakan sesuatu seperti Wi-Fi Direct. Saya tidak tahu sepenuhnya cara ia berfungsi, terdapat cara khas untuk mengumumkan dan menyelaraskan saluran, dan ia hanya berfungsi pada pemacu Apple proprietari. Iaitu, hanya MacBook/iPhone boleh menyambung melalui AWDL.

Pemilik telefon Android yang menyedihkan masih hanya mengimpikan fungsi Wi-Fi Direct yang berfungsi dengan betul.

Cara saya menggunakan AirDrop dan bukannya Tinder

Tetapi tidak lama dahulu lelaki dari nampak-makmal menulis pelaksanaan sumber terbuka sepenuhnya AWDL dan memanggilnya Buka Pautan Wayarles (OWL). Untuk menjalankan OWL, penyesuai Wi-Fi mesti menyokong mod monitor dan suntikan paket, jadi ia tidak berjalan pada setiap perkakasan. Tapak ini mempunyai contoh konfigurasi pada Raspberry pi. Ini berfungsi dengan ketara lebih teruk daripada AWDL asal, contohnya, masa persediaan sambungan dilanjutkan sebanyak ~10 saat dan bukannya beberapa saat untuk yang asal, tetapi ia berfungsi.

Cara saya menggunakan AirDrop dan bukannya Tinder

Juga, mereka ini menulis dari awal pelaksanaan protokol AirDrop dalam Python, dipanggil OpenDrop. Ia boleh digunakan bersama-sama dengan OWL untuk melancarkan AirDrop pada Linux dan dengan AWDL asal pada macOS.

Cara menggulung melalui AirDrop

Cara saya menggunakan AirDrop dan bukannya Tinder
Situasi biasa dengan melancarkan melalui AirDrop

Cukuplah teori yang membosankan, sudah tiba masanya untuk mula berlatih. Jadi anda dipersenjatai dengan semua peralatan yang diperlukan dan bersedia untuk bergerak ke hadapan dan menggulung bola menggunakan teknologi tinggi.

Mula-mula anda perlu mengingati perkara utama:

  • AirDrop hanya akan berfungsi jika telefon dibuka kunci – lebih baik jika sasaran sentiasa melihat telefon. Selalunya ini berlaku di tempat yang membosankan, contohnya di kereta bawah tanah.
  • Perlukan masa β€” biasanya, penukaran positif berlaku pada imej ke-3-5 yang dihantar, jadi anda memerlukan sekurang-kurangnya 5 minit masa senyap di satu tempat. Saya menganggap penukaran positif sebagai saat anda bersetuju melalui AirDrop untuk terus berkomunikasi dalam messenger. Ini adalah sukar untuk dilaksanakan dengan cepat, kerana tidak jelas dengan segera siapa yang menerima muatan anda, dan kemungkinan besar anda akan memanaskan badan sebelum anda boleh bersetuju dengan sesuatu.
  • Kreatif diperibadikan berfungsi dengan lebih baik β€” Saya memanggil muatan media kandungan yang anda hantar melalui AirDrop. Hanya sekeping gambar dengan meme berkemungkinan besar tidak akan membawa ke mana-mana; kandungan haruslah relevan dengan situasi dan mempunyai seruan untuk bertindak yang jelas.

Kaedah klasik - hanya telefon

Sesuai untuk semua orang yang mempunyai iPhone, tidak memerlukan sebarang kemahiran khas selain daripada kemahiran sosial. Kami menukar AirDrop kepada mod Semua orang dan turun ke kereta api bawah tanah. Pada hari biasa (sebelum pengasingan diri) dalam kereta metro Moscow, saya memerhatikan sesuatu seperti ini:

Cara saya menggunakan AirDrop dan bukannya Tinder
Senarai sasaran

Seperti yang anda lihat, hampir semua telefon menyiarkan nama pemilik, yang dengannya kita boleh menentukan jantinanya dengan mudah dan menyediakan muatan yang sesuai.

Muatan

Seperti yang saya tulis di atas, muatan unik berfungsi dengan lebih baik. Sebaik-baiknya, gambar harus merujuk kepada pemilik dengan nama. Sebelum ini, saya terpaksa mengukir kreativiti menggunakan editor grafik dalam aplikasi nota dan beberapa jenis tunas Photoshop mudah alih. Akibatnya, pada masa gambar yang diperlukan dilukis, ia sudah perlu untuk keluar dari kereta.

Kawan saya Anya koteeq, khususnya atas permintaan saya, menulis bot Telegram yang menghasilkan gambar yang diperlukan dengan kapsyen dengan segera: @AirTrollBot. Saya sangat berterima kasih kepadanya kerana saya kini boleh menggulung bola dengan lebih teknologi berbanding sebelum ini.

Ia cukup untuk menghantar bot satu baris teks, dan ia akan menjananya dalam bentuk imej yang betul-betul sepadan dengan nisbah bidang untuk pratonton dalam tetingkap AirDrop. Anda boleh memilih watak dalam gambar dengan menekan butang. Anda juga boleh secara pilihan mendayakan menambah log masuk Telegram anda pada gambar di sudut.

Cara saya menggunakan AirDrop dan bukannya Tinder
Penjana muatan

Perkara yang paling teruk ialah gambar itu ditunjukkan serta-merta pada skrin mangsa tanpa sebarang tindakan. Anda tidak perlu mengklik "terima". Anda boleh melihat reaksi segera pada muka daripada memuatkan muatan. Malangnya, pada iOS 13, gambar daripada kenalan yang tidak dikenali tidak lagi ditunjukkan pada skrin. Inilah rupanya sebelum ini:

Cara saya menggunakan AirDrop dan bukannya Tinder
Muatan dihantar pada iOS ≀12

Kini, bukannya pratonton, hanya nama peranti pengirim ditunjukkan. Oleh itu, satu-satunya cara untuk menghubungi mangsa dengan iOS β‰₯13 dengan nama ialah menetapkannya dalam tetapan peranti anda, sebagai contoh, hubungi telefon "Yulia, hello." Petunjuk: Anda boleh menggunakan emoji dalam nama peranti. Sudah tentu, kaedah ini tidak secerah gambar, tetapi ia sangat meningkatkan peluang untuk mengklik butang "terima".

Penerangan lanjut tentang tindakan adalah di luar skop artikel teknikal dan hanya bergantung pada imaginasi, penambahbaikan dan jenaka anda. Saya hanya boleh mengatakan bahawa mereka yang menyertai permainan ini dan mula membalas kepada anda dengan gambar atau menghantar nota biasanya adalah orang yang sangat ceria, terbuka dan menarik. Mereka yang, selepas melihat gambar, langsung tidak membalas, atau lebih teruk, menolak mesej itu, biasanya membosankan dan bodoh. Faktor ketakutan juga sering memainkan peranan: orang yang rapuh, pemalu takut untuk berinteraksi dengan orang asing tanpa nama yang sombong itu.

Mesin pilih-pilih automatik

Jika anda terlalu malas untuk menjana dan menghantar muatan secara manual, dan anda ingin mengautomasikan proses, anda boleh membuat mesin pilihan suara automatik, yang di latar belakang akan menghantar gambar melalui AirDrop kepada semua orang dalam julat. Kami akan menggunakan raspberry pi zero sebagai platform perkakasan, tetapi mana-mana komputer dengan Linux akan melakukannya, perkara utama ialah kad Wi-Fi menyokong mod monitor dan suntikan paket.

Cara saya menggunakan AirDrop dan bukannya Tinder
Pengirim pembesar suara melalui Airdrop berdasarkan raspberry pi sifar w + pelindung bateri UPS Lite

Terdapat program banjir AirDrop untuk iPhone Jailbreak, ia berfungsi lebih stabil daripada versi terbuka pada raspberry pi

Menyediakan OWL pada raspberry pi diterangkan secara terperinci di laman web projek, tetapi saya lebih suka menggunakan binaan Kali Linux untuk Raspberry Pi Zero kerana ia sudah mempunyai patch nexmon yang dipasang untuk mendayakan mod monitor Wi-Fi pada rpi0.

Adalah penting untuk diingat bahawa Airdrop (atau lebih tepatnya AWDL) diaktifkan untuk pesakit hanya selepas menerima paket BLE. Oleh itu, kami mesti menghantarnya pada selang beberapa saat. Ini boleh dilakukan menggunakan utiliti py-bluetooth-utils. Menggunakan fungsi start_le_advertising(), saya menghantar rentetan data daripada contoh apple bleee: 000000000000000001123412341234123400.

Sebaik sahaja anda mempunyai daemon OWL yang berfungsi, anda boleh melancarkan garpu saya opendrop. Terdapat skrip dalam repositori flooder.py, yang menghantar gambar kepada semua orang kak_dela.jpeg.

Mengikut pemerhatian saya, raspberry pi sifar w tidak stabil dalam mod monitor. Selepas kira-kira 20 minit operasi banjir aktif, subsistem Wi-Fi ranap. Masalahnya diterangkan oleh penulis pwnagotchi, dan mungkin disebabkan oleh terlalu panas. Ia adalah perlu untuk menyediakan anjing pemerhati atau menggunakan perkakasan yang lebih stabil

Mod Maniacello - Saya tahu nombor awak

Jika anda ingin menunjukkan diri anda sebagai seorang gila yang tidak mencukupi dan selama-lamanya tidak menggalakkan keinginan untuk terus berkomunikasi dengan anda, anda boleh cuba mengetahui nombor telefon orang yang berada berdekatan.

Seperti yang kita ketahui sebelum ini, paket BLE yang dihantar oleh pemula mengandungi tiga bait pertama nombor telefon sha256. Cincang ini boleh ditangkap apabila mangsa mengklik butang "kongsi" dan mula mengimbas peranti airdrop atau mengetik kata laluan Wi-Fi untuk rangkaian baharu dalam medan input (dengan cara ini, Apple mencari rakan dalam lingkungan yang boleh anda minta kata laluan rangkaian).

Anda perlu mencetuskan mesej cincang daripada mangsa dan menangkapnya. Saya menggunakan utiliti dari repositori Apple Bleee. Memandangkan alamat Bluetooth MAC peranti adalah rawak dan sentiasa berubah, anda perlu mencari cara lain untuk menentukan peranti yang dikehendaki dalam senarai ini. Tugas ini dipermudahkan oleh fakta bahawa iOS menyiarkan keadaan semasa telefon seperti: skrin dimatikan, skrin dihidupkan, skrin kunci, dibuka kunci, dsb. Oleh itu, hanya dengan memerhatikan tindakan mangsa, anda boleh membandingkan keadaan semasa peranti dengan peranti dalam jadual. Cara paling mudah ialah menangkap detik apabila pengguna mengeluarkan telefon dari poketnya, menghidupkan skrin dan membuka kunci telefon dengan jari atau mukanya. Semua ini akan kelihatan dalam penghidu.

Cara saya menggunakan AirDrop dan bukannya Tinder
icon Π₯ bermakna satu paket dengan cincang telefon telah ditangkap.

Penghurai mereka kadangkala rosak, tetapi selalunya ia berfungsi. Saya tidak akan menceritakan sepenuhnya intipati kelemahan, kerana ia telah dianalisis secara terperinci oleh pengarang Apple Blee, saya hanya akan menerangkan pengalaman saya. Saya hanya akan mengatakan bahawa saya menggunakan penyesuai Bluetooth USB pada cip CSR 8510, kerana ia berfungsi lebih stabil untuk saya daripada penyesuai Bluetooth yang dibina ke dalam MacBook dan dimasukkan ke dalam mesin maya.

Jadi kami menangkap cincang daripada telefon mangsa dan menerima tiga bait yang diidamkan daripada cincang nombor telefon itu.

Cara saya menggunakan AirDrop dan bukannya Tinder
Paket BLE yang dipintas dengan cincang nombor telefon menggunakan utiliti read_ble_state.py

Kami tahu bahawa di Rusia semua nombor mudah alih bermula dengan kod +79 dan, kemungkinan besar, telefon mangsa kami mempunyai kod yang sama. Ternyata kami mempunyai julat nombor dari +79000000000 hingga +79999999999, kira-kira satu bilion nombor.

Untuk mengecilkan julat, kami hanya mengambil kod yang sebenarnya didaftarkan dengan mana-mana pengendali dan membuang yang lain. Akibatnya, julat menjadi separuh daripada besar, kira-kira setengah bilion nombor.

Seterusnya, kami menjana sha256 daripada semua nombor dan menyimpan hanya 3 bait pertama daripada setiap cincangan. Kami memasukkan senarai ini ke dalam pangkalan data Sqlite dan membina indeks untuk mempercepatkan carian.

Inilah rupa data dalam pangkalan data:

Cara saya menggunakan AirDrop dan bukannya Tinder
Semua nombor telefon Rusia dan tiga bait pertama cincang

Seterusnya, mempunyai cincang mangsa, kita boleh mencari semua padanan dalam pangkalan data. Biasanya terdapat 15-30 padanan setiap cincang.

Cara saya menggunakan AirDrop dan bukannya Tinder
Semua nombor yang sepadan dengan cincang mangsa

Jelas sekali, tidak semua nombor ini sebenarnya digunakan. Kita boleh memotong yang tidak perlu menggunakan permintaan HLR atau SMS yang tidak kelihatan. Daripada 30 nombor, 5 ditemui dalam talian.

Cara saya menggunakan AirDrop dan bukannya Tinder
Hasil daripada permintaan HLR. Nombor rangkaian diserlahkan dalam warna hijau.

Saya boleh terus menyaring nombor, contohnya, menambah semuanya ke Telegram/Whatsapp dan melihat avatar, menyemak pangkalan data seperti Getcontact dan sebagainya. Tetapi ternyata lebih mudah untuk hanya memanggil kelima-lima nombor satu demi satu dan melihat apabila telefon mangsa berdering.

Cara saya menggunakan AirDrop dan bukannya Tinder
Sasaran terletak

Semua

  • Banjir pada raspberry pi sangat tidak stabil, anda perlu mencuba papan tunggal yang lain.
  • Banjir asli untuk iOS adalah lebih baik, tetapi saya tidak menemui yang berfungsi pada iOS 12-13 walaupun dengan jailbreak.
  • Skrip flooder.py sangat bodoh. Ia mungkin boleh menjana gambar yang diperibadikan dengan mengambil nama daripada nama peranti penerima dan memotong perkataan iPhone.
  • Kaedah menentukan nombor telefon boleh dioptimumkan dengan menyemak hanya fakta bahawa nombor itu dipautkan ke iMessage. Ini kemungkinan besar akan memberi anda hampir 100% kadar hit.

Kesimpulan

Ini adalah hiburan yang sempurna untuk metro. Terdapat kesan wow, orang yang ingin tahu berminat dengan ini. Terdapat banyak improvisasi, terdapat kes yang sangat lucu. Ternyata ramai orang bersedia untuk bermain bersama malah membatalkan rancangan mereka untuk turun di stesen metro anda dan naik kopi. Sepanjang tahun ini, saya bertemu dengan ramai orang dan terus berkomunikasi dengan sebahagian daripada mereka.

Kadang-kadang saya mematikan log masuk Telegram dan berseronok seperti ini.

Cara saya menggunakan AirDrop dan bukannya Tinder

Cara saya menggunakan AirDrop dan bukannya Tinder

Sumber: www.habr.com

Tambah komen