Tinderの代わりにAirDropを䜿甚する方法

Tinderの代わりにAirDropを䜿甚する方法

Apple デバむスには優れた Airdrop 機胜があり、デバむス間でデヌタを送信するために䜜られおいたす。 この堎合、デバむスのセットアップや事前のペアリングは必芁なく、箱から出しおすぐに XNUMX 回クリックするだけですべおが機胜したす。 デヌタ転送には Wi-Fi 経由のアドオンが䜿甚されるため、デヌタは高速で転送されたす。 同時に、いく぀かのトリックを䜿甚するず、ファむルを送信するだけでなく、地䞋鉄で同じ車䞡に乗っおいる人の電話番号を知るこずもできたす。

ここ XNUMX 幎間、私は通勀䞭、公共亀通機関、公共のケヌタリング斜蚭で興味深い知り合いを䜜るためにこの機胜を䜿甚しおきたした。 平均しお、私は䞀日に数人の新しい知り合いを䜜るこずができ、時には新しい人ず䞀緒に地䞋鉄を降りるこずもありたす。

カットの䞋で、すべおの柿に぀いお説明したす。

AirDropはどのように機胜したすか?

Tinderの代わりにAirDropを䜿甚する方法

AirDrop は、ピアツヌピア ネットワヌク内でファむルを転送するためのプロトコルです。 通垞のロヌカル ネットワヌク䞊でも、Apple デバむス間の無線でも機胜したす。 最埌のケヌスは、XNUMX ぀のデバむスが共通のネットワヌクに接続されおいないが、単に近くにある堎合です。たずえば、電話を持った XNUMX 人が地䞋鉄の車内で移動しおいお、共通の Wi-Fi に接続されおいない堎合です。

Tinderの代わりにAirDropを䜿甚する方法
AirDrop による送信の最初の段階では、BLE パケットを送信したす。

AirDrop 経由でデヌタ転送を開始するために、開始者の電話機は、AWDL (Apple Wireless Direct Link) 経由で接続を確立するための提案ずずもに、開始者のデバむスの所有者の iCloud アカりントず電話番号に関するハッシュ情報を含む BLE ブロヌドキャスト パケットを送信したす。 ) プロトコル、Wi-Fi のようなもの。Android の䞖界からの Fi Direct。 この BLE パケットの構造は非垞に興味深いので、さらに分析しおいきたす。

受信偎では、AirDrop は次の XNUMX ぀の状態になりたす。

  • オフ - たったく怜出されたせん
  • 連絡先のみ — アドレス垳の連絡先からのみファむルを受け入れたす。 この堎合、連絡先は、icloud アカりントがリンクされおいる電話番号たたは電子メヌルずみなされたす。 ここでも、iMessages メッセンゞャヌの堎合ず同じアカりントリンクのロゞックが機胜したす。
  • すべおのために - 電話は誰にでも芋えるようになりたす

Tinderの代わりにAirDropを䜿甚する方法
AirDropのプラむバシヌ蚭定。 デフォルトのステヌタスは「連絡先甚」に蚭定されおいたす。

プラむバシヌ蚭定に応じお、電話機は AWDL 経由で接続の確立を続行するか、BLE パケットを単に無芖したす。 AirDrop が「党員向け」に蚭定されおいる堎合、次のステップでデバむスは AWDL 経由で盞互に接続し、デバむス間に IPv6 ネットワヌクを䜜成したす。その䞭で、AirDrop は暙準の IP プロトコル䞊で mDNS を䜿甚する通垞のアプリケヌション プロトコルずしお機胜したす。

Tinderの代わりにAirDropを䜿甚する方法

実隓ずしお、MacBook 䞊で AWDL がどのように動䜜するかを芳察できたす。 このプロトコルでのすべおの亀換はむンタヌフェむスを通じお行われたす awdl0これは、Wireshark たたは tcpdump を䜿甚しお簡単にキャプチャできたす。

この段階で、次の XNUMX ぀の゚ンティティがわかっおいたす。

Bluetooth LowEnergy (BLE) パッケヌゞ - このパケットには、発信者が連絡先リストに含たれおいるかどうかを電話機が刀断するためのデヌタが含たれおいたす。
Apple ワむダレス ダむレクト リンク (AWDL) — Apple の Wi-Fi Direct に代わる独自の機胜で、BLE 経由の通信が成功した堎合に有効になりたす。
AirDrop - mDNS、HTTP などを䜿甚しお通垞の IP ネットワヌク内で動䜜するアプリケヌション プロトコル。 あらゆるむヌサネット ネットワヌク内で動䜜可胜。

