Bikin CTF yang bener dong, jangan malu-maluin

Daripada sekedar menyindir (sindiran sudah dilakukan puluhan orang dari beberapa tahun lalu), sekalian lah saya posting terbuka bagi penyelenggara lomba Capture The Flag (CTF) yang super ngawur, terutama CTF Cyber Jawara. Beberapa CTF Indonesia sudah baik (seperti botani.cf Gemastik, atau idsecconf), tapi Cyberjawara ini sudah parah, jadi bahan tertawaan setiap tahun tetap saja tidak membaik (tahun ini saja sudah ada beberapa, misalnya ini, ini dan ini). Padahal ini adalah kegiatan ID SIRTII (Indonesia Security Incident Response Team on Internet Infrastructure)

ctf
Lanjutkan membaca “Bikin CTF yang bener dong, jangan malu-maluin”

Mengenal ESP8266: SOC Wifi super murah dari China

Artikel ini adalah perkenalan SOC ESP8266, sebuah System On A Chip (SOC) berfitur WIFI yang sedang sangat populer. Salah satu penyebab kepopuleran ESP8266 untuk Internet Of Things (IOT) karena harga chipnya yang super murah: kurang dari 2 USD (sudah termasuk ongkos kirim dari China). Benda ini juga mudah diprogram menggunakan C, Python, Lua, Basic ataupun Wiring (dengan IDE Arduino).

Secara praktis, kemampuan IP networking akan memungkinkan kita membuat benda yang bisa dikendalikan dari Internet (contohnya: mematikan atau menyalakan sesuatu), mengirimkan data ke Internet (mengirimkan pembacaan sensor), atau memanfaatkan data dari Internet (menampilkan cuaca, menampilkan jam akurat saat ini).

Tahun 2014, sebuah perusahaan China merilis chip WIFI ESP8266, chip ini awalnya hanya dijual dalam bentuk modul (bernama ESP-01) agar sebuah microcontroller (misalnya Arduino) bisa mengakses WIFI melalui serial port dengan menggunakan AT Command Hayes. Pada saat itu chip ini dokumentasinya minim sekali dalam bahasa Inggris, tapi satu hal yang pasti adalah: chip ini sangat murah. Karena sangat murah dan menarik, maka ada yang berusaha menerjemahkan datasheet lengkapnya.

20160131_155419
ESP-01

Lanjutkan membaca “Mengenal ESP8266: SOC Wifi super murah dari China”

Catatan Elektronik, Pokemon, dan Satellite Receiver

Posting ini sekedar catatan beberapa oprekan beberapa waktu terakhir ini. Topiknya: elektronik (beberapa komponen elektronik yang saya beli), Pokemon (baik versi lama maupun Pokemon Go), dan Satellite Receiver baru saya.

Kadang saya melihat posting lama di blog ini, kadang saya banyak menulis dan kadang jarang sekali menulis. Di bulan ketika jarang menulis, saya kadang lupa apa yang dikerjakan bulan itu, jadi sekarang saya coba rangkum beberapa minggu terakhir.

Elektronik

Saya kadang iseng menambah lampu atau mekanisme lain di mainan Jonathan. Menambahkan suara biasanya merupakan hal yang repot. Beberapa waktu lalu waktu iseng browsing AliExpress, saya menemukan bahwa ada banyak chip melodi, gonggongan anjing, sirine yang dijual dengan sangat murah (1.0-1.7 USD untuk 5-10 chip, jadi harga per chipnya cuma 0.1-0.2 USD). Penggunaan chip ini juga sangat mudah: butuh power (3.0-4.5 VDC), saklar (untuk mentrigger mematikan/menyalakan suara), speaker (langsung saja ke speaker 8 ohm, tanpa perlu sirkuit amplifier apapun). Sebagian chip perlu sebuah transistor tambahan sebagian hanya butuh sebuah resistor.

Lanjutkan membaca “Catatan Elektronik, Pokemon, dan Satellite Receiver”

Hacking In App Purchase

Di artikel ini saya akan membas teknis hacking In App Purchase (IAP) Sebelum membahas teknis hacking IAP, saya perlu menegaskan dulu bahwa saya tidak setuju dengan berbagai bentuk pembajakan. Di artikel ini saya akan menyinggung Apple App Store, tapi pembahasan akan lebih banyak ke Android (karena sekarang ini saya lebih banyak memakai Android). Saya sengaja tidak melink ke berbagai tool hacking yang saya sebutkan di sini, silakan dicari sendiri.

Jangan Membajak

