Paano ko ginagamit ang AirDrop sa halip na Tinder

Paano ko ginagamit ang AirDrop sa halip na Tinder

Ang mga Apple device ay may mahusay na feature ng Airdrop - ito ay ginawa para sa pagpapadala ng data sa pagitan ng mga device. Sa kasong ito, walang setup o paunang pagpapares ng mga device ang kinakailangan; lahat ay gumagana sa labas ng kahon sa dalawang pag-click. Ang isang add-on sa Wi-Fi ay ginagamit upang maglipat ng data, at samakatuwid ang data ay inililipat sa napakabilis na bilis. Kasabay nito, gamit ang ilang mga trick, hindi ka lamang makakapagpadala ng mga file, ngunit malalaman din ang numero ng telepono ng taong nasa parehong subway car na kasama mo.

Sa nakaraang taon, ginagamit ko ang function na ito para makipagkilala sa mga kawili-wiling kakilala sa daan patungo sa trabaho, sa pampublikong sasakyan, at sa mga pampublikong catering establishment. Sa karaniwan, nagagawa kong magkaroon ng maraming bagong kakilala bawat araw, at kung minsan ay iniiwan ko ang subway sa kumpanya ng isang bagong tao.

Sa ilalim ng hiwa sasabihin ko sa iyo ang tungkol sa lahat ng mga persimmons.

Paano gumagana ang AirDrop?

Paano ko ginagamit ang AirDrop sa halip na Tinder

Ang AirDrop ay isang protocol para sa paglilipat ng mga file sa loob ng isang peer-to-peer network. Maaari itong gumana pareho sa isang regular na lokal na network at sa hangin sa pagitan ng anumang mga Apple device. Susuriin namin ang huling kaso, kapag ang dalawang device ay hindi nakakonekta sa isang karaniwang network, ngunit nasa malapit lang, halimbawa, dalawang tao na may mga telepono ay naglalakbay sa isang subway na kotse at hindi nakakonekta sa isang karaniwang Wi-Fi.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Ang unang yugto ng paghahatid sa pamamagitan ng AirDrop ay pagpapadala ng BLE packet

Upang simulan ang paglilipat ng data sa pamamagitan ng AirDrop, ang telepono ng nagpasimula ay nagpapadala ng BLE broadcast packet, na naglalaman ng naka-hash na impormasyon tungkol sa iCloud account at numero ng telepono ng may-ari ng mga device ng nagpasimula, na may panukalang magtatag ng koneksyon sa pamamagitan ng AWDL (Apple Wireless Direct Link ) protocol, tulad ng Wi-Fi. Fi Direct mula sa mundo ng Android. Ang istraktura ng BLE packet na ito ay napaka-interesante, susuriin pa namin ito.

Sa panig ng tatanggap, ang AirDrop ay maaaring nasa tatlong estado:

  • Naka-off - ay hindi makikita sa lahat
  • Para sa mga contact lamang β€” tumanggap lamang ng mga file mula sa mga contact sa iyong address book. Sa kasong ito, ang contact ay itinuturing na numero ng telepono o email kung saan naka-link ang icloud account. Ang parehong logic para sa pag-link ng mga account ay gumagana dito tulad ng sa iMessages messenger.
  • Para sa lahat - ang telepono ay makikita ng lahat

Paano ko ginagamit ang AirDrop sa halip na Tinder
Mga setting ng privacy ng AirDrop. Ang default na katayuan ay nakatakda sa "Para sa mga contact".

Depende sa iyong mga setting ng privacy, ang telepono ay magpapatuloy sa pagtatatag ng koneksyon sa pamamagitan ng AWDL o balewalain lamang ang BLE packet. Kung nakatakda ang AirDrop sa "para sa lahat", pagkatapos ay sa susunod na hakbang ay magkokonekta ang mga device sa isa't isa sa pamamagitan ng AWDL, lumikha ng isang IPv6 network sa pagitan nila, kung saan gagana ang AirDrop bilang isang regular na protocol ng application gamit ang mDNS sa karaniwang IP protocol.

Paano ko ginagamit ang AirDrop sa halip na Tinder