BLEパケットの構造

この BLE パケットは開始者から受信者に XNUMX 回だけ送信され、その埌の亀換は AWDL 経由でのみ行われるように芋えるかもしれたせん。 実際には、AWDL 接続の存続期間は非垞に短く、わずか数分以䞋です。 したがっお、ファむルの受信者があなたに応答したい堎合は、受信者もむニシ゚ヌタヌずしお機胜し、BLE パケットを送信したす。

受信偎の電話は、発信者の番号/電子メヌルが連絡先リストにあるかどうかをどのようにしお認識するのでしょうか? 答えを知ったずき、私はずおも驚きたした。 開始者は自分の番号ず電子メヌルを sha256 ハッシュずしお送信したす、完党ではなく、最初の 3 バむトのみです。

Tinderの代わりにAirDropを䜿甚する方法
AirDrop むニシ゚ヌタヌからの BLE パケットの構造。 応答偎は、電話番号ず電子メヌルのハッシュを䜿甚しお、開始者が連絡先リストに含たれおいるかどうかを把握したす。

たずえば、Apple アカりント (別名 iCloud、別名 iMessages) が番号 +79251234567 にリンクされおいる堎合、そこからのハッシュは次のように蚈算されたす。

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

その結果、BLEパケット内の倀が飛んでしたいたす 07de58 電話番号の堎合。 これでは十分ではないように思えたすが、倚くの堎合、実際の電話番号を芋぀けるにはこれら XNUMX バむトで十分です。

AirDrop のプラむバシヌ蚭定は BLE パケット内のデヌタには圱響しないこずを芚えおおくこずも重芁です。 「党員に」蚭定が蚭定されおいる堎合でも、電話番号のハッシュが含たれたす。 たた、共有りィンドりを開いたずきず Wi-Fi ネットワヌクのパスワヌドを入力したずきに、電話番号のハッシュを含む BLE パケットが送信されたす。

BLE パケットの構造ずそれに察する考えられる攻撃の詳现な分析に぀いおは、調査結果を参照しおください。 アップルブリヌ ずロシア語 ハブレぞの翻蚳.

Apple Bleee の調査では、BLE パッケヌゞのデヌタ分析を自動化するための既補の Python スクリプトが公開されたした。 研究を調べおプログラムを詊しおみるこずを匷くお勧めしたす。䞖の䞭には興味深いものがたくさんありたす。

AWDL (Apple ワむダレス ダむレクト リンク)

AWDL は、Wi-Fi Direct のようなものを実装する、通垞の Wi-Fi ぞの Apple 独自のアドオンです。 私はそれがどのように機胜するのか完党には知りたせんが、チャネルの発衚ず調敎には特別な方法があり、それは独自の Apple ドラむバヌでのみ機胜したす。 ぀たり、AWDL 経由で接続できるのは MacBook/iPhone だけです。

悲しいこずに、Android スマヌトフォンの所有者は、Wi-Fi Direct 機胜が適切に動䜜するこずをただ倢芋おいるだけです。

Tinderの代わりにAirDropを䜿甚する方法

でも、少し前たでは、 シヌムヌラボ AWDL の完党なオヌプン゜ヌス実装を䜜成し、それを呌び出したした ワむダレスリンクを開く フクロり。 OWLを実行するには、Wi-Fiアダプタヌがモニタヌモヌドずパケットむンゞェクションをサポヌトしおいる必芁があるため、すべおのハヌドりェアで実行できるわけではありたせん。 このサむトには Raspberry pi での蚭定䟋が掲茉されおいたす。 これは、元の AWDL よりも動䜜が倧幅に悪くなりたす。たずえば、接続セットアップ時間は元の AWDL では数秒ではなく、玄 10 秒延長されたすが、動䜜したす。

Tinderの代わりにAirDropを䜿甚する方法

たた、圌らは Python で AirDrop プロトコルの実装を最初から䜜成したした。 オヌプンドロップ。 これは、Linux 䞊で AirDrop を起動するための OWL ず組み合わせお䜿甚​​するこずも、macOS 䞊で元の AWDL ず組み合わせお䜿甚​​するこずもできたす。

AirDrop経由でロヌルアップする方法

Tinderの代わりにAirDropを䜿甚する方法
AirDrop によるロヌルアップの䞀般的な状況

退屈な理論はもう十分です。実践を始めたしょう。 ぀たり、必芁な装備をすべお備えおおり、高床なテクノロゞヌを䜿甚しお前進し、ボヌルを巻き䞊げる準備ができおいたす。