Sebagai developer saya tahu betapa tidak enaknya jika karya kita dibajak. Saya selalu berusaha membeli semua hal secara legal. Semua software yang saya pakai saya beli atau memakai versi gratis. Saya membeli OS Windows, membeli Office (sekarang subscribe Office 365), dan juga membeli tools-tools yang memang berguna saya, misalnya saya membeli/subscribe IntelliJ ultimate, VMWare Fusion, dsb. Saya juga berusaha membeli segala macam produk digital lain, seperti musik (dari iTunes), film (subscribe NetFlix, atau menonton dari Youtube), buku (membeli dari Amazon Kindle ataupun Google Play Books). Lanjutkan membaca “Hacking In App Purchase”

Password

Password adalah metode autentikasi yang paling umum. Password memiliki banyak kelebihan, tapi juga banyak kekurangan. Contoh kelebihannya: sangat sederhana, mudah dishare, tidak butuh hardware khusus. Sementara itu kelemahan password: mudah dishare artinya bisa disalin dengan mudah, bisa dibruteforce, bisa terjadi password reuse, dsb.

Saat ini masalah yang sangat umum adalah ini: orang memakai password yang sama di berbagai layanan. Jika satu layanan jebol, dan password Anda ketahuan untuk semua situs lain (bisa dengan bruteforce/dictionary attack, bisa juga situs itu menyimpan plaintext password). Banyak situs kecil yang passwordnya bocor (atau mungkin bahkan pemilik situsnya jahat), tapi jangan kira situs besar tidak bisa bocor.

Selain kebocoran dari berbagai situs, password juga kadang bisa didapatkan dari mengendus (sniff) paket jaringan. Password juga bisa dengan mudah didapat dari menggunakan keylogger (program atau hardware yang menyimpan setiap tombol yang Anda tekan).

Ada berbagai solusi yang ditawarkan untuk masalah password ini, dari mulai tidak menyimpan password, menyimpan password, mengganti atau menambahkan autentikasi lain.

Lanjutkan membaca “Password”

Kesan pertama CHIP dan PINE64

Posting ini hanya sekedar review singkat, kesan pertama memakai CHIP dan PINE64. Semoga di lain waktu bisa saya buat posting baru yang lebih detail.

Di hari pertama kerja setelah liburan, saya disambut oleh dua paket yang tiba di kantor: Pine64 dan CHIP. Kedua benda ini sudah saya preorder lama sekali. CHIP saya pesan di Cyber monday 30 November 2015, dan PINE64 saya pesan 20 Maret 2016.

CHIP

Saya pertama kali mendengar CHIP dari Kickstarter yang fenomenal (2 juta dollar), tapi masih agak ragu mendukungnya karena agak mengkhawatirkan. Tapi akhirnya karena penasaran saya beli juga di Cyber Monday. Di Cyber Monday ada diskon CHIP, tadinya 9 USD menjadi 8 USD, jadi saya memesan dua dengan ongkos kirim 6 USD, jadi totalnya 22 USD untuk dua CHIP. Saat ini saya cek di website getchip.com harganya 9 USD belum termasuk kabel composite (5 USD), case (2 USD) dan ongkos kirim. Ketika saya menerima CHIP, di dalamnya sudah termasuk ada kabel composite dan case yang sudah dipasang, jadi saya benar-benar beruntung memesan jauh hari.

20160711_145513

Secara singkat CHIP ini adalah sebuah SBC berukuran mini dengan built in bluetooth, WIFI, NAND flash, USB, dengan RAM 512 MB. SOC yang dipakai benda ini adalah Allwinner R8. Tidak ada slot SD/MicroSD card di CHIP, dan tidak ada konektor Ethernet. Saat ini hanya ada satu model CHIP.

Karena sudah memiliki built in flash storage, maka kita tidak perlu mendownload atau mencari image lalu menuliskannya ke SD Card. Begitu dibuka, kita bisa mencolokkan CHIP ke monitor dan langsung bisa diboot dengan power dari micro USB.

Kendala pertama untuk CHIP adalah: konektor output built in hanya composite, sedangkan monitor komputer saya hanya bisa VGA, HDMI, dan DP. Sebenarnya ada board terpisah untuk menampilkan output CHIP via konektor VGA atau HDMI, tapi harganya mahal untuk VGA harganya 10 USD, dan untuk HDMI harganya 15 USD, lebih mahal dari CHIP itu sendiri. Karena saya pelit, saya tidak membeli keduanya.

Untungnya saya ingat kalo masih punya TV kecil yang tadinya dipakai di mobil (sekarang yang di mobil sudah diganti yang agak besar).

IMG_0920

