Kiel mi uzas AirDrop anstataŭ Tinder

Kiel mi uzas AirDrop anstataŭ Tinder

Apple-aparatoj havas bonegan Airdrop-funkcion - ĝi estas farita por sendi datumojn inter aparatoj. En ĉi tiu kazo, ne necesas agordo aŭ antaŭa parigo de aparatoj; ĉio funkcias el la skatolo en du klakoj. Aldonaĵo tra Wi-Fi estas uzata por transdoni datumojn, kaj tial datumoj estas transdonitaj al grandegaj rapidoj. Samtempe, uzante iujn lertaĵojn, vi povas ne nur sendi dosierojn, sed ankaŭ ekscii la telefonnumeron de la persono, kiu estas en la sama metrovagono kun vi.

Dum la lasta jaro mi uzas ĉi tiun funkcion por fari interesajn konatojn survoje al laboro, en publika transporto kaj en publikaj manĝejoj. Averaĝe mi sukcesas fari plurajn novajn konatojn ĉiutage, kaj foje mi lasas la metroon en kompanio de nova homo.

Sub la tranĉo mi rakontos al vi pri ĉiuj kakioj.

Kiel funkcias AirDrop?

Kiel mi uzas AirDrop anstataŭ Tinder

AirDrop estas protokolo por transloki dosierojn ene de kunula reto. Ĝi povas funkcii ambaŭ per regula loka reto kaj per la aero inter ajnaj Apple-aparatoj. Ni analizos la lastan kazon, kiam du aparatoj ne estas konektitaj al komuna reto, sed estas simple proksime, ekzemple, du homoj kun telefonoj vojaĝas en metrovagono kaj ne estas konektitaj al komuna Wi-Fi.

Kiel mi uzas AirDrop anstataŭ Tinder
La unua etapo de transdono per AirDrop sendas BLE-pakon

Por komenci transdonon de datumoj per AirDrop, la telefono de la iniciatinto sendas BLE-elsendan paketon, kiu enhavas haŝitajn informojn pri la iCloud-konto kaj telefonnumero de la posedanto de la aparatoj de la iniciatinto, kun propono establi konekton per la AWDL (Apple Wireless Direct Link). ) protokolo, io kiel Wi-Fi. Fi Direct de la mondo de Android. La strukturo de ĉi tiu BLE-pako estas tre interesa, ni analizos ĝin plu.

Flanke de la ricevanto, AirDrop povas esti en tri statoj:

  • Malŝaltita - tute ne estos detektita
  • Nur por kontaktoj — akceptu dosierojn nur de kontaktoj en via adresaro. En ĉi tiu kazo, la kontakto estas konsiderata kiel la telefonnumero aŭ retpoŝto al kiu la icloud-konto estas ligita. La sama logiko por ligado de kontoj funkcias ĉi tie kiel kun la iMessages-mesaĝo.
  • Por ĉiuj - la telefono estos videbla por ĉiuj

Kiel mi uzas AirDrop anstataŭ Tinder
Agordoj pri privateco de AirDrop. La defaŭlta stato estas agordita al "Por kontaktoj".

Depende de viaj privatecaj agordoj, la telefono aŭ daŭre establos konekton per AWDL aŭ simple ignoros la BLE-pakon. Se AirDrop estas agordita al "por ĉiuj", tiam en la sekva paŝo la aparatoj konektos unu al la alia per AWDL, kreos IPv6-reton inter ili, ene de kiu AirDrop funkcios kiel regula aplika protokolo uzante mDNS per la norma IP-protokolo.

Kiel mi uzas AirDrop anstataŭ Tinder

Por eksperimentoj, vi povas rigardi kiel AWDL funkcias sur MacBook. Ĉiu interŝanĝo sub ĉi tiu protokolo okazas per la interfaco awdl0, kiu povas esti facile kaptita uzante Wireshark aŭ tcpdump.

En ĉi tiu etapo ni konas tri estaĵojn:

Pako de Bluetooth LowEnergy (BLE). - ĉi tiu pako enhavas datumojn surbaze de kiuj la telefono decidas ĉu la iniciatinto estas en sia kontaktlisto aŭ ne.
Apple Sendrata Rekta Ligo (AWDL) — proprieta anstataŭaĵo por Wi-Fi Direct de Apple, aktivigita se komunikado per BLE sukcesis.
AirDrop - aplika protokolo, kiu funkcias ene de regula IP-reto uzante mDNS, HTTP, ktp. Povas funkcii ene de ajna reto Ethernet.

BLE-pakaĵstrukturo

