Unlocking free WiFi on British Airways

412 pointsposted a day ago
by vinhnx

96 Comments

markasoftware

11 hours ago

I have a friend who did similar tunneling a while ago. It also works on cruise ships.

He discovered that on some airlines (I think American?), they use an advanced fortinet firewall that doesn't just look at the SNI -- it also checks that the certificate presented by the server has the correct hostname and is issued by a legit certificate authority.

My friend got around that restriction by making the tunnel give the aa.com SNI, and then forward a real server hello and certificate from aa.com (in fact I think he forwards the entire TLS 1.2 handshake to/from aa.com). But then as soon as the protocol typically would turn into encrypted application data, he ignores whatever he sent in the handshake and just uses it as an encrypted tunnel.

(The modern solution is just to use TLS 1.3, which encrypts the server certificate and hence prevents the firewall from inspecting the cert, reducing the problem back to just spoofing the SNI).

amritananda

8 hours ago

This is basically what Xray [1] does. For any connection request matching a particular SNI and not presenting a secret key, it proxies the entire SSL handshake and data to a camouflage website. Otherwise it can be used as a regular proxy disguised as SSL traffic to that website (with the camouflage website being set as the SNI host, so for all purposes legit traffic to that host for an external observer).

It's meant to get around the great firewall in China, so it has to avoid the GFW's active probers that check to make sure the external website is a (legit) host. However a friend was able to get it to work American's in-flight firewall if the proxy SNI is set to Google Analytics.

[1] https://github.com/XTLS/Xray-core

filleokus

5 hours ago

Someone was using Xray, proxying to my employer, and it was detected in our attack surface management tool (Censys). I had some quite stressful few minutes before I realised what was going on, "how the hell have our TLS cert leaked to some random VPS hoster in Vietnam!?".

Thankfully for my blood pressure, whoever had set it up had left some kind of management portal accessible on a random high port number and it contained some strings which led me back to the Xray project.

josephg

8 hours ago

> I have a friend who did similar tunneling a while ago. It also works on cruise ships.

Hah I was just about to say the same thing! I just got home from a ~3 week cruise. Internet on the ship was absurdly expensive ($50/day). And its weird - they have wifi and a phone app that works over the internet even if you don't pay. Google maps seemed to work. And my phone could receive notifications from apple just fine. But that was about it.