Para sa mga eksperimento, maaari mong panoorin kung paano gumagana ang AWDL sa isang MacBook. Ang lahat ng palitan sa ilalim ng protocol na ito ay nangyayari sa pamamagitan ng interface awdl0, na madaling makuha gamit ang Wireshark o tcpdump.

Sa yugtong ito alam natin ang tatlong entity:

Bluetooth LowEnergy (BLE) package - ang packet na ito ay naglalaman ng data batay sa kung saan ang telepono ang magpapasya kung ang initiator ay nasa listahan ng contact nito o wala.
Apple Wireless Direct Link (AWDL) β€” isang pagmamay-ari na kapalit para sa Wi-Fi Direct mula sa Apple, na-activate kung matagumpay ang komunikasyon sa pamamagitan ng BLE.
AirDrop - isang application protocol na gumagana sa loob ng isang regular na IP network gamit ang mDNS, HTTP, atbp. Maaaring gumana sa loob ng anumang Ethernet network.

Istruktura ng packet ng BLE

Maaaring mukhang isang beses lang lumipad ang BLE packet na ito mula sa initiator patungo sa tatanggap, at pagkatapos ay ang palitan ay nangyayari lamang sa pamamagitan ng AWDL. Sa katotohanan, ang isang koneksyon sa AWDL ay may napakaikling habang-buhay, ilang minuto lamang o mas kaunti. Kaya, kung ang tatanggap ng file ay gustong tumugon sa iyo, siya rin ay gaganap bilang isang initiator at magpapadala ng isang BLE packet.

Paano naiintindihan ng telepono sa receiving end kung ang numero/email ng nagpasimula ay nasa listahan ng contact nito o wala? Laking gulat ko nang malaman ko ang sagot: ipinapadala ng initiator ang kanyang numero at email bilang sha256 hash, ngunit hindi ganap, ngunit ang unang 3 byte lamang.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Istraktura ng isang BLE packet mula sa AirDrop initiator. Gamit ang mga hash mula sa numero ng telepono at email, nauunawaan ng tagatugon kung ang nagpasimula ay nasa kanyang listahan ng contact.

Halimbawa, kung ang iyong Apple account (aka iCloud, aka iMessages) ay naka-link sa numerong +79251234567, ang hash mula dito ay kakalkulahin tulad nito:

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

At bilang isang resulta, ang halaga sa BLE packet ay lilipad 07de58 para sa isang numero ng telepono. Mukhang hindi ito sapat, ngunit kadalasan ang tatlong byte na ito ay sapat na upang malaman ang tunay na numero ng telepono.

Mahalaga ring tandaan na ang setting ng privacy ng AirDrop ay hindi nakakaapekto sa data sa BLE packet. Ang hash ng numero ng telepono ay mapapaloob dito, kahit na ang setting na "Para sa lahat" ay nakatakda. Gayundin, ipinapadala ang isang BLE packet na may hash ng numero ng telepono kapag binuksan ang Share window at kapag ipinasok ang password para sa Wi-Fi network.

Para sa isang detalyadong pagsusuri ng istraktura ng mga BLE packet at posibleng pag-atake dito, basahin ang pag-aaral Apple Bleee at Ruso pagsasalin sa HabrΓ©.

Ang pag-aaral ng Apple Bleee ay nag-publish ng mga handa na python script para sa pag-automate ng pagsusuri ng data sa mga pakete ng BLE. Lubos kong inirerekumenda na suriin ang pananaliksik at subukan ang mga programa, mayroong maraming mga kawili-wiling bagay doon.

AWDL (Apple Wireless Direct Link)

Ang AWDL ay isang proprietary Apple add-on sa regular na Wi-Fi na nagpapatupad ng isang bagay tulad ng Wi-Fi Direct. Hindi ko lubos na alam kung paano ito gumagana, mayroong isang espesyal na paraan ng pag-anunsyo at pag-coordinate ng mga channel, at ito ay gumagana lamang sa pagmamay-ari na mga driver ng Apple. Ibig sabihin, ang mga MacBook/iPhone lamang ang maaaring kumonekta sa pamamagitan ng AWDL.