Eble ŝajnas, ke ĉi tiu BLE-pako flugas nur unufoje de la iniciatinto al la ricevanto, kaj tiam la interŝanĝo okazas nur per AWDL. En realeco, AWDL-konekto havas tre mallongan vivdaŭron, nur kelkajn minutojn aŭ malpli. Do, se la ricevanto de la dosiero volas respondi al vi, li ankaŭ agos kiel iniciatinto kaj sendos BLE-pakaĵon.

Kiel la telefono ĉe la ricevanto komprenas ĉu la numero/retpoŝto de la iniciatinto estas en ĝia kontaktlisto aŭ ne? Mi estis tre surprizita kiam mi eksciis la respondon: la iniciatinto sendas sian numeron kaj retpoŝton kiel sha256 hash, sed ne tute, sed nur la unuaj 3 bajtoj.

Kiel mi uzas AirDrop anstataŭ Tinder
Strukturo de BLE-pako de la iniciatinto de AirDrop. Uzante haŝojn de la telefonnumero kaj retpoŝto, la respondanto komprenas ĉu la iniciatinto estas en sia kontaktlisto.

Ekzemple, se via Apple-konto (alinome iCloud, alinome iMessages) estas ligita al la numero +79251234567, la hash de ĝi estos kalkulita jene:

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

Kaj kiel rezulto, la valoro en la BLE-pako forflugos 07de 58 por telefonnumero. Ĉi tio ŝajnas ne sufiĉa, sed ofte ĉi tiuj tri bajtoj sufiĉas por ekscii la veran telefonnumeron.

Ankaŭ gravas memori, ke la privateca agordo de AirDrop ne influas la datumojn en la BLE-pako. La hash de la telefonnumero estos enhavita en ĝi, eĉ se la agordo "Por ĉiuj" estas agordita. Ankaŭ, BLE-pako kun hash de la telefonnumero estas sendita kiam la Kunhaviga fenestro estas malfermita kaj kiam la pasvorto por la Wi-Fi reto estas enigita.

Por detala analizo de la strukturo de BLE-pakaĵoj kaj eblaj atakoj kontraŭ ĝi, legu la studon Apple Bleee kaj rusa traduko al Habré.

La Apple Bleee-studo publikigis pretajn python-skriptojn por aŭtomatigi datuman analizon en BLE-pakaĵoj. Mi tre rekomendas kontroli la esploradon kaj provi la programojn, ekzistas multaj interesaj aferoj.

AWDL (Apple Sendrata Rekta Ligo)

AWDL estas proprieta Apple-aldonaĵo al regula Wi-Fi, kiu efektivigas ion kiel Wi-Fi Direct. Mi ne plene scias kiel ĝi funkcias, ekzistas speciala maniero anonci kaj kunordigi kanalojn, kaj ĝi funkcias nur ĉe proprietaj ŝoforoj de Apple. Tio estas, nur MacBooks/iPhones povas konekti per AWDL.

Malĝojaj Android-telefonposedantoj ankoraŭ nur revas pri taŭge funkcianta Wi-Fi Direct-funkcio.

Kiel mi uzas AirDrop anstataŭ Tinder

Sed antaŭ ne tiom longe la infanoj de seemoo-lab verkis tute malfermfonte efektivigon de AWDL kaj nomis ĝin Malfermu Sendratan Ligon (STRIGO). Por ruli OWL, la Wifi-adaptilo devas subteni monitoran reĝimon kaj pakaĵinjekton, do ĝi ne funkcias per ĉiu aparataro. La retejo havas ekzemplojn de agordo sur Raspberry pi. Ĉi tio funkcias signife pli malbone ol la originala AWDL, ekzemple, la konekto-agorda tempo estas plilongigita je ~10 sekundoj anstataŭ kelkaj sekundoj por la originalo, sed ĝi funkcias.

Kiel mi uzas AirDrop anstataŭ Tinder

Ankaŭ ĉi tiuj infanoj skribis de nulo efektivigon de la protokolo AirDrop en Python, nomita OpenDrop. Ĝi povas esti uzata kaj kune kun OWL por lanĉi AirDrop en Linukso kaj kun la originala AWDL sur macOS.

Kiel ruliĝi per AirDrop

Kiel mi uzas AirDrop anstataŭ Tinder
Tipa situacio kun ruliĝo per AirDrop

Sufiĉe enuiga teorio, estas tempo komenci praktiki. Do vi estas armita per la tuta necesa ekipaĵo kaj pretas antaŭeniri kaj ruli pilkojn uzante altteknologion.

