1 Punkte von GN⁺ 2024-07-10 | 1 Kommentare | Auf WhatsApp teilen

PySkyWiFi: völlig kostenloses und unglaublich albernes WLAN auf Langstreckenflügen

  • Als das Flugzeug 10.000 Fuß erreicht hatte, klappte der Autor seinen Laptop auf, um ins Internet zu gehen
  • Er verband sich mit dem Bord-WLAN und öffnete den Browser, woraufhin die Netzwerkanmeldeseite nach Kreditkarteninformationen verlangte
  • Auf der Anmeldeseite sah er die Aufforderung, sich kostenlos mit einem Air-Miles-Konto einzuloggen, und entdeckte dabei eine Schwachstelle in der Firewall
  • Er fand einen Weg, sich mit einem JetStreamers-Diamond-Altitude-Konto einzuloggen und so Internetzugang zu erhalten

Prototype 1: Instant Messaging

  • Es wurde ein Verfahren entwickelt, um über das Namensfeld des Air-Miles-Kontos Nachrichten auszutauschen
  • Durch das Einloggen in dasselbe Air-Miles-Konto auf zwei Computern und das Aktualisieren bzw. Auslesen des Namensfelds wurde ein einfacher Chat umgesetzt
  • Zur Automatisierung dieses Ablaufs wurde ein Kommandozeilen-Tool geschrieben

Prototype 2: Echtzeit-Schlagzeilen, Aktienkurse und Fußballstände

  • Es wurde ein Programm geschrieben, das Echtzeitinformationen über das Air-Miles-Konto überträgt
  • Dabei prüft ein Computer am Boden periodisch das Namensfeld des Air-Miles-Kontos und sendet die angeforderten Informationen zurück ins Flugzeug

Die eigentliche Implementierung: PySkyWiFi

  • PySkyWiFi ist ein Tool, das das TCP/IP-Protokoll vereinfacht, um HTTP-Anfragen über ein Air-Miles-Konto zu übertragen
  • Ein Computer am Boden verarbeitet die HTTP-Anfragen und sendet die Antworten wiederum über das Air-Miles-Konto zurück ins Flugzeug

So funktioniert PySkyWiFi

  • PySkyWiFi besteht aus zwei Komponenten:

    • Sky Proxy: ein Proxy, der im Flugzeug auf dem Laptop läuft
    • Ground Daemon: ein Daemon, der am Boden auf einem mit dem Internet verbundenen Computer läuft
  • Der Sky Proxy zerlegt HTTP-Anfragen in kleine Chunks und schreibt sie in das Namensfeld des Air-Miles-Kontos

  • Der Ground Daemon liest diese Chunks, verarbeitet die HTTP-Anfrage und schreibt die Antwort wiederum in kleinen Chunks in das Air-Miles-Konto

  • Der Sky Proxy liest diese Antwort-Chunks und setzt sie wieder zur ursprünglichen HTTP-Antwort zusammen

Die Kommunikationslogik von PySkyWiFi

  • Die Kommunikationslogik von PySkyWiFi ist in zwei Layer unterteilt:

    • Transport Layer: zerlegt Daten in kleine Chunks und verwaltet Sende- und Empfangsmodi
    • Network Layer: ist für die eigentliche Übertragung der Daten zuständig
  • Der Transport Layer sendet die Daten in kleinen Chunks; sobald der Empfänger diese bestätigt, wird der nächste Chunk gesendet

  • Der Network Layer verwendet das Namensfeld des Air-Miles-Kontos zum Senden und Empfangen der Daten

Optimierungen und Verbesserungen

  • Um die Längenbegrenzung der Felder im Air-Miles-Konto zu umgehen, wird base26-Encoding verwendet
  • Durch die Nutzung mehrerer Felder wird die Bandbreite erhöht

Fazit

  • Mit PySkyWiFi gelang es, die Startseite des Blogs mit curl zu laden
  • Dieses Projekt war der produktivste und zugleich unproduktivste Flug überhaupt