Ang malungkot na mga may-ari ng Android phone ay nangangarap lamang ng isang maayos na gumaganang Wi-Fi Direct function.

Paano ko ginagamit ang AirDrop sa halip na Tinder

Ngunit hindi pa nagtagal ang mga lalaki mula sa parang-lab nagsulat ng isang ganap na open source na pagpapatupad ng AWDL at tinawag ito Buksan ang Wireless Link (OWL). Upang patakbuhin ang OWL, dapat suportahan ng Wi-Fi adapter ang monitor mode at packet injection, kaya hindi ito gumagana sa bawat hardware. Ang site ay may mga halimbawa ng pagsasaayos sa Raspberry pi. Gumagana ito nang mas malala kaysa sa orihinal na AWDL, halimbawa, ang oras ng pag-setup ng koneksyon ay pinahaba ng ~10 segundo sa halip na ilang segundo para sa orihinal, ngunit gumagana ito.

Paano ko ginagamit ang AirDrop sa halip na Tinder

Gayundin, ang mga taong ito ay sumulat mula sa simula ng isang pagpapatupad ng AirDrop protocol sa Python, na tinatawag OpenDrop. Maaari itong magamit kapwa kasabay ng OWL upang ilunsad ang AirDrop sa Linux at sa orihinal na AWDL sa macOS.

Paano mag-roll up sa pamamagitan ng AirDrop

Paano ko ginagamit ang AirDrop sa halip na Tinder
Karaniwang sitwasyon sa rolling up sa pamamagitan ng AirDrop

Sapat na ang boring na teorya, oras na upang simulan ang pagsasanay. Kaya armado ka ng lahat ng kinakailangang kagamitan at handang sumulong at gumulong ng mga bola gamit ang mataas na teknolohiya.

Una kailangan mong tandaan ang mga pangunahing punto:

  • Gagana lang ang AirDrop kung naka-unlock ang telepono – pinakamainam kung ang target ay patuloy na tumitingin sa telepono. Kadalasan nangyayari ito sa mga lugar kung saan ito ay mayamot, halimbawa sa subway.
  • Kailangan ng oras β€” kadalasan, nangyayari ang positibong conversion sa ika-3-5 na larawang ipinadala, kaya kailangan mo ng hindi bababa sa 5 minuto ng tahimik na oras sa isang lugar. Itinuturing kong positibong conversion ang sandaling sumang-ayon ka sa pamamagitan ng AirDrop na magpatuloy sa pakikipag-ugnayan sa messenger. Mahirap itong ipatupad sa mabilisang paraan, dahil hindi agad malinaw kung sino ang tumanggap ng iyong kargamento, at malamang na mag-init ka bago ka magkasundo sa isang bagay.
  • Mas gumagana ang personalized na creative β€” Tinatawag kong payload ang nilalaman ng media na ipinapadala mo sa pamamagitan ng AirDrop. Ang isang larawan lamang na may meme ay malamang na walang hahantong; ang nilalaman ay dapat na may kaugnayan sa sitwasyon at may malinaw na tawag sa pagkilos.

Ang klasikong paraan - isang telepono lamang

Angkop para sa lahat na may iPhone, ay hindi nangangailangan ng anumang mga espesyal na kasanayan maliban sa mga panlipunan. Inilipat namin ang AirDrop sa Everyone mode at bumaba sa subway. Sa isang normal na araw (bago mag-self-isolation) sa isang Moscow metro car, may napansin akong ganito:

Paano ko ginagamit ang AirDrop sa halip na Tinder
Listahan ng mga target

Tulad ng nakikita mo, halos lahat ng mga telepono ay nagbo-broadcast ng pangalan ng may-ari, kung saan madali naming matukoy ang kanyang kasarian at maihanda ang naaangkop na kargamento.

Payload

Gaya ng isinulat ko sa itaas, mas gumagana ang isang natatanging payload. Sa isip, ang larawan ay dapat tumugon sa may-ari sa pamamagitan ng pangalan. Dati, kailangan kong magpalilok ng pagkamalikhain gamit ang isang graphic editor sa application ng mga tala at ilang uri ng mobile Photoshop stub. Bilang isang resulta, sa oras na ang kinakailangang larawan ay iguguhit, kailangan na itong lumabas ng kotse.