Unue vi devas memori la ĉefajn punktojn:

  • AirDrop funkcios nur se la telefono estas malŝlosita - estas plej bone se la celo konstante rigardas la telefonon. Plej ofte tio okazas en lokoj kie ĝi estas enuiga, ekzemple en la metroo.
  • Bezonas tempon — kutime, pozitiva konvertiĝo okazas sur la 3-5-a bildo sendita, do vi bezonas almenaŭ 5 minutojn da trankvila tempo en unu loko. Mi konsideras pozitivan konvertiĝon la momenton, kiam vi konsentis per AirDrop daŭrigi komuniki en la mesaĝisto. Ĉi tio estas malfacile efektivigebla sur la flugo, ĉar ne estas tuj klare, kiu akceptis vian utilan ŝarĝon, kaj plej verŝajne vi varmiĝos antaŭ ol vi povas konsenti pri io.
  • Personigita kreivo funkcias pli bone — Mi nomas utilan ŝarĝon la amaskomunikila enhavo, kiun vi sendas per AirDrop. Nur bildo kun memeo plej verŝajne kondukos nenien; la enhavo devus esti rilata al la situacio kaj havi klaran vokon al ago.

La klasika metodo - nur telefono

Taŭga por ĉiuj, kiuj havas iPhone, ne postulas specialajn kapablojn krom sociaj. Ni ŝanĝas AirDrop al Ĉiuj reĝimo kaj malsupreniras al la metroo. En normala tago (antaŭ memizolado) en moskva metrovagono, mi observis ion tian:

Kiel mi uzas AirDrop anstataŭ Tinder
Listo de celoj

Kiel vi povas vidi, preskaŭ ĉiuj telefonoj elsendas la nomon de la posedanto, per kiu ni povas facile determini lian sekson kaj prepari la taŭgan ŝarĝon.

Utila ŝarĝo

Kiel mi skribis supre, unika utila ŝarĝo funkcias pli bone. Ideale, la bildo devus alparoli la posedanton per nomo. Antaŭe, mi devis skulpti kreemon uzante grafikan redaktilon en la aplikaĵo de notoj kaj ian moveblan Photoshop-stupon. Rezulte, kiam la bezonata bildo estis desegnita, jam estis necese eliri el la aŭto.

Mia amiko Ajna koteeq, specife laŭ mia peto, skribis Telegram-bot kiu generas la necesajn bildojn kun bildoteksto sur la flugo: @AirTrollBot. Mi tre dankas ŝin pro tio, ke mi nun povas ruli pilkojn multe pli teknologie ol antaŭe.

Sufiĉas sendi al la robot linio de teksto, kaj ĝi generos ĝin en formo de bildo, kiu ĝuste kongruas kun la proporcio por la antaŭvido en la fenestro AirDrop. Vi povas elekti signon en la bildo premante butonojn. Vi ankaŭ povas laŭvole ebligi aldoni vian Telegram-ensaluton al la bildo en la angulo.

Kiel mi uzas AirDrop anstataŭ Tinder
Utilŝarĝa generatoro

La plej malbona parto estis, ke la bildo estis montrita tuj sur la ekrano de la viktimo sen ia ago. Vi eĉ ne devis klaki "akcepti". Vi povus vidi la tujan reagon sur la vizaĝo de ŝarĝo de la utila ŝarĝo. Bedaŭrinde, ekde iOS 13, bildoj de nekonataj kontaktoj ne plu estas montrataj sur la ekrano. Jen kiel ĝi aspektis antaŭe:

Kiel mi uzas AirDrop anstataŭ Tinder
Utila ŝarĝo liverita sur iOS ≤12

Nun, anstataŭ antaŭrigardo, nur la nomo de la aparato de la sendinto estas montrata. Sekve, la sola maniero kontakti viktimon kun iOS ≥13 laŭnome estas agordi ĝin en la agordojn de via aparato, ekzemple, voku la telefonon "Yulia, saluton." Konsilo: Vi povas uzi emoji en la nomo de la aparato. Kompreneble, ĉi tiu metodo ne estas tiel hela kiel kun bildo, sed ĝi multe pliigas la ŝancon klaki la butonon "akcepti".

Plia priskribo de la agoj superas la amplekson de teknika artikolo kaj dependas nur de via imago, improvizo kaj humuro. Mi nur povas diri, ke tiuj, kiuj aliĝas al ĉi tiu ludo kaj komencas respondi al vi per bildoj aŭ sendi notojn, estas kutime tre gajaj, malfermitaj kaj interesaj homoj. Tiuj, kiuj, rigardinte la bildon, simple ne respondas, aŭ pli malbone, simple malakceptas la mesaĝon, estas kutime enuigaj snoboj kaj prudentuloj. Ankaŭ la timfaktoro ofte rolas: fragilaj, timemaj homoj timas interagi kun tia aroganta anonima fremdulo.

