Kuinka käytän AirDropia Tinderin sijaan

Kuinka käytän AirDropia Tinderin sijaan

Apple-laitteissa on erinomainen Airdrop-ominaisuus – se on tehty tiedon lähettämiseen laitteiden välillä. Tässä tapauksessa asennusta tai laitteiden alustavaa parittamista ei tarvita, vaan kaikki toimii kahdella napsautuksella. Tietojen siirtoon käytetään Wi-Fi-laajennusta, ja siksi dataa siirretään valtavilla nopeuksilla. Samaan aikaan joidenkin temppujen avulla voit paitsi lähettää tiedostoja, myös selvittää sen henkilön puhelinnumeron, joka on kanssasi samassa metroautossa.

Viimeisen vuoden ajan olen käyttänyt tätä toimintoa saadakseni mielenkiintoisia tuttavuuksia työmatkalla, joukkoliikenteessä ja julkisissa ravintoloissa. Keskimäärin onnistun saamaan useita uusia tuttavuuksia päivässä, ja joskus poistun metrosta uuden ihmisen seurassa.

Leikkauksen alla kerron sinulle kaikista kakiista.

Miten AirDrop toimii?

Kuinka käytän AirDropia Tinderin sijaan

AirDrop on protokolla tiedostojen siirtämiseen vertaisverkossa. Se voi toimia sekä tavallisessa paikallisverkossa että langattomasti minkä tahansa Apple-laitteen välillä. Analysoimme viimeistä tapausta, kun kaksi laitetta ei ole yhdistetty yhteiseen verkkoon, vaan ovat yksinkertaisesti lähellä, esimerkiksi kaksi puhelinta matkustavassa metroautossa, eivätkä ole yhteydessä yhteiseen Wi-Fi-verkkoon.

Kuinka käytän AirDropia Tinderin sijaan
Ensimmäinen vaihe AirDropin kautta on BLE-paketin lähettäminen

Tiedonsiirron aloittamiseksi AirDropin kautta aloittajan puhelin lähettää BLE-lähetyspaketin, joka sisältää hajautettujen tietojen iCloud-tilistä ja aloittajan laitteiden omistajan puhelinnumeron, ja ehdotuksen yhteyden muodostamiseksi AWDL:n (Apple Wireless Direct Link) kautta. ) -protokollaa, kuten Wi-Fi. Fi Direct Androidin maailmasta. Tämän BLE-paketin rakenne on erittäin mielenkiintoinen, analysoimme sitä edelleen.

Vastaanottajan puolella AirDrop voi olla kolmessa tilassa:

  • Sammutettu - ei havaita ollenkaan
  • Vain yhteyshenkilöille — hyväksy tiedostoja vain osoitekirjassasi olevilta yhteystiedoilta. Tässä tapauksessa yhteyshenkilöksi katsotaan puhelinnumero tai sähköpostiosoite, johon icloud-tili on linkitetty. Sama logiikka tilien linkittämisessä toimii tässä kuin iMessages-messengerissä.
  • kaikkien - puhelin näkyy kaikille

Kuinka käytän AirDropia Tinderin sijaan
AirDropin tietosuoja-asetukset. Oletustila on "Yhteystiedot".

Yksityisyysasetuksistasi riippuen puhelin joko jatkaa yhteyden muodostamista AWDL:n kautta tai jättää BLE-paketin huomiotta. Jos AirDrop on asetettu "kaikille", niin seuraavassa vaiheessa laitteet muodostavat yhteyden toisiinsa AWDL:n kautta, luovat välilleen IPv6-verkon, jossa AirDrop toimii tavallisena sovellusprotokollana käyttäen mDNS:ää tavallisen IP-protokollan yli.

Kuinka käytän AirDropia Tinderin sijaan

Kokeilua varten voit katsoa, ​​kuinka AWDL toimii MacBookissa. Kaikki tämän protokollan mukainen vaihto tapahtuu rajapinnan kautta awdl0, joka voidaan kaapata helposti Wiresharkilla tai tcpdumpilla.

Tässä vaiheessa tunnemme kolme kokonaisuutta:

Bluetooth LowEnergy (BLE) -paketti - tämä paketti sisältää dataa, jonka perusteella puhelin päättää, onko aloittaja sen yhteystietoluettelossa vai ei.
Apple Wireless Direct Link (AWDL) — Applen Wi-Fi Directin oma korvike, joka aktivoituu, jos viestintä BLE:n kautta onnistui.
pudottaa lentokoneesta - sovellusprotokolla, joka toimii tavallisessa IP-verkossa käyttämällä mDNS:tä, HTTP:tä jne. Voi toimia missä tahansa Ethernet-verkossa.