I spend some time staring at wireshark traces. It looks like every TCP connection is allowed to send and receive a couple packets normally. Then they take a close look at those packets to see if the connection should be allowed or blocked & reset. I'm not sure about other protocols, but for TLS, they look for a ClientHello. If preset, the domain is checked to see if its on a whitelist. Anything on their whitelist is allowed even if you aren't paying for internet. Whitelisted domains include the website of the cruise company and a few countries' visa offices. The cruise app works by whitelisting the company's own domain name. (Though I'm still not sure how my phone was getting notifications.)

They clearly know about the problem. There's some tools that make it easy to work around a block like this. But the websites for those tools are themselves blocked, even if you pay for internet. :)

If you figure out how to take advantage of this loophole, please don't abuse it too much or advertise the workaround. If it gets too well known or widely abused, they'll need to plug this little hole. And that would be a great pity indeed.

catgirlinspace

7 hours ago

Perhaps they allowed Apple Push Notification service so their own app can receive notifications?

josephg

6 hours ago

Ah yeah that makes sense. They have messaging built into their app so you can message friends and family while onboard the ship. I didn't use it - but of course, if they block APNS, messages wouldn't be able to show up on the lock screen.

pbhjpbhj

5 hours ago

Allowing inbound messages is pressure on people to buy service so they can respond. I'd guess it was for evil marketing reasons.

walthamstow

7 hours ago

$50 a day for internet is criminal, I don't care if you're at sea or in outer space.

immibis

3 hours ago

Your sea communications literally do go to outer space. That's why it's so expensive.

sodaclean

2 hours ago

10 years ago that was a valid excuse.

CGamesPlay

7 hours ago

I bet there some IT team at the cruise line that leaves these back doors in their systems deliberately as an “on-board activity” for their hacker customers.

josephg

6 hours ago

Hah! Well it worked for me! It kept me entertained for the better part of a day.

I never figured out a way to route internet on my phone through my laptop. But it was probably for the best. It was lovely spending a few weeks with no internet connection on my phone, in arms reach away at all times.

fragmede

5 hours ago

The modern cruise ship techie Internet solution is a starlink mini. The cost of the dish plus service and a middle finger to the cruise ship company that your family dragged you on is worth more than the number of dollars it cost to go on the cruise. (The alternative, having a healthy family dynamic, is a whole other can of worms.)

outlog

5 hours ago

fragmede

5 hours ago

Oh, the travel router trick. As a techie with too many devices, plus family, you use the travel router to buy the Internet package and then everyone else associates to the travel router and you don’t have to pay for Internet access six different times.

kotaKat

5 hours ago

Security now confiscates those when you board the ship alongside your bottles of “mouthwash”.

eek2121

3 hours ago

Why do people continue to go on cruises? I've never been on one and have no desire to go.

op00to

2 hours ago

People who are older or with limited mobility find it far easier to get see multiple destinations without having to unpack/pack, navigate difficult airports, etc. I have been on a few, and while I’m not the biggest fan, they’re not terrible if you are traveling with folks who have mobility issues. I would not go on a cruise after COVID, though.

They’re also far less expensive than many other vacations, especially if you have kids and are considering Disney stuff.

Still a human Petri dish.

crazygringo

2 hours ago

Why do people comment on HN? Different strokes for different folks.

But basically you get to see a bunch of destinations while all your travel is organized for you, you never have to switch rooms and constantly pack/unpack, and the actual travel part is infinitely more comfortable.

A room and sundeck and pool beats a plane seat or train seat any day.

I'm not into cruises myself, but the appeal seems pretty understandable in terms of convenience.

Someone1234

2 hours ago

I doubt this is a legitimate question, but I'll bite: It is cheap.

Go price out hotels and food in any major destination for one week. Now go price out a cruise for one week which also includes entertainment and a travel component. Somehow, the cruise is CHEAPER and offers more.

That's it. That's the whole answer.

tgtweak

10 hours ago

The amount of public WiFi's (including in-flight ones) I've bypassed by running a vpn server on udp port 53 is honestly insane. Sadly, this is becoming less commonplace many captive portals don't allow any egress at all aside from the captive portal's IP - but alas - still impressive how many are susceptible. It also bypasses traffic shaping (speed limiting) on most networks that are publicly accessible even if they do require some kind of authorization to enable external accessibility.

Highly recommend softether as they give you juicy Azure relay capability for free which is allowed in more "whitelist only" networks than your own vps server.

Haven't gone so far as to enable iodine for actual two-way dns communication through a third party DNS resolver, but that would probably work in more cases than this, albeit slower.

Nextgrid

6 hours ago

The networks where you can pay through the captive portal have to temporarily allow all traffic to load their payment widget and provide 3D-Secure (they don't know the domain your bank uses for that, so they have to allow all). Those can generally be bypassed by initiating the payment flow over and over again.

treffer

5 hours ago

I had 8 IPs in a hetzner server years ago. One IP had an iptables rule to accept openvpn on any port.

My openvpn config was a long list of commonly accepted ports on either tcp or udp.

Startup would take a while but the number of times it worked was amazing.

arch-choot

8 hours ago

Yea, I run wireguard & OpenVPN on port53 (different VPS) just in case it works. Unfortunately my experience with the "pay to use" WiFi so far has been they validate that port 53 is valid DNS traffic, and often don't allow arbitrary resolvers (e.g. `dig example.com @1.1.1.1` will not work)

geocar

7 hours ago

You can use iodine and do a delegation from a real domain: It encodes packets in subdomains of your domain (and decodes them with a special DNS server). It is not fast.

I like to use SNI with e.g. pagead2.googlesyndication.com and www.googletagmanager.com because a lot of captive portals put ads on them, and I it on a google cloud instance since they own the IP.

kilroy123

3 hours ago

I've gotten this to work, but it's just so slow that it's not worth it.

arch-choot

6 hours ago

Those are great domains for this kinda thing! Thanks for the idea

dheera

9 hours ago

There are also airline wifi these days that allow "free messaging" i.e. WhatsApp and Facebook Messenger traffic only.

If one could create a TCP-over-WhatsApp VPN that would be fantastic.

zarzavat

4 hours ago

Airline-dependent but I have been able to browse HN over the "messaging" plan. Sometimes its just a data rate restriction, so HN works fine.

CrossVR

6 hours ago

Even for genuine WhatsApp traffic the speed is limited so severely that loading a video or image someone sent you is nearly impossible.

Nextgrid

6 hours ago

TCP would be too wasteful - Whatsapp already has retransmissions/etc. You'd want to proxy at a higher layer such as HTTP and just relay HTTP messages (or ideally QUIC traffic so that you take advantage of header reuse/compression, etc - but somehow disable retransmissions since you're already on a reliable link).

jstanley

6 hours ago

I think this is a premature optimisation.

I'd rather have a straightforward TCP-over-WhatsApp proxy than some hacky thing that only works for HTTP, has to peek inside your TLS sessions, etc.

arch-choot

8 hours ago

I think that's essentially what my HTTPS proxy does; except rather than actually being over WhatsApp (i.e. using WA messages or w/ever), the SNI tricks their authorization into thinking I'm using WA, while I am connecting to my proxy.

tgma

7 hours ago

No, yours would immediately break if they whitelist IPs. This one is pretty much officially sanctioned WhatsApp traffic.

arch-choot

7 hours ago

Ah right, if they also impose IP restrictions this would not work

Gigachad

6 hours ago

You’d get banned from WhatsApp pretty fast doing that.

niij

12 hours ago

> Something along the lines of arbitrary subdomains which represent the request payload, and a custom nameserver that returns responses via the TXT record or something. Anyway…).