Karena hanya memiliki satu port USB host, maka saya memakai hub agar bisa memakai mouse dan keyboard sekaligus. Sebenarnya benda ini memiliki bluetooth, jadi teorinya bluetooth mouse dan keyboard bisa dipakai, tapi karena saat ini saya tidak punya keduanya, saya pakai USB saja.

Sebenarnya ada cara lain untuk mengakses CHIP ini, yaitu via USB di komputer, CHIP akan dianggap sebagai serial port dan bisa kita akses dari program terminal yang bisa mengakses serial port seperti Putty, Minicom, Screen dsb. Saya ingin menghubungkan ke monitor karena penasaran seperti apa GUI-nya dan seperti apa proses bootnya.

ttylogin.png

Ukuran NAND flash-nya memang hanya 4GB, tapi yang dipakai OS hanya 528 MB, jadi cukup untuk menyimpan banyak hal tanpa perlu storage external. Kebanyakan SBC lain tidak memiliki built ini NAND (misalnya Raspberry Pi). Di satu sisi memiliki built in NAND ini sangat praktis: tidak perlu download image untuk bisa memulai, tidak perlu membeli SD Card terpisah, performanya lebih bagus dibandingkan SD Card. Tapi di lain pihak memiliki SD Card juga ada kelebihannya: mudah berganti OS (hanya perlu menukar SD Cardnya), kapasitasnya bisa kita beli sesuai keinginan kita.

Built in WIFI dan Bluetooth menurut saya akan sangat berguna untuk berbagai proyek. Salah satu yang kepikiran oleh saya adalah mengubah keyboard apapun menjadi bluetooth keyboard (misalnya mechanical keyboard biasa supaya jadi bluetooth enabled). Port micro USB di board ini sebenarnya adalah port OTG, jadi teorinya benda ini juga bisa mengemulasikan device USB apa saja.

Beberapa hal sudah saya lihat tapi belum dicoba, misalnya untuk melakukan flash ulang kita bisa menggunakan browser Chrome (ada API bagi Chrome Extension untuk bisa mengakses USB sehingga ini dimungkinkan). Ada juga konektor untuk batere dan ada sirkuit built in sehingga baterenya akan dicharge ketika kita mencolokkan micro USB ke CHIP.

Secara singkat, CHIP ini cocok sekali untuk menambahkan kapabilitas IOT pada benda lain. Harganya murah, ukurannya kecil, sudah ada konektivitas bluetooth dan WIFI, dan bahkan bisa menggunakan batere dengan sirkuit charging yang sudah built-in. Secara umum CHIP mendapatkan review yang positif dari banyak pihak, dan cukup cocok untuk pemula. Cocok untuk pemula di sini maksudnya: cara mulai memakainya mudah, komunitasnya cukup besar dan baik.

Kelemahan CHIP adalah jika kita butuh sesuatu yang ekstra maka harganya akan menjadi cukup mahal. Contoh: jika butuh ingin dihubungkan ke TV melalui HDMI maka kita perlu menambah 15 USD lagi. Jika ingin dihubungkan ke beberapa USB maka perlu hub (contohnya jika storage tidak cukup maka perlu USB disk atau USB Card reader + memory card-nya).

Jika keperluannya untuk menonton film atau sebagai media center, maka pasti butuh HDMI, jadi harganya minimal 9 USD (chip) + 15 USD (HDMI adapter) = 24 USD. Dengan 11 USD ekstra Anda bisa membeli Raspberry Pi terbaru dengan RAM 1 GB dan sudah quad core, memiliki WIFI dan Bluetooth, dan memiliki 4 port USB.

Saya sedang mempelajari lebih lanjut dan mempertimbangkan apakah akan membeli PocketCHIP atau tidak (saat ini sedang promo, 49 USD, harga biasanya 69 USD). PocketCHIP ini adalah casing berupa layar dan keyboard CHIP yang bisa dikantongi. Benda ini cukup unik karena SBC yang lain tidak menawarkan solusi seperti ini.

PINE64

Device berikutnya yang saya test adalah PINE64. SBC ini muncul di kickstarter dan cukup sukses (1.7 juta USD terkumpul). Review awalnya cukup negatif, tapi saya sudah terlanjur pesan. Alasan utama membeli benda ini adalah karena saya ingin bereksperiman dengan assembly ARM64 (board yang lain waktu itu masih sangat mahal). Dari jumlah yang dikumpulkan di kickstarter (yang artinya banyak orang memiliki benda ini), saya berharap bisa terbentuk komunitas yang kuat seperti Raspberry Pi.