BLE-pakettirakenne

Saattaa näyttää siltä, ​​että tämä BLE-paketti lentää vain kerran aloittajalta vastaanottajalle, ja sitten vaihto tapahtuu vain AWDL:n kautta. Todellisuudessa AWDL-yhteydellä on hyvin lyhyt käyttöikä, vain muutama minuutti tai vähemmän. Joten jos tiedoston vastaanottaja haluaa vastata sinulle, hän toimii myös aloitteentekijänä ja lähettää BLE-paketin.

Miten vastaanottavassa päässä oleva puhelin ymmärtää, onko aloittajan numero/sähköposti sen yhteystietoluettelossa vai ei? Yllätyin suuresti, kun sain vastauksen: aloittaja lähettää numeronsa ja sähköpostinsa sha256-tiivisteenä, mutta ei kokonaan, vaan vain ensimmäiset 3 tavua.

Kuinka käytän AirDropia Tinderin sijaan
AirDrop-käynnistäjän BLE-paketin rakenne. Puhelinnumeron ja sähköpostin tiivisteiden avulla vastaaja ymmärtää, onko aloittaja hänen yhteystietoluettelossaan.

Jos esimerkiksi Apple-tilisi (alias iCloud, alias iMessages) on linkitetty numeroon +79251234567, sen hash lasketaan seuraavasti:

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

Ja seurauksena BLE-paketin arvo lentää pois 07de58 puhelinnumeroa varten. Tämä ei näytä riittävän, mutta usein nämä kolme tavua riittävät todellisen puhelinnumeron selvittämiseen.

On myös tärkeää muistaa, että AirDrop-tietosuoja-asetus ei vaikuta BLE-paketin tietoihin. Puhelinnumeron tiiviste sisältyy siihen, vaikka "Kaikille" -asetus olisi asetettu. Myös BLE-paketti, jossa on puhelinnumeron hajautus, lähetetään, kun Share-ikkuna avataan ja kun Wi-Fi-verkon salasana syötetään.

Lue tutkimuksesta yksityiskohtainen analyysi BLE-pakettien rakenteesta ja mahdollisista hyökkäyksistä Apple Bleee ja venäjäksi käännös Habrélle.

Apple Bleee -tutkimuksessa julkaistiin valmiita python-skriptejä data-analyysin automatisoimiseksi BLE-paketeissa. Suosittelen tutustumaan tutkimukseen ja kokeilemaan ohjelmia, siellä on paljon mielenkiintoista asiaa.

AWDL (Apple Wireless Direct Link)

AWDL on Applen oma lisäosa tavalliseen Wi-Fi-verkkoon, joka toteuttaa jotain Wi-Fi Directin kaltaista. En täysin tiedä, miten se toimii, on olemassa erityinen tapa ilmoittaa ja koordinoida kanavia, ja se toimii vain Applen omistamissa ohjaimissa. Eli vain MacBookit/iPhonet voivat muodostaa yhteyden AWDL:n kautta.

Surulliset Android-puhelinten omistajat haaveilevat edelleen kunnolla toimivasta Wi-Fi Direct -toiminnosta.

Kuinka käytän AirDropia Tinderin sijaan

Mutta ei niin kauan sitten kaverit seemoo-lab kirjoitti täysin avoimen lähdekoodin AWDL-toteutuksen ja kutsui sitä Avaa Wireless Link (PÖLLÖ). OWL:n suorittamiseksi Wi-Fi-sovittimen on tuettava näyttötilaa ja pakettien lisäystä, joten se ei toimi kaikilla laitteilla. Sivustolla on esimerkkejä Raspberry pi -määrityksistä. Tämä toimii huomattavasti huonommin kuin alkuperäinen AWDL, esimerkiksi yhteyden muodostusaikaa pidennetään ~10 sekuntia alkuperäisen muutaman sekunnin sijaan, mutta se toimii.

Kuinka käytän AirDropia Tinderin sijaan

Lisäksi nämä kaverit kirjoittivat tyhjästä AirDrop-protokollan toteutuksen Pythonissa, nimeltään OpenDrop. Sitä voidaan käyttää sekä OWL:n kanssa käynnistämään AirDrop Linuxissa että alkuperäisen AWDL:n kanssa macOS:ssä.

Kuinka rullata AirDropin kautta

Kuinka käytän AirDropia Tinderin sijaan
Tyypillinen tilanne rullattaessa AirDropin kautta

Tarpeeksi tylsä ​​teoria, on aika alkaa harjoitella. Joten olet aseistettu kaikilla tarvittavilla varusteilla ja olet valmis liikkumaan eteenpäin ja käärimään palloja korkean teknologian avulla.

