Certificate pinning dan unpinning

Certificate pinning adalah suatu cara agar sebuah aplikasi bisa memastikan bahwa koneksi SSL/TLS dilakukan terhadap server yang seharusnya. Topik yang sering ditanyakan ke saya adalah bagaimana membypass SSL pinning agar dapat melakukan pentest terhadap sebuah aplikasi. Di sini saya akan membahas beberapa teknik unpinning, terutama untuk mobile OS (iOS dan Android).

Sebelum masuk ke topik pinning, saya review dulu sedikit mengenai komunikasi sebuah browser/ aplikasi ke sebuah server. Agar lebih singkat: browser dan aplikasi akan saya sebut sebagai aplikasi saja, karena browser juga adalah sebuah aplikasi.

DNS

Ketika kita mengunjungi blog.compactbyte.com, aplikasi akan bertanya: apa alamat IP untuk blog.compactbyte.com? pertanyaan ini ditujukan ke server DNS (domain name system). Dan setelah tahu alamat IP-nya aplikasi bisa melakukan koneksi ke server tersebut.

Dari proses awal ini saja sudah ada dua kemungkinan masalah: pertama adalah server DNS mana yang kita pakai?

Lanjutkan membaca “Certificate pinning dan unpinning”

Membongkar Ransomware

Rasanya tiap beberapa hari ada yang bertanya tentang bagaimana mengatasi ransomware tertentu di berbagai group, terutama di group reverse engineering. Jawaban saya untuk yang terkena ransomware tetap sama: buat backup, restore dari backup, atau jika beruntung mungkin sudah ada yang membuat dekriptornya.

Artikel ini untuk anda yang ingin membongkar ransomware dan ingin membuat dekriptor sendiri. Perlu saya peringatkan bahwa ini tidak mudah, dan seringkali mustahil membuat dekriptornya. Setelah membaca ini semoga Anda paham bahwa: meminta membuat dekriptor khusus untuk ransomware yang kena ke komputer Anda itu seperti minta uang semilyar dari orang di pinggir jalan.

Jumlah ransomware baru tiap hari sangat banyak. Mudah sekali membuat ransomware dari nol, atau memodifikasi dari yang sudah ada (banyak yang bisa dicari di github, saya tidak akan melink langsung). Jadi kemungkinannuya cukup besar Anda terkena ransomware yang belum pernah didengar orang lain atau tidak dibahas di Internet.

Lanjutkan membaca “Membongkar Ransomware”

Aneka bug bypass OTP (One Time Password)

Berbagai website memiliki fitur two factor authentication (2FA) dalam bentuk OTP (One Time Password) alias password sekali pakai yang biasanya dikirim via SMS atau email. Sering kali ini tidak diimplementasikan dengan sempurna dan bisa dibypass. Tulisan ini tidak membahas metode baru, hanya sekedar koleksi beberapa OTP bypass yang sering saya temukan. Tujuan tulisan ini:

  • Untuk pentester supaya jadi checklist ketika mengecek OTP
  • Untuk programmer supaya jadi checklist ketika mengimplementasikan OTP

Tulisan ini juga untuk memberi pencerahan, supaya user sadar bahwa meskipun sebuah website memiliki OTP tidak berarti 100% aman. OTP biasanya diminta ketika login kali pertama, dan kadang hanya diminta ketika akan melakukan transaksi (contoh: ketika akan transfer uang). Kadang bypass OTP bisa dilakukan di login saja, transaksi saja, atau keduanya.

Lanjutkan membaca “Aneka bug bypass OTP (One Time Password)”

HITB PRO CTF 2019

Ini cerita khusus mengenai HITB CTF di Abu Dhabi, sedangkan cerita jalan-jalan saya tuliskan di posting lain. Dari websitenya acaranya, rencananya ada 20 tim tingkat dunia yang diundang, pemenang dari berbagai CTF lain di dunia tapi akhirnya hanya 19 team yang berkompetisi. Di akhir kami akhirnya peringkat 9 dari 19.