Aŭtomata elekt-elekmaŝino

Se vi estas tro maldiligenta por generi kaj sendi utilajn ŝarĝojn permane, kaj vi volas aŭtomatigi la procezon, vi povas fari aŭtomatan voĉan elektmaŝinon, kiu en la fono sendos bildojn per AirDrop al ĉiuj ene de la atingo. Ni uzos raspberry pi zero kiel aparataron, sed ĉiu komputilo kun Linukso faros, la ĉefa afero estas, ke la Wi-Fi-karto subtenas monitoran reĝimon kaj pakatan injekton.

Kiel mi uzas AirDrop anstataŭ Tinder
Parolanto-sendanto per Airdrop bazita sur raspberry pi zero w + UPS Lite-bateria ŝildo

Estas AirDrop flooder-programoj por Jailbreak-iPhonoj, ili funkcias pli stabile ol malfermaj versioj sur raspberry pi.

Agordo de OWL sur raspberry pi estas detale priskribita ĉe retejo de la projekto, sed mi preferas uzi la Kali Linux-konstruaĵon por Raspberry Pi Zero ĉar ĝi jam havas nexmon-flakilojn instalitajn por ebligi Wi-Fi-monitorreĝimon ĉe rpi0.

Gravas memori, ke Airdrop (aŭ prefere AWDL) estas aktivigita por pacientoj nur post ricevado de BLE-pako. Tial ni devas sendi ĝin je intervaloj de pluraj sekundoj. Ĉi tio povas esti farita uzante la ilon py-bluetooth-utils. Uzante la funkcion start_le_advertising(), mi sendas la datumĉenon de la ekzemploj de apple bleee: 000000000000000001123412341234123400.

Post kiam vi havas funkciantan OWL-demonon, vi tiam povas lanĉi mian forkon opendrop. Estas skripto en la deponejo flooder.py, kiu sendas al ĉiuj bildon kak_dela.jpeg.

Laŭ miaj observoj, la raspberry pi zero w estas malstabila en monitora reĝimo. Post ĉirkaŭ 20 minutoj da aktiva inundo operacio, la Wi-Fi-subsistemo kraŝas. La problemo estas priskribita de la aŭtoro pwnagotchi, kaj estas supozeble kaŭzita de trovarmiĝo. Necesas provizi gardohundon aŭ uzi pli stabilan aparataron

Maniacello-reĝimo - Mi konas vian numeron

Se vi volas montri vin kiel neadekvata maniulo kaj por ĉiam malkuraĝigi la deziron daŭrigi komuniki kun vi, vi povas provi eltrovi la telefonnumeron de la proksima persono.

Kiel ni eksciis pli frue, la BLE-pakoj senditaj de la iniciatinto enhavas la unuajn tri bajtojn de la telefonnumero sha256. Ĉi tiu haŝiŝo povas esti kaptita kiam la viktimo alklakas la butonon "kunhavigi" kaj komencas skanadon de airdrop-aparatoj aŭ frapetas la Wifi-pasvorton por nova reto en la enigkampo (tiel Apple serĉas amikojn ene de la intervalo, de kiuj vi povas peti. la reta pasvorto).

Vi devos iel ekigi la hashmesaĝon de la viktimo kaj kapti ĝin. Mi uzas ilojn de la deponejo Apple Bleee. Ĉar Bluetooth MAC-adresoj de aparatoj estas hazardaj kaj konstante ŝanĝantaj, vi devos trovi alian manieron determini la deziratan aparaton en ĉi tiu listo. La tasko estas simpligita per la fakto, ke iOS elsendas la nunan staton de la telefono kiel: ekrano malŝaltita, ekrano ŝaltita, ŝlosi ekrano, malŝlosita ktp. Sekve, simple observante la agojn de la viktimo, vi povas kompari la nunan staton de la aparato kun la aparato en la tabelo. La plej facila maniero estas kapti la momenton, kiam la uzanto prenas la telefonon el sia poŝo, ŝaltas la ekranon kaj malŝlosas la telefonon per sia fingro aŭ vizaĝo. Ĉio ĉi estos videbla en la snufisto.

Kiel mi uzas AirDrop anstataŭ Tinder
Ikono Х signifas, ke pako kun telefonaj haŝiŝoj estis kaptita.

