Com faig servir AirDrop en lloc de Tinder

Com faig servir AirDrop en lloc de Tinder

Els dispositius Apple tenen una excel·lent funció Airdrop: està fet per enviar dades entre dispositius. En aquest cas, no es requereix cap configuració ni emparellament previ de dispositius; tot funciona de manera immediata en dos clics. S'utilitza un complement mitjançant Wi-Fi per transferir dades i, per tant, les dades es transfereixen a una velocitat enorme. Al mateix temps, amb alguns trucs, no només podeu enviar fitxers, sinó també esbrinar el número de telèfon de la persona que està al mateix vagó de metro amb vosaltres.

Des de fa un any utilitzo aquesta funció per fer coneguts interessants de camí a la feina, en transport públic i en establiments de restauració. De mitjana, aconsegueixo fer diversos nous coneguts al dia, i de vegades surto del metro en companyia d'una persona nova.

Sota el tall us parlaré de tots els caquis.

Com funciona AirDrop?

Com faig servir AirDrop en lloc de Tinder

AirDrop és un protocol per transferir fitxers dins d'una xarxa peer-to-peer. Pot funcionar tant en una xarxa local normal com per aire entre qualsevol dispositiu Apple. Analitzarem l'últim cas, quan dos dispositius no estan connectats a una xarxa comuna, sinó que simplement estan a prop, per exemple, dues persones amb telèfons viatgen en un vagó de metro i no estan connectades a una Wi-Fi comuna.

Com faig servir AirDrop en lloc de Tinder
La primera etapa de la transmissió mitjançant AirDrop és enviar un paquet BLE

Per iniciar la transferència de dades mitjançant AirDrop, el telèfon de l'iniciador envia un paquet de difusió BLE, que conté informació resumida sobre el compte iCloud i el número de telèfon del propietari dels dispositius de l'iniciador, amb una proposta per establir una connexió a través de l'AWDL (Apple Wireless Direct Link). ), una cosa així com Wi-Fi. Fi Direct des del món d'Android. L'estructura d'aquest paquet BLE és molt interessant, l'analitzarem més endavant.

Per part del destinatari, AirDrop pot estar en tres estats:

  • Apagat - no es detectarà en absolut
  • Només per a contactes — accepteu fitxers només dels contactes de la vostra llibreta d'adreces. En aquest cas, es considera que el contacte és el número de telèfon o correu electrònic al qual està enllaçat el compte d'iCloud. La mateixa lògica per enllaçar comptes funciona aquí que amb el missatger d'iMessages.
  • per a tots - El telèfon serà visible per a tothom

Com faig servir AirDrop en lloc de Tinder
Configuració de privadesa d'AirDrop. L'estat predeterminat és "Per a contactes".

Depenent de la vostra configuració de privadesa, el telèfon continuarà establint una connexió mitjançant AWDL o simplement ignorarà el paquet BLE. Si AirDrop està configurat com a "per a tothom", al següent pas, els dispositius es connectaran entre ells mitjançant AWDL, crearan una xarxa IPv6 entre ells, dins de la qual AirDrop funcionarà com a protocol d'aplicació habitual mitjançant mDNS sobre el protocol IP estàndard.

Com faig servir AirDrop en lloc de Tinder

Per a experiments, podeu veure com funciona AWDL en un MacBook. Tot l'intercanvi sota aquest protocol es produeix a través de la interfície awdl0, que es pot capturar fàcilment amb Wireshark o tcpdump.

En aquesta etapa coneixem tres entitats:

Paquet Bluetooth LowEnergy (BLE). - aquest paquet conté dades en funció de les quals el telèfon decideix si l'iniciador és a la seva llista de contactes o no.
Enllaç directe sense fil d'Apple (AWDL) — un substitut propietari de Wi-Fi Direct d'Apple, activat si la comunicació mitjançant BLE va tenir èxit.
AirDrop - un protocol d'aplicació que funciona dins d'una xarxa IP normal mitjançant mDNS, HTTP, etc. Pot funcionar dins de qualsevol xarxa Ethernet.