Sebagai catatan: saat ini meski belum didukung resmi, Raspberry Pi 3 sudah bisa menjalankan Linux ARM64. Jadi jika ingin sekedar belajar ARM64, Raspberry Pi3 juga bisa dipakai.

Ada beberapa opsi PINE64, memorinya bisa 512 MB, 1GB atau 2GB, dan apakah kita ingin ekstra WIFI/Bluetooth (semuanya memakai SOC Allwinner A64). Versi 1G dan 2GB memiliki ethernet gigabit (keduanya ini disebut juga PINE A64+). Karena tujuan saya ingin belajar di sisi software, saya pilih RAM terbesar yaitu 2GB, dengan harga 29 USD (RAM yang terkecil 512 MB cuma 15 USD). Saya beli juga modul WIFI/Bluetooth (+10 USD), karena mungkin nanti berguna. Ongkos kirimnya cukup mahal: 12 USD ke Thailand.

20160711_101658

Ketika saya membuka kotaknya, kesan pertama saya adalah: wow besar sekali ukurannya, lebih besar dari SBC lain yang saya punya. Dengan ukurannya yang besar, jelas ini kurang cocok untuk IOT, lebih cocok di taruh di atas meja sebagai server, media player atau desktop. Ternyata opsi WIFI/BT diberikan dalam bentuk board yang perlu kita pasang (sangat mudah, tidak mungkin terbalik).

IMG_0921

Untuk testing, saya mendownload Debian tanpa desktop. Saya tidak berharap akan langsung sukses mengingat review awal cukup jelek, tapi ternyata booting bisa lancar dan langsung muncul pesan boot di layar via konektor HDMI. Ini berbeda dengan ketika saya mencoba Orange Pi, kadang booting berhasil tapi tidak tampil apa-apa di layar walau bisa diakses via jaringan.

pine64

Saya baru mencoba benda ini sebentar sekali, jadi belum bisa berkomentar banyak. Kesan pertama: benda ini cepat, konektornya ada banyak selain baris konektor kompatibel dengan PI, ada baris konektor ekstra yang diberi nama Euler, ada konektor headphone, IR Receiver dan bahkan bisa memakai batere seperti CHIP juga.

Sesuai dengan tujuan utama: untuk mengetes software Arm64 bit, saya bisa dengan mudah mengcompile dan mendebug hello world seperti pada umumnya di platform lain.

arm64

Ada banyak yang belum saya test di PINE64 (dan saya tidak tahu apakah akan segera saya test atau tidak). Contoh hal-hal yang bisa ditest: Android di PINE64, memutar video di Pine64, GPIO, dsb. Yang jelas untuk saat ini saya hubungkan saja benda ini ke jaringan supaya bisa saya akses dan pelajari kapan saja.

Mudik Indonesia 2016

Posting ini sekedar merangkum beberapa posting sebelumnya, sekaligus untuk menceritakan hal-hal kecil di luar posting-posting yang lain. Liburan kali ini cukup lama, dari tanggal 22 Juni (tiba di sana) sampai 10 Juli (tiba di Chiang Mai).

20160622_101146

Karena pemesanan tiket sudah mendekati harinya, harga Air Asia ternyata sudah sangat mahal, jadi kami mengambil Singapore Air yang ternyata lebih murah. Ketika berangkat Joshua agak pilek. Terakhir saya ingat (mungkin 5 tahun yang lalu), di Singapore WIFI gratisnya agak ribet. Tapi kali ini ternyata mudah diakses dan bahkan sangat cepat.

Kami mendarat dijemput oleh orang tua saya, dan sekaligus menjemput mamanya Risna yang mendarat dari Medan di waktu yang hampir sama. Di hari pertama, saya bersama bapak berusaha menyelesaikan tujuan utama. Tujuan utama adalah membuatkan Visa untuk Joshua. Joshua perlu keluar dari Thailand untuk bisa mendapatkan Visa (yang adalah ijin untuk masuk ke Thailand). Di hari pertama ini pembuatan Visa gagal karena kurang syarat Company Registration Letter dan Tax Proof.

Di sore hari pertama, saya naik motor bersama Jonathan ke Ceria Mart, dan pulangnya dihadang hujan. Setelah menunggu lama dan mengecek Google Weather akhirnya kami memutuskan pulang gerimis.

20160623_171426

Di hari kedua kami memutuskan berangkat lagi untuk mengurus Visa Joshua. Kali ini semua sudah dipersiapkan (dokumen yang diperlukan sudah diemail dan dicetak), jadi tidak ada masalah lagi. Pulangnya kami menyampaikan titipan Kak Wanti, dan karena masih cukup sore kami memutuskan mampir di Monumen Pancasila Sakti (sudah dituliskan ceritanya di posting lain).

