1 poin oleh GN⁺ 2025-10-25 | 1 komentar | Bagikan ke WhatsApp
  • Terungkap bahwa layanan WiFi perpesanan gratis di dalam pesawat milik British Airways sebenarnya mengizinkan akses internet terbatas melalui pemfilteran berbasis domain tertentu
  • Penulis berhasil mengakses situs web biasa dengan memanipulasi field TLS SNI (Server Name Indication) agar sistem maskapai menganggapnya sebagai lalu lintas perpesanan
  • Untuk itu, ia mengatur wa.me (domain WhatsApp) sebagai SNI, lalu mengalihkan lalu lintas menggunakan proxy HTTPS dan stunnel
  • Hasil eksperimen menunjukkan situs berbasis teks (seperti Hacker News) dapat dimuat normal, tetapi gambar atau konten berukuran besar dikirim lambat karena pembatasan bandwidth
  • Kasus ini menunjukkan kelemahan pemfilteran berbasis TLS SNI serta perlunya teknologi ECH (Encrypted Client Hello) untuk melengkapinya

Cara kerja WiFi perpesanan gratis

  • British Airways menyediakan WiFi gratis khusus perpesanan untuk anggota “The British Airways Club”
    • Pendaftaran dapat dilakukan di portal dalam pesawat tanpa verifikasi email; WhatsApp, Signal, dan WeChat berfungsi, tetapi Discord diblokir
  • Penulis mempertanyakan bagaimana layanan ini hanya mengizinkan aplikasi perpesanan
    • Ia menyimpulkan bahwa ini bukan sekadar pembatasan lalu lintas sederhana, melainkan whitelist domain berbasis field TLS SNI
  • Hasil analisis Wireshark menunjukkan bahwa saat mengakses example.com, terjadi TCP reset setelah Client Hello
    • Ini berarti domain yang tidak diizinkan diblokir menggunakan nilai SNI yang terekspos selama TLS handshake

Prinsip pemfilteran berbasis SNI

  • TLS SNI mengirimkan nama domain tujuan dalam bentuk plaintext pada tahap sebelum enkripsi
    • Dengan begitu, ISP atau pengelola jaringan dapat melihat situs apa yang diakses pengguna
  • British Airways mendaftarkan hanya domain yang terkait dengan aplikasi perpesanan ke dalam whitelist, lalu mereset koneksi lain
  • Penulis juga memastikan bahwa koneksi IP langsung tanpa SNI (openssl s_client -connect) ikut diblokir
    • Artinya, ketiadaan SNI itu sendiri dianggap sebagai lalu lintas tidak normal

Eksperimen manipulasi SNI

  • Penulis mencoba koneksi TLS dengan wa.me (domain WhatsApp) sebagai SNI
    • Sertifikat server bukan untuk wa.me, tetapi koneksi tetap dapat dilakukan jika klien mengabaikan ketidakcocokan sertifikat
  • Akibatnya, sistem BA salah mengenalinya sebagai lalu lintas perpesanan dan mengizinkan tunnel TLS
    • Setelah itu, ia menulis permintaan HTTP secara langsung dan berhasil menerima konten dari servernya sendiri (saxrag.com)
  • Eksperimen ini membuktikan bahwa selama field SNI bisa dikelabui, lalu lintas arbitrer dapat dikirimkan

Bypass penuh menggunakan proxy HTTPS

  • Penulis membangun server proxy HTTPS menggunakan tinyproxy dan stunnel
    • stunnel menambahkan lapisan TLS agar terlihat seolah klien terhubung ke wa.me
  • Pada perintah curl, ia menggunakan opsi --resolve untuk memetakan wa.me ke IP VPS miliknya
    • Dengan cara ini, SNI tetap disetel ke wa.me, tetapi koneksi sebenarnya terjadi ke server pribadi
  • Galat sertifikat TLS diabaikan dengan --proxy-insecure, sehingga permintaan eksternal melalui proxy berhasil
    • Saat meminta ifconfig.co, IP VPS dikembalikan, yang menegaskan bahwa proxy bekerja

Pengujian saat penerbangan nyata

  • Pada penerbangan pulang, ia tersambung ke WiFi dengan konfigurasi yang sama dan menerima respons HTTP 200 yang normal melalui curl
    • Setelah itu ia mengatur proxy HTTPS di browser (Chromium) dan mendaftarkan wa.me di file hosts
  • Hasilnya, situs Hacker News berhasil diakses, dan halaman berbasis teks dimuat normal
    • Di Wireshark, dekripsi TLS juga dikonfirmasi menggunakan SSLKEYLOGFILE
  • Gambar atau konten besar termuat sangat lambat per baris, yang mengindikasikan adanya pembatasan bandwidth
    • Ini menyiratkan bahwa BA menerapkan pembatasan kecepatan lalu lintas selain pemeriksaan SNI