Ensin sinun on muistettava pääkohdat:

  • AirDrop toimii vain, jos puhelin on auki – On parasta, jos kohde katsoo jatkuvasti puhelinta. Useimmiten tämä tapahtuu paikoissa, joissa se on tylsää, esimerkiksi metrossa.
  • Tarvitsee aikaa — yleensä positiivinen muunnos tapahtuu 3-5. lähetetyssä kuvassa, joten tarvitset vähintään 5 minuuttia hiljaista aikaa yhdessä paikassa. Pidän positiivisena konversiona hetkeä, jolloin suostuit AirDropin kautta jatkamaan viestintää messengerissä. Tätä on vaikea toteuttaa lennossa, koska ei ole heti selvää, kuka on hyväksynyt hyötykuormasi, ja todennäköisesti lämpenee ennen kuin pääset sopia jostain.
  • Personoitu luovuus toimii paremmin — Kutsun hyötykuormitukseksi mediasisältöä, jonka lähetät AirDropin kautta. Pelkästään meemillä varustettu kuva ei todennäköisesti johda mihinkään; sisällön tulee olla tilanteeseen sopiva ja siinä on oltava selkeä toimintakehotus.

Klassinen menetelmä - vain puhelin

Sopii kaikille joilla on iPhone, ei vaadi muita erityistaitoja kuin sosiaalisia. Vaihdamme AirDropin Every-tilaan ja menemme alas metroon. Tavallisena päivänä (ennen eristäytymistä) Moskovan metroautossa huomasin jotain tämän kaltaista:

Kuinka käytän AirDropia Tinderin sijaan
Luettelo kohteista

Kuten näet, lähes kaikki puhelimet lähettävät omistajan nimen, jonka avulla voimme helposti määrittää hänen sukupuolensa ja valmistaa sopivan hyötykuorman.

Hyötykuorma

Kuten edellä kirjoitin, ainutlaatuinen hyötykuorma toimii paremmin. Ihannetapauksessa kuvan tulisi osoittaa omistajalle nimellä. Aiemmin jouduin muotoilemaan luovuutta muistiinpanosovelluksen graafisella editorilla ja jonkinlaisella mobiili Photoshop-tyngillä. Seurauksena oli, että kun tarvittava kuva piirrettiin, oli jo pakko nousta autosta.

Ystäväni Anya koteeq, nimenomaan pyynnöstäni, kirjoitti Telegram-botin, joka luo tarvittavat kuvat ja kuvatekstin lennossa: @AirTrollBot. Kiitän häntä suuresti siitä, että pystyn nyt pyörittämään palloja paljon teknisemmin kuin ennen.

Riittää, kun lähetät botille rivin tekstiä, ja se luo sen kuvan muodossa, joka vastaa tarkasti AirDrop-ikkunan esikatselun kuvasuhdetta. Voit valita kuvassa olevan merkin painamalla painikkeita. Voit myös halutessasi ottaa käyttöön Telegram-kirjautumistunnuksesi lisäämisen kulmassa olevaan kuvaan.

Kuinka käytän AirDropia Tinderin sijaan
Hyötykuorman generaattori

Pahinta oli, että kuva näytettiin välittömästi uhrin näytöllä ilman mitään toimenpiteitä. Sinun ei tarvinnut edes klikata "Hyväksy". Voisit nähdä välittömän reaktion kasvoilla kuorman lataamisesta. Valitettavasti iOS 13:sta lähtien tuntemattomien kontaktien kuvia ei enää näytetä näytöllä. Tältä se näytti ennen:

Kuinka käytän AirDropia Tinderin sijaan
Hyötykuorma toimitettu iOS ≤12

Nyt esikatselun sijaan näytetään vain lähettäjän laitteen nimi. Siksi ainoa tapa ottaa yhteyttä uhriin, jolla on iOS ≥13, nimellä, on asettaa se laitteesi asetuksiin, esimerkiksi soittamalla puhelimeen "Yulia, hei". Vihje: Voit käyttää emojia laitteen nimessä. Tämä menetelmä ei tietenkään ole yhtä kirkas kuin kuvassa, mutta se lisää huomattavasti mahdollisuutta napsauttaa "hyväksy" -painiketta.