Di hari berikutnya, opungnya Joshua berhasil memangkas rambutnya, sekarang dia kelihatan lebih ganteng. Joshua bisa terdistract karena diberikan video Mother Goose Club. Bersama saudara saya, mas Adi, kami naik bus dan ke monas hari itu. Ini juga sudah diceritakan di posting terpisah.

Di hari Minggu kami beristirahat karena mempersiapkan diri untuk ke Jawa Tengah esok harinya. Adik Asty (sepupunya Jonathan) datang, dan mereka bisa bermain bersama. Keesokan harinya kami berangkat ke kampung halaman dan ke Yogyakarta.

Sepulang dari Yogyakarta sudah tengah malam, jadi kami membiarkan anak-anak beristirahat, sementara Opung duluan datang ke acara adat sayur matua Inang Tua Kom pada dini hari. Kami datang ke Bekasi dengan menggunakan Grab dan kembali menggunakan Uber. Senangnya sekarang rumah Eyang sudah bisa dicari di peta sampai level nomer rumah dan posisinya pas, sehingga mudah memanggil Uber/Grab. Seperti pernah saya ceritakan di posting lain, ketika seseorang mencapai Sayur Matua maka acara adatnya adalah perayaan.

20160702_165728

Di hari Minggu kami kembali beristirahat lagi dan saya nyetir ke Hypermart untuk membeli beberapa benda (terutama alat pel yang lebih baik karena pembantu di rumah Eyang sedang mudik). Joshua bisa diajak makan di Solaria. Pulangnya kami mampir ke rumah Yosi. Keesokan harinya kami pergi ke Ancol, ini juga sudah dituliskan di posting terpisah.

20160703_135859

Sebenarnya kami ingin menyewa travel untuk pergi ke Bandung, tapi ternyata sudah penuh di hari sebelum lebaran, dan kebanyakan tutup di hari lebaran. Jadi akhirnya saya menyetir ke Bandung (ini juga diceritakan di posting terpisah).

Di rumah Eyang saya sempat mengajari Jonathan bermain api dan korek api. Ini sebenarnya sesuatu yang mau saya ajarkan dari dulu, tapi selalu lupa beli koreknya. Terakhir kali ingat pas musim panas di Chiang Mai dan waktu itu banyak kebakaran, jadi saya tunda lagi.

Hari Jumat kami membuat foto keluarga bersama. Terakhir kali foto keluarga, Joshua masih di dalam perut mamanya.

IMG_8308

Di hari Sabtu, Risna bertemu dengan teman-teman SMA-nya, sementara saya, Jonathan dan keluarga Yosi menonton film Finding Dory.

20160709_133710

20160709_154737

Kami kembali ke Chiang Mai hari Minggu pagi, diantar oleh keluarga Yosi. Kami agak khawatir karena di malam Minggu Joshua agak demam dan sempat muntah. Tapi Puji Tuhan Joshua hanya cranky sedikit di awal perjalanan. Sepanjang Jakarta Singapore dia tidur. Ketika transit kami biarkan dia merangkak berkeliaran. Di penerbangan terakhir dia agak bosan, tapi ada anak yang hampir seusianya di kursi dekat kami, jadi dia agak terhibur.

IMG_0887

Di sepanjang perjalanan berangkat dan kembali, Jonathan senang sekali karena biasanya pesawat yang dia naiki kecil (single aisle) sedangkan yang ini besar (double aisle). Dia juga senang sekali membaca instruksi keselamatan yang ada di tiap pesawat. Saya selalu diminta untuk memfoto supaya bisa dilihat lagi di rumah.

Liburan kali ini sangat melelahkan, penuh dengan perjalanan panjang, tapi kami bersyukur Joshua dan Jonathan tetap sehat. Kami tadinya sangat khawatir Joshua akan sakit, apalagi dengan perjalanan jauh dengan mobil (beberapa kali), dan juga mengunjungi sangat banyak tempat.

Kami bersyukur bisa tiba kembali di Chiang Mai dengan selamat, dijemput oleh Office Manager kami. Kami juga bersyukur rumah sudah dibersihkan oleh Asisten Rumah Tangga yang sudah dipesankan sebelumnya. Berbagai hal sudah dibereskan juga (tagihan listrik, air), tukang rumput juga sudah dipanggil untuk membereskan rumput. Bahkan dia sudah membelikan telur karena dia tahu kami akan sarapan itu. Kami juga bersyukur karena listrik, air, dan Internet semuanya berjalan lancar ketika tiba di rumah.