Estructura de paquets BLE

Pot semblar que aquest paquet BLE només vola una vegada des de l'iniciador al destinatari, i aleshores l'intercanvi només es produeix mitjançant AWDL. En realitat, una connexió AWDL té una vida útil molt curta, només uns minuts o menys. Així, si el destinatari del fitxer vol respondre't, també actuarà com a iniciador i enviarà un paquet BLE.

Com entén el telèfon de l'extrem receptor si el número/correu electrònic de l'iniciador està a la seva llista de contactes o no? Em va sorprendre molt quan vaig saber la resposta: l'iniciador envia el seu número i correu electrònic com a hash sha256, però no del tot, sinó només els 3 primers bytes.

Com faig servir AirDrop en lloc de Tinder
Estructura d'un paquet BLE de l'iniciador d'AirDrop. Utilitzant hash del número de telèfon i el correu electrònic, el que respon en entén si l'iniciador es troba a la seva llista de contactes.

Per exemple, si el vostre compte d'Apple (també conegut com iCloud, també conegut com iMessages) està enllaçat al número +79251234567, el hash d'aquest es calcularà així:

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

I com a resultat, el valor del paquet BLE volarà 07de58 per un número de telèfon. Això sembla no suficient, però sovint aquests tres bytes són suficients per esbrinar el número de telèfon real.

També és important recordar que la configuració de privadesa d'AirDrop no afecta les dades del paquet BLE. El hash del número de telèfon hi estarà inclòs, fins i tot si la configuració "Per a tothom" està establerta. A més, s'envia un paquet BLE amb un hash del número de telèfon quan s'obre la finestra Compartir i quan s'introdueix la contrasenya per a la xarxa Wi-Fi.

Per obtenir una anàlisi detallada de l'estructura dels paquets BLE i els possibles atacs contra ella, llegiu l'estudi Apple Bleee i rus traducció a Habré.

L'estudi Apple Bleee va publicar scripts Python ja fets per automatitzar l'anàlisi de dades en paquets BLE. Us recomano fer una ullada a la investigació i provar els programes, hi ha moltes coses interessants.