Eksperimen ECH (Encrypted Client Hello)

  • Penulis juga menguji langsung teknologi ECH untuk mengatasi masalah keterpaparan TLS SNI
    • Ia membuat ECHConfig dengan wa.me sebagai public_name lalu menerapkannya di Firefox
  • Hasilnya, SNI luar tetap wa.me, tetapi ClientHello internal memuat domain sebenarnya (rfc5746.mywaifu.best)
    • Koneksi TLS normal pun berhasil dibuat dengan sertifikat Let’s Encrypt
  • Menariknya, ini juga berfungsi pada port non-standar (7443) dan melewati pemfilteran British Airways
  • Penulis menduga ECHConfig mungkin dikirim melalui DNS-over-HTTPS (DoH)

Keterbatasan SNI dan implikasi keamanan

  • Pada dasarnya, SNI hanyalah informasi setingkat “petunjuk” untuk memilih sertifikat server
    • Dalam lingkungan di mana klien dan server sama-sama dapat dikendalikan, nilai SNI arbitrer bisa disisipkan
  • Ini berarti sistem sensor atau solusi deteksi ancaman dapat mengalami false positive bila terlalu bergantung pada pemfilteran berbasis SNI
    • Pembuat malware juga dapat menggunakan SNI yang menyamar sebagai domain tidak berbahaya saat terhubung ke server C&C
  • Karena itu, kebijakan keamanan jaringan memerlukan analisis lalu lintas tambahan di luar SNI serta verifikasi lapisan enkripsi

Kesimpulan

  • WiFi gratis British Airways hanya mengizinkan lalu lintas perpesanan melalui pemfilteran domain berbasis SNI dan pembatasan bandwidth
  • Namun, eksperimen ini membuktikan bahwa melalui manipulasi SNI, lalu lintas HTTPS arbitrer dapat disamarkan sebagai perpesanan
  • Kasus ini menunjukkan keterbatasan struktural dalam desain TLS dan menegaskan perlunya adopsi ECH
  • Operator jaringan dan penanggung jawab keamanan perlu menyadari kerentanan pemfilteran yang bergantung pada SNI
  • Secara teknis ini adalah contoh bypass yang menarik, tetapi juga merupakan studi yang harus disertai pertimbangan keamanan dan etika

