*ไฟล์ WiFi Pineapple ที่ใช้ในบทความนี้มีช่องโหว่สามารถถูกโจมตีได้*
สวัสดีครับ บทความนี้ผมจะนำเสนอในสิ่งที่ผมได้ทำเอาไว้ใช้เองส่วนตัวคือสร้าง Wifi Pineapple จากอุปกรณ์ที่หาได้ในไทย Wifi pineapple คือ device ที่เอาไว้ใช้ทดสอบเจาะระบบเพื่อทดสอบความปลอดภัยและแก้ไขจุดอ่อนของระบบ โดยมุ่งเน้นไปที่การโจมตีผ่าน wireless ด้วยเทคนิคต่างๆ เป็น wireless penetration-testings tools ที่รวบรวม open source tools อาทิ เช่น aircrack-ng, dsniff, easy-creds, ettercap, hping3, httptunnel, karma, kismet, macchanger, mdk3, ngrep, nmap, nodogsplash captive portal, privoxy, ptunnel, snort, sslsniff, sslstrip, ssltunnel, stunnel, tcpdump, tor, reaver และทำ web interface มาครอบเพื่อให้ผู้ที่ทำงานด้าน security หรือผู้ใช้ทั่วไปสามารถใช้งานได้ง่ายขึ้นนั้นเอง
คำเตือน: ทำและรับผลกระทบกันเองนะครับ เช่นถ้า router bricked หรือเอาไปใช้ในทางผิดกฏหมาย ผมไม่มีส่วนเกี่ยวข้อง ผมทำเพื่อเผยแพร่ความรู้เท่านั้น เข้าใจตรงกันนะ
แต่ในกรณีที่ router bricked ก็ยังพอมีทางแก้ไขได้ติดปัญหาอย่างไรหรืออยากแนะนำเพิ่มเติมก็ comments ไว้ได้เลยครับ
เอาละครับเรามาดูกันว่าผมสร้างเจ้าสิ่งนี้ขึ้นมาจาากอะไร
แท่น แท๊น แท้นน !!!!
ผมสร้าง Wifi Pineapple นี้ขึ้นมาจาก TP-Link TL-MR3020 เหตุผลก็คือผมมีเจ้า MR3020 อยู่และสเปคของมันใกล้เคียงกับ Pineapple และใช้ CPU ตัวเดียวกันน่าจะ Port ง่าย และกินไฟน้อยประมาณ 1.25W ถ้าเทียบกับ Raspberry Pi + USB Wireless กินไฟมากกว่าและปัญหาความร้อน จากประสบการณ์ผมพกอุปกรณ์พวกนี้ใส่กระเป้าไปปล่อยให้มันทำงานไปด้วยปรากฏว่า Raspberry Pi ร้อนจนดับส่วน MR3020 อยู่ได้ 6 ชั่วโมงโดยไม่มีปัญหา สรุป MR3020 เป็นตัวเลือกที่ดีที่สุดสำหรับผมตอนนี้
จริงๆแล้ว MR3020 นั้นคือ 3G/4G wireless router ธรรมดาที่มี USB 2.0 1 port, ethernet 1 port, มี wireless ในตัวมากับ CPU ซึ่งจาก Interface ตามนี้ผมคิดว่าเพียงพอที่จะเอามา mod ทำอะไรได้อีกเยอะ
ปัญหาหลักของเจ้า MR3020 คือระยะการใช้งาน เพราะไม่สามารถใช้ external antenna ซึ่ง MR3020 นั้นมี Inverted-F Antenna มาให้แต่ผมต้องการใส่เสา dipole ที่ผมมีอยู่ เพื่อเพิ่มระยะการใช้งาน wireless เพราะฉะนั้นเราจะเริ่มจาก external antenna hack แต่ทั้งนี้ถ้าไม่มีอุปกรณ์ก็ข้ามไปทำส่วน software ในการ port Pineapple ได้เลยครับ
External Antenna Hack(hardware hacking)
1. บูชายันเจ้าแท่น Alfa นี้ เพื่อเอา SMA ตัวผู้ออกมาหรือหาซื้อหัว SMA ได้ทั่วไป 😀
2. งัดเปิดฝา MR3020 ซึ่งมีทั้งการใช้กาวและเขี้ยวยึดฝากับตัว
3.ทำการบัดกรีหัว SMA กับบอร์ดรายละเอียดวงจรอ่านได้ที่ Reference (เนื่องจากตอนระหว่างทำหัว SMA เกิดทำฉนวนในสาย Coaxial จากแท่น Alfa หลุด – * – ก็เลยหยิบเอาสายไฟแถวนั้นมาทำแทน)
4.ประกอบกันให้เรียบร้อย
แปลงร่าง MR3020 ให้กลายเป็น Pineapple
(firmware hacking + Pineapple)
มาถึงในส่วน software ที่เราจะทำให้เจ้า MR3020 กลายเป็น Pineapple เริ่มจาก firmware ถ้าเป็น firmware ดังเดิมที่มากับ MR3020 เลยให้ download firmware ของ OpenWRT มามาใช้ซึ่งมี hacker port มาไว้อยู่แล้วหน้าที่เราคือโหลดมาแล้วทำการ up firmware ครับ 😀 โดย download ได้ที่
แต่ถ้า MR3020 ของท่านใช้ firmware OpenWRT อยู่แล้วให้ download file upgrade นี้แทน
หลังจากนั้นก็ทำการ flash firmware ด้วยไฟล์ข้างต้น โดย flash ผ่านหน้า web interface หรือผ่าน telnet/ssh ก็ได้ครับ
ต่อมาทำการติดตั้ง Pineapple ตาม step นี้
1. SSH เข้าไปที่ MR3020 เพื่ิอติดตั้งโปรแกรม
แต่ก่อนที่เราจะติดตั้งโปรแกรมได้ เราต้องทำให้ MR3020 ของเราออกเน็ตได้ก่อนโดยผมใช้วิธีคือเสียบสาย Lan ต่อตรงกับ MR3020 และกำหนด IP laptop ผมเป็น 192.168.1.5 โดยที่ default IP ของ MR3020 หลัง flash firmware คือ 192.168.1.1 จากนั้นก็เปิด web browser ดังรูป
ให้เราทำการตั้งค่า root password ให้เรียบร้อย จากนั้นทำการเปลี่ยน Protocol ของ Lan interface จาก Static IP ให้เป็น DHCP Client จากนั้นกด switch protocol และกด Save & Apply จากนั้นให้เรานำ MR3020 ไปต่อกับ Switch ที่สามารถออกเน็ตได้ผ่าน Ethernet port และให้ Laptop เราต่อกับ Switch นั้น และ ssh เข้าไปที่ MR3020 และทำการติดตั้งโปรแกรมตามคำสั่งด้านล่าง
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-usb-storage
root@OpenWrt:~# opkg install kmod-fs-ext4
root@OpenWrt:~# opkg install block-mount
2. ทำการแบ่ง partition ของ flash drive เป็น 2 partitions
sda1 ให้ตั้งเป็น swap ขนาด 2GB
sda2 พื้นที่ที่เหลือให้ตั้งเป็น ext4 เพื่อใช้เก็บข้อมูล โดยเราจะใช้ flash drive ในการเก็บข้อมูลทั้งหมดเพราะหน่วยความจำที่มากับ MR3020 มีพื้นที่น้อยเกินไป โดยผมใช้ gparted ตามรูป
3. ทำการ download Pineapple ที่ผมได้ทำการ hack เพิ่ม module และ script อื่นๆ เช่น random MAC address ของ wireless interface ทุกครั้งที่เปิดเครื่อง เป็นต้น ให้ทำการเสียบ flash drive ที่ทำการแบ่ง partitions เรียบร้อยแล้วกับ Laptop
ผมยกตัวอย่าง Laptop ของคนที่ใช้ WiFi Pineapple ที่เป็น Linux นะครับ
user@ubuntu:~$ wget http://mayaseven.com/mr3020_pineapple_0.1.tar.gz
user@ubuntu:~$ tar -zxvf mr3020_pineapple_0.1.tar.gz
user@ubuntu:~$ sudo cp -R MR3020_Pineapple/* /media/xxxx-xxxx-xxxx/
หมายเหตุ: xxxx-xxxx-xxxx นั้นหลัง format flash drive เป็น ext4 จะได้เลขมาไม่เหมือนกันในแต่ละครั้ง แต่ถ้าไม่เห็น folder ให้ทำการ mount flash drive ก่อน
4. กลับมาที่ MR3020 ให้ ssh เข้าไปแก้ไขไฟล์ /etc/config/fstab ตามนี้ โดยที่ยังไม่ต้องเสียบ flash drive ที่เราเตรียมไว้
config mount
option target /
option device /dev/sda2
option fstype ext4
option options rw,sync
option enabled 1
option enabled_fsck 0
config swap
option device /dev/sda1
option enabled 1
จากนั้นให้ทำการปิดเครื่อง MR3020 และเสียบ flash drive และเปิดเครื่องรอจน boot เสร็จแล้วให้ ssh เข้าไปโดยใช้ user:pass เป็น root:mayaseven ใช้คำสั่ง df จะได้ผลตามรูป
ให้ run คำสั่งนี้
root@OpenWrt:/# cp /.extroot.md5sum /tmp/whole_root-disabled/etc/extroot.md5sum
และทำการ reboot จากนั้นจะเห็น AP ชื่อ Free Wi-Fi ปรากฎขึ้นมาในบริเวณนั้น
5. วิธีหนึ่งในการใช้งาน Pineapple ก็คือให้ Laptop ต่อเน็ตผ่าน Wifi หรือ 3G จากนั้นเอาสาย Lan ต่อตรงกับ MR3020 และทำการ download และ run script ตามนี้ ได้ผลตามรูป
user@ubuntu:~$ wget http://mayaseven.com/wp4.sh
user@ubuntu:~$ chmod +x wp4.sh
user@ubuntu:~$ sudo ./wp4.sh
เป็นอันเสร็จพิธี
Wifi Pineapple มันดียังไงทำอะไรได้บ้าง ผมจะทำวิดีโอ demo MR3020 Pineapple ออกมาใน Wireless hacking series part ต่อๆไปบน Youtube MaYaSeVeN channel ครับ Happy Hacking !!
Reference:
1. http://wiki.openwrt.org/toh/tp-link/tl-mr3020
2. http://store.jpgottech.com/support/tp-link-mr3020-openwrt-flashing-guide/
3. http://wiki.openwrt.org/doc/howto/extroot
4. http://penturalabs.wordpress.com/2013/04/25/blue-for-the-pineapple/
5. http://www.troyhunt.com/2013/04/the-beginners-guide-to-breaking-website.html
6. http://samiux.blogspot.com/2013/05/howto-tp-link-tl-mr3020-as-wifi.html
7. https://www.youtube.com/playlist?list=PLADC082E89FD1D575
8. https://www.youtube.com/user/Security4Plus/videos
9. http://www.symbyote.info/?page_id=291
10. http://hakinthebox.blogspot.hk/2012/06/you-just-cant-trust-wireless-covertly.html
11. http://edgis-security.org/wireless-security/wifi-pineapple-first-impression/