Toimien tarkempi kuvaus ei kuulu tekniseen artikkeliin ja riippuu vain mielikuvituksestasi, improvisaatiostasi ja huumoristasi. Voin vain sanoa, että ne, jotka liittyvät tähän peliin ja alkavat vastata sinulle kuvilla tai lähettämällä muistiinpanoja, ovat yleensä hyvin iloisia, avoimia ja mielenkiintoisia ihmisiä. Ne, jotka kuvan katsomisen jälkeen eivät yksinkertaisesti vastaa tai, mikä pahempaa, yksinkertaisesti hylkäävät viestin, ovat yleensä tylsiä snobeja ja röyhkeitä. Myös pelkotekijällä on usein oma roolinsa: hauraat, arat ihmiset pelkäävät olla vuorovaikutuksessa tällaisen ylimielisen anonyymin vieraan kanssa.

Automaattinen poimintakone

Jos olet liian laiska luomaan ja lähettämään hyötykuormia manuaalisesti ja haluat automatisoida prosessin, voit tehdä automaattisen äänipoimintakoneen, joka taustalla lähettää kuvia AirDropin kautta kaikille kantaman sisällä. Käytämme laitteistoalustana raspberry pi zeroa, mutta mikä tahansa Linux-tietokone käy, pääasia, että Wi-Fi-kortti tukee näyttötilaa ja pakettiinjektiota.

Kuinka käytän AirDropia Tinderin sijaan
Kaiutinlähetin Airdropin kautta, joka perustuu Raspberry pi zero w:iin + UPS Lite -akkusuoja

Jailbreak iPhoneille on olemassa AirDrop flooder -ohjelmia, ne toimivat vakaammin kuin avoimet versiot Raspberry pi:ssä

OWL:n määrittäminen raspberry pi:lle on kuvattu yksityiskohtaisesti osoitteessa projektisivusto, mutta käytän mieluummin Kali Linux -versiota Raspberry Pi Zerolle, koska siihen on jo asennettu nexmon-korjaustiedostot Wi-Fi-näyttötilan mahdollistamiseksi rpi0:ssa.

On tärkeää muistaa, että Airdrop (tai pikemminkin AWDL) aktivoituu potilaille vasta saatuaan BLE-paketin. Siksi meidän on lähetettävä se muutaman sekunnin välein. Tämä voidaan tehdä apuohjelmalla py-bluetooth-utils. Lähetän datamerkkijonon apple bleee -esimerkeistä käyttämällä start_le_advertising()-funktiota: 000000000000000001123412341234123400.

Kun sinulla on toimiva OWL-daemon, voit käynnistää haarukkaani opendrop. Arkistossa on skripti flooder.py, joka lähettää kaikille kuvan kak_dela.jpeg.

Havaintojeni mukaan vadelma pi zero w on epävakaa monitoritilassa. Noin 20 minuutin aktiivisen tulvimisen jälkeen Wi-Fi-alijärjestelmä kaatuu. Kirjoittaja kuvailee ongelmaa pwnagotchi, ja se johtuu oletettavasti ylikuumenemisesta. On tarpeen tarjota vahtikoira tai käyttää vakaampaa laitteistoa

Maniacello-tila - Tiedän numerosi

Jos haluat näyttää itsesi riittämättömänä hulluna ja estää ikuisesti halua jatkaa kommunikointia kanssasi, voit yrittää selvittää lähellä olevan henkilön puhelinnumeron.

Kuten aiemmin opimme, aloittajan lähettämät BLE-paketit sisältävät sha256-puhelinnumeron kolme ensimmäistä tavua. Tämä hajautus voi jäädä kiinni, kun uhri napsauttaa "jaa"-painiketta ja alkaa skannata airdrop-laitteita tai napauttaa uuden verkon Wi-Fi-salasanaa syöttökentässä (tällä tavalla Apple etsii kavereita läheltä, joilta voit pyytää verkon salasana).

Sinun on jotenkin laukaistava hash-viesti uhrilta ja saatava se kiinni. Käytän arkiston apuohjelmia Apple Bleee. Koska laitteiden Bluetooth MAC-osoitteet ovat satunnaisia ​​ja muuttuvat jatkuvasti, sinun on löydettävä toinen tapa määrittää haluamasi laite tästä luettelosta. Tehtävää yksinkertaistaa se, että iOS lähettää puhelimen nykyisen tilan, kuten: näyttö pois päältä, näyttö päällä, lukittu näyttö, lukitsematon jne. Siksi yksinkertaisesti tarkkailemalla uhrin toimia voit verrata laitteen nykyistä tilaa taulukossa olevaan laitteeseen. Helpoin tapa on saada kiinni hetkestä, jolloin käyttäjä ottaa puhelimen taskustaan, käynnistää näytön ja avaa puhelimen lukituksen sormella tai kasvoilla. Kaikki tämä näkyy nuuskijassa.

