SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Firmware Hacking, Slash the Pineapple for Fun
smrx86
Independent Researcher
ramatrinanda@gmail.com
Abstrak
Firmware hacking secara umum dapat dipahami sebagai tindakan mengkustomisasi konten sebuah
firmware untuk kemudian di tulis ulang/flashing pada rom memori perangkat terkait. Tujuannya beragam,
mulai untuk melakukan patching/penambalan celah keamanan hingga menanamkan malware. Dalam paper ini
firmware hacking dilakukan untuk mengeksploitasi firmware pineapple MK 5 untuk di flashing kedalam router
GL-inet.
Kata kunci: Firmware hacking, reverse engineering, eksploitasi, flashing.
1. Pengantar
Di berbagai kesempatan berbeda, saya sering menemukan tulisan yang menyarankan untuk
mempelajari openwrt sebagai gerbang untuk memahami linux secara keseluruhan. Dengannya anda bisa
mempelajari linux fundamental, networking, wireless security bahkan firmware developing sekalipun.
Semua itu dikarnakan ketersediaan dan kemudahan framework dalam membuild sebuah firmware untuk
banyak platform chipset.1
Berbagai fungsionalitas dapat dengan mudah dikreasikan dengan openwrt. Sebuah perangkat
portable multiguna bisa dibuat dengan biaya yang rendah dan tingkat penggunaan energi yang efisien.
Dan karena kehandalan yang dimilikinya openwrt menjadi sebuah operating system yang sulit untuk di
tolak oleh banyak firmware developer.
Sebagai contoh dibidang security, nama Hak5 menjadi sangat dikenal dan menjadi buah bibir karna
penggunaan openwrt. Sejak versi awal pineapple, OS ini dipilih untuk mempersenjatai router-router
yang mereka dipasarkan. Pengembangan pineapple sendiri oleh hak5 team terbilang cukup pesat, dalam
kurun waktu 2011 s/d 2015 puluhan ver firmware mulai dari Mk 1 hingga MK 5 sudah di publishkan.
Versi yang terakhir keluar adalah versi 2.3 yang ditujukan untuk router MK 5.
Disis lain,
Layaknya gula diantara semut, para opreaker melihat keberadaan pineapple sebagai buruan untuk
objek penelitian. Mereka memandang openwrt sebagai petunjuk penting yang memungkinkan untuk
mengembangkan perangkat penetrasinya sendiri.2
Kendati minim dari sisi source code namun hal
tersebut tidak menjadi penghalang. Berbagai metode selalu diupayakan dan firmware hacking adalah
salah satu diantaranya.
Dengan motivasi yang sama seperti tersebut diatas, maka paper ini dibuat. Tujuannya sederhana,
guna memberikan sedikit gambaran tentang firmware hacking disertai pembuktian implementasi
firmware MK 5 pada router GL-inet. Dalam hal ini pemilihan router GL-inet didasarkan banyak
kemiripan yang dimilikinya dengan router MK 5 ( jenis CPU chipset, Wlan, besar ROM maupun
kapasitas RAM). Selain itu router ini juga terbilang relatif murah dan gampang didapatkan dari toko-
toko penjualan perangkat komputer secara online.
1.1. Pengenalan Konsep
Sebelum melangkah lebih jauh ada baiknya kita mengenal dan memahami perihal tentang firmware
dan firmware hacking.
1.1.a. Firmware dan Firmware Hacking
Firmware bisa didefinisikan sebagai software inti/utama yang terdapat dalam Rom memori sebuah
perangkat keras. Dia bertanggung jawab atas semua fungsi operasi dasar baik itu input maupun output.
1 Alan Holt and Chi-Yu Huang, "Embedded Operating Systems, A Practical Approach," in introduction,
virtualisation. London, Springer-Verlag, 2014, pp. 7.
2 Andy Davis. “Blue for the pineapple.”, Internet: http://penturalabs.wordpress.com/2013/04/25/blue-for-the-
pineapple/, Apr. 25, 2013[Apr. 20,2015].
Firmware hampir digunakan di semua alat-alat elektronik yang dibekali rom memory, ex: dvd player.
Handphone, kamera digital, harddisk komputer hingga peralatan-peralatan medis. 3
Untuk menunjang keterbaruan informasi atau perbaikan atas celah dimilikinya, firmware di dalam
perangkat tersebut juga dibekali kemampuan untuk ditulis ulang atau diupgrade. Dibagian inilah
firmware hacking mengambil perannya.4
Firmware hacking bisa dipahami sebagai metode mengkustomisasi konten sebuah firmware untuk
kemudian ditulis ulang (flashing) pada rom perangkat terkait. Serangkaian kode yang
dikostumisasi/dimodifikasi bisa saja ditujukan melakukan perbaikan atau malah untuk menanamkan
malware ke dalam firmware tersebut. Proses firmware hacking sendiri melibatkan reverse engineering
dalam tahapan pelaksanaannya.
Secara umum firmware hacking dilakukan melalui beberapa tahapan.5
1. Recognize firmware, recognize adalah tahap dimana kita menggali sebanyak-banyaknya
informasi yang terkandung dalam sebuah firmware.
2. Extracting/unpacking firmware, di tahap ini kita melakukan upacking semua file yang
terkandung dalam firmware.
3. Sorting & find unique file, file-file yang kita dapatkan kemudian disortir dan untuk file yang
dalam premis awal pantas dimodifikasi akan ditandai.
4. Debugging test, ini adalah tahapan dimana kita mencoba menjalankan firmware secara
keseluruhan atau hanya file-file tertentu untuk kemudian kita evaluasi. Debugging test bisa
dijalankan diatas emulator atau diperangkat berplatform sama yang sudah dimonitoring lewat
koneksi uart ataupun jtag.
5. Eksplotation & Final Repacking, tahapan terakhir menindak lanjuti hasil evaluasi debugging
test dengan melakukan eksploitasi terhadap file terkait dan baru kemudian di repacking kembali
menjadi sebuah firmware file.
Gambar 1. Tahapan-tahapan firmware hacking.
1.2. Informasi Dasar Perangkat Keras.
Router Mk 5 adalah perangkat yang khusus dibuat dan dipasarkan oleh hak5. Beberapa fitur yang
dimilikinya jarang ditemukan pada router lain. Diantaranya adalah keberadaan slot sd card untuk
menyimpan infusion aplikasi pineapple, 7 buah dip switch serta adanya 2 wlan chipset card guna
memaksimalkan eksploitasi jaringan nirkabel.
Berikut ini spesifikasi dan bundling router MK 5:6
3 Pinzaru. "What is firmware?.", internet:http://incepator.pinzaru.ro/software/what-is-firmware/, Apr.
2015[Jun. 6,2015].
4 Wikipedia. "Firmware.", internet: http://en.m.wikipedia.org/wiki/Firmware, last edited, Jun. 5, 2015[Jun.
10, 2015].
5 Silverbug and Redhidden. “Fu~n of Attacking Firmware .”, avaiable:
http://www.powerofcommunity.net/poc2012/re&si.pdf, 2012[Jun. 10, 2015].
6 Andy Davis. “Naked WiFi Pineapple Mark V!.”, Internet:
https://penturalabs.wordpress.com/2013/10/27/naked-wifi-pineapple-mark-v/, Oct. 27, 2013[Apr. 20,2013].
CPU 400 MHz MIPS Atheros AR9331 version 1 SoC
Memory 16 MB ROM (w25q128 (16384 Kbytes)), 64 MB DDR2 RAM (Hynix
H5PS5162GFR-Y5C)
Disk Micro SD support up to 32 GB, FAT or EXT, 2 GB Included
Mode Select 5 DIP Switches 2 System, 3 User configurable
Wireless Atheros AR9331 IEEE 802.11 b/g/n + Realtek RTL8187 IEEE 802.11 a/b/g
Ports (2) SMA Antenna, 10/100 Ethernet, USB 2.0, Micro SD, TTL Serial,
Expansion Bus
Power DC in Variable 5-12v, ~1A, 5.5mm*2.1mm connector, International Power
Supply
Status Indicators Power LED, Ethernet LED, Wireless 1 LED, Wireless 2 LED
JTAG (Tags are on reverse of board)(IO6=TDI, IO7=TDO,IO8=TMS)
Default OS Customized Openwrt
MTD partition info
0x000000000000-0x000000020000 : "u-boot"
0x000000020000-0x000000102744 : "kernel"
0x000000102744-0x000000ff0000 : "rootfs"
0x000000bb0000-0x000000ff0000 : "rootfs_data"
0x000000ff0000-0x000001000000 : "art"
0x000000020000-0x000000ff0000 : "firmware"
Gambar 2. Board router MK 5.
Sedangkan perangkat yang akan kita gunakan untuk di flash dengan firmware MK 5 yang
dimodifikasi adalah router bermerk GL-inet.
Berikut spesifikasi dari router GL-inet:
CPU 400 MHz MIPS Atheros AR9331 version 1 SoC
Memory 16 MB ROM (winbound w25q128 FYSC (16384 Kbytes)), 64 MB DDR RAM
(Etrontech EM6AB160TSD-5D) .
Wireless Atheros AR9331 IEEE 802.11 b/g/n.
Ports (2) 10/100 Ethernet, USB 2.0, TTL Serial, (6) exposed unheader GPIO pin.
Power Miniusb powered 5v, ~1A.
Status Indicators Power LED, Ethernet LED.
Default Os Customized Openwrt
MTD partition info
0x000000000000-0x000000020000 : "u-boot"
0x000000020000-0x00000010272c : "kernel"
0x00000010272c-0x000000ff0000 : "rootfs"
0x000000cc0000-0x000000ff0000 : "rootfs_data"
0x000000ff0000-0x000001000000 : "art"
0x000000020000-0x000000ff0000 : "firmware"
Uboot costumized by pepe2k, this the most important change of it's modification is an inclusion of a
web server, based on **[uIP 0.9 TCP/IP stack](http://www.gaisler.com/doc/net/uip-
0.9/doc/html/main.html)**. It allows to upgrade **firmware**, **U-Boot** and **ART** (Atheros
Radio Test) images, directly from your web browser, without need to access serial console and
running a TFTP server. You can find similar firmware recovery mode, also based on uIP 0.9 TCP/IP
stack, in **D-Link** routers.
Gambar 3. Board router GL-Inet
Diatas kertas memang terlihat perbedaan yang amat mencolok antara router MK 5 versus router GL-
inet, tapi jika dilihat dari sisi cpu chipset, besar rom dan ram akan terlihat kesetaraan antara keduanya.
Dari banyak riset sebelumnya penulis berhipotesa bahwa firmware MK 5 berpeluang besar bisa di
flashing dan dijalankan di router GL-inet. Tapi tentu melewati prosedur firmware hacking sebelumnya.
1.3. Persiapan Lab/ Lab Preparation.
Ada beberapa peralatan dan software yang perlu disediakan sebelum memulai riset. Diantaranya
adalah:
• Binwalk v 2.1.0 (linux software) 7
: Binwalk adalah aplikasi yang didisain untuk melakukan
analisis firmware, ekstraksi dan reverse engineering file firmware image. Untuk melakukan
penginstalan binwalk di perlukan beberapa dependencies python 2.7 / 3 dan python lzma.
Binwalk dapat di install dengan menginput perintah di shell terminal seperti berikut:
$ sudo apt-get install python-lzma
$ wget https://github.com/devttys0/binwalk/archive/master.zip
$ unzip master.zip
$ (cd binwalk-master && sudo python setup.py install)
• Firmware-mod-kit (linux software)8
: fungsi utama tool ini adalah untuk melakukan extraksi dan
sekaligus me-repack ulang file firmware image. Firmware-mod-kit dapat diinstal dengan cara
perintah seperti dibawah ini di shell terminal:
$ sudo apt-get install subversion build-essential zlib1g-dev
$ mkdir firmware_mod_kit
$ cd firmware_mod_kit
$ svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-
mod-kit-read-only
• Hex editor (software), ada banyak jenis hex editor yang bisa gunakan untuk melakukan
modifikasi file. Di paper ini saya menggunakan Ghex.
• USB2TTL (hardware) : USB2TTL adalah usb dongle yang digunakan untuk memonitoring dan
menginterrupt perintah lewat koneksi UART yang terdapat pada perangkat. Dongle ini sangat
diperlukan dalam proses debugging yang dijalankan lewat aplikasi minicom/putty. Berikut
tampilan dongle tersebut.
Gambar 4. Dongle USB2TTL dan cara pemasangannya di GL-inet
2. Firmware Hacking
2.1. Recognize Firmware Image
Firmware yang akan kita analisa adalah firmware versi upgrade-2.2.0.bin. Pemilihan file firmware
versi upgrade-2.2.0.bin di banding versi upgrade-2.3.0.bin didasarkan info yang didapatkan dari
halaman bugtracker pineapple yang memperlihatkan bahwa versi upgrade-2.3.0.bin memiliki bug yang
7 Craig Heffner, "Quick Start Guide.", Internet: https://github.com/devttys0/binwalk/wiki/Quick-Start-Guide,
Dec. 1, 2014[Jun. 6, 2015].
8 "DD-WRT Mod Kit.", Internet: http://3iii.dk/wiki/index.php?title=DD-WRT_Mod_Kit&oldid=37, [Dec.
27,2014].
serius di tool karma-nya.9
Pada tahap pertama ini kita akan mengindetifikasi firmware image dengan
bantuan Binwalk.
Berikut hasilnya:
$ binwalk upgrade-2.2.0.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
512 0x200 LZMA compressed data, properties: 0x6D, dictionary
size: 8388608 bytes, uncompressed size: 2805816 bytes
927532 0xE272C Squashfs filesystem, little endian, version 4.0,
compression:xz, size: 12259772 bytes, 2932 inodes, blocksize: 262144 bytes,
blocksize: 262144 bytes, created: 2015-01-12 22:39:23
Jika anda menginstal binwalk disertai graph plugin anda juga bisa menganalisa firmware ini dengan
dalam bentuk grafik signature entrophy. Berikut tampilannya:
Gambar 5. Hasil analisa entrophy dan signature binwalk dalam bentuk grafik.
Dari hasil analisa binwalk kita mendapatkan hasil firmware ini terdiri dari 2 bagian utama yakni:
• Bagian header yang dikompresi dengan LZMA, bagian ini mengambil posisi diawal firmware.
• Bagian rootfs yang bertipe Squashfs dan dikompresi dengan xz.
2.2. Extracting Firmware Image
Aplikasi Binwalk sebenarnya bisa melakukan ekstraksi, tapi kita akan menemui kesulitan jika akan
melakukan repack ulang. Maka pada tahap ini kita akan menggunakan firmware mod kit. Untuk
memudahkan proses ekstraksi kita perlu menempatkan file firmware image dalam folder yang sama
dengan lokasi script firmware mod kit.
Berikut tampilannya:
$ ./extract-firmware.sh upgrade-2.2.0.bin fmk/
Firmware Mod Kit (build-ng) 0.82, (c)2011-2013 Craig Heffner, Jeremy Collake
Scanning firmware...
9 Lihat halaman website https://www.wifipineapple.com/?bugs_pub&action=view&id=302 yang menyatakan
adanya bug blacklist karma pada versi upgrade-2.3.0.bin. Selain itu lihat juga indeks jumlah download
versi upgrade-2.2.0.bin yang lebih tinggi ketimbang versi upgrade-2.3.0.bin di
https://www.wifipineapple.com/?downloads.
Scan Time: 2015-06-21 11:24:28
Signatures: 193
Target File: /home/smrx86/firmware_mod_kit/firmware-mod-kit-read-only/upgrade-
2.2.0.bin
MD5 Checksum: 457a32d5b78cbdb5cf47fcb0fd3b719a
DECIMAL HEX DESCRIPTION
----------------------------------------------------------------------------------
---------------------
512 0x200 LZMA compressed data, properties: 0x6D, dictionary size:
8388608 bytes, uncompressed size: 2805816 bytes
927532 0xE272C Squashfs filesystem, little endian, version 4.0,
compression: size: 12259772 bytes, 2932 inodes, blocksize: 262144 bytes,
created: Tue Jan 13 05:39:23 2015
Extracting 927532 bytes of header image at offset 0
Extracting squashfs file system at offset 927532
Extracting 96 byte footer from offset 13238180
Extracting squashfs files...
[sudo] password for smrx86:
Firmware extraction successful!
Firmware parts can be found in '/home/smrx86/firmware_mod_kit/firmware-mod-kit-
read-only/fmk/*'
Hasil ekstraksi firmware bisa kita temukan di folder fmk/ seperti berikut:
$ tree -a fmk/
fmk
├── image_parts
│ ├── footer.img
│ ├── header.img
│ └── rootfs.img
├── list
├── logs
│ ├── binwalk.log
│ └── config.log
├── new-filesystem.squashfs
├── new-firmware.bin
├── openwrt.bin
└── rootfs
├── bin
│ ├── ash -> busybox
│ ├── bash
…........
Kalau melihat hasil identifikasi yang dilakukan firmware mod kit terlihat ada perbedaan hasil dengan
yang sebelumnya kita lakukan dengan Binwalk. Terlihat bahwa part firmware yang bertipe Squashfs
tidak dikenali jenis kompresinya. Hal ini disebabkan oleh tool binwalk yang dibundling didalam
Firmware mod kit merupakan versi yang lama. Oleh karena itulah kita hanya akan mengacu pada
informasi yang didapatkan lewat tahapan pertama (hasil binwalk v 2.1.0).
2.3. Sorting and Find Unique File.
Setelah mengektraksi kita akan melakukan indentifikasi file dan modifikasi awal sebelum melakukan
debugging test. Adapun file yang perlu kita tandai adalah fstab (./fmk/rootfs/etc/config/fstab) dan file
format_sd (./fmk/rootfs/pineapple/components/system/resources/includes/files/format_sd) yang sangat
erat kaitannya dengan penggunaan slot micro sd & card di router MK 5. File fstab ini tidak perlu
langsung di edit karna akan dilakukan bersama file lainnya di tahap eksploitasi.
Tapi untuk melakukan debugging ada file yang harus dimodifikasi. File yang akan kita examine
tersebut adalah header.img (./fmk/image_parts/header.img). “Header.img” merupakan part 1 dari
firmware yang dikompresi dengan LZMA. Part ini menyimpan ID machine/hardware yang akan dicek
setiap kali kita akan melakukan flashing lewat web ui ataupun terminal ssh. Tanpa modifikasi proses
flashing akan dihentikan/halt seketika.
Gambar 6. Kegagalan verifikasi saat proses flashing akibat header id yang tak dimodifikasi.
Untuk menghindari hal tersebut diperlukan pengeditan dengan hex editor pada header.img di offset
0x0040.10
Nilai yang dirubah mengacu pada Table. HW identification in lzma header.11
Gambar 7. Modifikasi hardware id pada header di offset 0x0040.
Setelah melakukan pengeditan header.img dan menyimpannya, maka proses dilanjutkan dengan
repacking awal dengan mengeksekusi ./build-firmware.sh. Namun sebelumnya kita akan melakukan
modif file build-firmware.sh (./ build-firmware.sh) dan config.log (./fmk/logs/config.log) agar bisa
melakukan repacking dengan kompresi xz.
Gambar 8. Modifikasi build-firmware.sh supaya mendukung kompresi jenis xz.
10 Tomcom "Flashing TP-Link TL-MR3040 v2.0 (Version / Revison 2) with V1.0 Image.", Internet:
https://forum.openwrt.org/viewtopic.php?id=44090, May, 9, 2013[Jun. 22, 2015].
11 Lihat tabel di Lampiran.
Gambar 9. Modifikasi config.log pada bagian fs_compression dari “gzip” ke “xz”.
Setelah melakukan pengeditan ./build-firmware.sh, dan config.log kita juga perlu menghapus
beberapa file agar nantinya tak bermasalah dalam ukuran firmware yg di build. Dalam hal ini saya
menghapus file notification.gif (./fmk/rootfs/pineapple/includes/img/notification.gif) karna perannya tak
terlalu signifikan.12
Baru kemudian dilanjutkan dengan membuild firmware.
$ sudo su
[sudo] password for smrx86:
# rm -Rf ./fmk/rootfs/pineapple/includes/img/notification.gif
# ./build-firmware.sh fmk/
Firmware Mod Kit (build-ng) 0.82, (c)2011-2013 Craig Heffner, Jeremy Collake
Building new squashfs file system...
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on /home/smrx86/firmware_mod_kit/firmware-mod-kit-read-
only/fmk/new-filesystem.squashfs, block size 262144.
[=============================================================/]
2538/2538 100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 262144
compressed data, compressed metadata, compressed fragments, compressed
xattrs
duplicates are removed
Filesystem size 12008.79 Kbytes (11.73 Mbytes)
26.02% of uncompressed filesystem size (46147.47 Kbytes)
Inode table size 24208 bytes (23.64 Kbytes)
25.29% of uncompressed inode table size (95708 bytes)
Directory table size 27464 bytes (26.82 Kbytes)
46.95% of uncompressed directory table size (58494 bytes)
Number of duplicate files found 77
…...
Remaining free bytes in firmware image: 10360
Processing 0 header(s) from /home/smrx86/firmware_mod_kit/firmware-mod-kit-read-
only/fmk/new-firmware.bin...
CRC update failed.
Firmware header not supported; firmware checksums may be incorrect. New firmware
image has been saved to: /home/smrx86/firmware_mod_kit/firmware-mod-kit-read-
only/fmk/new-firmware.bin
# mv ./fmk/new-firmware.bin ./fmk/openwrt.bin
dari hasil build fmk terlihat notif bahwa “CRC update firmware. Firmware header not support...”.
Tapi notif tersebut bisa diabaikan. Hasil build tersimpan di ./fmk/openwrt.bin
12 Kompresi “xz” sebenarnya mempunyai opsi untuk memilih tingkat kompresinya. Namun binwalk tidak
dapat mendeteksi dan memeberikan informasi berapa persentase kompresi yang digunakan. Sehingga
dianjurkan memakai opsi default. Penggunaan opsi yang tak sesuai akan menyebabkan proses flashing tak
berjalan seperti seharusnya.
2.4. Debugging Test.
Debugging test bisa saja dilakukan dengan emulator atau vbox dengan openwrt x86, tapi
kemampuannya terbatas pada konfigurasi atau hanya frontend dari WebUI nya. Disini saya lebih
memilih menggunakan router yang sesungguhnya yakni GL-inet. Proses dimulai dengan mencoba
memflash router dengan firmware yang telah kita build dari web browser sembari mengawasinya lewat
minicom.
Gambar 10. Setelah modifikasi header id verifikasi firmware pun dapat di bypass.
Dari monitoring lewat mincom ataupun web browser terlihat firmware berhasil tanpa kendala
verifikasi. Pastikan menghilangkan centang keep setting sebelum melakukan upgrade.
Beberapa saat setelah upgrade dilakukan router akan reboot dan pindahkan koneksi kabel lan ke
port eth0/wan di router GL-inet. Ini dikarnakan firmware MK 5 dicompile sesuai hardware yang
dipasarkannya dengan support hanya satu port ethernet saja.
Berikut log minicom setelah router reboot:
$ sudo minicom
[sudo] password for smrx86:
Welcome to minicom 2.5
OPTIONS: I18n
Compiled on May 2 2011, 00:39:27.
Port /dev/ttyUSB2
Press CTRL-A Z for help on special keys
*****************************************
* U-Boot 1.1.4 (Jun 25 2014) *
*****************************************
AP121 (AR9331) U-Boot for GL-iNet
DRAM: 64 MB
FLASH: Winbond W25Q128 (16 MB)
LED on during eth initialization...
Hit any key to stop autobooting: 0
Booting image at: 0x9F020000
Image name: OpenWrt r40348
Image type: MIPS Linux Kernel Image (lzma compressed)
Data size: 927020 Bytes = 905.3 kB
Load address: 0x80060000
Entry point: 0x80060000
Uncompressing kernel image... OK!
Starting kernel...
[ 0.000000] Linux version 3.3.8 (sebkinne@buildtop) (gcc version 4.6.3 201205
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU revision is: 00019374 (MIPS 24Kc)
[ 0.000000] SoC: Atheros AR9330 rev 1
[ 0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.0z
…....................................
[ 0.490000] Creating 5 MTD partitions on "spi0.0":
[ 0.500000] 0x000000000000-0x000000020000 : "u-boot"
[ 0.510000] 0x000000020000-0x00000010272c : "kernel"
[ 0.510000] mtd: partition "kernel" must either start or end on erase block y
[ 0.520000] 0x00000010272c-0x000000ff0000 : "rootfs"
[ 0.530000] mtd: partition "rootfs" must either start or end on erase block y
[ 0.540000] mtd: partition "rootfs" set to be root filesystem
[ 0.550000] mtd: partition "rootfs_data" created automatically, ofs=CC0000,
[ 0.550000] 0x000000cc0000-0x000000ff0000 : "rootfs_data"
[ 0.560000] 0x000000ff0000-0x000001000000 : "art"
[ 0.570000] 0x000000020000-0x000000ff0000 : "firmware"
….........
- preinit -
Press the [f] key and hit [enter] to enter failsafe mode
regular preinit -
Usai memastikan bahwa flashing berhasil dan mendapatkan ip address barulah kita mengarahkan
web browser ke halaman admin f/w pineapple di http://172.16.42.1:1471/ .
Dari halaman admin kita bisa menemukan bahwa frontend MK 5 memiliki proteksi yang unik
dengan script yang mentrigger 4 led nya sebagai kunci akses awal.
Gambar 11. Proteksi halaman admin pineapple yang berfungsi mentrigger nyala led pada router MK 5.
Beberapa kali uji coba memperlihatkan sistem proteksi ini tidak memiliki limit attempt dan
memperlihatkan respon failure dengan string yang sama. Menggunakan string “wrong pattern entered”
kita bisa melacak script mana yang bertanggung jawab untuk puzzle ini dari folder rootfs/pineapple
hasil ekstraksi fmk.
$ grep -lr -e 'wrong|pattern|entered' *
components/system/configuration/help.json
components/system/network/functions.php
includes/welcome/welcome.inc.php
includes/welcome/welcome.php
Adapun file yang menjalankan proteksi ini adalah welcome.inc.php
(./fmk/rootfs/pineapple/includes/welcome/welcome.inc.php). Dari sini kita lanjutkan ke proses
eksploitasi.
2.5. Eksploitation and Final Repacking.
Selain file welcome.inc.php juga ada beberapa file lain yang perlu di edit pada tahap eksploitasi ini.
Berikut ini adalah file-file tersebut dan keterangan modifikasinya:
• fstab (./fmk/rootfs/etc/config/fstab) : file ini bertugas untuk mengatur mounting additonal
storage seperti UFD ataupun Micro sd seperti yang dimiliki router MK 5. Karna akan
menggunakan UFD sebagai media penyimpanan tambahan maka fstab perlu diedit menjadi
seperti berikut:
$ cat ./fmk/rootfs/etc/config/fstab
config global automount
option from_fstab 1
option anon_mount 1
config global autoswap
option from_fstab 1
option anon_swap 0
config mount
option target /sd
option device /dev/sda1
option fstype auto
option options rw,sync
option enabled 1
option enabled_fsck 0
config swap
option device /dev/sda2
option enabled 1
• format_sd (./fmk/rootfs/pineapple/components/system/resources/includes/files/format_sd): shell
script ini bertugas untuk melakukan pemformatan sd card supaya memiliki 2 partisi yakni
partisi 1 yang berformat ext4 dan partisi 2 yang di format sebagai swap. Untuk itu perlu kita
edit terlebih dahulu hingga seperti berikut:
$ cat
./fmk/rootfs/pineapple/components/system/resources/includes/files/format_sd
#!/bin/bash
#2013 - WiFiPineapple.com
[[ -f /tmp/sd_format.progress ]] && {
exit 0
}
#Function to find and reset the SD device
function reset_sd {
DEVICE=$(find / -name idProduct -exec grep -l 6366 {} + | awk -F '/'
'{ print $(NF-1) }')
echo $DEVICE > /sys/bus/usb/drivers/usb/unbind
sleep 2
echo $DEVICE > /sys/bus/usb/drivers/usb/bind
}
touch /tmp/sd_format.progress
reset_sd
sleep 5
umount /sd
swapoff /dev/sda2
sleep 2
cat
/pineapple/components/system/resources/includes/files/fdisk_instructions |
fdisk /dev/sda
sleep 2
umount /sd
mkfs.ext4 /dev/sda1
sleep 2
mkfs.ext4 /dev/sda2
mkswap /dev/sda2
mount /dev/sda1 /sd
swapon /dev/sda2
rm /tmp/sd_format.progress
• welcome.inc.php (./fmk/rootfs/pineapple/includes/welcome/welcome.inc.php), ini adalah file
yang mengatur proteksi ke dalam webui admin pineapple. Dilihat dari scriptnya terlihat hanya
tiga led yang berguna sebagai kunci (amber, blue, red). Sedangkan value nya selalu berubah
setiap kali attempt dan ini didapat dari random array di dalam function generateLEDpattern().
Untuk itu kita akan memberikan exact value di function verifyPineapple($post) supaya
memberikan pola amber = blink, blue= off dan red = on. Berikut hasil modifikasinya:
$ cat ./fmk/rootfs/pineapple/includes/welcome/welcome.inc.php
<?php
namespace pineapple;
.........................
function verifyPineapple($post)
{
$action_array = array('off', 'on', 'blink');
if (isset($_SESSION['verify_pattern'])
&& isset($post['amber'])
&& isset($post['blue'])
&& isset($post['red'])
) {
$current_state = str_split($_SESSION['verify_pattern']);
if (array_search($post['amber'], $action_array) == 2
&& array_search($post['blue'], $action_array) == 0
&& array_search($post['red'], $action_array) == 1
) {
$_SESSION['verified'] = true;
return passwordForm();
}
}
generateLEDpattern();
return verifyForm(true);
}
…......................
Setelah ke tiga file tersebut kita modif barulah kita lakukan final repacking kembali dengan
mengeksekusi build-firmware.
$ sudo ./build-firmware.sh fmk/
Firmware Mod Kit (build-ng) 0.82, (c)2011-2013 Craig Heffner, Jeremy
Collake
Building new squashfs file system...
Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on /home/smrx86/firmware_mod_kit/firmware-mod-kit-
read-only/fmk/new-filesystem.squashfs, block size 262144.
[=============================================================/] 2538/2538
100%
Exportable Squashfs 4.0 filesystem, xz compressed, data block size 262144
compressed data, compressed metadata, compressed fragments,
compressed xattrs
duplicates are removed
…...
Number of uids 1
root (0)
Number of gids 1
root (0)
Remaining free bytes in firmware image: 10360
Processing 0 header(s) from /home/smrx86/firmware_mod_kit/firmware-mod-kit-
read-only/fmk/new-firmware.bin...
CRC update failed.
Firmware header not supported; firmware checksums may be incorrect. New
firmware image has been saved to: /home/smrx86/firmware_mod_kit/firmware-
mod-kit-read-only/fmk/new-firmware.bin
$ mv ./fmk/new-firmware.bin /fmk/upgrade-Gl-inet2MK5.bin
$ md5sum upgrade-Gl-inet2MK5.bin
5c740cb210cc49fb6d1333f35456788d upgrade-Gl-inet2MK5.bin
Dan pada tahap akhir ini hasil final repacking bisa ditemukan di ./fmk/upgrade-Gl-inet2MK5.bin.
3. Pembuktian / Proof of Concept
3.1. Flashing dan Baypass Proteksi UI
Kendati flashing perangkat dapat dilakukan lewat console Uboot, tapi dalam PoC ini flashing
dilakukan dengan halaman default firmware upgrade yang disediakan oleh stock f/w GL-inet. Selain
lebih mudah, hal ini juga dilakukan untuk melihat lolos atau tidaknya verifikasi yang dilakukan lewat
cgi sysupgrade. Dari percobaan didapatkan hasil bahwa firmware ini lolos cek verify.
Gambar 12. firmware upgrade-Gl-inet2MK5.bin lolos cek verify saat akan melakukan upgrade.
Selain itu proteksi admin pineapple juga sukses di bypass dengan pola slash, seperti tampilan
berikut:
Gambar 13. Proteksi halaman admin di bypass dengan pola SLASH.
3.2. Karma Test
Karma adalah tool yang digunakan untuk wireless hacking. Tool ini bekerja dengan automatis
membroadcast SSID sesuai dengan SSID request yang terdeteksi di sekitarnya. Berikut gambaran
previewnya:
Gambar 14. Hasil log saat karma sedang aktif.
3.3. Fstab dan UFD Mounting
Dari modifikasi file config fstab yang dilakukan pada tahapan firmware hacking tampak fstab
bekerja dengan baik dan flashdisk dimounting dan dikenali sebagai /sd:
Gambar 15. Flashdisk berhasil dimounting dan dikenali sebagai /sd.
3.4. Infusions dan PoC nya
Berikut preview PoC dari beberapa infusion di router GL-inet
3.4.a. Sslstrip
Sslstrip bekerja dengan mengalihkan client yang merequset halaman https ke protokol http.
Gambar 16. log sslstrip yang menunjukkan request https ://mail.google.com dialihkan protokol http.
3.4.b. Trapcookies
Trapcookies bekerja dengan bantuan dnsspoof untuk mengarahkan alamat website tertentu ke sebuah
halaman phising yang merekam cookies dan menyimpannya kedalam log file.
Gambar 17. Log dari trapcookies yang menangkap dan menyimpan cookies setelah client disasarkan
oleh dnsspoof.
4. Kesimpulan
Firmware pineapple MK 5 dapat di flashing kedalam router Gl-inet dengan melakukan firmware
hacking sebelumnya. Modifikasi konten firmware yang paling urgen adalah perubahan hardware id di
part LZMA header. Sedangkan modifikasi minor pada file config dan UI diperlukan untuk dapat
menjalankan cgi dengan lancar.
5. Ucapan Terima Kasih
Terima kasih kepada Cindy Wijaya, Xopal Unil, Tisaros Kaskus, Openwrt Indonesia, Om Hero lirva32,
Brahmanggi Aditya, Richy Hendra, Ade Surya, …all human or not (^^) who always support inspired
me. And ofcourse it’s U… ra’
7. Referensi
[1] Alan Holt and Chi-Yu Huang, "Embedded Operating Systems, A Practical Approach," in
introduction, virtualisation. London, Springer-Verlag, 2014, pp. 7.
[2] Andy Davis. “Blue for the pineapple.”, Internet:
http://penturalabs.wordpress.com/2013/04/25/blue-for-the-pineapple/, Apr. 25, 2013[Apr.
20,2015].
[3] Andy Davis. “Naked WiFi Pineapple Mark V!.”, Internet:
https://penturalabs.wordpress.com/2013/10/27/naked-wifi-pineapple-mark-v/, Oct. 27,
2013[Apr. 20,2013].
[4] Craig Heffner, "Binwalk, Quick Start Guide.", Internet:
https://github.com/devttys0/binwalk/wiki/Quick-Start-Guide, Dec. 1, 2014[Jun. 6, 2015].
[5] Craig Heffner, "Mucking About With SquashFS.", internet:
http://www.devttys0.com/2014/08/mucking-about-with-squashfs/, Aug. 20, 2014[Jun. 9, 2015].
[6] Craig Heffner, "Extracting Non-Standard SquashFS Images Extracting Non-Standard
SquashFS Images.", internet: http://www.devttys0.com/2011/08/extracting-non-standard-
squashfs-images/, Aug. 7, 2011[Jun. 9, 2015].
[7] "DD-WRT Mod Kit.", Internet: http://3iii.dk/wiki/index.php?title=DD-
WRT_Mod_Kit&oldid=37, [Dec. 27,2014].
[8] “Firmware mod kit.”, Internet: http://www.bitsum.com/firmware_mod_kit.htm, [Apr.
20,2015].
[9] Git openwrt, “mktplikfw.c.” internet : http://git.openwrt.org/?
p=openwrt.git;a=blob;f=tools/firmware-utils/src/mktplinkfw.c [Jun. 26, 2015]
[10] Hero Suhartono, “Information Theft: Wireless Router Shareport for Phun and profit.”
Internet: http://www.slideshare.net/idsecconf/idsecconf2014-paper [Jun. 9, 2015]
[11] Hak5. “Pineapple MK V firmware.”, avaiable: https://www.wifipineapple.com/index.php?
downloads&download_mk5_upgrade=2.2.0, Jan. 12, 2015 [Apr. 20, 2015].
[12] Jonas Zaddach and Andrei Costin."Embedded Devices Security and Firmware Reverse
Engineering." , Avaiable: https://media.blackhat.com/us-13/US-13-Zaddach-Workshop-on-
Embedded-Devices-Security-and-Firmware-Reverse-Engineering-WP.pdf, 2013[Jun. 14,
2015].
[13] Pinzaru. "What is firmware?.", internet:http://incepator.pinzaru.ro/software/what-is-
firmware/, Apr. 2015[Jun. 6,2015].
[14] Silverbug and Redhidden. “Fu~n of Attacking Firmware.”, avaiable:
http://www.powerofcommunity.net/poc2012/re&si.pdf, 2012[Jun. 10, 2015].
[15] Tomcom "Flashing TP-Link TL-MR3040 v2.0 (Version / Revison 2) with V1.0 Image.",
Internet: https://forum.openwrt.org/viewtopic.php?id=44090, May, 9, 2013[Jun. 22, 2015].
[16] Wikipedia. "Firmware.", internet: http://en.m.wikipedia.org/wiki/Firmware, last edited, Jun.
5, 2015[Jun. 10, 2015].
[17] Wiki openwrt. “TRX vs. TRX2 vs. BIN.”, Internet: http://wiki.openwrt.org/doc/techref/header,
[Jun. 26, 2015]
8. Penulis
Penulis Pertama
Photo (2x3cm)
Smrx86, seorang blogger enthusiast, addict akan perkembangan tekhnologi terutama yang
berkaitan dengan komputer dan semua hal turunannya. Sempat menjadi pembicara di
Idsecconf 2013 (Universitas Airlangga) dan Idsecconf 2014 (UPN Veteran Yogyakarta) .
Saya bisa dihubungi lewat kontak email: ramatrinanda@gmail.com atau twitter di
https://twitter.com/smrx86.
Lampiran
Table 1. HW identification in lzma header13
Vendor Product name Offset location hexcode
Hak5 MK 5 0x0040 6D 6B 35 31
GL-INET gl-inet-v1 0x0040 08 00 00 01
Konke Kankun smart plug 0x0040 07 03 01 01
TP-LINK tl-mr3220-v1 0x0040 32 20 00 01
TP-LINK TLMR3220V2 0x0040 32 20 00 02
TP-LINK tl-mr3420-v1 0x0040 34 20 00 01
TP-LINK tl-wa701n-v1 0x0040 07 01 00 01
TP-LINK TLWA7510NV1 0x0040 75 10 00 01
TP-LINK TLWA901NV1 0x0040 09 01 00 01
TP-LINK TLWA901NV2 0x0040 09 01 00 02
TP-LINK TLWR740NV1 0x0040 07 40 00 01
TP-LINK TLWR740NV3 0x0040 07 40 00 03
TP-LINK TLWR741NV1 0x0040 07 41 00 01
TP-LINK tl-wr743nd-v1 0x0040 07 43 00 01
TP-LINK tl-wr841nd-v3 0x0040 08 41 00 03
TP-LINK TLWR841NV5 0x0040 08 41 00 05
TP-LINK TLWR841NV7 0x0040 08 41 00 07
TP-LINK TLWR842 0x0040 08 42 00 01
TP-LINK TLWR941NV2 0x0040 09 41 00 02
TP-LINK TLWR941NV4 0x0040 09 41 00 04
TP-LINK tl-wr1043nd-v1 0x0040 10 43 00 01
TP-LINK tl-mr11u-v1 0x0040 00 11 01 01
TP-LINK tl-mr3020-v1 0x0040 30 20 00 01
TP-LINK tl-mr3040-v1 0x0040 30 40 00 01
TP-LINK tl-mr3040-v2 0x0040 30 40 00 02
TP-LINK tl-wr703n-v1 0x0040 07 03 01 01
TP-LINK TLWR740NV4 0x0040 07 40 00 04
TP-LINK TLWR741NV4 0x0040 07 41 00 04
TP-LINK TLWR841NV8 0x0040 08 41 00 08
TP-LINK TL-WR1041N-v2 0x0040 10 41 00 02
TP-LINK tl-wr2543-v1 0x0040 25 43 00 01
TP-LINK TLWDR3600V1 0x0040 36 00 00 01
TP-LINK TLWDR4300V1 0x0040 43 00 00 01
TP-LINK TLWDR4310V1 0x0040 43 10 00 01
13 Lihat dalam mktplikfw.c.” di http://git.openwrt.org/?p=openwrt.git;a=blob;f=tools/firmware-
utils/src/mktplinkfw.c
TP-LINK BIN Header layout14
0 1 2 3 4 5 6 7 8 9 a b c d e f
+---------------------------------------------------------------+
| version | vendor_name... |
+---------------------------------------------------------------+
| ...vendor_name | fw_version... |
+---------------------------------------------------------------+
| ...fw_version... |
+---------------------------------------------------------------+
| ...fw_version |
+---------------------------------------------------------------+
| hw_id | hw_rev | unk1 | md5sum1... |
+---------------------------------------------------------------+
| ...md5sum1 | unk2 |
+---------------------------------------------------------------+
| md5sum2 |
+---------------------------------------------------------------+
| unk3 | kernel_la | kernel_ep | fw_length |
+---------------------------------------------------------------+
| kernel_ofs | kernel_len | rootfs_ofs | rootfs_len |
+---------------------------------------------------------------+
| boot_ofs | boot_len |ver_hi |ver_mid| ver_lo| pad...|
+---------------------------------------------------------------+
| ...pad... |
+---------------------------------------------------------------+
14 Lihat “TRX vs. TRX2 vs. BIN.”, Internet: http://wiki.openwrt.org/doc/techref/header.

Mais conteúdo relacionado

Mais procurados (20)

App locker
App lockerApp locker
App locker
 
Linux booting process!!
Linux booting process!!Linux booting process!!
Linux booting process!!
 
LINUX DISTRIBUTIONS.pptx
LINUX DISTRIBUTIONS.pptxLINUX DISTRIBUTIONS.pptx
LINUX DISTRIBUTIONS.pptx
 
MS Dos command
MS Dos commandMS Dos command
MS Dos command
 
Linux booting process
Linux booting processLinux booting process
Linux booting process
 
Linux Booting Steps
Linux Booting StepsLinux Booting Steps
Linux Booting Steps
 
Kali Linux Installation - VMware
Kali Linux Installation - VMwareKali Linux Installation - VMware
Kali Linux Installation - VMware
 
Chapter 2A Peter Norton
Chapter 2A Peter NortonChapter 2A Peter Norton
Chapter 2A Peter Norton
 
Command prompt presentation
Command prompt presentationCommand prompt presentation
Command prompt presentation
 
Linux distributions
Linux    distributionsLinux    distributions
Linux distributions
 
NMAP
NMAPNMAP
NMAP
 
kali linux.pptx
kali linux.pptxkali linux.pptx
kali linux.pptx
 
Tools kali
Tools kaliTools kali
Tools kali
 
Jenkins CI/CD setup for iOS in Mac OSX
Jenkins CI/CD setup for iOS in Mac OSXJenkins CI/CD setup for iOS in Mac OSX
Jenkins CI/CD setup for iOS in Mac OSX
 
Nmap basics
Nmap basicsNmap basics
Nmap basics
 
virus and antivirus
virus and antivirusvirus and antivirus
virus and antivirus
 
Part 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module ProgrammingPart 02 Linux Kernel Module Programming
Part 02 Linux Kernel Module Programming
 
Wireshark
WiresharkWireshark
Wireshark
 
Install operating system
Install operating systemInstall operating system
Install operating system
 
Configuring input and output devices
Configuring input and output devicesConfiguring input and output devices
Configuring input and output devices
 

Destaque

Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...idsecconf
 
How to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggurHow to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - ngangguridsecconf
 
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...idsecconf
 
Stolen e-money in 60sec - Tri Sumarno
Stolen e-money in 60sec - Tri SumarnoStolen e-money in 60sec - Tri Sumarno
Stolen e-money in 60sec - Tri Sumarnoidsecconf
 
Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...
Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...
Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...idsecconf
 
Laron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel android
Laron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel androidLaron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel android
Laron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel androididsecconf
 
Write up idsecconf2015 online ctf
Write up idsecconf2015 online ctfWrite up idsecconf2015 online ctf
Write up idsecconf2015 online ctfidsecconf
 
Various way of protecting your cloud server port - Abdullah
Various way of protecting your cloud server port - AbdullahVarious way of protecting your cloud server port - Abdullah
Various way of protecting your cloud server port - Abdullahidsecconf
 
Studi dan implementasi keamanan user privacy menggunakan cp abe
Studi dan implementasi keamanan user privacy menggunakan cp abeStudi dan implementasi keamanan user privacy menggunakan cp abe
Studi dan implementasi keamanan user privacy menggunakan cp abeidsecconf
 
Pendekatan secure by design pada cluster resource allocation untuk pusat data
Pendekatan secure by design pada cluster resource allocation untuk pusat dataPendekatan secure by design pada cluster resource allocation untuk pusat data
Pendekatan secure by design pada cluster resource allocation untuk pusat dataidsecconf
 
Rat malware android with raspberry pi server
Rat malware android with raspberry pi serverRat malware android with raspberry pi server
Rat malware android with raspberry pi serveridsecconf
 
Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...
Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...
Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...idsecconf
 
Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...
Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...
Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...idsecconf
 
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...idsecconf
 
Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...
Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...
Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...idsecconf
 
B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"
B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"
B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"idsecconf
 
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"idsecconf
 

Destaque (17)

Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
Information Theft: Wireless Router Shareport for Phun and profit - Hero Suhar...
 
How to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggurHow to hack #IDSECCONF2014 ctf online challenge - nganggur
How to hack #IDSECCONF2014 ctf online challenge - nganggur
 
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
Implementasi Sistem Pengamanan E-Commerce - Samsul Huda, Amang Sudarsono, Mik...
 
Stolen e-money in 60sec - Tri Sumarno
Stolen e-money in 60sec - Tri SumarnoStolen e-money in 60sec - Tri Sumarno
Stolen e-money in 60sec - Tri Sumarno
 
Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...
Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...
Penetration tool berbasis sistem terdistribusi untuk analisa vulnerability pa...
 
Laron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel android
Laron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel androidLaron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel android
Laron aplikasi akuisisi berbasis sni 27037:2014 pada ponsel android
 
Write up idsecconf2015 online ctf
Write up idsecconf2015 online ctfWrite up idsecconf2015 online ctf
Write up idsecconf2015 online ctf
 
Various way of protecting your cloud server port - Abdullah
Various way of protecting your cloud server port - AbdullahVarious way of protecting your cloud server port - Abdullah
Various way of protecting your cloud server port - Abdullah
 
Studi dan implementasi keamanan user privacy menggunakan cp abe
Studi dan implementasi keamanan user privacy menggunakan cp abeStudi dan implementasi keamanan user privacy menggunakan cp abe
Studi dan implementasi keamanan user privacy menggunakan cp abe
 
Pendekatan secure by design pada cluster resource allocation untuk pusat data
Pendekatan secure by design pada cluster resource allocation untuk pusat dataPendekatan secure by design pada cluster resource allocation untuk pusat data
Pendekatan secure by design pada cluster resource allocation untuk pusat data
 
Rat malware android with raspberry pi server
Rat malware android with raspberry pi serverRat malware android with raspberry pi server
Rat malware android with raspberry pi server
 
Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...
Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...
Doan P. Sinaga, Alex F. Manihuruk, Kevin G.A.T. Pardosi - “Securing SCADA Sys...
 
Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...
Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...
Charles Lim, Mario Marcello - “Sistem Pemantauan Ancaman Serangan Siber di In...
 
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...
 
Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...
Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...
Agung Nugraha - “Layanan Certification Authority (CA), Document Signing and V...
 
B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"
B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"
B.Noviansyah - “National Public Key Infrastructure: Friend or Foe?"
 
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
Muhammad Abrar Istiadi - “How to hack #IDSECCONF2016 ctf online challenge"
 

Semelhante a Firmware hacking, slash the pineapple for fun

Wispi: Mini Karma Router For Pentester - Rama Tri Nanda
Wispi: Mini Karma Router For Pentester - Rama Tri NandaWispi: Mini Karma Router For Pentester - Rama Tri Nanda
Wispi: Mini Karma Router For Pentester - Rama Tri Nandaidsecconf
 
Modul v pengenalan mikrotik
Modul  v pengenalan mikrotikModul  v pengenalan mikrotik
Modul v pengenalan mikrotikCandra Adi Putra
 
Mudah dan murah membangun jaringan internet
Mudah dan murah membangun jaringan internetMudah dan murah membangun jaringan internet
Mudah dan murah membangun jaringan internetslempase
 
It menjaga keamanan sistem artikel
It menjaga keamanan sistem artikelIt menjaga keamanan sistem artikel
It menjaga keamanan sistem artikelFathoni Mahardika II
 
Materi workshop-instalasi mikrotik pc router with speedy
Materi workshop-instalasi mikrotik pc router with speedyMateri workshop-instalasi mikrotik pc router with speedy
Materi workshop-instalasi mikrotik pc router with speedyFirman Indrianto
 
Instalasi mikrotik-router os
Instalasi mikrotik-router osInstalasi mikrotik-router os
Instalasi mikrotik-router oscabikhosting
 
Modul merakit-komputer-pdf
Modul merakit-komputer-pdfModul merakit-komputer-pdf
Modul merakit-komputer-pdfdrasriyanwindari
 
Proses Device Doc.
Proses Device Doc.Proses Device Doc.
Proses Device Doc.Rexsy RS
 
Modul 5 - Keamanan Jaringan Komputer
Modul 5 - Keamanan Jaringan KomputerModul 5 - Keamanan Jaringan Komputer
Modul 5 - Keamanan Jaringan Komputerjagoanilmu
 
Module 1 Introduction Mikrotik dan IP.pdf
Module 1 Introduction Mikrotik dan IP.pdfModule 1 Introduction Mikrotik dan IP.pdf
Module 1 Introduction Mikrotik dan IP.pdfsyarip4
 
Laporan tugas keamanan snort ids
Laporan tugas keamanan snort idsLaporan tugas keamanan snort ids
Laporan tugas keamanan snort idsramasatriaf
 

Semelhante a Firmware hacking, slash the pineapple for fun (20)

Wispi: Mini Karma Router For Pentester - Rama Tri Nanda
Wispi: Mini Karma Router For Pentester - Rama Tri NandaWispi: Mini Karma Router For Pentester - Rama Tri Nanda
Wispi: Mini Karma Router For Pentester - Rama Tri Nanda
 
Modul v pengenalan mikrotik
Modul  v pengenalan mikrotikModul  v pengenalan mikrotik
Modul v pengenalan mikrotik
 
Tugas ksi2
Tugas ksi2Tugas ksi2
Tugas ksi2
 
Mudah dan murah membangun jaringan internet
Mudah dan murah membangun jaringan internetMudah dan murah membangun jaringan internet
Mudah dan murah membangun jaringan internet
 
SNORT
SNORTSNORT
SNORT
 
SAMP (Solaris, Apache, MySQL, PHP)
SAMP (Solaris, Apache, MySQL, PHP)SAMP (Solaris, Apache, MySQL, PHP)
SAMP (Solaris, Apache, MySQL, PHP)
 
It menjaga keamanan sistem artikel
It menjaga keamanan sistem artikelIt menjaga keamanan sistem artikel
It menjaga keamanan sistem artikel
 
Merakit Komputer
Merakit KomputerMerakit Komputer
Merakit Komputer
 
Materi workshop-instalasi mikrotik pc router with speedy
Materi workshop-instalasi mikrotik pc router with speedyMateri workshop-instalasi mikrotik pc router with speedy
Materi workshop-instalasi mikrotik pc router with speedy
 
Firewall Mikrotik
Firewall MikrotikFirewall Mikrotik
Firewall Mikrotik
 
Instalasi mikrotik-router os
Instalasi mikrotik-router osInstalasi mikrotik-router os
Instalasi mikrotik-router os
 
Modul merakit-komputer-pdf
Modul merakit-komputer-pdfModul merakit-komputer-pdf
Modul merakit-komputer-pdf
 
Firewall di linux dengan snort
Firewall di linux dengan snortFirewall di linux dengan snort
Firewall di linux dengan snort
 
Memasang firewall
Memasang firewallMemasang firewall
Memasang firewall
 
Proses Device Doc.
Proses Device Doc.Proses Device Doc.
Proses Device Doc.
 
KK_15_TKJ
KK_15_TKJKK_15_TKJ
KK_15_TKJ
 
Kk15
Kk15Kk15
Kk15
 
Modul 5 - Keamanan Jaringan Komputer
Modul 5 - Keamanan Jaringan KomputerModul 5 - Keamanan Jaringan Komputer
Modul 5 - Keamanan Jaringan Komputer
 
Module 1 Introduction Mikrotik dan IP.pdf
Module 1 Introduction Mikrotik dan IP.pdfModule 1 Introduction Mikrotik dan IP.pdf
Module 1 Introduction Mikrotik dan IP.pdf
 
Laporan tugas keamanan snort ids
Laporan tugas keamanan snort idsLaporan tugas keamanan snort ids
Laporan tugas keamanan snort ids
 

Mais de idsecconf

idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...idsecconf
 
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...idsecconf
 
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...idsecconf
 
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdfidsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdfidsecconf
 
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...idsecconf
 
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...idsecconf
 
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...idsecconf
 
Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdfAli - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdfidsecconf
 
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...idsecconf
 
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdfRama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdfidsecconf
 
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...idsecconf
 
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdfNosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdfidsecconf
 
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...idsecconf
 
Utian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdfUtian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdfidsecconf
 
Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...idsecconf
 
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika TriwidadaPerkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidadaidsecconf
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullahidsecconf
 
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabellaHacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabellaidsecconf
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...idsecconf
 
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi DwiantoDevsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwiantoidsecconf
 

Mais de idsecconf (20)

idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
idsecconf2023 - Mochammad Riyan Firmansyah - Takeover Cloud Managed Router vi...
 
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
idsecconf2023 - Neil Armstrong - Leveraging IaC for Stealthy Infrastructure A...
 
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
idsecconf2023 - Mangatas Tondang, Wahyu Nuryanto - Penerapan Model Detection ...
 
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdfidsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
idsecconf2023 - Rama Tri Nanda - Hacking Smart Doorbell.pdf
 
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
idsecconf2023 - Akshantula Neha, Mohammad Febri Ramadlan - Cyber Harmony Auto...
 
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
idsecconf2023 - Aan Wahyu - Hide n seek with android app protections and beat...
 
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
 
Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdfAli - The Journey-Hack Electron App Desktop (MacOS).pdf
Ali - The Journey-Hack Electron App Desktop (MacOS).pdf
 
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
Muh. Fani Akbar - Infiltrate Into Your AWS Cloud Environment Through Public E...
 
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdfRama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
Rama Tri Nanda - NFC Hacking Hacking NFC Reverse Power Supply Padlock.pdf
 
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
Arief Karfianto - Proposed Security Model for Protecting Patients Data in Ele...
 
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdfNosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
Nosa Shandy - Clickjacking That Worthy-Google Bug Hunting Story.pdf
 
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
Baskoro Adi Pratomo - Evaluasi Perlindungan Privasi Pengguna pada Aplikasi-Ap...
 
Utian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdfUtian Ayuba - Profiling The Cloud Crime.pdf
Utian Ayuba - Profiling The Cloud Crime.pdf
 
Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...Proactive cyber defence through adversary emulation for improving your securi...
Proactive cyber defence through adversary emulation for improving your securi...
 
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika TriwidadaPerkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
Perkembangan infrastruktur kunci publik di indonesia - Andika Triwidada
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullah
 
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabellaHacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
Hacking oximeter untuk membantu pasien covid19 di indonesia - Ryan fabella
 
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
Vm escape: case study virtualbox bug hunting and exploitation - Muhammad Alif...
 
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi DwiantoDevsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
Devsecops: membangun kemampuan soc di dalam devsecops pipeline - Dedi Dwianto
 

Firmware hacking, slash the pineapple for fun

  • 1. Firmware Hacking, Slash the Pineapple for Fun smrx86 Independent Researcher ramatrinanda@gmail.com Abstrak Firmware hacking secara umum dapat dipahami sebagai tindakan mengkustomisasi konten sebuah firmware untuk kemudian di tulis ulang/flashing pada rom memori perangkat terkait. Tujuannya beragam, mulai untuk melakukan patching/penambalan celah keamanan hingga menanamkan malware. Dalam paper ini firmware hacking dilakukan untuk mengeksploitasi firmware pineapple MK 5 untuk di flashing kedalam router GL-inet. Kata kunci: Firmware hacking, reverse engineering, eksploitasi, flashing. 1. Pengantar Di berbagai kesempatan berbeda, saya sering menemukan tulisan yang menyarankan untuk mempelajari openwrt sebagai gerbang untuk memahami linux secara keseluruhan. Dengannya anda bisa mempelajari linux fundamental, networking, wireless security bahkan firmware developing sekalipun. Semua itu dikarnakan ketersediaan dan kemudahan framework dalam membuild sebuah firmware untuk banyak platform chipset.1 Berbagai fungsionalitas dapat dengan mudah dikreasikan dengan openwrt. Sebuah perangkat portable multiguna bisa dibuat dengan biaya yang rendah dan tingkat penggunaan energi yang efisien. Dan karena kehandalan yang dimilikinya openwrt menjadi sebuah operating system yang sulit untuk di tolak oleh banyak firmware developer. Sebagai contoh dibidang security, nama Hak5 menjadi sangat dikenal dan menjadi buah bibir karna penggunaan openwrt. Sejak versi awal pineapple, OS ini dipilih untuk mempersenjatai router-router yang mereka dipasarkan. Pengembangan pineapple sendiri oleh hak5 team terbilang cukup pesat, dalam kurun waktu 2011 s/d 2015 puluhan ver firmware mulai dari Mk 1 hingga MK 5 sudah di publishkan. Versi yang terakhir keluar adalah versi 2.3 yang ditujukan untuk router MK 5. Disis lain, Layaknya gula diantara semut, para opreaker melihat keberadaan pineapple sebagai buruan untuk objek penelitian. Mereka memandang openwrt sebagai petunjuk penting yang memungkinkan untuk mengembangkan perangkat penetrasinya sendiri.2 Kendati minim dari sisi source code namun hal tersebut tidak menjadi penghalang. Berbagai metode selalu diupayakan dan firmware hacking adalah salah satu diantaranya. Dengan motivasi yang sama seperti tersebut diatas, maka paper ini dibuat. Tujuannya sederhana, guna memberikan sedikit gambaran tentang firmware hacking disertai pembuktian implementasi firmware MK 5 pada router GL-inet. Dalam hal ini pemilihan router GL-inet didasarkan banyak kemiripan yang dimilikinya dengan router MK 5 ( jenis CPU chipset, Wlan, besar ROM maupun kapasitas RAM). Selain itu router ini juga terbilang relatif murah dan gampang didapatkan dari toko- toko penjualan perangkat komputer secara online. 1.1. Pengenalan Konsep Sebelum melangkah lebih jauh ada baiknya kita mengenal dan memahami perihal tentang firmware dan firmware hacking. 1.1.a. Firmware dan Firmware Hacking Firmware bisa didefinisikan sebagai software inti/utama yang terdapat dalam Rom memori sebuah perangkat keras. Dia bertanggung jawab atas semua fungsi operasi dasar baik itu input maupun output. 1 Alan Holt and Chi-Yu Huang, "Embedded Operating Systems, A Practical Approach," in introduction, virtualisation. London, Springer-Verlag, 2014, pp. 7. 2 Andy Davis. “Blue for the pineapple.”, Internet: http://penturalabs.wordpress.com/2013/04/25/blue-for-the- pineapple/, Apr. 25, 2013[Apr. 20,2015].
  • 2. Firmware hampir digunakan di semua alat-alat elektronik yang dibekali rom memory, ex: dvd player. Handphone, kamera digital, harddisk komputer hingga peralatan-peralatan medis. 3 Untuk menunjang keterbaruan informasi atau perbaikan atas celah dimilikinya, firmware di dalam perangkat tersebut juga dibekali kemampuan untuk ditulis ulang atau diupgrade. Dibagian inilah firmware hacking mengambil perannya.4 Firmware hacking bisa dipahami sebagai metode mengkustomisasi konten sebuah firmware untuk kemudian ditulis ulang (flashing) pada rom perangkat terkait. Serangkaian kode yang dikostumisasi/dimodifikasi bisa saja ditujukan melakukan perbaikan atau malah untuk menanamkan malware ke dalam firmware tersebut. Proses firmware hacking sendiri melibatkan reverse engineering dalam tahapan pelaksanaannya. Secara umum firmware hacking dilakukan melalui beberapa tahapan.5 1. Recognize firmware, recognize adalah tahap dimana kita menggali sebanyak-banyaknya informasi yang terkandung dalam sebuah firmware. 2. Extracting/unpacking firmware, di tahap ini kita melakukan upacking semua file yang terkandung dalam firmware. 3. Sorting & find unique file, file-file yang kita dapatkan kemudian disortir dan untuk file yang dalam premis awal pantas dimodifikasi akan ditandai. 4. Debugging test, ini adalah tahapan dimana kita mencoba menjalankan firmware secara keseluruhan atau hanya file-file tertentu untuk kemudian kita evaluasi. Debugging test bisa dijalankan diatas emulator atau diperangkat berplatform sama yang sudah dimonitoring lewat koneksi uart ataupun jtag. 5. Eksplotation & Final Repacking, tahapan terakhir menindak lanjuti hasil evaluasi debugging test dengan melakukan eksploitasi terhadap file terkait dan baru kemudian di repacking kembali menjadi sebuah firmware file. Gambar 1. Tahapan-tahapan firmware hacking. 1.2. Informasi Dasar Perangkat Keras. Router Mk 5 adalah perangkat yang khusus dibuat dan dipasarkan oleh hak5. Beberapa fitur yang dimilikinya jarang ditemukan pada router lain. Diantaranya adalah keberadaan slot sd card untuk menyimpan infusion aplikasi pineapple, 7 buah dip switch serta adanya 2 wlan chipset card guna memaksimalkan eksploitasi jaringan nirkabel. Berikut ini spesifikasi dan bundling router MK 5:6 3 Pinzaru. "What is firmware?.", internet:http://incepator.pinzaru.ro/software/what-is-firmware/, Apr. 2015[Jun. 6,2015]. 4 Wikipedia. "Firmware.", internet: http://en.m.wikipedia.org/wiki/Firmware, last edited, Jun. 5, 2015[Jun. 10, 2015]. 5 Silverbug and Redhidden. “Fu~n of Attacking Firmware .”, avaiable: http://www.powerofcommunity.net/poc2012/re&si.pdf, 2012[Jun. 10, 2015]. 6 Andy Davis. “Naked WiFi Pineapple Mark V!.”, Internet: https://penturalabs.wordpress.com/2013/10/27/naked-wifi-pineapple-mark-v/, Oct. 27, 2013[Apr. 20,2013].
  • 3. CPU 400 MHz MIPS Atheros AR9331 version 1 SoC Memory 16 MB ROM (w25q128 (16384 Kbytes)), 64 MB DDR2 RAM (Hynix H5PS5162GFR-Y5C) Disk Micro SD support up to 32 GB, FAT or EXT, 2 GB Included Mode Select 5 DIP Switches 2 System, 3 User configurable Wireless Atheros AR9331 IEEE 802.11 b/g/n + Realtek RTL8187 IEEE 802.11 a/b/g Ports (2) SMA Antenna, 10/100 Ethernet, USB 2.0, Micro SD, TTL Serial, Expansion Bus Power DC in Variable 5-12v, ~1A, 5.5mm*2.1mm connector, International Power Supply Status Indicators Power LED, Ethernet LED, Wireless 1 LED, Wireless 2 LED JTAG (Tags are on reverse of board)(IO6=TDI, IO7=TDO,IO8=TMS) Default OS Customized Openwrt MTD partition info 0x000000000000-0x000000020000 : "u-boot" 0x000000020000-0x000000102744 : "kernel" 0x000000102744-0x000000ff0000 : "rootfs" 0x000000bb0000-0x000000ff0000 : "rootfs_data" 0x000000ff0000-0x000001000000 : "art" 0x000000020000-0x000000ff0000 : "firmware" Gambar 2. Board router MK 5.
  • 4. Sedangkan perangkat yang akan kita gunakan untuk di flash dengan firmware MK 5 yang dimodifikasi adalah router bermerk GL-inet. Berikut spesifikasi dari router GL-inet: CPU 400 MHz MIPS Atheros AR9331 version 1 SoC Memory 16 MB ROM (winbound w25q128 FYSC (16384 Kbytes)), 64 MB DDR RAM (Etrontech EM6AB160TSD-5D) . Wireless Atheros AR9331 IEEE 802.11 b/g/n. Ports (2) 10/100 Ethernet, USB 2.0, TTL Serial, (6) exposed unheader GPIO pin. Power Miniusb powered 5v, ~1A. Status Indicators Power LED, Ethernet LED. Default Os Customized Openwrt MTD partition info 0x000000000000-0x000000020000 : "u-boot" 0x000000020000-0x00000010272c : "kernel" 0x00000010272c-0x000000ff0000 : "rootfs" 0x000000cc0000-0x000000ff0000 : "rootfs_data" 0x000000ff0000-0x000001000000 : "art" 0x000000020000-0x000000ff0000 : "firmware" Uboot costumized by pepe2k, this the most important change of it's modification is an inclusion of a web server, based on **[uIP 0.9 TCP/IP stack](http://www.gaisler.com/doc/net/uip- 0.9/doc/html/main.html)**. It allows to upgrade **firmware**, **U-Boot** and **ART** (Atheros Radio Test) images, directly from your web browser, without need to access serial console and running a TFTP server. You can find similar firmware recovery mode, also based on uIP 0.9 TCP/IP stack, in **D-Link** routers. Gambar 3. Board router GL-Inet Diatas kertas memang terlihat perbedaan yang amat mencolok antara router MK 5 versus router GL- inet, tapi jika dilihat dari sisi cpu chipset, besar rom dan ram akan terlihat kesetaraan antara keduanya.
  • 5. Dari banyak riset sebelumnya penulis berhipotesa bahwa firmware MK 5 berpeluang besar bisa di flashing dan dijalankan di router GL-inet. Tapi tentu melewati prosedur firmware hacking sebelumnya. 1.3. Persiapan Lab/ Lab Preparation. Ada beberapa peralatan dan software yang perlu disediakan sebelum memulai riset. Diantaranya adalah: • Binwalk v 2.1.0 (linux software) 7 : Binwalk adalah aplikasi yang didisain untuk melakukan analisis firmware, ekstraksi dan reverse engineering file firmware image. Untuk melakukan penginstalan binwalk di perlukan beberapa dependencies python 2.7 / 3 dan python lzma. Binwalk dapat di install dengan menginput perintah di shell terminal seperti berikut: $ sudo apt-get install python-lzma $ wget https://github.com/devttys0/binwalk/archive/master.zip $ unzip master.zip $ (cd binwalk-master && sudo python setup.py install) • Firmware-mod-kit (linux software)8 : fungsi utama tool ini adalah untuk melakukan extraksi dan sekaligus me-repack ulang file firmware image. Firmware-mod-kit dapat diinstal dengan cara perintah seperti dibawah ini di shell terminal: $ sudo apt-get install subversion build-essential zlib1g-dev $ mkdir firmware_mod_kit $ cd firmware_mod_kit $ svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware- mod-kit-read-only • Hex editor (software), ada banyak jenis hex editor yang bisa gunakan untuk melakukan modifikasi file. Di paper ini saya menggunakan Ghex. • USB2TTL (hardware) : USB2TTL adalah usb dongle yang digunakan untuk memonitoring dan menginterrupt perintah lewat koneksi UART yang terdapat pada perangkat. Dongle ini sangat diperlukan dalam proses debugging yang dijalankan lewat aplikasi minicom/putty. Berikut tampilan dongle tersebut. Gambar 4. Dongle USB2TTL dan cara pemasangannya di GL-inet 2. Firmware Hacking 2.1. Recognize Firmware Image Firmware yang akan kita analisa adalah firmware versi upgrade-2.2.0.bin. Pemilihan file firmware versi upgrade-2.2.0.bin di banding versi upgrade-2.3.0.bin didasarkan info yang didapatkan dari halaman bugtracker pineapple yang memperlihatkan bahwa versi upgrade-2.3.0.bin memiliki bug yang 7 Craig Heffner, "Quick Start Guide.", Internet: https://github.com/devttys0/binwalk/wiki/Quick-Start-Guide, Dec. 1, 2014[Jun. 6, 2015]. 8 "DD-WRT Mod Kit.", Internet: http://3iii.dk/wiki/index.php?title=DD-WRT_Mod_Kit&oldid=37, [Dec. 27,2014].
  • 6. serius di tool karma-nya.9 Pada tahap pertama ini kita akan mengindetifikasi firmware image dengan bantuan Binwalk. Berikut hasilnya: $ binwalk upgrade-2.2.0.bin DECIMAL HEXADECIMAL DESCRIPTION -------------------------------------------------------------------------------- 512 0x200 LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 2805816 bytes 927532 0xE272C Squashfs filesystem, little endian, version 4.0, compression:xz, size: 12259772 bytes, 2932 inodes, blocksize: 262144 bytes, blocksize: 262144 bytes, created: 2015-01-12 22:39:23 Jika anda menginstal binwalk disertai graph plugin anda juga bisa menganalisa firmware ini dengan dalam bentuk grafik signature entrophy. Berikut tampilannya: Gambar 5. Hasil analisa entrophy dan signature binwalk dalam bentuk grafik. Dari hasil analisa binwalk kita mendapatkan hasil firmware ini terdiri dari 2 bagian utama yakni: • Bagian header yang dikompresi dengan LZMA, bagian ini mengambil posisi diawal firmware. • Bagian rootfs yang bertipe Squashfs dan dikompresi dengan xz. 2.2. Extracting Firmware Image Aplikasi Binwalk sebenarnya bisa melakukan ekstraksi, tapi kita akan menemui kesulitan jika akan melakukan repack ulang. Maka pada tahap ini kita akan menggunakan firmware mod kit. Untuk memudahkan proses ekstraksi kita perlu menempatkan file firmware image dalam folder yang sama dengan lokasi script firmware mod kit. Berikut tampilannya: $ ./extract-firmware.sh upgrade-2.2.0.bin fmk/ Firmware Mod Kit (build-ng) 0.82, (c)2011-2013 Craig Heffner, Jeremy Collake Scanning firmware... 9 Lihat halaman website https://www.wifipineapple.com/?bugs_pub&action=view&id=302 yang menyatakan adanya bug blacklist karma pada versi upgrade-2.3.0.bin. Selain itu lihat juga indeks jumlah download versi upgrade-2.2.0.bin yang lebih tinggi ketimbang versi upgrade-2.3.0.bin di https://www.wifipineapple.com/?downloads.
  • 7. Scan Time: 2015-06-21 11:24:28 Signatures: 193 Target File: /home/smrx86/firmware_mod_kit/firmware-mod-kit-read-only/upgrade- 2.2.0.bin MD5 Checksum: 457a32d5b78cbdb5cf47fcb0fd3b719a DECIMAL HEX DESCRIPTION ---------------------------------------------------------------------------------- --------------------- 512 0x200 LZMA compressed data, properties: 0x6D, dictionary size: 8388608 bytes, uncompressed size: 2805816 bytes 927532 0xE272C Squashfs filesystem, little endian, version 4.0, compression: size: 12259772 bytes, 2932 inodes, blocksize: 262144 bytes, created: Tue Jan 13 05:39:23 2015 Extracting 927532 bytes of header image at offset 0 Extracting squashfs file system at offset 927532 Extracting 96 byte footer from offset 13238180 Extracting squashfs files... [sudo] password for smrx86: Firmware extraction successful! Firmware parts can be found in '/home/smrx86/firmware_mod_kit/firmware-mod-kit- read-only/fmk/*' Hasil ekstraksi firmware bisa kita temukan di folder fmk/ seperti berikut: $ tree -a fmk/ fmk ├── image_parts │ ├── footer.img │ ├── header.img │ └── rootfs.img ├── list ├── logs │ ├── binwalk.log │ └── config.log ├── new-filesystem.squashfs ├── new-firmware.bin ├── openwrt.bin └── rootfs ├── bin │ ├── ash -> busybox │ ├── bash …........ Kalau melihat hasil identifikasi yang dilakukan firmware mod kit terlihat ada perbedaan hasil dengan yang sebelumnya kita lakukan dengan Binwalk. Terlihat bahwa part firmware yang bertipe Squashfs tidak dikenali jenis kompresinya. Hal ini disebabkan oleh tool binwalk yang dibundling didalam Firmware mod kit merupakan versi yang lama. Oleh karena itulah kita hanya akan mengacu pada informasi yang didapatkan lewat tahapan pertama (hasil binwalk v 2.1.0). 2.3. Sorting and Find Unique File. Setelah mengektraksi kita akan melakukan indentifikasi file dan modifikasi awal sebelum melakukan debugging test. Adapun file yang perlu kita tandai adalah fstab (./fmk/rootfs/etc/config/fstab) dan file format_sd (./fmk/rootfs/pineapple/components/system/resources/includes/files/format_sd) yang sangat erat kaitannya dengan penggunaan slot micro sd & card di router MK 5. File fstab ini tidak perlu langsung di edit karna akan dilakukan bersama file lainnya di tahap eksploitasi. Tapi untuk melakukan debugging ada file yang harus dimodifikasi. File yang akan kita examine tersebut adalah header.img (./fmk/image_parts/header.img). “Header.img” merupakan part 1 dari firmware yang dikompresi dengan LZMA. Part ini menyimpan ID machine/hardware yang akan dicek setiap kali kita akan melakukan flashing lewat web ui ataupun terminal ssh. Tanpa modifikasi proses flashing akan dihentikan/halt seketika.
  • 8. Gambar 6. Kegagalan verifikasi saat proses flashing akibat header id yang tak dimodifikasi. Untuk menghindari hal tersebut diperlukan pengeditan dengan hex editor pada header.img di offset 0x0040.10 Nilai yang dirubah mengacu pada Table. HW identification in lzma header.11 Gambar 7. Modifikasi hardware id pada header di offset 0x0040. Setelah melakukan pengeditan header.img dan menyimpannya, maka proses dilanjutkan dengan repacking awal dengan mengeksekusi ./build-firmware.sh. Namun sebelumnya kita akan melakukan modif file build-firmware.sh (./ build-firmware.sh) dan config.log (./fmk/logs/config.log) agar bisa melakukan repacking dengan kompresi xz. Gambar 8. Modifikasi build-firmware.sh supaya mendukung kompresi jenis xz. 10 Tomcom "Flashing TP-Link TL-MR3040 v2.0 (Version / Revison 2) with V1.0 Image.", Internet: https://forum.openwrt.org/viewtopic.php?id=44090, May, 9, 2013[Jun. 22, 2015]. 11 Lihat tabel di Lampiran.
  • 9. Gambar 9. Modifikasi config.log pada bagian fs_compression dari “gzip” ke “xz”. Setelah melakukan pengeditan ./build-firmware.sh, dan config.log kita juga perlu menghapus beberapa file agar nantinya tak bermasalah dalam ukuran firmware yg di build. Dalam hal ini saya menghapus file notification.gif (./fmk/rootfs/pineapple/includes/img/notification.gif) karna perannya tak terlalu signifikan.12 Baru kemudian dilanjutkan dengan membuild firmware. $ sudo su [sudo] password for smrx86: # rm -Rf ./fmk/rootfs/pineapple/includes/img/notification.gif # ./build-firmware.sh fmk/ Firmware Mod Kit (build-ng) 0.82, (c)2011-2013 Craig Heffner, Jeremy Collake Building new squashfs file system... Parallel mksquashfs: Using 2 processors Creating 4.0 filesystem on /home/smrx86/firmware_mod_kit/firmware-mod-kit-read- only/fmk/new-filesystem.squashfs, block size 262144. [=============================================================/] 2538/2538 100% Exportable Squashfs 4.0 filesystem, xz compressed, data block size 262144 compressed data, compressed metadata, compressed fragments, compressed xattrs duplicates are removed Filesystem size 12008.79 Kbytes (11.73 Mbytes) 26.02% of uncompressed filesystem size (46147.47 Kbytes) Inode table size 24208 bytes (23.64 Kbytes) 25.29% of uncompressed inode table size (95708 bytes) Directory table size 27464 bytes (26.82 Kbytes) 46.95% of uncompressed directory table size (58494 bytes) Number of duplicate files found 77 …... Remaining free bytes in firmware image: 10360 Processing 0 header(s) from /home/smrx86/firmware_mod_kit/firmware-mod-kit-read- only/fmk/new-firmware.bin... CRC update failed. Firmware header not supported; firmware checksums may be incorrect. New firmware image has been saved to: /home/smrx86/firmware_mod_kit/firmware-mod-kit-read- only/fmk/new-firmware.bin # mv ./fmk/new-firmware.bin ./fmk/openwrt.bin dari hasil build fmk terlihat notif bahwa “CRC update firmware. Firmware header not support...”. Tapi notif tersebut bisa diabaikan. Hasil build tersimpan di ./fmk/openwrt.bin 12 Kompresi “xz” sebenarnya mempunyai opsi untuk memilih tingkat kompresinya. Namun binwalk tidak dapat mendeteksi dan memeberikan informasi berapa persentase kompresi yang digunakan. Sehingga dianjurkan memakai opsi default. Penggunaan opsi yang tak sesuai akan menyebabkan proses flashing tak berjalan seperti seharusnya.
  • 10. 2.4. Debugging Test. Debugging test bisa saja dilakukan dengan emulator atau vbox dengan openwrt x86, tapi kemampuannya terbatas pada konfigurasi atau hanya frontend dari WebUI nya. Disini saya lebih memilih menggunakan router yang sesungguhnya yakni GL-inet. Proses dimulai dengan mencoba memflash router dengan firmware yang telah kita build dari web browser sembari mengawasinya lewat minicom. Gambar 10. Setelah modifikasi header id verifikasi firmware pun dapat di bypass. Dari monitoring lewat mincom ataupun web browser terlihat firmware berhasil tanpa kendala verifikasi. Pastikan menghilangkan centang keep setting sebelum melakukan upgrade. Beberapa saat setelah upgrade dilakukan router akan reboot dan pindahkan koneksi kabel lan ke port eth0/wan di router GL-inet. Ini dikarnakan firmware MK 5 dicompile sesuai hardware yang dipasarkannya dengan support hanya satu port ethernet saja. Berikut log minicom setelah router reboot: $ sudo minicom [sudo] password for smrx86: Welcome to minicom 2.5 OPTIONS: I18n Compiled on May 2 2011, 00:39:27. Port /dev/ttyUSB2 Press CTRL-A Z for help on special keys ***************************************** * U-Boot 1.1.4 (Jun 25 2014) * ***************************************** AP121 (AR9331) U-Boot for GL-iNet DRAM: 64 MB FLASH: Winbond W25Q128 (16 MB) LED on during eth initialization...
  • 11. Hit any key to stop autobooting: 0 Booting image at: 0x9F020000 Image name: OpenWrt r40348 Image type: MIPS Linux Kernel Image (lzma compressed) Data size: 927020 Bytes = 905.3 kB Load address: 0x80060000 Entry point: 0x80060000 Uncompressing kernel image... OK! Starting kernel... [ 0.000000] Linux version 3.3.8 (sebkinne@buildtop) (gcc version 4.6.3 201205 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 00019374 (MIPS 24Kc) [ 0.000000] SoC: Atheros AR9330 rev 1 [ 0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.0z ….................................... [ 0.490000] Creating 5 MTD partitions on "spi0.0": [ 0.500000] 0x000000000000-0x000000020000 : "u-boot" [ 0.510000] 0x000000020000-0x00000010272c : "kernel" [ 0.510000] mtd: partition "kernel" must either start or end on erase block y [ 0.520000] 0x00000010272c-0x000000ff0000 : "rootfs" [ 0.530000] mtd: partition "rootfs" must either start or end on erase block y [ 0.540000] mtd: partition "rootfs" set to be root filesystem [ 0.550000] mtd: partition "rootfs_data" created automatically, ofs=CC0000, [ 0.550000] 0x000000cc0000-0x000000ff0000 : "rootfs_data" [ 0.560000] 0x000000ff0000-0x000001000000 : "art" [ 0.570000] 0x000000020000-0x000000ff0000 : "firmware" …......... - preinit - Press the [f] key and hit [enter] to enter failsafe mode regular preinit - Usai memastikan bahwa flashing berhasil dan mendapatkan ip address barulah kita mengarahkan web browser ke halaman admin f/w pineapple di http://172.16.42.1:1471/ . Dari halaman admin kita bisa menemukan bahwa frontend MK 5 memiliki proteksi yang unik dengan script yang mentrigger 4 led nya sebagai kunci akses awal. Gambar 11. Proteksi halaman admin pineapple yang berfungsi mentrigger nyala led pada router MK 5.
  • 12. Beberapa kali uji coba memperlihatkan sistem proteksi ini tidak memiliki limit attempt dan memperlihatkan respon failure dengan string yang sama. Menggunakan string “wrong pattern entered” kita bisa melacak script mana yang bertanggung jawab untuk puzzle ini dari folder rootfs/pineapple hasil ekstraksi fmk. $ grep -lr -e 'wrong|pattern|entered' * components/system/configuration/help.json components/system/network/functions.php includes/welcome/welcome.inc.php includes/welcome/welcome.php Adapun file yang menjalankan proteksi ini adalah welcome.inc.php (./fmk/rootfs/pineapple/includes/welcome/welcome.inc.php). Dari sini kita lanjutkan ke proses eksploitasi. 2.5. Eksploitation and Final Repacking. Selain file welcome.inc.php juga ada beberapa file lain yang perlu di edit pada tahap eksploitasi ini. Berikut ini adalah file-file tersebut dan keterangan modifikasinya: • fstab (./fmk/rootfs/etc/config/fstab) : file ini bertugas untuk mengatur mounting additonal storage seperti UFD ataupun Micro sd seperti yang dimiliki router MK 5. Karna akan menggunakan UFD sebagai media penyimpanan tambahan maka fstab perlu diedit menjadi seperti berikut: $ cat ./fmk/rootfs/etc/config/fstab config global automount option from_fstab 1 option anon_mount 1 config global autoswap option from_fstab 1 option anon_swap 0 config mount option target /sd option device /dev/sda1 option fstype auto option options rw,sync option enabled 1 option enabled_fsck 0 config swap option device /dev/sda2 option enabled 1 • format_sd (./fmk/rootfs/pineapple/components/system/resources/includes/files/format_sd): shell script ini bertugas untuk melakukan pemformatan sd card supaya memiliki 2 partisi yakni partisi 1 yang berformat ext4 dan partisi 2 yang di format sebagai swap. Untuk itu perlu kita edit terlebih dahulu hingga seperti berikut: $ cat ./fmk/rootfs/pineapple/components/system/resources/includes/files/format_sd #!/bin/bash #2013 - WiFiPineapple.com [[ -f /tmp/sd_format.progress ]] && { exit 0 } #Function to find and reset the SD device function reset_sd { DEVICE=$(find / -name idProduct -exec grep -l 6366 {} + | awk -F '/' '{ print $(NF-1) }') echo $DEVICE > /sys/bus/usb/drivers/usb/unbind sleep 2 echo $DEVICE > /sys/bus/usb/drivers/usb/bind
  • 13. } touch /tmp/sd_format.progress reset_sd sleep 5 umount /sd swapoff /dev/sda2 sleep 2 cat /pineapple/components/system/resources/includes/files/fdisk_instructions | fdisk /dev/sda sleep 2 umount /sd mkfs.ext4 /dev/sda1 sleep 2 mkfs.ext4 /dev/sda2 mkswap /dev/sda2 mount /dev/sda1 /sd swapon /dev/sda2 rm /tmp/sd_format.progress • welcome.inc.php (./fmk/rootfs/pineapple/includes/welcome/welcome.inc.php), ini adalah file yang mengatur proteksi ke dalam webui admin pineapple. Dilihat dari scriptnya terlihat hanya tiga led yang berguna sebagai kunci (amber, blue, red). Sedangkan value nya selalu berubah setiap kali attempt dan ini didapat dari random array di dalam function generateLEDpattern(). Untuk itu kita akan memberikan exact value di function verifyPineapple($post) supaya memberikan pola amber = blink, blue= off dan red = on. Berikut hasil modifikasinya: $ cat ./fmk/rootfs/pineapple/includes/welcome/welcome.inc.php <?php namespace pineapple; ......................... function verifyPineapple($post) { $action_array = array('off', 'on', 'blink'); if (isset($_SESSION['verify_pattern']) && isset($post['amber']) && isset($post['blue']) && isset($post['red']) ) { $current_state = str_split($_SESSION['verify_pattern']); if (array_search($post['amber'], $action_array) == 2 && array_search($post['blue'], $action_array) == 0 && array_search($post['red'], $action_array) == 1 ) { $_SESSION['verified'] = true; return passwordForm(); } } generateLEDpattern(); return verifyForm(true); } …......................
  • 14. Setelah ke tiga file tersebut kita modif barulah kita lakukan final repacking kembali dengan mengeksekusi build-firmware. $ sudo ./build-firmware.sh fmk/ Firmware Mod Kit (build-ng) 0.82, (c)2011-2013 Craig Heffner, Jeremy Collake Building new squashfs file system... Parallel mksquashfs: Using 2 processors Creating 4.0 filesystem on /home/smrx86/firmware_mod_kit/firmware-mod-kit- read-only/fmk/new-filesystem.squashfs, block size 262144. [=============================================================/] 2538/2538 100% Exportable Squashfs 4.0 filesystem, xz compressed, data block size 262144 compressed data, compressed metadata, compressed fragments, compressed xattrs duplicates are removed …... Number of uids 1 root (0) Number of gids 1 root (0) Remaining free bytes in firmware image: 10360 Processing 0 header(s) from /home/smrx86/firmware_mod_kit/firmware-mod-kit- read-only/fmk/new-firmware.bin... CRC update failed. Firmware header not supported; firmware checksums may be incorrect. New firmware image has been saved to: /home/smrx86/firmware_mod_kit/firmware- mod-kit-read-only/fmk/new-firmware.bin $ mv ./fmk/new-firmware.bin /fmk/upgrade-Gl-inet2MK5.bin $ md5sum upgrade-Gl-inet2MK5.bin 5c740cb210cc49fb6d1333f35456788d upgrade-Gl-inet2MK5.bin Dan pada tahap akhir ini hasil final repacking bisa ditemukan di ./fmk/upgrade-Gl-inet2MK5.bin. 3. Pembuktian / Proof of Concept 3.1. Flashing dan Baypass Proteksi UI Kendati flashing perangkat dapat dilakukan lewat console Uboot, tapi dalam PoC ini flashing dilakukan dengan halaman default firmware upgrade yang disediakan oleh stock f/w GL-inet. Selain lebih mudah, hal ini juga dilakukan untuk melihat lolos atau tidaknya verifikasi yang dilakukan lewat cgi sysupgrade. Dari percobaan didapatkan hasil bahwa firmware ini lolos cek verify. Gambar 12. firmware upgrade-Gl-inet2MK5.bin lolos cek verify saat akan melakukan upgrade. Selain itu proteksi admin pineapple juga sukses di bypass dengan pola slash, seperti tampilan berikut:
  • 15. Gambar 13. Proteksi halaman admin di bypass dengan pola SLASH. 3.2. Karma Test Karma adalah tool yang digunakan untuk wireless hacking. Tool ini bekerja dengan automatis membroadcast SSID sesuai dengan SSID request yang terdeteksi di sekitarnya. Berikut gambaran previewnya: Gambar 14. Hasil log saat karma sedang aktif. 3.3. Fstab dan UFD Mounting Dari modifikasi file config fstab yang dilakukan pada tahapan firmware hacking tampak fstab bekerja dengan baik dan flashdisk dimounting dan dikenali sebagai /sd:
  • 16. Gambar 15. Flashdisk berhasil dimounting dan dikenali sebagai /sd. 3.4. Infusions dan PoC nya Berikut preview PoC dari beberapa infusion di router GL-inet 3.4.a. Sslstrip Sslstrip bekerja dengan mengalihkan client yang merequset halaman https ke protokol http. Gambar 16. log sslstrip yang menunjukkan request https ://mail.google.com dialihkan protokol http. 3.4.b. Trapcookies Trapcookies bekerja dengan bantuan dnsspoof untuk mengarahkan alamat website tertentu ke sebuah halaman phising yang merekam cookies dan menyimpannya kedalam log file.
  • 17. Gambar 17. Log dari trapcookies yang menangkap dan menyimpan cookies setelah client disasarkan oleh dnsspoof. 4. Kesimpulan Firmware pineapple MK 5 dapat di flashing kedalam router Gl-inet dengan melakukan firmware hacking sebelumnya. Modifikasi konten firmware yang paling urgen adalah perubahan hardware id di part LZMA header. Sedangkan modifikasi minor pada file config dan UI diperlukan untuk dapat menjalankan cgi dengan lancar. 5. Ucapan Terima Kasih Terima kasih kepada Cindy Wijaya, Xopal Unil, Tisaros Kaskus, Openwrt Indonesia, Om Hero lirva32, Brahmanggi Aditya, Richy Hendra, Ade Surya, …all human or not (^^) who always support inspired me. And ofcourse it’s U… ra’ 7. Referensi [1] Alan Holt and Chi-Yu Huang, "Embedded Operating Systems, A Practical Approach," in introduction, virtualisation. London, Springer-Verlag, 2014, pp. 7. [2] Andy Davis. “Blue for the pineapple.”, Internet: http://penturalabs.wordpress.com/2013/04/25/blue-for-the-pineapple/, Apr. 25, 2013[Apr. 20,2015]. [3] Andy Davis. “Naked WiFi Pineapple Mark V!.”, Internet: https://penturalabs.wordpress.com/2013/10/27/naked-wifi-pineapple-mark-v/, Oct. 27, 2013[Apr. 20,2013]. [4] Craig Heffner, "Binwalk, Quick Start Guide.", Internet: https://github.com/devttys0/binwalk/wiki/Quick-Start-Guide, Dec. 1, 2014[Jun. 6, 2015]. [5] Craig Heffner, "Mucking About With SquashFS.", internet: http://www.devttys0.com/2014/08/mucking-about-with-squashfs/, Aug. 20, 2014[Jun. 9, 2015]. [6] Craig Heffner, "Extracting Non-Standard SquashFS Images Extracting Non-Standard SquashFS Images.", internet: http://www.devttys0.com/2011/08/extracting-non-standard- squashfs-images/, Aug. 7, 2011[Jun. 9, 2015]. [7] "DD-WRT Mod Kit.", Internet: http://3iii.dk/wiki/index.php?title=DD- WRT_Mod_Kit&oldid=37, [Dec. 27,2014]. [8] “Firmware mod kit.”, Internet: http://www.bitsum.com/firmware_mod_kit.htm, [Apr. 20,2015]. [9] Git openwrt, “mktplikfw.c.” internet : http://git.openwrt.org/? p=openwrt.git;a=blob;f=tools/firmware-utils/src/mktplinkfw.c [Jun. 26, 2015] [10] Hero Suhartono, “Information Theft: Wireless Router Shareport for Phun and profit.” Internet: http://www.slideshare.net/idsecconf/idsecconf2014-paper [Jun. 9, 2015] [11] Hak5. “Pineapple MK V firmware.”, avaiable: https://www.wifipineapple.com/index.php? downloads&download_mk5_upgrade=2.2.0, Jan. 12, 2015 [Apr. 20, 2015].
  • 18. [12] Jonas Zaddach and Andrei Costin."Embedded Devices Security and Firmware Reverse Engineering." , Avaiable: https://media.blackhat.com/us-13/US-13-Zaddach-Workshop-on- Embedded-Devices-Security-and-Firmware-Reverse-Engineering-WP.pdf, 2013[Jun. 14, 2015]. [13] Pinzaru. "What is firmware?.", internet:http://incepator.pinzaru.ro/software/what-is- firmware/, Apr. 2015[Jun. 6,2015]. [14] Silverbug and Redhidden. “Fu~n of Attacking Firmware.”, avaiable: http://www.powerofcommunity.net/poc2012/re&si.pdf, 2012[Jun. 10, 2015]. [15] Tomcom "Flashing TP-Link TL-MR3040 v2.0 (Version / Revison 2) with V1.0 Image.", Internet: https://forum.openwrt.org/viewtopic.php?id=44090, May, 9, 2013[Jun. 22, 2015]. [16] Wikipedia. "Firmware.", internet: http://en.m.wikipedia.org/wiki/Firmware, last edited, Jun. 5, 2015[Jun. 10, 2015]. [17] Wiki openwrt. “TRX vs. TRX2 vs. BIN.”, Internet: http://wiki.openwrt.org/doc/techref/header, [Jun. 26, 2015] 8. Penulis Penulis Pertama Photo (2x3cm) Smrx86, seorang blogger enthusiast, addict akan perkembangan tekhnologi terutama yang berkaitan dengan komputer dan semua hal turunannya. Sempat menjadi pembicara di Idsecconf 2013 (Universitas Airlangga) dan Idsecconf 2014 (UPN Veteran Yogyakarta) . Saya bisa dihubungi lewat kontak email: ramatrinanda@gmail.com atau twitter di https://twitter.com/smrx86.
  • 19. Lampiran Table 1. HW identification in lzma header13 Vendor Product name Offset location hexcode Hak5 MK 5 0x0040 6D 6B 35 31 GL-INET gl-inet-v1 0x0040 08 00 00 01 Konke Kankun smart plug 0x0040 07 03 01 01 TP-LINK tl-mr3220-v1 0x0040 32 20 00 01 TP-LINK TLMR3220V2 0x0040 32 20 00 02 TP-LINK tl-mr3420-v1 0x0040 34 20 00 01 TP-LINK tl-wa701n-v1 0x0040 07 01 00 01 TP-LINK TLWA7510NV1 0x0040 75 10 00 01 TP-LINK TLWA901NV1 0x0040 09 01 00 01 TP-LINK TLWA901NV2 0x0040 09 01 00 02 TP-LINK TLWR740NV1 0x0040 07 40 00 01 TP-LINK TLWR740NV3 0x0040 07 40 00 03 TP-LINK TLWR741NV1 0x0040 07 41 00 01 TP-LINK tl-wr743nd-v1 0x0040 07 43 00 01 TP-LINK tl-wr841nd-v3 0x0040 08 41 00 03 TP-LINK TLWR841NV5 0x0040 08 41 00 05 TP-LINK TLWR841NV7 0x0040 08 41 00 07 TP-LINK TLWR842 0x0040 08 42 00 01 TP-LINK TLWR941NV2 0x0040 09 41 00 02 TP-LINK TLWR941NV4 0x0040 09 41 00 04 TP-LINK tl-wr1043nd-v1 0x0040 10 43 00 01 TP-LINK tl-mr11u-v1 0x0040 00 11 01 01 TP-LINK tl-mr3020-v1 0x0040 30 20 00 01 TP-LINK tl-mr3040-v1 0x0040 30 40 00 01 TP-LINK tl-mr3040-v2 0x0040 30 40 00 02 TP-LINK tl-wr703n-v1 0x0040 07 03 01 01 TP-LINK TLWR740NV4 0x0040 07 40 00 04 TP-LINK TLWR741NV4 0x0040 07 41 00 04 TP-LINK TLWR841NV8 0x0040 08 41 00 08 TP-LINK TL-WR1041N-v2 0x0040 10 41 00 02 TP-LINK tl-wr2543-v1 0x0040 25 43 00 01 TP-LINK TLWDR3600V1 0x0040 36 00 00 01 TP-LINK TLWDR4300V1 0x0040 43 00 00 01 TP-LINK TLWDR4310V1 0x0040 43 10 00 01 13 Lihat dalam mktplikfw.c.” di http://git.openwrt.org/?p=openwrt.git;a=blob;f=tools/firmware- utils/src/mktplinkfw.c
  • 20. TP-LINK BIN Header layout14 0 1 2 3 4 5 6 7 8 9 a b c d e f +---------------------------------------------------------------+ | version | vendor_name... | +---------------------------------------------------------------+ | ...vendor_name | fw_version... | +---------------------------------------------------------------+ | ...fw_version... | +---------------------------------------------------------------+ | ...fw_version | +---------------------------------------------------------------+ | hw_id | hw_rev | unk1 | md5sum1... | +---------------------------------------------------------------+ | ...md5sum1 | unk2 | +---------------------------------------------------------------+ | md5sum2 | +---------------------------------------------------------------+ | unk3 | kernel_la | kernel_ep | fw_length | +---------------------------------------------------------------+ | kernel_ofs | kernel_len | rootfs_ofs | rootfs_len | +---------------------------------------------------------------+ | boot_ofs | boot_len |ver_hi |ver_mid| ver_lo| pad...| +---------------------------------------------------------------+ | ...pad... | +---------------------------------------------------------------+ 14 Lihat “TRX vs. TRX2 vs. BIN.”, Internet: http://wiki.openwrt.org/doc/techref/header.