Kaibigan ko si Anya koteeq, partikular sa aking kahilingan, nagsulat ng Telegram bot na bumubuo ng mga kinakailangang larawan na may caption on the fly: @AirTrollBot. Lubos akong nagpapasalamat sa kanya para sa katotohanan na maaari na akong gumulong ng mga bola nang higit na teknolohiya kaysa dati.

Ito ay sapat na upang magpadala sa bot ng isang linya ng teksto, at bubuo ito sa anyo ng isang imahe na eksaktong tumutugma sa aspect ratio para sa preview sa AirDrop window. Maaari kang pumili ng isang karakter sa larawan sa pamamagitan ng pagpindot sa mga pindutan. Maaari mo ring opsyonal na paganahin ang pagdaragdag ng iyong Telegram login sa larawan sa sulok.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Generator ng payload

Ang pinakamasama ay ang larawan ay ipinakita kaagad sa screen ng biktima nang walang anumang aksyon. Hindi mo na kinailangan pang i-click ang "accept". Makikita mo ang agarang reaksyon sa mukha mula sa pag-load ng kargamento. Sa kasamaang palad, mula sa iOS 13, ang mga larawan mula sa hindi pamilyar na mga contact ay hindi na ipinapakita sa screen. Narito ang hitsura nito dati:

Paano ko ginagamit ang AirDrop sa halip na Tinder
Naihatid ang payload sa iOS ≀12

Ngayon, sa halip na isang preview, tanging ang pangalan ng device ng nagpadala ang ipinapakita. Samakatuwid, ang tanging paraan upang makipag-ugnayan sa isang biktima na may iOS β‰₯13 sa pamamagitan ng pangalan ay itakda ito sa mga setting ng iyong device, halimbawa, tawagan ang telepono na "Yulia, hello." Hint: Maaari mong gamitin ang emoji sa pangalan ng device. Siyempre, ang pamamaraang ito ay hindi kasing liwanag ng isang larawan, ngunit lubos nitong pinapataas ang pagkakataong mag-click sa pindutang "tanggapin".

Ang karagdagang paglalarawan ng mga aksyon ay lampas sa saklaw ng isang teknikal na artikulo at nakasalalay lamang sa iyong imahinasyon, improvisasyon at katatawanan. Masasabi ko lang na ang mga sumali sa larong ito at nagsimulang tumugon sa iyo ng mga larawan o pagpapadala ng mga tala ay kadalasang napakasaya, bukas at kawili-wiling mga tao. Ang mga, pagkatapos na tingnan ang larawan, ay hindi lamang tumugon, o mas masahol pa, tinatanggihan lamang ang mensahe, kadalasan ay mga boring na snob at prudes. Ang kadahilanan ng takot ay madalas ding gumaganap ng isang papel: ang mga marupok, mahiyain na mga tao ay natatakot na makipag-ugnayan sa gayong mayabang na hindi kilalang estranghero.

Awtomatikong pick-pick machine

Kung tinatamad kang gumawa at magpadala ng mga payload nang manu-mano, at gusto mong i-automate ang proseso, maaari kang gumawa ng awtomatikong voice pick machine, na sa background ay magpapadala ng mga larawan sa pamamagitan ng AirDrop sa lahat ng nasa saklaw. Gagamitin namin ang raspberry pi zero bilang isang platform ng hardware, ngunit gagawin ng anumang computer na may Linux, ang pangunahing bagay ay sinusuportahan ng Wi-Fi card ang monitor mode at packet injection.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Nagpadala ng speaker sa pamamagitan ng Airdrop batay sa raspberry pi zero w + UPS Lite na kalasag ng baterya

Mayroong mga programa sa pagbaha ng AirDrop para sa mga Jailbreak iPhone, gumagana ang mga ito nang mas matatag kaysa sa mga bukas na bersyon sa raspberry pi