Zusammenfassung von GN⁺

  • PySkyWiFi zeigt einen kreativen Weg, die Kosten für Bord-WLAN zu senken
  • Der Ansatz, über eine Schwachstelle im Air-Miles-Konto auf das Internet zuzugreifen, ist faszinierend
  • Das Projekt hilft dabei, die Grundprinzipien von Netzwerkprotokollen und Kommunikation zu verstehen
  • Ein Projekt mit ähnlicher Funktionalität ist ein Proxy-Dienst wie Tor

1 Kommentare

 
GN⁺ 2024-07-10
Hacker-News-Kommentare
  • Vor einigen Jahren nutzte meine Partnerin Google Voice, um SMS zu senden. Es war praktisch, weil man Nachrichten im Gmail-Posteingang ansehen und beantworten konnte

    • Meine Partnerin mochte keine Handys, trug aber ein Modell des "Kindle Keyboard" mit unbegrenzten 3G-Daten mit sich
    • Über den einfachen Webbrowser des Kindle konnte die Gmail-Oberfläche geladen werden
    • Das einzige Problem waren Benachrichtigungen über eingehende SMS
    • Ich richtete auf meinem Homeserver eine Browser-Automatisierung ein, damit der Gerätename des Kindle im Amazon-Konto aktualisiert wurde
    • Ich aktualisierte den Gerätenamen auf "My Kindle (x)", um die Anzahl ungelesener Google-Voice-SMS anzuzeigen
    • Diese Methode funktionierte mehrere Jahre lang gut
  • Auf einer 20-stündigen Fähre von Italien nach Griechenland wollte ich kein Internet über kostenpflichtigen Satellit nutzen

    • Für das Bezahlsystem konnte ich auf stripe.com zugreifen
    • Ich konnte auf alle Inhalte von stripe.com zugreifen und darüber reddit durchsuchen
    • Ich änderte die HTTP-Header, um mich mit reddit.com zu verbinden
    • Ich ignorierte TLS-Fehler und konnte mich anmelden
  • Vor ein paar Wochen wollte ich das kostenlose WLAN nutzen, als ich meine Kinder zu einem Kurs in einem Einkaufszentrum brachte

    • Ich meldete mich mit dem Laptop an, hatte aber keine Internetverbindung
    • Über die Diagnosewerkzeuge des Cisco-Modems prüfte ich das Problem
    • Durch Googeln fand ich die Standarddaten für das Admin-Konto und konnte mich damit am Modem anmelden
    • Ich schaltete den Internet-Button ein, und nach 15 Sekunden war die Verbindung da
    • Ich änderte das Passwort des Modems
  • Kürzlich habe ich im Flugzeug festgestellt, dass globales DNS auch ohne Bezahlung problemlos funktioniert

    • Ein gewöhnlicher iodine-Tunnel dürfte funktionieren
  • Meinung, dass man im Flugzeug immer müde ist und nichts tun kann

    • Schon das Herausnehmen von Laptop oder Buch ist anstrengend
    • Es ist laut, und ohne Noise-Cancelling-Kopfhörer ist Konzentration schwierig
    • Ungesundes Essen am Flughafen ist ebenfalls ein Problem
    • Wegen des schweren Rucksacks schwitzt man
  • Erfahrung, im Flugzeug Musik über die Laptop-Lautsprecher abgespielt zu haben, weil die Kopfhörer nicht geladen waren

    • Meinung, dass die Leute in der Umgebung das wohl als störend empfanden
  • Erinnerungen an den von Google angebotenen Informationsdienst per SMS

    • Wetter, Aktieninformationen usw. konnte man per SMS erhalten
    • Vor dem Aufkommen von Smartphones war das nützlich
  • Meinung, dass das Konzept TCP-over-shared-editable-fields interessant ist

    • Vorstellung eines Tools, das als SOCKS-Proxy genutzt werden könnte
  • Meinung, dass es Spaß macht und lehrreich ist, nutzlose Software zu schreiben

    • Man findet, dass mehr solcher Projekte entstehen sollten
  • Erfahrung aus dem Studium vor einigen Jahren, als das LAN-Netzwerk nach 22 Uhr gesperrt wurde

    • Ich löste das mit einer einfachen P2P-Chat-Anwendung auf Basis von IPv6
    • Wir mussten unsere IPv6-Adressen unter Freunden teilen, aber es funktionierte gut