AWDL (enllaç directe sense fil d'Apple)

AWDL és un complement propietari d'Apple a la xarxa Wi-Fi normal que implementa alguna cosa com Wi-Fi Direct. No sé del tot com funciona, hi ha una manera especial d'anunciar i coordinar canals, i només funciona amb controladors propietaris d'Apple. És a dir, només els MacBook/iPhone es poden connectar mitjançant AWDL.

Els tristos propietaris de telèfons Android encara només somien amb una funció Wi-Fi Direct que funcioni correctament.

Com faig servir AirDrop en lloc de Tinder

Però no fa tant els nois de seemoo-lab va escriure una implementació de codi obert d'AWDL i la va anomenar Obriu l'enllaç sense fil (ÒLIBA). Per executar OWL, l'adaptador Wi-Fi ha d'admetre el mode de monitor i la injecció de paquets, de manera que no s'executa en tots els maquinari. El lloc té exemples de configuració a Raspberry pi. Això funciona molt pitjor que l'AWDL original, per exemple, el temps de configuració de la connexió s'allarga uns 10 segons en lloc d'un parell de segons per a l'original, però funciona.

Com faig servir AirDrop en lloc de Tinder

A més, aquests nois van escriure des de zero una implementació del protocol AirDrop a Python, anomenada OpenDrop. Es pot utilitzar tant juntament amb OWL per llançar AirDrop a Linux com amb l'AWDL original a macOS.

Com enrotllar mitjançant AirDrop

Com faig servir AirDrop en lloc de Tinder
Situació típica amb enrotllament mitjançant AirDrop

Prou de teoria avorrida, és hora de començar a practicar. Així que estàs armat amb tot l'equip necessari i estàs preparat per avançar i enrotllar boles amb alta tecnologia.

Primer cal recordar els punts principals:

  • AirDrop només funcionarà si el telèfon està desbloquejat - El millor és que l'objectiu estigui mirant constantment el telèfon. Molt sovint això passa en llocs on és avorrit, per exemple al metro.
  • Necessita temps — En general, es produeix una conversió positiva a la imatge 3-5 enviada, de manera que necessiteu almenys 5 minuts de silenci en un sol lloc. Considero que una conversió positiva és el moment en què vau acceptar mitjançant AirDrop continuar comunicant-vos al missatger. Això és difícil d'implementar sobre la marxa, perquè no està clar immediatament qui va acceptar la vostra càrrega útil i, molt probablement, us escalfeu abans de posar-vos d'acord en alguna cosa.
  • La creativitat personalitzada funciona millor — Truco a càrrega útil el contingut multimèdia que envieu mitjançant AirDrop. Només una imatge amb un meme probablement no portarà enlloc; el contingut ha de ser rellevant per a la situació i tenir una crida a l'acció clara.

El mètode clàssic: només un telèfon

Apte per a tothom que tingui un iPhone, no requereix cap habilitat especial que no sigui social. Canviem AirDrop al mode Tothom i baixem al metro. Un dia normal (abans de l'autoaïllament) en un vagó de metro de Moscou, vaig observar alguna cosa com això:

Com faig servir AirDrop en lloc de Tinder
Llista d'objectius

Com podeu veure, gairebé tots els telèfons transmeten el nom del propietari, amb el qual podem determinar fàcilment el seu gènere i preparar la càrrega útil adequada.

Càrrega útil

Com he escrit més amunt, una càrrega útil única funciona millor. Idealment, la imatge hauria d'adreçar-se al propietari pel seu nom. Anteriorment, havia d'esculpir la creativitat amb un editor gràfic a l'aplicació de notes i una mena de taló de Photoshop mòbil. Com a resultat, quan es va dibuixar la imatge requerida, ja era necessari sortir del cotxe.

La meva amiga Anya koteeq, concretament a petició meva, va escriure un bot de Telegram que genera les imatges necessàries amb un títol sobre la marxa: @AirTrollBot. Li agraeixo molt el fet que ara puc fer rodar les boles molt més tecnològicament que abans.

N'hi ha prou amb enviar al bot una línia de text i el generarà en forma d'imatge que coincideixi exactament amb la relació d'aspecte de la vista prèvia a la finestra AirDrop. Podeu seleccionar un caràcter de la imatge prement els botons. També podeu activar opcionalment afegir el vostre inici de sessió de Telegram a la imatge de la cantonada.

Com faig servir AirDrop en lloc de Tinder
Generador de càrrega útil

El pitjor va ser que la imatge es va mostrar immediatament a la pantalla de la víctima sense cap acció. Ni tan sols vau haver de fer clic a "acceptar". Podeu veure la reacció instantània a la cara de carregar la càrrega útil. Malauradament, a partir d'iOS 13, les imatges de contactes desconeguts ja no es mostren a la pantalla. Aquí teniu el que semblava abans:

Com faig servir AirDrop en lloc de Tinder
Càrrega útil lliurada a iOS ≤12

Ara, en lloc d'una vista prèvia, només es mostra el nom del dispositiu del remitent. Per tant, l'única manera de contactar amb una víctima amb iOS ≥13 pel seu nom és configurar-la a la configuració del dispositiu, per exemple, trucant al telèfon "Yulia, hola". Suggeriment: podeu utilitzar emoji al nom del dispositiu. Per descomptat, aquest mètode no és tan brillant com amb una imatge, però augmenta molt la possibilitat de fer clic al botó "acceptar".

La descripció més detallada de les accions està fora de l'abast d'un article tècnic i només depèn de la vostra imaginació, improvisació i humor. Només puc dir que els que s'uneixen a aquest joc i et comencen a respondre amb imatges o enviant notes solen ser gent molt alegre, oberta i interessant. Aquells que, després de mirar la imatge, simplement no responen, o pitjor, simplement rebutgen el missatge, solen ser avorrits esnobs i molls. El factor por també hi juga sovint un paper: les persones fràgils i tímides tenen por d'interactuar amb un desconegut anònim tan arrogant.

Màquina de pick-pick automàtica

Si ets massa mandrós per generar i enviar càrregues útils manualment i vols automatitzar el procés, pots crear una màquina automàtica de selecció de veu, que en segon pla enviarà imatges mitjançant AirDrop a tots els que estiguin a l'abast. Utilitzarem raspberry pi zero com a plataforma de maquinari, però qualsevol ordinador amb Linux ho farà, el més important és que la targeta Wi-Fi admet el mode monitor i la injecció de paquets.

Com faig servir AirDrop en lloc de Tinder
Remitent de l'altaveu mitjançant Airdrop basat en raspberry pi zero w + protector de bateria UPS Lite

Hi ha programes de inundació AirDrop per a iPhones Jailbreak, funcionen més estables que les versions obertes a raspberry pi

La configuració de OWL al raspberry pi es descriu amb detall a web del projecte, però prefereixo utilitzar la compilació Kali Linux per a Raspberry Pi Zero perquè ja té instal·lats pedaços Nexmon per habilitar el mode de monitor Wi-Fi a rpi0.

És important recordar que Airdrop (o millor dit AWDL) s'activa per als pacients només després de rebre un paquet BLE. Per tant, l'hem d'enviar a intervals de diversos segons. Això es pot fer mitjançant la utilitat py-bluetooth-utils. Utilitzant la funció start_le_advertising(), envio la cadena de dades dels exemples d'Apple Bleee: 000000000000000001123412341234123400.

Un cop tingueu un dimoni OWL en funcionament, podeu llançar el meu fork opendrop. Hi ha un script al repositori flooder.py, que envia una imatge a tothom kak_dela.jpeg.

Segons les meves observacions, el raspberry pi zero w és inestable en mode monitor. Després d'uns 20 minuts de funcionament actiu de la inundació, el subsistema Wi-Fi es bloqueja. El problema el descriu l'autor pwnagotchi, i presumiblement és causada per un sobreescalfament. Cal proporcionar un gos guardià o utilitzar un maquinari més estable

Mode Maniacello: sé el teu número

Si vols mostrar-te com un maníac inadequat i desanimar per sempre el desig de seguir comunicant-te, pots intentar esbrinar el número de telèfon de la persona que està a prop.

Com hem après anteriorment, els paquets BLE enviats per l'iniciador contenen els tres primers bytes del número de telèfon sha256. Aquest hash es pot capturar quan la víctima fa clic al botó "compartir" i comença a escanejar els dispositius de llançament d'aire o toca la contrasenya de Wi-Fi per a una nova xarxa al camp d'entrada (d'aquesta manera, Apple cerca amics dins del seu abast als quals podeu sol·licitar). la contrasenya de la xarxa).