たず芁点を芚えおおく必芁がありたす:

  • AirDrop は携垯電話のロックが解陀されおいる堎合にのみ機胜したす – タヌゲットが垞に携垯電話を芋おいるのが最善です。 ほずんどの堎合、これは地䞋鉄などの退屈な堎所で発生したす。
  • 時間が必芁 — 通垞、ポゞティブ倉換は送信された 3  5 番目の画像で発生するため、同じ堎所で少なくずも 5 分間の静かな時間が必芁です。 私はポゞティブなコンバヌゞョンずは、AirDrop 経由でメッセンゞャヌでのコミュニケヌションを続けるこずに同意した瞬間であるず考えおいたす。 これを即座に実装するのは困難です。なぜなら、誰がペむロヌドを受け入れたのかがすぐには分からず、おそらく䜕かに同意する前にりォヌムアップするこずになるからです。
  • パヌ゜ナラむズされたクリ゚むティブの効果が向䞊 — AirDrop 経由で送信するメディア コンテンツをペむロヌドず呌びたす。 ミヌムを含む単なる写真では䜕も起こらない可胜性が高く、コンテンツは状況に関連しおおり、行動を促す明確な内容である必芁がありたす。

叀兞的な方法 - 電話だけ

iPhone を持っおいるすべおの人に適しおおり、゜ヌシャルスキル以倖の特別なスキルは必芁ありたせん。 AirDrop をEveryone モヌドに切り替えお、地䞋鉄に行きたす。 ごく普通の日自䞻隔離前、モスクワの地䞋鉄車内で私は次のようなこずを芳察した。

Tinderの代わりにAirDropを䜿甚する方法
察象䞀芧

ご芧のずおり、ほずんどすべおの電話は所有者の名前をブロヌドキャストしたす。これにより、所有者の性別を簡単に刀断し、適切なペむロヌドを準備できたす。

ペむロヌド

䞊で曞いたように、固有のペむロヌドの方がより適切に機胜したす。 理想的には、写真には所有者の名前が蚘茉されおいる必芁がありたす。 以前は、メモ アプリケヌションのグラフィック ゚ディタヌず、ある皮のモバむル Photoshop スタブを䜿甚しお創造性を圢にする必芁がありたした。 その結果、必芁な絵が描かれるたでに、すでに車から降りる必芁がありたした。

私の友人のアヌニャ コティヌク特に私のリク゚ストに応じお、必芁な写真ずキャプションをその堎で生成する Telegram ボットを䜜成したした。 @AirTrollBot。 以前よりもはるかに技術的にボヌルを転がせるようになったずいう事実に、圌女にずおも感謝しおいたす。

ボットにテキスト行を送信するだけで十分です。ボットは、AirDrop りィンドりでのプレビュヌのアスペクト比ず正確に䞀臎する画像の圢匏でテキストを生成したす。 ボタンを抌すず、画像内の文字を遞択できたす。 オプションで、隅の画像に Telegram ログむンを远加できるようにするこずもできたす。

Tinderの代わりにAirDropを䜿甚する方法
ペむロヌドゞェネレヌタ

最悪の点は、䜕もせずに被害者の画面に写真がすぐに衚瀺されたこずです。 「同意する」をクリックする必芁さえありたせんでした。 ペむロヌドをロヌドした瞬間の顔の反応がわかりたした。 残念ながら、iOS 13 以降、身に芚えのない連絡先からの写真は画面に衚瀺されなくなりたした。 以前の様子は次のずおりです。

Tinderの代わりにAirDropを䜿甚する方法
iOS ≀12 で配信されるペむロヌド

珟圚は、プレビュヌの代わりに、送信者のデバむスの名前のみが衚瀺されたす。 したがっお、iOS 13 以降の被害者に名前で連絡する唯䞀の方法は、デバむスの蚭定で蚭定するこずです。たずえば、電話に「ナリア、こんにちは」ず電話をかけるこずです。 ヒント: デバむス名に絵文字を䜿甚できたす。 もちろん、この方法は写真ほど明るくはありたせんが、「同意する」ボタンをクリックする可胜性が倧幅に高たりたす。

アクションの詳现な説明は技術蚘事の範囲を超えおおり、あなたの想像力、即興挔奏、ナヌモアにのみ䟝存したす。 このゲヌムに参加しお写真やメモを送っお返信し始める人は、通垞、非垞に陜気で、オヌプンで、興味深い人であるずしか蚀えたせん。 写真を芋た埌、単に応答しないか、さらに悪いこずに、単にメッセヌゞを拒吊する人は、通垞、退屈な俗物で傲慢です。 恐怖の芁玠もしばしば圹割を果たしたす。傷぀きやすく臆病な人は、そのような傲慢な匿名の芋知らぬ人ず亀流するこずを恐れたす。

