Flipper Zero merupakan tool hacking/pentesting serbaguna. Harganya tidak terlalu murah (169 Euro) tapi juga tidak terlalu mahal jika dibandingkan benda lain yang jadi saingannya, mengingat fungsionalitas nya banyak.
Awalnya saya cuma ingin memahami kenapa tahun lalu gagal melakukan akuisisi data WhatsApp di Android yang memakai Android 12 (non-root), tapi ternyata eksplorasinya malah mendalam ke bagaimana sistem backup di Android bekerja. Saya melakukan berbagai eksperimen dan juga langsung membaca source code Android untuk memahami berbagai detail mengenai backup data di Android.
Dalam tulisan ini saya akan menuliskan nomor versi Android yang dikenal user (misalnya Android 6.0) dan kadang mencantumkan API Levelnya jika memang relevan (misalnya: Android 6.0 memiliki API Level 23). Menurut saya versi Android ini lebih mudah dipahami dibandingkan API Level yang biasanya hanya dikenal oleh developer.
Latar Belakang
Untuk keperluan tertentu kadang kita ingin mengekstrak data dari sebuah aplikasi Android. Beberapa contoh: untuk keperluan forensik, untuk recovery data, atau untuk riset security.
Sebuah aplikasi bisa menyimpan data di lokasi yang dengan mudah diakses karena berada di lokasi publik. Contoh lokasinya: galeri foto, direktori Downloads, dan SD Card. Informasi yang disimpan di sini sifatnya publik dan untuk bisa dikonsumsi aplikasi lain. Contoh: media (foto, video, file) dari aplikasi chat seperti WhatsApp bisa disimpan di direktori publik.
OffSec adalah perusahaan yang membuat Kali Linux dan Exploit DB serta memberikan sertifikasi security. Berbeda dengan kebanyakan sertifikasi security lain, sertifikasi ini sifatnya praktis, dan berlaku selamanya (tidak perlu update/retake setiap beberapa tahun). Sebelum masuk ke tipsnya, saya ingin cerita tentang apa itu ujian OffSec.
Di profesi saya yang lain (sebagai programmer/developer), saya suka memberikan test atau ujian praktis pemrograman untuk membuktikan bahwa programmer memang beneran bisa memprogram. Di dunia pentest, ini agak lebih sulit, karena target pentest bisa sangat luas, seseorang yang kebetulan menemukan bug IDOR di Google atau Facebook (mungkin sudah ahli di bidang web) mungkin akan bengong ketika diminta testing Active Directory (bidang red team). Ujian Offsec ini menurut saya yang paling dekat dengan dunia nyata untuk melihat wawasan seorang pentester.
Sebagai pembanding sertifikasi security yang lain, silakan lihat link berikut ini. Informasinya lengkap, bahkan ada informasi biaya jika mouse dihover di atas masing-masing sertifikasinya. Untuk pentest dan exploitation bisa dilihat di kanan atas adalah sertifikasi dari Offsec.
Ujian OffSec
Sebelum ujian, ada materi/kelas Offsec, sifatnya belajar mandiri dengan diberi diktat dan video serta forum diskusi. Kita bisa sekedar membayar untuk mendapatkan materinya saja tanpa perlu ujian. Untuk mendapatkan sertifikasi, kita perlu mengambil ujiannya.
Ujiannya memang tidak murah, belasan hingga puluhan juta rupiah. Tapi setelah mendapatkan sertifikasi ini, Anda akan bisa “balik modal” dalam hitungan bulan.
Ujian Offsec ini cukup mendekati dunia nyata, bukan soal pilihan ganda, dan bukan sekedar mengikuti instruksi. Ada cukup banyak sertifikasi yang diberikan, yang cukup populer adalah: OSCP, OSWE dan OSEP (yang semuanya ini sudah saya ambil). Selain tiga itu, masih ada lagi beberapa sertifikasi yang lain.
OSEP adalah sertifikasi dari Offsec untuk pentester berpengalaman (Offsec Experienced Penetration Tester). Tidak seperti ketika saya mengambil OSCP dan OSWE yang langsung sukses, saya gagal dua kali ujian, dan baru berhasil hari ini.
Meskipun kecewa pada diri sendiri karena tidak langsung sukses, menurut saya pengalamannya tetap perlu dituliskan. Dari pencarian singkat saya, sepertinya belum ada tulisan sertifikasi OSEP dalam bahasa Indonesia yang saya temukan di internet. Semoga tips yang saya tuliskan bisa berguna supaya yang membaca ini tidak perlu mengambil 3 kali seperti saya.
Dalam tulisan ini saya akan membahas UEFI (Unified Extensible Firmware Interface) dari mulai dasarnya, securitynya, dan sekilas cara reverse engineeringnya, dan hal-hal apa yang perlu diperhatikan ketika berurusan dengan UEFI (misalnya ketika melakuan cloning komputer).
Meskipun tulisan ini cukup panjang, tapi ini hanya perkenalan saja. Ada banyak topik yang tidak saya bahas. Ada beberapa topik yang penjelasannya saya sederhanakan sehingga mungkin kurang akurat. Silakan baca berbagai website yang saya link dari artikel ini jika ingin mendapatkan penjelasan lebih dalam. Jika ingin belajar langsung dari sumbernya, spesifikasi UEFI dan source code dari Intel bisa dibaca.
Secara awam UEFI adalah pengganti BIOS (Basic Input Output System). BIOS sendiri adalah software yang sudah tertanam di komputer yang menyediakan akses dasar ke hardware. Sebagai informasi: BIOS hanya ada di arsitektur x86, sedangkan di arsitektur lain, fungsi BIOS ini digantikan oleh software lain. Software low level yang menempel ke hardware ini disebut juga sebagai firmware.
Ketika sebuah komputer dinyalakan, perlu ada firmware yang bisa meload sistem operasi dari suatu media, entah itu dari disk (macam-macam, bisa flash disk, micro sd, harddisk, SSD, NVME, dsb) dari network, atau mungkin dari sumber lain. Di dunia PC, firmware ini dulunya adalah BIOS, tapi sudah belasan tahun ini digantikan oleh UEFI.
Sedikit Sejarah
BIOS untuk x86 usianya sudah sangat tua (dari jaman PC XT), dan memiliki banyak keterbatasan (misalnya hanya bisa berjalan di mode 16 bit). Jadi untuk sistem operasi 32 atau 64 bit, boot loader atau sistem operasi perlu beralih mode dari 16 ke 32/64 bit setelah diload oleh BIOS.
Saya dulu pernah membuat sendiri OS sederhana dari nol, dan proses bootnya cukup panjang: mengimplementasikan kode MBR (yang otomatis diload oleh BIOS, ukurannya maksimal 512 byte), yang akan meload boot loader (memanggil fungsi/interrupt BIOS untuk mengakses disk), lalu boot loadernya meload kernel, switch ke mode 32 bit, lalu baru melakukan jump ke mode 32 bit. Detail proses booting klasik bisa dibaca di sini.
Artikel ini ditujukan untuk para reverse engineer dan pentester yang ingin mengetahui situasi terbaru hooking Android pada awal tahun 2022. Hooking Android artinya kita menulis kode untuk mengintercept fungsi yang ada dan menggantinya dengan milik kita. Tujuan hooking ada banyak, misalnya: bypass SSL Pinning, security testing, cheating game, dsb.
Setelah capek kucing-kucingan dengan Google dalam hal Safety Net, akhirnya Magisk Hide dihapus. Selain Magisk Hide, Magisk memiliki banyak modul. Modul Magisk sifatnya low level, seperti menyembunyikan, memindahkan, menggantikan atau menambahkan file tertentu di Android.
Sekarang ini ada modul magisk baru bernama Zygisk. Ini sekedar untuk meload sebuah .so di setiap proses (dan otomatis dipanggil ketika proses dimulai). Dengan ini, developer Magisk hanya ingin bilang: ini saya sediakan akses untuk hook low level, silakan dimanfaatkan untuk apapun.
Postman merupakan aplikasi komersial (tapi ada versi gratisnya) untuk merancang API (Application Programming Interface), mendokumentasikan API, memonitor API, dan testing API berbasis web. Tool ini bisa dipakai oleh developer dan tester.
Di tulisan ini saya hanya akan membahas penggunan Postman untuk testing API. Artinya saya hanya akan membahas bagian Collections dan Environment. Testing API bisa dilakukan untuk development, QA, ataupun pentesting. Postman memudahkan banyak hal untuk testing, misalnya kita bisa melakukan otorisasi, bisa menyimpan token, dan bisa kita program menggunakan JavaScript.