This is iodine. https://github.com/yarrick/iodine

_kidlike

9 hours ago

I did something similar ~12 years ago, albeit it was just http(a) over UDP tunneling, and not DNS specifically.

I had to spend 8 hours in Stansted airport, and I managed to setup the tunnel while in the time limit of the free WiFi (I think it was 30'). It felt good, haha.

cs02rm0

6 hours ago

I interviewed for a cybersecurity position with BA a little while back, it was a bit odd in general. I mentioned a few issues I thought were serious holes on their website, equivalent to the breach they ended up being fined for.

They said a pentest would find them if they were important.

I think we parted with both parties unimpressed with the other.

Nextgrid

6 hours ago

BA was the one who got pwned with a card skimmer script on their checkout page, so this tracks.

On the other hand, in-flight Wi-Fi "security" and actual company property security don't have anything to do with it. The in-flight Wi-Fi isn't protecting anything, it's just there as an annoyance to get a few extra bucks similarly to catering (and just like the latter, typically outsourced to a third-party which just allows them to white-label it).

wouldbecouldbe

6 hours ago

It’s also keeping it working. If they allow open access for everyone it would quickly be unworkable

Nextgrid

6 hours ago

Starlink-based ones have enough bandwidth for the whole plane to have workable bandwidth (just rate-limit based on client so no single heavy user hogs the entire bandwidth).

There's also an European one whose name currently escapes me which uses a custom flavor of LTE and special ground stations that also happily provides hundreds of mbps.

Capacity is primarily an issue on the legacy BGAN-based ones where you have a handful of mbps for the entire plane.

pbhjpbhj

5 hours ago

You can do 100s of mbps with a flag and a pair of binoculars...

Sorry, pet peeve: do you mean MB/s, Mb/s, or something else? Probably not the milli-bits per second (mbps) that you wrote.

Nextgrid

5 hours ago

I mean Mb/s; just reusing the same terminology a lot of speed tests use (they report in Mb/s but often refer to it as "mbps").

esskay

3 hours ago

Sadly most planes still run on legacy systems, it's not something that's ever a priority.

latentpot

5 hours ago

That's EAN, also used by BA as the backhaul.

Nextgrid

5 hours ago

That's the one, thanks!

nvarsj

6 hours ago

> They said a pentest would find them if they were important.

Is it just me, or are pentests about as useless as a UK home survey? Like, they're not going to move the furniture to look for issues.

I've experienced many companies who think due diligence is done by paying a 3rd party company to do the annual pentest. Meanwhile, the eng that actually work on the product, and know about potential issues, can't get leadership buy-in to invest in security.

Nextgrid

5 hours ago

Counterpoint: pentests are good to catch regressions over time.

Should it be your only security strategy? No. But it can help in combination with other solutions.

amelius

5 hours ago

Maybe their job interviews are their pentest.

powercf

2 hours ago

I didn't know of the existence of SNI and thought that all traffic through TLS was encrypted. SNI sounds like a terrible idea: it should be obvious that leaking domain names will be abused and makes a mockery of any little cute icon in the browser (your government, police, ISP, airline knows what sites you visit). It would have been better to have a secure (ignoring DNS) inconvenient technology stack than a convenient somewhat-secure stack.

brown9-2

10 minutes ago

TLS might encrypt the contents but it doesn’t encrypt the destination or source IP (how could it?)

ptman

an hour ago

Before SNI every https site needed a dedicated IP address. As https got more popular SNI was introduced

telesilla

8 hours ago

As someone who thoroughly enjoys being forced to be offline when flying, as an escape from the world for a few hours, I hope your efforts do not lead to free wifi for all!

esskay

3 hours ago

You've got free will right? Nobody forces you to be online, be it on a plane or on your sofa. Even if those around you are using the internet on a plane it's of zero consequence to you.

hitarpetar

an hour ago

going up to heroin addicts and reminding them they have free will

jama211

8 hours ago

Just don’t do all this work to get free wifi then lol

globular-toast

7 hours ago

I think it's more about other passengers on tiktok etc.

jdiff

3 hours ago

They said that they enjoy being forced to be offline as an escape from the world, none of that has any implications of Others.

SomaticPirate

11 hours ago

Wonder how long it is before it’s taken down. A previous post about a cruise was threatened with legal action

Nextgrid

6 hours ago

Do you have a link to the story?

antonok

8 hours ago

Funnily enough, I'm on a British Airways flight right this moment. I'm only using a basic Wireguard tunnel after enabling the free messaging plan. I get the sense they didn't design the firewall to block everything comprehensively.

arch-choot

7 hours ago

Just bare wireguard on 51820? I think I had tried that but no luck; but I don't remember for sure.

antonok

6 hours ago

I'm using a non-standard port (above 10000). Otherwise, nothing special about my configuration. Perhaps 51820 is blocked?

It is admittedly quite slow/intermittent though; I wouldn't be surprised if that's the reason it didn't look like it was working for you.

ram_rattle

2 hours ago

Nice one,I just learnt about this website today

dig @ch.at "your question" TXT

generalzod

4 hours ago

Nice! I created tuningfork [1] a couple of months ago that proxies traffic through another node for the configured upstream. I wanted to understand networks, so rolled my own thing. And I wanted to bypass age verification laws in UK :)