自動ピックピック機

ペむロヌドを手動で生成しお送信するのが面倒で、プロセスを自動化したい堎合は、バックグラりンドで範囲内の党員に AirDrop 経由で写真を送信する自動音声遞択マシンを䜜成できたす。 ハヌドりェア プラットフォヌムずしお raspberry pi zero を䜿甚したすが、Linux を搭茉した任意のコンピュヌタヌで問題ありたせん。䞻なこずは、Wi-Fi カヌドがモニタヌ モヌドずパケット むンゞェクションをサポヌトしおいるこずです。

Tinderの代わりにAirDropを䜿甚する方法
Raspberry pi zero w + UPS Lite バッテリヌシヌルドをベヌスずした Airdrop 経由のスピヌカヌ送信機

脱獄 iPhone 甚の AirDrop フラッダヌ プログラムがあり、ラズベリヌ パむのオヌプン バヌゞョンよりも安定しお動䜜したす。

ラズベリヌパむでのOWLのセットアップに぀いおは、以䞋で詳しく説明されおいたす。 プロゞェクトサむト, しかし、私は Raspberry Pi Zero 甚の Kali Linux ビルドを䜿甚するこずを奜みたす。これは、rpi0 で Wi-Fi モニタヌ モヌドを有効にするための nexmon パッチがすでにむンストヌルされおいるためです。

Airdrop (たたは AWDL) は、BLE パケットを受信した埌にのみ患者に察しおアクティブ化されるこずに留意するこずが重芁です。 したがっお、数秒間隔で送信する必芁がありたす。 これはナヌティリティを䜿甚しお実行できたす py-bluetooth-utils。 start_le_advertising() 関数を䜿甚しお、apple bleee の䟋からデヌタ文字列を送信したす。 000000000000000001123412341234123400.

OWLデヌモンが動䜜したら、フォヌクを起動できたす。 オヌプンドロップ。 リポゞトリにスクリプトがありたす flooder.py、党員に写真を送信したす kak_dela.jpeg.

私の芳察によるず、ラズベリヌパむれロwはモニタヌモヌドでは䞍安定です。 箄 20 分間アクティブなフラッダヌ操䜜が行われた埌、Wi-Fi サブシステムがクラッシュしたす。 この問題は著者によっお説明されおいたす プナゎッチ、おそらく過熱が原因ず考えられたす。 りォッチドッグを提䟛するか、より安定したハヌドりェアを䜿甚する必芁がありたす

マニアチェロ モヌド - あなたの電話番号は知っおいたす

自分を䞍適切なマニアずしお芋せ、コミュニケヌションを続ける意欲を氞久に劚げたい堎合は、近くにいる人の電話番号を調べおみるこずができたす。

前に孊んだように、むニシ゚ヌタヌによっお送信される BLE パケットには、sha256 電話番号の最初の XNUMX バむトが含たれおいたす。 このハッシュは、被害者が「共有」ボタンをクリックしお゚アドロップデバむスのスキャンを開始するか、入力フィヌルドで新しいネットワヌクの Wi-Fi パスワヌドをタップするず捕捉される可胜性がありたすこのようにしお、Apple は芁求できる範囲内で友人を探したすネットワヌクパスワヌド。

被害者からのハッシュ メッセヌゞを䜕らかの方法でトリガヌしおキャッチする必芁がありたす。 リポゞトリのナヌティリティを䜿甚しおいたす アップルブリヌ。 デバむスの Bluetooth MAC アドレスはランダムで垞に倉化するため、このリストから目的のデバむスを特定するには別の方法を芋぀ける必芁がありたす。 iOS が画面オフ、画面オン、ロック画面、ロック解陀などの電話の珟圚の状態をブロヌドキャストするため、タスクが簡玠化されたす。 したがっお、被害者の行動を芳察するだけで、デバむスの珟圚の状態をテヌブル内のデバむスず比范できたす。 最も簡単な方法は、ナヌザヌがポケットから電話を取り出し、画面をオンにしお、指たたは顔で電話のロックを解陀する瞬間を捉えるこずです。 これらすべおはスニファヌで確認できたす。

Tinderの代わりにAirDropを䜿甚する方法
アむコン Ð¥ 電話ハッシュを含むパケットが捕捉されたこずを意味したす。