Ang pag-set up ng OWL sa raspberry pi ay inilarawan nang detalyado sa website ng proyekto, ngunit mas gusto kong gamitin ang Kali Linux build para sa Raspberry Pi Zero dahil mayroon na itong mga nexmon patch na naka-install upang paganahin ang Wi-Fi monitor mode sa rpi0.

Mahalagang tandaan na ang Airdrop (o sa halip ay AWDL) ay isinaaktibo para lamang sa mga pasyente pagkatapos makatanggap ng BLE packet. Samakatuwid, dapat naming ipadala ito sa pagitan ng ilang segundo. Magagawa ito gamit ang utility py-bluetooth-utils. Gamit ang start_le_advertising() function, ipinapadala ko ang string ng data mula sa mga halimbawa ng apple bleee: 000000000000000001123412341234123400.

Kapag mayroon kang gumaganang OWL na daemon, maaari mong ilunsad ang aking tinidor opendrop. Mayroong isang script sa repositoryo flooder.py, na nagpapadala ng larawan sa lahat kak_dela.jpeg.

Ayon sa aking mga obserbasyon, ang raspberry pi zero w ay hindi matatag sa mode ng monitor. Pagkatapos ng humigit-kumulang 20 minuto ng aktibong pagpapatakbo ng pagbaha, nag-crash ang Wi-Fi subsystem. Ang problema ay inilarawan ng may-akda pwnagotchi, at maaaring sanhi ng sobrang pag-init. Kinakailangang magbigay ng asong tagapagbantay o gumamit ng mas matatag na hardware

Maniacello mode - Alam ko ang iyong numero

Kung nais mong ipakita ang iyong sarili bilang isang hindi sapat na baliw at magpakailanman ay pigilan ang pagnanais na magpatuloy sa pakikipag-usap sa iyo, maaari mong subukang alamin ang numero ng telepono ng taong nasa malapit.

Tulad ng natutunan natin kanina, ang mga BLE packet na ipinadala ng initiator ay naglalaman ng unang tatlong byte ng sha256 na numero ng telepono. Maaaring mahuli ang hash na ito kapag nag-click ang biktima sa button na "ibahagi" at nagsimulang mag-scan ng mga airdrop device o i-tap ang password ng Wi-Fi para sa isang bagong network sa input field (sa ganitong paraan, naghahanap ang Apple ng mga kaibigan na nasa saklaw kung saan maaari kang humiling ang password ng network).

Kakailanganin mong i-trigger ang hash message mula sa biktima at mahuli ito. Gumagamit ako ng mga utility mula sa repository Apple Bleee. Dahil ang mga Bluetooth MAC address ng mga device ay random at patuloy na nagbabago, kailangan mong maghanap ng ibang paraan upang matukoy ang gustong device sa listahang ito. Ang gawain ay pinasimple sa pamamagitan ng katotohanan na ang iOS ay nagbo-broadcast ng kasalukuyang estado ng telepono tulad ng: screen off, screen on, lock screen, unlocked, atbp. Samakatuwid, sa pamamagitan lamang ng pagmamasid sa mga aksyon ng biktima, maaari mong ihambing ang kasalukuyang estado ng device sa device sa talahanayan. Ang pinakamadaling paraan ay upang mahuli ang sandali kapag kinuha ng user ang telepono mula sa kanyang bulsa, i-on ang screen at i-unlock ang telepono gamit ang kanyang daliri o mukha. Ang lahat ng ito ay makikita sa sniffer.

Paano ko ginagamit ang AirDrop sa halip na Tinder
icon Π₯ nangangahulugan na nahuli ang isang packet na may mga hash ng telepono.

Ang kanilang parser minsan ay nasira, ngunit kadalasan ito ay gumagana. Hindi ko lubos na sasabihin muli ang kakanyahan ng kahinaan, dahil nasuri ito nang detalyado ng mga may-akda ng Apple Blee, ilalarawan ko lamang ang aking karanasan. Sasabihin ko lang na gumagamit ako ng USB Bluetooth adapter sa isang CSR 8510 chip, dahil ito ay gumagana nang mas matatag para sa akin kaysa sa Bluetooth adapter na binuo sa isang MacBook at ipinasok sa isang virtual machine.

