วันจันทร์ที่ 6 กันยายน พ.ศ. 2553

Bypass Wireless Hotspot

Reference VDO by Infinity Exists

ร้านอาหารบางร้าน มีการให้บริการอินเตอร์เน็ตไร้สายฟรีกับลูกค้าด้วย ปกติแล้วจะให้ฟรี 1-2 ชม.
แล้วชม.ต่อไปก็ต้องจ่ายเงิน

แต่ถ้าเราไม่อยากซื้อของ ไม่อยากจ่ายตังค์ แต่อยากเล่น internet ฟรี

ก็ทำได้ง่ายๆ 3 วิธี คือ

1. Session Stealing
ใช้วิธีการต่อเข้าไปในระบบwireless เพื่อดักจับดูว่า มีใครเล่นเน็ตอยู่บ้าง
Code:
#airodump-ng   rausb0               ;ดูว่าตอนนี้มี wifi hotspot อะไรบ้าง เช็คโดยผ่านconnection rausb0
Code:
#airodump-ng  --bssid [mac address ของ hotspot]  rausb0     ;เช็คว่ามีใครใช้อะไรบ้างในhotspotนี้
แล้วก็เช็คว่า คนๆนั้้นได้เล่นเน็ตอยู่จริงๆ (คือมี data traffic วิ่งอยู่)
แล้วก็ดูว่า คนๆนั้น มี MAC adress อะไร
เสร็จแล้วก็ เปลี่ยน MAC address ของเรา ให้เป็นค่า MAC address ที่เราเพิ่งขโมยมา
Code:
#macchanger  -m  [macที่จะเปลี่ยนไปเป็น]    rausb0       ;เปลี่ยนMACของdeviceชื่อ rausb0
2. DNS Tunneling
ใช้โปรแกรมชื่อ iodine ในการ tunnel ข้อมูลในการต่อเน็ต ให้ไปอยู่ในรูปแบบ DNS packet (เอาheader DNS packet ครอบหัวทุกๆข้อมูลที่จะส่งต่อเน็ต)
เนื่องจาก บางhotspot อนุญาตให้เราส่ง DNS packet ออกไปถามที่อื่นได้ แต่บล๊อคไม่ให้ใช้เน็ต
การหลอก packet ที่จะวิ่งผ่านเน็ตให้ปลอมตัวเป็น DNS packet จะทำให้ทะลุการป้องกันของHotspotไปได้

เสร็จแล้วส่งผ่านไปยัง server ของเราที่เปิดรอรับไว้ เพื่อถอดDNS header ออก แล้วใช้เน็ตของเครื่อง server นั้นเพื่อท่องเวปต่อไป

เครื่องมือ iodine, openvpn, real IP + real domain name, server
+domain name hosting:
- ตั้งให้มี custom DNS วิ่งไปหา server ที่เราเปิดiodinedไว้ ใช้ NS, A

+ฝั่ง Server:
- ใช้ OpenVPN เพื่อสร้าง connection จำลองขึ้นมาก่อนที่ server
- รัน iodined [server_ipที่จะสร้างขึ้นเมื่อมีclientเข้ามา] [dns_suffix] ;เพื่อสร้างdaemonมารองรับการถอด dns header โดยdaemon ตัวนี้จะตอบสนองกับDNS packet ที่มี dns_suffix ที่ระบุไว้เท่านั้น
- เปิด service SSH

+ฝั่ง Client:
- ใช้ iodine -f [real_server_ip] [dns_suffix ที่ตั้งไว้] ;จะทำให้เราส่งข้อมูลทุกอย่างผ่านDNS ไปยังserverเรา
- สร้าง Sock Proxy ด้วยการใช้ putty เปิด SSH connection ไปหาเครื่อง server จะทำให้มีportใหม่ขึ้น
- ตั้งให้ browser วิ่งผ่าน sock proxy ที่เพิ่งสร้าง


3. IP Tunneling
วิธีสุดท้ายสร้าง tunnel ผ่าน Ping ก็จะเหมือนกับ DNS Tunnel ในข้อ2
แต่ต้องมั่นใจซะก่อนว่า ทางhotspotไม่บล๊อค ICMP ด้วยการทดลองpingอะไรซักอย่าง

อุปกรณ์ PingTunnel(ptunnel), LibPCap
+ ฝั่งServer:
- รัน ptunnel

+ ฝั่งClient:
- รัน ptunnel -p [server_ip] -lp[listening_port] -da [proxy_server_ip] -dp [proxy_port]
- เนื่องจากเป็น sock proxy, เลยต้องใช้ Putty สร้าง ssh tunnel ด้วย
- ตั้งให้ browser วิ่งผ่าน sock proxy ที่เพิ่งสร้าง

วิดีโอของทั้งสามวิธี (แต่เนื่องจากมันไม่ได้ตัดวีดีโอเป็นไฟล์ละเทคนิค ก็เลยต้องทำแบบนี้)
วิธี 1+2

วิธี 2

วิธี 3