Ilia analizilo foje rompas, sed plej ofte ĝi funkcias. Mi ne tute rerakontos la esencon de la vundebleco, ĉar ĝi estis detale analizita de la aŭtoroj de Apple Blee, mi nur priskribos mian sperton. Mi nur diros, ke mi uzas USB-Bludendan adaptilon sur CSR 8510-peceto, ĉar ĝi funkcias multe pli stabile por mi ol la Bluetooth-adaptilo konstruita en MacBook kaj enigita en virtuala maŝino.

Do ni kaptis la hash de la telefono de la viktimo kaj ricevis la aviditajn tri bajtojn de la hash de la telefonnumero.

Kiel mi uzas AirDrop anstataŭ Tinder
Interkaptita BLE-pako kun telefonnumero hash uzante la ilon read_ble_state.py

Ni scias, ke en Rusio ĉiuj poŝtelefonaj nombroj komenciĝas per la kodo +79 kaj, plej verŝajne, la telefono de nia viktimo havas la saman kodon. Montriĝas, ke ni havas gamon da nombroj de +79000000000 ĝis +79999999999, ĉirkaŭ miliardo da nombroj.

Por malvastigi la gamon, ni prenas nur la kodojn kiuj estas fakte registritaj ĉe iu ajn operatoro kaj forĵetas la reston. Kiel rezulto, la gamo iĝas duono pli granda, proksimume duonmiliardo da nombroj.

Poste, ni generas sha256 el ĉiuj nombroj kaj konservas nur la unuajn 3 bajtojn de ĉiu hash. Ni eniras ĉi tiun liston en la datumbazon Sqlite kaj konstruas indekson por akceli la serĉon.

Jen kiel aspektas la datumoj en la datumbazo:

Kiel mi uzas AirDrop anstataŭ Tinder
Ĉiuj rusaj telefonnumeroj kaj la unuaj tri bajtoj de la haŝiŝo

Poste, havante la hash de la viktimo, ni povas serĉi ĉiujn kongruojn en la datumbazo. Kutime estas 15-30 matĉoj po hash.

Kiel mi uzas AirDrop anstataŭ Tinder
Ĉiuj nombroj, kiuj kongruas kun la haŝiŝo de la viktimo

Evidente, ne ĉiuj ĉi tiuj nombroj estas efektive uzataj. Ni povas fortranĉi la nenecesajn uzante HLR-peton aŭ nevideblan SMS. El 30 numeroj, 5 estis trovitaj interrete.

Kiel mi uzas AirDrop anstataŭ Tinder
La rezulto de la HLR-peto. Retaj numeroj estas reliefigitaj verde.

Mi povus daŭrigi kribri la nombrojn, ekzemple, aldoni ilin ĉiujn al Telegramo/Whatsapp kaj rigardi la avatarojn, kontroli datumbazojn kiel Getcontact ktp. Sed montriĝis pli facile nur voki ĉiujn kvin numerojn unu post la alia kaj rigardi kiam sonoras la telefono de la viktimo.

Kiel mi uzas AirDrop anstataŭ Tinder
Celo lokita

todo

  • La inundo sur la raspberry pi estas tre malstabila, vi devas provi aliajn ununurajn tabulojn.
  • Denaska flooder por iOS estus multe pli bona, sed mi ne povis trovi unu kiu funkcias en iOS 12-13 eĉ kun jailbreak.
  • La skripto flooder.py estas tre stulta. Ĝi verŝajne povus generi personigitan bildon prenante la nomon de la aparato nomo de la ricevanto kaj eltranĉante la vorton iPhone.
  • La metodo de determini telefonnumeron povas esti optimumigita kontrolante nur la fakton, ke la nombro estas ligita al iMessage. Ĉi tio plej verŝajne donos al vi proksiman al 100% bata indico.

konkludo

Ĉi tio estas la perfekta distro por la metroo. Estas wow-efiko, scivolemuloj interesiĝas pri tio. Estis multe da improvizo, estis tre amuzaj kazoj. Montriĝas, ke multaj homoj pretas ludi kaj eĉ nuligi siajn planojn por eliri ĉe via metrostacio kaj supreniri por kafo. Dum la jaro, mi renkontis multajn homojn kaj daŭre komunikas kun kelkaj el ili.

Kelkfoje mi malŝaltas la Telegram-ensaluton kaj amuziĝas tiel.

Kiel mi uzas AirDrop anstataŭ Tinder

Kiel mi uzas AirDrop anstataŭ Tinder

fonto: www.habr.com

Aldoni komenton