[1] - https://github.com/mutn3ja/tuningfork

lormayna

8 hours ago

I was in a intercontinental flight few weeks ago and when everyone was sleeping my wife was able to open Instagram and scroll the feed, while other websites were not accessible. I did not have a PC with me, but I immediately guessed about they are doing filtering based on SNI. Appliances like Allot or Sandvine are in this market since more than a decade.

Philip-J-Fry

7 hours ago

I also recently flew on BA and bypassed the free WiFi restrictions just by using a VPN. Not sure why that worked, but with Mullvad I was able to browse Hacker News in the air. Didn't need anything more advanced than that!

zkmon

7 hours ago

What's up with the dates? The HN page shown in the screenshot is from 18-05-2025 around 1pm GMT, while the curl commands show a date of 09-05-2025. The story sounded like it was a single journey from EDI to HKG via LHR.

arch-choot

7 hours ago

Sorry if its a bit unclear; the first part was HKG -> LHR when I kinda discovered it (9th May), and then the HTTPS proxy test was my flight back LHR -> HKG (18th May)

zkmon

7 hours ago

Got it. Nice work and great write-up! Teaches a few things.

ggm-at-algebras

9 hours ago

At some point the cost of the meter exceeds the value of the product being metered. This happened very soon after hotels really jacked up telephone bills. Somehow they decided not to stop being silly, simply to bill the ignorant or lazy and airlines look to be cut from the same DNA: we're maybe going to wind up with viable cellular comms inside aircraft that bypasses the airline.