Tim PDKT yang lolos di HITB tercantum di CTF Time. Saya tidak akan bercerita detail tentang tim ini, silakan kunjungi website/sosmed/github masing-masing anggota teamnya: farisv, visat, wearemarching, zeroload. Sengaja saya link tidak ke linkedin langsung, supaya kalau di masa depan informasi profilenya ingin dianonimkan akan lebih mudah. Ada yang baru tingkat 3, dan sisanya belum lama lulus (tidak seperti saya yang sudah lebih 20 tahun lulus S1).

Lanjutkan membaca “HITB PRO CTF 2019”

Flare-On 2019 dan pembahasan soal no 6

Flare On ke-6 sudah selesai dan solusi dari panitia juga sudah diberikan. Ini tahun ke-5 saya menyelesaikan seluruh soal Flare On.Tidak seperti tahun-tahun sebelumnya di mana saya ingin buru-buru selesai, tahun ini saya sangat santai dan selesai di peringkat 148. Tahun ini ada 308 orang yang selesai semua dari total 5790 yang mendaftar. Kalau tidak sibuk, tahun depan saya rencana tetap ikut dalam mode santai seperti ini.

Menurut saya Flare On ini sangat berguna untuk mengasah ilmu reverse engineering dan mengenal berbagai teknik baru yang tidak/belum saya ketahui. Soal tahun ini sejak nomor satu sudah lebih sulit dari tahun-tahun sebelumnya, tapi ada 3228 yang berhasil menyelesaikan soal pertama. Menurut saya soal-soal nomor tinggi justru lebih mudah dari tahun-tahun sebelumnya tapi butuh banyak kesabaran. Sama seperti tahun-tahun sebelumnya, di akhir kita akan ditanya apakah ingin mengirimkan CV ke Fire Eye.

Lanjutkan membaca “Flare-On 2019 dan pembahasan soal no 6”

Cerita hacking dari masa lalu

Sebagian teman angkatan di Informatika ITB tahu kalau saya dan Deny dulu hampir di-DO karena “ngehack” kampus, tapi cerita detailnya belum pernah saya tuliskan. Nah kali ini dengan persetujuan dan encouragement dari Deny, Tintin, dan Okta saya akan tuliskan ceritanya. Karena ini cerita lama (lebih dari 20 tahun yang lalu), saya akan banyak memberikan latar belakang cerita.

Cerita ini sudah sangat lama, sebagian detail sangat saya ingat, tapi sebagian lagi benar-benar lupa. Ketika bertanya ke Tintin dan Deny mereka juga banyak lupa detailnya, jadi saya ceritakan saja di sini sekarang sebelum tambah lupa lagi.

Kenalan dengan Hacker

Saya awali dulu dengan cerita ketemu Deny. Sekedar background: kok bisa ketemu dengan orang lain yang suka ngehack?

Saya ketemu Deny kali pertama waktu kuliah di Informatika ITB, tahun 1998. Di ITB tingkat 1 adalah Tahap Persiapan Bersama, di tahun pertama semua jurusan pelajarannya sama yaitu ilmu-ilmu dasar dengan tujuan agar ilmunya seragam di tingkat berikutnya. Pelajaran yang diberikan misalnya: Fisika, Kimia, Matematika (Kalkulus), Bahasa Inggris, dan bahkan ada juga pelajaran Olah Raga.

ITB
Lanjutkan membaca “Cerita hacking dari masa lalu”

Mengenal Frida untuk Reverse Engineering

Salah satu tools reverse engineering yang sering saya pakai adalah Frida. Frida memungkinkan kita meng-intercept fungsi dalam C/native code (di berbagai sistem operasi), Java (di Android) dan Objective C (di macOS/iOS) dengan menggunakan JavaScript. Mungkin bagi sebagian orang deskripsi ini masih agak terlalu mengawang-awang, jadi akan saya berikan contoh nyata apa maksudnya mengintercept fungsi.

Saya berikan contoh program kecil seperti ini dalam C, yang hanya melakukan loop membuka satu file, mencetak sebaris dari file tersebut, lalu program akan sleep selama 1 detik. Program ini akan saya intercept dengan Frida.

Saya mengisi file1 dengan string “Yohanes Nugroho” dan file2 dengan string “Risnawaty”, jadi ketika dijalankan outputnya seperti ini:

Lanjutkan membaca “Mengenal Frida untuk Reverse Engineering”