Kuinka käytän AirDropia Tinderin sijaan
ikoni Х tarkoittaa, että paketti, jossa oli puhelimen tiivisteitä, on kiinni.

Heidän jäsentäjänsä rikkoutuu joskus, mutta useimmiten se toimii. En kerro täysin uudelleen haavoittuvuuden ydintä, koska Apple Bleen kirjoittajat analysoivat sen yksityiskohtaisesti, kuvailen vain kokemuksiani. Sanon vain, että käytän USB-Bluetooth-sovitinta CSR 8510 -sirussa, koska se toimii minulle paljon vakaammin kuin MacBookiin sisäänrakennettu ja virtuaalikoneeseen asetettu Bluetooth-sovitin.

Joten saimme tiivisteen uhrin puhelimesta ja saimme toivotut kolme tavua puhelinnumeron hashista.

Kuinka käytän AirDropia Tinderin sijaan
Siepattu BLE-paketti puhelinnumeron hajautusohjelmalla read_ble_state.py

Tiedämme, että Venäjällä kaikki matkapuhelinnumerot alkavat koodilla +79 ja todennäköisesti uhrimme puhelimessa on sama koodi. Osoittautuu, että meillä on numeroalue +79000000000 - +79999999999, noin miljardi numeroa.

Alueen rajaamiseksi otamme vain ne koodit, jotka on rekisteröity mille tahansa operaattorille, ja hylkäämme loput. Tämän seurauksena valikoimasta tulee puolet suurempi, noin puoli miljardia numeroa.

Seuraavaksi luomme sha256 kaikista numeroista ja tallennamme vain ensimmäiset 3 tavua kustakin hashista. Kirjoitamme tämän luettelon Sqlite-tietokantaan ja rakennamme indeksin nopeuttaaksemme hakua.

Tietokannan tiedot näyttävät tältä:

Kuinka käytän AirDropia Tinderin sijaan
Kaikki venäläiset puhelinnumerot ja tiivisteen kolme ensimmäistä tavua

Seuraavaksi, kun meillä on uhrin hajautus, voimme etsiä kaikkia osumia tietokannasta. Yleensä on 15-30 osumaa per hash.

Kuinka käytän AirDropia Tinderin sijaan
Kaikki numerot, jotka vastaavat uhrin tiivistettä

On selvää, että kaikkia näitä numeroita ei todellakaan käytetä. Voimme katkaista tarpeettomat HLR-pyynnöllä tai näkymättömällä tekstiviestillä. 30 numerosta 5 löytyi verkosta.

Kuinka käytän AirDropia Tinderin sijaan
HLR-pyynnön tulos. Verkkonumerot on korostettu vihreällä.

Voisin jatkaa numeroiden selaamista, esimerkiksi lisätä ne kaikki Telegramiin/Whatsappiin ja katsoa avatareja, käydä läpi tietokantoja, kuten Getcontact ja niin edelleen. Mutta helpompaa oli soittaa kaikkiin viiteen numeroon yksitellen ja katsoa, ​​milloin uhrin puhelin soi.

Kuinka käytän AirDropia Tinderin sijaan
Kohde sijaitsee

Kaikki

  • Raspberry pi:n flooder on erittäin epävakaa, sinun on kokeiltava muita yksittäisiä lautoja.
  • Alkuperäinen Flooder iOS:lle olisi paljon parempi, mutta en löytänyt sellaista, joka toimisi iOS 12-13:ssa edes jailbreakin kanssa.
  • flooder.py-skripti on erittäin typerä. Se voisi luultavasti luoda henkilökohtaisen kuvan ottamalla nimen vastaanottajan laitteen nimestä ja leikkaamalla pois sanan iPhone.
  • Puhelinnumeron määritysmenetelmä voidaan optimoida tarkistamalla vain, että numero on linkitetty iMessageen. Tämä todennäköisimmin antaa sinulle lähes 100 % osumaprosentin.

Johtopäätös

Tämä on täydellistä viihdettä metrolle. On olemassa wow-efekti, uteliaat ihmiset ovat kiinnostuneita tästä. Siellä oli paljon improvisaatiota, oli erittäin hauskoja tapauksia. Osoittautuu, että monet ihmiset ovat valmiita leikkimään mukana ja jopa perumaan suunnitelmansa päästäkseen pois metroasemaltasi ja mennäkseen kahville. Vuoden aikana tapasin monia ihmisiä ja jatkan kommunikointia joidenkin kanssa.

Joskus sammutan Telegram-kirjautumisen ja pidän hauskaa näin.

Kuinka käytän AirDropia Tinderin sijaan

Kuinka käytän AirDropia Tinderin sijaan

Lähde: will.com

Lisää kommentti