利用SSH Tunnel免费用gogoinflight空中WiFi

创作于飞往Vegas, 参加DEF CON的飞机✈️上. 利用SSH Tunnel 免费使用空中 Wifi


gogoinflight 是美国部分飞机上提供的收费Wifi 服务:


 
先说方法,原理放后面,有兴趣的可以去读
1. 首先,你需要有一个VPS(Virtual Private Server)
我用hostwinds的,最便宜只要4$一个月,平时可以拿来弹弹reverse shell xDD

 
2. 在登机前,修改VPS里的 /etc/sshd_config, 把ssh口开在3128(后面解释为什么)

 
3. 起飞后等gogoinflight能连上后,在本地创建ssh tunnel:
把ip地址修改成你VPS的地址.
[code]ssh -D 3128 -f -C -q -N root@ip -p 3128[/code]
 
4. (飞机起飞前)下载神器proxifier: https://www.proxifier.com/
设置使用SOCKS Version 5, 地址127.0.0.1, Port 3128

 
5. 绝大部分app,浏览器都可以连网了
享受免费的空中WiFi 🙂
BlueStacks 上微信:

手机要上网的话,要让mac分享网络,然后启用mac上的流量转发, 把从手机来的流量,转发到127.0.0.1:3128. (在mac上开流量转发操作起来可以说非常麻烦 -。-, 就懒的搞了) 下次有机会试试socat
 


 
原理:
上一次(好久之前了lol)坐飞机就发现3128口的故事,那时候没有自己的VPS,这件事一直挂在心上,今天终于有机会再次尝试。
连上空中gogoinflight Wifi:

 
开Wireshark,随便浏览一个网页, 可以看到绝大部分的ip是不能连接的:

但是有那么几个ip 是可以连上的, 比如96.17.10.19和 10.241.151.31

nmap扫这两个ip:

 

 
发现除了80和443,还开着一个3128,这个口一般是给squid用的。 squid是HTTP/HTTPS proxy,它可以处理http/https 流量,在你没给钱的时候,这个proxy会截拦你的HTTP/HTTPS请求,然后redirect你去付费网站。
当时的猜想是通过这个口别的种类流量是不是不会被挡住,能被转发到外网呢,验证后发现是的, 这种情况下,就可以利用这个3128口,创造一个SSH tunnel到你的VPS, 然后再把所有app的流量导入那个tunnel里面。
因为ssh Tunnel 里所有的包都是加密的,所以squid proxy没办法识别你发出去的请求是什么请求。这是为什么我们不能直接在VPS 设置 proxy server然后连接, 而需要利用SSH tunnel的原因。
(描述的不是很好。。自己体会吧xD)
proxifier 的作用就是帮你把所有app流量,导向127.0.0.1:3128