Reverse Engineering APK

Saya sudah menulis beberapa artikel terpisah mengenai reverse engineering APK Android (misalnya di http://yohan.es/security/android/) . Di posting ini saya ingin menggabungkan berbagai tulisan yang pernah saya buat dalam satu posting, supaya lebih gampang dibaca. Topik yang lebih umum mengenai Pengantar Reverse Engineering sudah pernah saya bahas di blog ini (tidak spesifik Android).

 

Tujuan Reversing

Pertama, tentukan tujuannya apa ingin bisa reversing APK. Ini bisa digolongkan jadi dua bagian: apakah ingin mengetahui cara kerjanya? (sekedar membaca kode) atau ingin mengubah aplikasinya? (memodifikasi kode) Yang termasuk dalam kategori pertama: apakah ingin ekstrak API-nya, ingin membaca file yang dibuat oleh aplikasi, ingin tahu protokol aplikasi. Lanjutkan membaca “Reverse Engineering APK”

Perang Cyber dan Hacker Indonesia

Beberapa hari yang lalu China melarang security researchernya untuk mengikuti kompetisi pwn2own dan sejenisnya di luar negaranya.  Ini bisa jadi suatu awal yang gawat untuk dunia keamanan cyber baik secara umum, dan juga untuk Indonesia.

Saya mau mundur sedikit: apa sih pwn2own itu? Ini adalah kompetisi hacking di mana hacker diminta menjebol device dengan software terbaru dengan bug yang belum pernah diketahui orang lain sebelumnya (zero-day). Pemenangnya mendapatkan devicenya dan hadiah puluhan sampai ratusan ribu USD (ratusan juta hingga milyaran rupiah).

Bug

Secara singkat: beberapa bug ini memungkinkan orang mengambil alih ponsel, tablet, dan bahkan mobil (mobil pintar) dari jauh tanpa interaksi dari user.  Ini bukan bug kacangan seperti XSS atau SQL injection di website.

Lanjutkan membaca “Perang Cyber dan Hacker Indonesia”

Hacking aplikasi web dengan Zaproxy

Saat ini kebanyakan tulisan di blog ini sifatnya cerita yang tidak sampai ke teknis detail. Tulisan kali ini sangat praktis, mengenai memakai Zaproxy untuk hacking (mencari bug atau mengeksplotasi bug) aplikasi web. Atau lebih tepatnya lagi aplikasi yang memakai komunikasi HTTP, baik itu aplikasi berbasis mobile, desktop, maupun browser. Sekaligus ini untuk menjawab berbagai pertanyaan mengenai hacking web yang sering diajukan ke saya.

Zaproxy pada dasarnya adalah sebuah intercepting proxy dengan berbagai fitur tambahan (scanner, spider, dsb). Sebuah intercepting proxy bisa mencegat komunikasi dari client ke server (request) dan balasan dari server (response). Defaultnya, komunikasi yang dicegat akan diteruskan saja dan dicatat (di-log), tapi kita juga bisa mengubah baik request maupun response.

Sebagai catatan, Zaproxy bukan satu-satunya tools yang ada, tapi tools ini gratis,  open source, cross platform (Windows, OS X, Linux) dan fiturnya lengkap. Alternatif populer adalah Burp suite, ini ada versi gratisnya, tapi fitur pentingnya berbayar (salah satu fitur paling penting yang berbayar adalah menyimpan sesi). Tools lainnya yang gratis dan bagus untuk Windows adalah Fiddler (saat ini Fiddler versi OS X dan Linux masih beta), sayangnya Fiddler tidak open source. Jika sudah menguasai salah satu tools ini, berpindah yang lain tidak terlalu sulit. Lanjutkan membaca “Hacking aplikasi web dengan Zaproxy”

Hacking dan Reverse engineering hardware

Saat ini di jaman IOT, makin banyak orang yang tertarik untuk hacking dan reverse engineering (RE) hardware. Karena sudah cukup banyak orang menanyakan topik ini, maka di artikel ini akan saya bahas dasar-dasarnya, plus tools apa saja yang dibutuhkan jika ingin memulai.

Dalam artikel ini RE hanya bertujuan memahami software dan hardware dalam sebuah sistem. Hacking hardware bermakna lebih luas misalnya menambah atau mengubah sesuatu di hardware, misalnya menjalankan Doom di printer, membuat hardware baru, atau oprekan apapun yang berhubungan dengan hardware.

Supaya bisa mengubah sebuah hardware yang tidak terdokumentasi, kita perlu melakukan dulu reverse engineering untuk memahami cara kerjanya, baru setelah itu kita bisa melakukan perubahan. Untuk hardware open source atau yang dokumentasinya sangat baik, proses RE ini tidak perlu.

Tujuan melakukan Hacking Hardware

Ada banyak tujuan RE dan hacking hardware, misalnya:

  • Mencari key enkripsi untuk mengakses konten gratis atau untuk membuat konten baru (misalnya game homebrew), atau bahkan membajak, contohnya dalam kasus Game Console
  • Memperbaiki, menambah atau menghilangkan fungsionalitas , misalnya menambah SD Card di router
  • Mengekstraksi firmware dengan berbagai tujuan: mencari bug di firmwarenya, mengclone firmwarenya (membuat produk tiruan), mencari key dalam firmwarenya

Perlu dicatat bahwa dalam 99% kasus, ujung dari reversing hardware adalah melakukan reversing software yang berjalan di hardware tersebut. Lanjutkan membaca “Hacking dan Reverse engineering hardware”

Jadi peserta CTF yang bener dong, jangan malu-maluin

Tahun lalu saya mengkritik panitia Cyber Jawara karena soal CTF-nya ngawur. Sekarang gantian saya mengkritik peserta yang ngawur di penyisihan online. Banyak peserta yang sharing jawaban, seperti mencontek soal ujian.

Tahun ini, panitia Cyber Jawara dan pembuat soal sudah bekerja sangat baik. Soal yang dibuat berkualitas, dan mereka juga mengecek jawaban peserta dengan teliti sehingga kelakuan curang seperti itu bisa diketahui dan didiskualifikasi.

Lanjutkan membaca “Jadi peserta CTF yang bener dong, jangan malu-maluin”

Ke Belanda

Dari RHME2 tahun lalu saya mendapatkan hadiah mengikuti kursus security gratis di Riscure Delft, Belanda. Karena ini bukan perjalanan dinas dari kantor, jadi saya perlu mengurus segala sesuatu sendiri, dan saya bisa bebas menceritakan perjalanannya.

Visa

Di Chiang Mai tidak ada kedutaan Belanda, jadi untuk mengurus Visa saya perlu ke Bangkok. Sebenarnya mengurus Visa bisa dilakukan di kedutaan Belanda atau di VFSGlobal. Saya memilih menggunakan VFSGlobal karena mereka punya jasa kirim balik visa via EMS (menghemat uang dan waktu, tidak perlu kembali ke Bangkok lagi).

Website VFSGlobal sudah sangat bagus, ada checklist mengenai berbagai dokumen yang dibutuhkan sesuai dengan jenis Visa-nya. Karena saya ke sini untuk training, saya menggunakan Visa bisnis. Sebagai catatan, bidang security ini tidak ada hubungannya sama sekali dengan tempat saya bekerja sekarang, tapi tetap butuh surat pengantar dari tempat bekerja.

Tidak ada proses wawancara ketika menyerahkan dokumen. Saya hanya menyerahkan semuanya, diminta scan sidik jari, mengisi alamat pengiriman kembali paspor setelah selesai. Visa saya dapatkan sekitar seminggu, saya masukkan alamat kantor supaya yakin ada selalu orang yang menerima. Karena proses VISA sangat singkat, saya sempat makan siang dengan Pak Kief, alumni Informatika ITB yang saat ini bertugas di KBRI.

Perjalanan

Ada pesawat KLM dari Bangkok langsung ke Belanda. Perjalanannya 11 jam. Karena tidak ada connecting KLM dari Chiang Mai, jadi saya naik airline lain, dengan menyisakan waktu 4 jam. Ternyata 4 jam ini cukup pas, karena butuh menunggu bagasi, antri memasukkan bagasi, antri imigrasi, antri scan.

Di dalam pesawat ada Entertainment System. Kalo saya membawa peralatan yang lengkap, sistemnya sepertinya bisa dijebol. Sistemnya menerima input USB, dan biasanya sistem seperti ini rentan terhadap berbagai macam file yang corrupt. Sistemnya sendiri memakai HTML untuk user interfacenya, ini bisa terlihat dari sifatnya, misalnya file yang memiliki nama &lt; akan muncul sebagai tanda kurang dari (<).

Lanjutkan membaca “Ke Belanda”

Ponsel Anda disadap? (bagian 2)

Setelah Anda membaca bagian pertama posting ini, pertanyaan yang kemungkinan muncul adalah: jadi bagaimana saya tahu kalau ponsel saya sudah terinstall program untuk menyadap? Jawaban sederhananya: jika yang menyadap level biasa, maka penyadapan akan sangat mudah dideteksi. Jika yang menyadap level negara, akan sangat sulit dideteksi.

Sebelum mengecek Ponsel

Sebelum mencurigai ponsel Anda, cek dulu semua account online Anda. Cek sejarah login Anda untuk melihat ada yang mencurigakan atau tidak.  Seperti telah dibahas sebelumnya: cara seseorang bisa masuk ke HP Anda ada banyak, jadi meskipun Anda bisa membersihkan HP, kalau cara masuknya masih terbuka ya masih bisa kena lagi.

Cek juga desktop/laptop Anda. Tidak ada satu resep khusus untuk melakukan ini, jika ragu: backup data, lalu reinstall semuanya, dan update semua software yang Anda pakai ke versi terbaru. Hati-hati dengan software bajakan, meski pembajak awal mungkin jujur dan tidak memberikan backdoor, orang lain mungkin menambahkan backdoor.

Cek juga apakah kecurigaan Anda bisa dijelaskan dari sudut pandang lain. Misalnya apakah informasi yang bocor hanya yang diterima orang tertentu saja. Mungkin orang tersebut dihack, mungkin pula dia yang membocorkan informasinya.

Pemeriksaan Ponsel

Ada beberapa titik di HP yang bisa diperiksa. Pertama coba perhatikan semua notifikasi yang muncul. Lihatlah jika ada yang tidak wajar atau mencurigakan. Dalam kasus di bawah ini saya memang sengaja menginstall certificate supaya bisa melakukan monitoring koneksi jaringan. Informasi mengenai WhatsApp juga wajar karena saya sedang mengakses WhatsApp via web.

Lanjutkan membaca “Ponsel Anda disadap? (bagian 2)”