Serba-serbi pentest

Saya belum terlalu lama melakukan pentest (penetration testing) tapi sudah mengamati ada berbagai jenis client. Saya juga mulai sering ditanya oleh orang yang mau melakukan pentesting: apa aja sih yang perlu dipentest? terus prosesnya biasanya bagaimana?

Secara umum pentest adalah menguji sistem komputer terhadap kelemahan security. Apa yang diuji tentunya bergantung pada sistem yang ada. Contoh: jika sistem hanya digunakan internal perusahaan, maka yang ditest hanya internal saja. Jika aplikasi bisa diakses publik via aplikasi mobile, maka aplikasi mobile juga perlu ditest.

zap

Apa yang ditest?

Pentest bisa dilakukan secara eksternal, artinya hanya dari akses website dan app saja, tidak masuk ke jaringan internal dan juga secara internal dengan datang ke perusahaan. Hal yang penting diidentifikasi adalah: apa asset penting yang perlu dilindungi dan sepenting apa assetnya, lalu bagaimana itu bisa diakses. Contoh: jika aplikasinya melibatkan pulsa atau voucher, kita perlu mengidentifikasi titik di mana isi pulsa bisa dilakukan, misalnya via website, via layanan partner, via aplikasi. Lanjutkan membaca “Serba-serbi pentest”

Apa sih bayangan kalian soal hacking?

“Ajarin saya hacking dong”, ini adalah pesan yang banyak diterima oleh orang di bidang security (termasuk saya). Kalau diberi link website atau buku mengenai computer security, mereka biasanya akan menjawab “bingung mulai dari mana”, atau mau praktis “pusing om, langsung aja ajarin gimana cara hacking facebook om”. Saya sebenarnya bingung: “hacking” itu seperti apa sih di kepala orang itu?

maxresdefault
Hackerman dari film Kung Fury

Maling vs Hacking

Saya akan skip dulu segala macam definisi mengenai “hacking”, “cracking”, dsb. Anggap saja “hacking” itu adalah yang dilakukan orang jahat, menjebol sesuatu. Sekarang saya ambil analogi dunia nyata: Jason mau membobol ke suatu gedung/bangunan/rumah/hotel dan saya bandingkan hal ini dengan hacking.

Kalo Jason (yang bukan siapa-siapa) ini pernah dengar tentang maling legendaris bernama Freddie, lalu tiba-tiba mengirim pesan via email “jebolin apartemen itu dong Freddie, saya mau masuk kamar 413 tempat mantan saya”. Kira-kira Freddie mau nggak? Logikanya: ngapain memenuhi permintaan Jason, apalagi Anda nggak bayar. Nah sekarang masuk akal nggak kalo ada yang minta ” hack kampus saya dong” atau “Mas, hack FB mantan saya dong”.

Singkatnya: “Emangnya kamu siapa? buat apa saya melanggar hukum buat kamu?” Lebih lucu lagi kalo mereka berusaha menjatuhkan dengan kata-kata seperti “ah ternyata mas Freddie nggak jago”. Sekali lagi “emangnya kamu siapa? emangnya penting pendapat kamu?”
Lanjutkan membaca “Apa sih bayangan kalian soal hacking?”

Pengantar Reverse Engineering

Sudah beberapa kali saya ditanya: kalo ada aplikasi X bagaimana cara membongkarnya? Bahasa kerennya: bagaimana saya melakukan reverse engineering terhadap aplikasi tertentu?. Sayangnya tidak ada jawaban sederhana untuk ini. Bagaimana membongkar sesuatu tergantung pada teknologi yang digunakan untuk membangun dan memproteksi benda itu. Berbagai tools juga bergantung pada sistem operasi yang menjadi target.

Saya sudah menulis secara umum tentang reverse engineering, tapi belum memberikan jawaban praktis, jadi di posting ini saya akan berusaha menuliskan secara praktis langkah-langkah untuk memulai reverse engineering.

label
convert -size 1200×630 -background white -fill black -font Nimbus-Mono-L -pointsize 144 -gravity center -label:”Reverse\nEngineering” -flip label.png

Lanjutkan membaca “Pengantar Reverse Engineering”

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”

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”

Bug Gojek (Agustus 2015)

Tulisan berikut ini ditulis akhir bulan Desember 2015. Saya sudah mengirimkan ini ke pihak Gojek dan mereka minta waktu untuk perbaikan. Mereka meminta saya menunda sampai tanggal 10 Januari 2016 untuk menerbitkan ini.

Karena saya sudah mengecek bug gojek dua kali (Agustus dan Desember 2015), saya tidak mengecek lagi apakah bug-bug ini saat ini masih ada atau tidak (capek lah ngecek terus, ini kan kerjaan iseng gak dibayar). Tulisan ini tidak diedit lagi (jadi jika Anda membaca “saat ini bug masih ada” artinya itu masih ada ketika tulisan ini dibuat, yaitu akhir Desember 2015).

Yang perlu saya tambahkan: bug yang ada kemungkinan bukan hanya yang saya tulis di bawah ini, masih ada banyak lagi (ada puluhan endpoint API gojek, banyak yang berpotensi punya bug). Karena saya berlokasi di Thailand, saya hanya bisa melakukan testing terbatas (bahkan saya belum pernah mencoba memakai Gojek secara langsung). Silakan coba-coba untuk memeriksa bagi yang iseng mencoba (saya sudah membuat tulisan bagaimana melakukan Reverse Engineering APK Android sebagai panduan bagi pemula).

—————-

Jika Anda belum membaca, sebaiknya baca dulu pengantar seri ini: Mencari dan melaporkan bug security. Perlu dicatat: bug ini sudah dilaporkan (akhir sejak Agustus 2015). Sebagian sudah diperbaiki, tapi banyak lagi belum. Bug ini juga sudah ditemukan banyak orang lain (saya sempat melempar pertanyaan ini di facebook wall saya, dan hasilnya saya dijapri beberapa orang).

Gojek
Lanjutkan membaca “Bug Gojek (Agustus 2015)”