Kaya kinuha namin ang hash mula sa telepono ng biktima at natanggap ang hinahangad na tatlong byte mula sa hash ng numero ng telepono.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Naharang na BLE packet na may hash ng numero ng telepono gamit ang utility read_ble_state.py

Alam namin na sa Russia ang lahat ng mga mobile na numero ay nagsisimula sa code na +79 at, malamang, ang telepono ng aming biktima ay may parehong code. Lumalabas na mayroon kaming hanay ng mga numero mula +79000000000 hanggang +79999999999, mga isang bilyong numero.

Upang paliitin ang hanay, kinukuha lang namin ang mga code na aktwal na nakarehistro sa anumang operator at itinatapon ang natitira. Bilang resulta, ang hanay ay nagiging kalahati ng laki, humigit-kumulang kalahating bilyong numero.

Susunod, bumubuo kami ng sha256 mula sa lahat ng mga numero at i-save lamang ang unang 3 byte mula sa bawat hash. Ipinasok namin ang listahang ito sa Sqlite database at bumuo ng isang index upang mapabilis ang paghahanap.

Ito ang hitsura ng data sa database:

Paano ko ginagamit ang AirDrop sa halip na Tinder
Lahat ng numero ng telepono sa Russia at ang unang tatlong byte ng hash

Susunod, ang pagkakaroon ng hash ng biktima, maaari naming hanapin ang lahat ng mga tugma sa database. Kadalasan mayroong 15-30 na tugma bawat hash.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Lahat ng numero na tumutugma sa hash ng biktima

Malinaw, hindi lahat ng mga numerong ito ay aktwal na ginagamit. Maaari naming putulin ang mga hindi kailangan gamit ang isang kahilingan sa HLR o isang hindi nakikitang SMS. Sa 30 numero, 5 ang natagpuan online.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Ang resulta ng kahilingan sa HLR. Ang mga numero ng network ay naka-highlight sa berde.

Maaari kong patuloy na suriin ang mga numero, halimbawa, idagdag silang lahat sa Telegram/Whatsapp at tingnan ang mga avatar, suriin ang mga database tulad ng Getcontact at iba pa. Ngunit naging mas madali na lamang na tawagan ang lahat ng limang numero nang isa-isa at panoorin kapag nag-ring ang telepono ng biktima.

Paano ko ginagamit ang AirDrop sa halip na Tinder
Natatagpuan ang target

Lahat

  • Ang baha sa raspberry pi ay napaka hindi matatag, kailangan mong subukan ang iba pang mga solong board.
  • Ang isang katutubong pagbaha para sa iOS ay magiging mas mahusay, ngunit hindi ako makahanap ng isa na gumagana sa iOS 12-13 kahit na may jailbreak.
  • Napakatanga ng script ng flooder.py. Maaaring makabuo ito ng personalized na larawan sa pamamagitan ng pagkuha ng pangalan mula sa pangalan ng device ng tatanggap at pagputol ng salitang iPhone.
  • Ang paraan ng pagtukoy ng isang numero ng telepono ay maaaring ma-optimize sa pamamagitan ng pagsuri lamang sa katotohanan na ang numero ay naka-link sa iMessage. Ito ay malamang na magbibigay sa iyo ng malapit sa 100% hit rate.

Konklusyon

Ito ang perpektong libangan para sa metro. May wow effect, interesado dito ang mga curious. Nagkaroon ng maraming improvisasyon, may mga nakakatawang kaso. Lumalabas na maraming tao ang handang makipaglaro at kanselahin pa ang kanilang mga plano upang bumaba sa iyong istasyon ng metro at umakyat para sa kape. Sa paglipas ng taon, marami akong nakilala at patuloy akong nakikipag-usap sa ilan sa kanila.

Minsan pinapatay ko ang Telegram login at nagsasaya tulad nito.

Paano ko ginagamit ang AirDrop sa halip na Tinder

Paano ko ginagamit ang AirDrop sa halip na Tinder

Pinagmulan: www.habr.com

Magdagdag ng komento