1 komentar

 
GN⁺ 2025-10-25
Komentar Hacker News
  • Teman saya dulu pernah melakukan tunneling serupa, dan itu juga berhasil di kapal pesiar
    Beberapa maskapai (mungkin American Airlines) memakai firewall Fortinet, jadi bukan cuma melihat SNI secara sederhana, tetapi juga memverifikasi hostname dan certificate authority dari sertifikat server
    Dia melewati ini dengan memakai SNI aa.com dan meneruskan TLS 1.2 handshake milik aa.com yang asli apa adanya
    Setelah masuk ke tahap data terenkripsi, handshake itu diabaikan dan koneksi dipakai begitu saja sebagai tunnel terenkripsi biasa
    Sekarang, kalau memakai TLS 1.3, sertifikatnya terenkripsi sehingga firewall tidak bisa melihat isinya, jadi masalah seperti ini bisa dihindari
    • Sebenarnya ini hampir sama dengan cara kerja Xray
      Jika request yang cocok dengan SNI tertentu masuk tanpa secret key, seluruh SSL handshake diproksikan ke website umpan
      Jika tidak, ia bertindak sebagai proxy biasa yang menyamar sebagai traffic SSL
      Awalnya dibuat untuk melewati GFW (Great Firewall) di Tiongkok, tetapi katanya ketika temannya mengatur Google Analytics sebagai SNI, itu juga berhasil pada firewall Wi‑Fi dalam penerbangan American
    • Saya juga baru pulang dari pelayaran 3 minggu, dan internetnya sangat mahal, 50 dolar per hari
      Wi‑Fi dan aplikasinya gratis dipakai, tetapi sebagian besar traffic diblokir
      Dari Wireshark terlihat hanya beberapa paket awal koneksi TCP yang diizinkan, lalu setelah itu ClientHello diperiksa dan hanya domain whitelist yang dilewatkan
      Aplikasi kapal pesiarnya tetap berjalan karena domain perusahaan ada di whitelist
      Celah seperti ini sebaiknya dipakai diam-diam saja, jangan terlalu dieksploitasi. Sayang kalau jadi ditutup karena terlalu ramai diketahui
    • Solusi sungguhan untuk kapal pesiar sekarang adalah membawa Starlink Mini
      Meskipun harga perangkat dan biayanya mahal, itu tetap sepadan sebagai semacam ‘deklarasi kemerdekaan’ dari perusahaan kapal pesiar
  • Saya sering melewati public Wi‑Fi (termasuk di pesawat) dengan server VPN di port UDP 53
    Sekarang captive portal memang hampir selalu memblokir traffic eksternal, tetapi masih banyak tempat yang tetap rapuh
    Saya merekomendasikan SoftEther — berkat fitur Azure Relay, ia bekerja sangat baik bahkan di jaringan yang memakai whitelist
    Saya sendiri belum sampai memakai iodine untuk komunikasi DNS dua arah, tetapi walau lambat sepertinya tetap akan berhasil di sebagian besar kasus
    • Ada portal yang untuk menampilkan widget pembayaran akan sementara mengizinkan semua traffic
      Kalau proses pembayarannya diulang-ulang untuk terus dimulai, itu bisa dipakai untuk melewatinya
    • Dulu saya punya 8 IP di server Hetzner, dan salah satunya saya set agar mengizinkan OpenVPN di semua port
      Awalnya lambat karena harus mencoba banyak port, tetapi tingkat keberhasilannya mengejutkan tingginya
    • Saya juga menjalankan WireGuard dan OpenVPN di port 53 masing-masing pada VPS yang berbeda
      Namun sekarang sering kali hanya traffic DNS yang diizinkan, sementara resolver sembarang diblokir
    • Beberapa Wi‑Fi maskapai hanya mengizinkan pesan gratis (WhatsApp, Messenger)
      Kalau ada yang bisa membuat VPN TCP-over-WhatsApp, itu akan sangat keren
  • Metode yang disebut seseorang sebagai “mengirim payload request lewat subdomain, lalu menerima respons lewat TXT record” itu adalah iodine
    • Saya juga pernah melakukan sesuatu yang mirip sekitar 12 tahun lalu
      Bukan DNS, tetapi HTTP(S) yang saya jalankan lewat tunneling UDP, dan saya cukup bangga ketika berhasil menyiapkannya dalam batas gratis Wi‑Fi 30 menit di Bandara Stansted
  • Saya dulu pernah menjalani wawancara keamanan siber British Airways, dan itu pengalaman yang cukup aneh
    Saya menyebutkan kerentanan serius pada websitenya, tetapi mereka menanggapinya enteng dengan bilang, “kalau itu penting, nanti akan ketahuan di pentest
    Kami berpisah tanpa kesan yang terlalu baik satu sama lain
    • BA memang pernah dibobol ketika skrip card skimmer disisipkan ke halaman pembayarannya
      Keamanan Wi‑Fi dalam penerbangan pada dasarnya cuma alat untuk menghasilkan uang, terpisah dari keamanan perusahaan itu sendiri
    • Mungkin saja wawancaranya sendiri adalah sebuah pentest
    • Pentest terasa tidak berguna, seperti survei rumah ala Inggris
      Banyak perusahaan mengira keamanan sudah beres hanya karena melakukan pentest tahunan, sementara engineer yang benar-benar memahami produknya justru tidak mendapat persetujuan investasi
  • Saya pikir pembajakan tidak sama dengan pencurian, tetapi ini benar-benar mendekati pencurian
    Industri teknologi adalah bidang dengan penghasilan tinggi, jadi menurut saya biaya Wi‑Fi seperti ini seharusnya dibayar saja
  • Saya membuat proyek bernama tuningfork
    Ini alat untuk mem-proxy traffic melalui node lain, saya implementasikan sendiri untuk memahami jaringan
    Tujuannya juga untuk melewati undang-undang verifikasi usia di Inggris
    Link GitHub
  • Sebagai referensi, metode seperti ini disebut Domain Fronting
  • Dulu pernah ada postingan tentang kapal pesiar yang mendapat ancaman hukum, jadi saya penasaran berapa lama yang ini akan bertahan
    • Saya ingin bertanya apakah ada yang tahu link cerita itu
  • Saya termasuk orang yang menikmati berada dalam keadaan offline saat penerbangan
    Saya suka waktu singkat ketika benar-benar terputus dari dunia. Jadi saya tidak terlalu senang jika semua orang akhirnya memakai Wi‑Fi gratis
    • Tetapi pada akhirnya ini soal kehendak bebas
      Kalau Anda tidak mau, ya tinggal tidak perlu terhubung. Orang lain memakainya tidak memengaruhi Anda
    • Ya tinggal jangan repot-repot melakukan semua ini demi mendapatkan Wi‑Fi gratis
  • Saya menulis ini sekarang juga dari dalam pesawat British Airways
    Saya menyalakan paket pesan gratis dan sedang memakai tunnel WireGuard, jadi sepertinya firewall-nya tidak dirancang untuk memblokir dengan sempurna
    • Saya penasaran apakah Anda hanya menjalankan WireGuard di port 51820
      Saya pernah mencobanya dulu, tetapi setahu saya tidak berhasil