Haureu d'activar d'alguna manera el missatge hash de la víctima i atrapar-lo. Estic fent servir les utilitats del repositori Apple Bleee. Com que les adreces MAC de Bluetooth dels dispositius són aleatòries i canvien constantment, haureu de trobar una altra manera de determinar el dispositiu desitjat en aquesta llista. La tasca es simplifica pel fet que iOS transmet l'estat actual del telèfon com: pantalla apagada, pantalla activada, pantalla de bloqueig, desbloquejat, etc. Per tant, només observant les accions de la víctima, podeu comparar l'estat actual del dispositiu amb el dispositiu de la taula. La manera més senzilla és captar el moment en què l'usuari treu el telèfon de la butxaca, encén la pantalla i desbloqueja el telèfon amb el dit o la cara. Tot això serà visible al sniffer.

Com faig servir AirDrop en lloc de Tinder
Insígnia Х significa que s'ha capturat un paquet amb hash de telèfon.

El seu analitzador de vegades es trenca, però sovint funciona. No tornaré a explicar completament l'essència de la vulnerabilitat, ja que va ser analitzada en detall pels autors d'Apple Blee, només descriuré la meva experiència. Només diré que faig servir un adaptador Bluetooth USB en un xip CSR 8510, ja que em funciona molt més estable que l'adaptador Bluetooth integrat en un MacBook i inserit en una màquina virtual.