"Stealing" ip flows over Port 53 isn't the way out, the path out is having RF which doesn't flow through the airline's base station.

Ellipsis753

7 hours ago

Looks like you were rate limited at the end. They don't rate-limit britishairways.com which is a SNI that you can always access. Lolz.

heavyset_go

11 hours ago

If you use Lyrebird not only can you obfuscate your traffic behind various transports, it does domain fronting by default. Don't have to jump through this many hoops.

Also, allegedly, MAC spoofing of already authenticated clients can bypass many of these paywall-gated hotspots :)

qwertytyyuu

12 hours ago

Hmmm can you hide vpn traffic this way?

avidiax

12 hours ago

A TOR dev gave a recent talk at DEFCON [1], and described this as one of the ways that attempts at nationwide blocks to the TOR network are implemented. I'm not sure that it's exactly the same as domain fronting, since that might involve a CDN, but the technique is very close.

[1] https://youtu.be/djM70O0SnsY

sammy2255

12 hours ago

That's really cool I never thought about having your own host and then faking the SNI.

I find it pathetic that vendors and ISPs are snooping SNI headers to block things, looking at you, UK.

Also, I wonder what will happen if those instant messaging apps move to Encrypted SNI (ECH), will they just not work, or is there fallback?

arch-choot

8 hours ago

There may not be any "free messaging" or similar offers is my guess. In fact using ECH it is already possible to spoof the SNI but make a real TLS handshake to the underlying domain; you can try it on my test website[0] with wireshark open on the side (if your browser supports ECH)

[0] https://rfc5746.mywaifu.best:4443/

fiatpandas

11 hours ago

Eventually airlines will just whitelist IP ranges for free messaging-only access.

unixfox

7 hours ago

Almost impossible task. The public IPs change every time. Usually they are on CDN that have a very large IP range.

And if they allow large IP ranges, one could try to spin up a virtual machine on the same cloud provider as the messaging platform.

Nextgrid

6 hours ago

> Almost impossible task

Except if the messengers happily collude with you, which Facebook does - they have a website (can't remember the link) where network providers can get IP ranges and other information to enable "zero rating" for Facebook's properties.

felipelalli

9 hours ago

Wait a minute: the guy did all this during a flight?

exitb

8 hours ago

Half of it. He also describes some preparations he did while in the destination and a final test on a flight back.

arch-choot

8 hours ago

Yep; on my way to LHR I was intrigued by their "free messaging" and wanted to poke around, with the SNI hypothesis I did the actual HTTPS proxy setup on a VPS while in the UK, so I could actually try and proxy arbitrary browser traffic on the way back

a5c11

6 hours ago

He wrote at the end he hoped his idea and all preparations will work, because he wouldn't be able to repeat the steps while in-flight.

walthamstow

7 hours ago

I am insanely productive on airplanes, I'm sure others are the same.

nonethewiser

12 hours ago

I wonder how generalizable this is to other airlines

rootsudo

12 hours ago

iodine is just easier in general, but since many airlines use the same vendor - probably the same.

rr808

2 hours ago

I totally believe pirating is not stealing, but this really is. Tech people are probably the highest paid profession now, you still dont want to pay for your wifi?

alluro2

2 hours ago

This person just shared (for free) tons of experience, knowledge and insight into thinking/problem-solving process, for others to enjoy and learn from - and your only comment is attack on them for "stealing" somehow, by not sending e.g. 300 WA messages, but instead kilobytes of HN content?

How much would you calculate was stolen this way? Based on which factors?

As a side note, those pesky "tech people" are most certainly not THE most paid profession, now or ever.

sandblast

2 hours ago

So this, in your opinion, causes more damage than violating someone's copyrights? This is quite literally just using a resource than would otherwise be wasted. Of course, the electricity use is lower if less people use this network, but this is negligible.