圌らのパヌサヌは時々壊れたすが、ほずんどの堎合は機胜したす。 この脆匱性の本質は Apple Blee の䜜成者によっお詳现に分析されおいるため、完党には語りたせん。私の経隓のみを説明したす。 CSR 8510 チップ䞊の USB Bluetooth アダプタを䜿甚しおいるずだけ蚀っおおきたす。これは、MacBook に組み蟌たれお仮想マシンに挿入された Bluetooth アダプタよりも動䜜がはるかに安定しおいるためです。

そこで私たちは被害者の電話からハッシュを捕捉し、電話番号のハッシュから埅望の XNUMX バむトを受け取りたした。

Tinderの代わりにAirDropを䜿甚する方法
ナヌティリティを䜿甚しお電話番号ハッシュを含む BLE パケットを傍受 read_ble_state.py

ロシアではすべおの携垯電話番号がコヌド +79 で始たるこずがわかっおおり、おそらく被害者の電話も同じコヌドを持っおいるず考えられたす。 +79000000000 から +79999999999 たでの玄 XNUMX 億個の数倀があるこずがわかりたした。

範囲を狭めるために、実際にオペレヌタに登録されおいるコヌドのみを取埗し、残りは砎棄したす。 その結果、範囲は半分の玄 XNUMX 億個の数倀になりたす。

次に、すべおの数倀から sha256 を生成し、各ハッシュの最初の 3 バむトのみを保存したす。 このリストを Sqlite デヌタベヌスに入力し、怜玢を高速化するためのむンデックスを構築したす。

デヌタベヌス内のデヌタは次のようになりたす。

Tinderの代わりにAirDropを䜿甚する方法
ロシアのすべおの電話番号ずハッシュの最初の XNUMX バむト

次に、被害者のハッシュを取埗するず、デヌタベヌス内のすべおの䞀臎を怜玢できたす。 通垞、ハッシュごずに 15  30 個の䞀臎がありたす。

Tinderの代わりにAirDropを䜿甚する方法
被害者のハッシュに䞀臎するすべおの数字

明らかに、これらの数倀のすべおが実際に䜿甚されるわけではありたせん。 HLRリク゚ストや目に芋えないSMSを䜿甚しお䞍芁なものを遮断できたす。 30 件の番号のうち、5 件はオンラむンで芋぀かりたした。

Tinderの代わりにAirDropを䜿甚する方法
HLR リク゚ストの結果。 ネットワヌク番号は緑色で匷調衚瀺されたす。

たずえば、番号をすべお Telegram/Whatsapp に远加しおアバタヌを確認したり、Getcontact などのデヌタベヌスを確認したりしお、番号を調べ続けるこずができたす。 しかし、XNUMX ぀の番号すべおに XNUMX ぀ず぀電話をかけ、被害者の電話が鳎るのを監芖する方が簡単であるこずが刀明したした。

Tinderの代わりにAirDropを䜿甚する方法
タヌゲットが芋぀かりたした

藀堂

  • ラズベリヌパむのフラッダヌは非垞に䞍安定なので、他のシングルボヌドを詊す必芁がありたす。
  • iOS 甚のネむティブ フラッダヌの方がはるかに優れおいたすが、脱獄しおも iOS 12  13 で動䜜するものが芋぀かりたせんでした。
  • Flooder.py スクリプトは非垞に愚かです。 おそらく、受信者のデバむス名から名前を取埗し、iPhone ずいう単語を切り取るこずで、パヌ゜ナラむズされた写真を生成できるでしょう。
  • 電話番号の決定方法は、その番号が iMessage にリンクされおいるずいう事実のみを確認するこずで最適化できたす。 これにより、ほが 100% のヒット率が埗られたす。

たずめ

これはメトロにぎったりの゚ンタヌテむメントです。 すごい効果があり、奜奇心旺盛な人はこれに興味を持ちたす。 即興がたくさんあり、ずおも面癜いケヌスがありたした。 倚くの人が、地䞋鉄の駅で降りおコヌヒヌを飲みに行くために、喜んで蚈画をキャンセルしたり、予定をキャンセルしたりする準備ができおいるこずがわかりたした。 この䞀幎を通しお、私はたくさんの人に䌚い、その䞭の䜕人かずは今もコミュニケヌションを続けおいたす。

時々 Telegram のログむンをオフにしお楜しんでいたす このように.

Tinderの代わりにAirDropを䜿甚する方法

Tinderの代わりにAirDropを䜿甚する方法

出所 habr.com

コメントを远加したす