สร้าง Wifi Pineapple Penetration Testing Tool ในราคา 1 พันบาท

*ไฟล์ 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 หรือผู้ใช้ทั่วไปสามารถใช้งานได้ง่ายขึ้นนั้นเอง

pineapple
รูป Hardware ของเจ้า Pineapple ราคาอยู่ที่ $99
ที่มา: https://wifipineapple.com/
pineapple_interface
รูป web interface ของ Pineapple ที่เราจะสร้างกัน(จริงๆแล้วในส่วน software port มาจาก Pineapple official เลย)

คำเตือน: ทำและรับผลกระทบกันเองนะครับ เช่นถ้า 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 เป็นตัวเลือกที่ดีที่สุดสำหรับผมตอนนี้

TL-MR3020-V1-03
รูป MR3020 ราคาอยู่ที่ประมาณ 1,000 บาทและหาซื้อได้ในไทย

จริงๆแล้ว 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 ได้ทั่วไป 😀

base antenna

2. งัดเปิดฝา MR3020 ซึ่งมีทั้งการใช้กาวและเขี้ยวยึดฝากับตัว

MR3020

3.ทำการบัดกรีหัว SMA กับบอร์ดรายละเอียดวงจรอ่านได้ที่ Reference (เนื่องจากตอนระหว่างทำหัว SMA เกิดทำฉนวนในสาย Coaxial จากแท่น Alfa หลุด – * – ก็เลยหยิบเอาสายไฟแถวนั้นมาทำแทน)

External antenna hack

4.ประกอบกันให้เรียบร้อย

Pineapple MR3020

แปลงร่าง MR3020 ให้กลายเป็น Pineapple
(firmware hacking + Pineapple)

มาถึงในส่วน software ที่เราจะทำให้เจ้า MR3020 กลายเป็น Pineapple เริ่มจาก firmware ถ้าเป็น firmware ดังเดิมที่มากับ MR3020 เลยให้ download firmware ของ OpenWRT มามาใช้ซึ่งมี hacker port มาไว้อยู่แล้วหน้าที่เราคือโหลดมาแล้วทำการ up firmware ครับ 😀 โดย download ได้ที่

http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-factory.bin

แต่ถ้า MR3020 ของท่านใช้ firmware OpenWRT อยู่แล้วให้ download file upgrade นี้แทน

http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3020-v1-squashfs-sysupgrade.bin

หลังจากนั้นก็ทำการ 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 ดังรูป

luci

ให้เราทำการตั้งค่า 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 ตามรูป

gparted
ทำการแบ่ง Partitions ด้วย 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 จะได้ผลตามรูป

ถ้าได้ผลจาากคำสั่ง df ตามรูปถือว่าขั้นตอนที่ผ่านมาทำได้ถูกต้อง
ถ้าได้ผลจาากคำสั่ง df ตามรูปถือว่าขั้นตอนที่ผ่านมาทำได้ถูกต้อง

ให้ run คำสั่งนี้

root@OpenWrt:/# cp /.extroot.md5sum /tmp/whole_root-disabled/etc/extroot.md5sum

และทำการ reboot จากนั้นจะเห็น AP ชื่อ Free Wi-Fi ปรากฎขึ้นมาในบริเวณนั้น

free wifi
เป็น AP ปลอมที่เราได้ทำการสร้างขึ้นมา

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

wp
โดยที่ script wp4 นี้จะทำการตั้งค่า route จากเหยื่อที่ต่อ AP ปลอมของเรามาที่ port Ethernet ของ Laptop จาก นั้น forward ต่อ route ออกเน็ตผ่าน WIFI หรือ 3G
pineapple
จากนั้นใช้ web browser เปิดไปที่ http://192.168.10.1:7777 ก็จะได้ผลตามรูปสามารถเข้าไปเปิดหรือปิด Modules ต่างๆ ของ Pineapple ได้ Happy Hacking !!
Happy Hacking !!
Happy Hacking !!

เป็นอันเสร็จพิธี

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/

embedded, hacking, hardware, mr3020, penetration, pineapple, system, testing, tool, wifi, wireless
เรื่องก่อนหน้า
กลโกงซื้อของด้วยเงินจริงจาก Steam Dota2 อ่านก่อนโดนโกง
เรื่องถัดไป
Android App Hacking

Related Posts

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

Fill out this field
Fill out this field
โปรดใส่ที่อยู่อีเมลที่ใช้งานได้
You need to agree with the terms to proceed