Així que vam agafar el hash del telèfon de la víctima i vam rebre els cobejats tres bytes del hash del número de telèfon.

Com faig servir AirDrop en lloc de Tinder
Paquet BLE interceptat amb hash del número de telèfon mitjançant la utilitat read_ble_state.py

Sabem que a Rússia tots els números de mòbil comencen amb el codi +79 i, molt probablement, el telèfon de la nostra víctima tingui el mateix codi. Resulta que tenim un rang de números des de +79000000000 fins a +79999999999, uns mil milions de números.

Per reduir el rang, agafem només els codis que realment estan registrats amb qualsevol operador i descartem la resta. Com a resultat, el rang es fa la meitat més gran, aproximadament mig milió de números.

A continuació, generem sha256 a partir de tots els números i només desem els 3 primers bytes de cada hash. Introduïm aquesta llista a la base de dades Sqlite i construïm un índex per accelerar la cerca.

Així es veuen les dades de la base de dades:

Com faig servir AirDrop en lloc de Tinder
Tots els números de telèfon russos i els tres primers bytes del hash

A continuació, tenint el hash de la víctima, podem cercar totes les coincidències a la base de dades. Normalment hi ha 15-30 coincidències per hash.

Com faig servir AirDrop en lloc de Tinder
Tots els números que coincideixen amb el hash de la víctima

Òbviament, no tots aquests números s'utilitzen realment. Podem tallar les innecessàries mitjançant una sol·licitud HLR o un SMS invisible. De 30 números, 5 es van trobar en línia.

Com faig servir AirDrop en lloc de Tinder
El resultat de la sol·licitud HLR. Els números de xarxa es destaquen en verd.

Podria seguir filtrant els números, per exemple, afegir-los tots a Telegram/Whatsapp i mirar els avatars, consultar bases de dades com Getcontact, etc. Però va resultar més fàcil trucar als cinc números un per un i veure quan sona el telèfon de la víctima.

Com faig servir AirDrop en lloc de Tinder
Target localitzat

Tot

  • El flooder del raspberry pi és molt inestable, heu de provar altres taules individuals.
  • Un flooder natiu per a iOS seria molt millor, però no en vaig trobar cap que funcioni amb iOS 12-13, fins i tot amb jailbreak.
  • L'script flooder.py és molt estúpid. Probablement podria generar una imatge personalitzada agafant el nom del nom del dispositiu del destinatari i tallant la paraula iPhone.
  • El mètode per determinar un número de telèfon es pot optimitzar comprovant només el fet que el número estigui vinculat a iMessage. Això probablement us donarà una taxa d'èxits propera al 100%.

Conclusió

Aquest és l'entreteniment perfecte per al metro. Hi ha un efecte wow, els curiosos estan interessats en això. Hi havia molta improvisació, hi havia casos molt divertits. Resulta que molta gent està preparada per jugar i fins i tot cancel·lar els seus plans per baixar a la teva estació de metro i pujar a prendre un cafè. Al llarg de l'any he conegut molta gent i segueixo comunicant-me amb algunes d'elles.

De vegades desactivo l'inici de sessió de Telegram i em diverteixo així.

Com faig servir AirDrop en lloc de Tinder

Com faig servir AirDrop en lloc de Tinder

Font: www.habr.com

Afegeix comentari