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.

Salah satu metode yang dipakai untuk memata-matai adalah dengan tidak menginstall aplikasi baru, tapi mengganti aplikasi Anda dengan versi lain yang sudah dimodifikasi. Versi yang sudah dimodifikasi ini bisa mengirimkan pesan ke orang lain. Ini yang dilakukan dengan software dari Hacking Team yang dijual ke berbagai pemerintah.

Sebagai catatan: beberapa orang memang dengan sengaja memodifikasi WhatsAppnya untuk mengaktifkan fitur tertentu, misalnya agar meskipun kita sudah membaca pesan seseorang, tapi tidak diketahui oleh orang lain sampai kita tekan sebuah tombol (tujuannya supaya tidak dikira malas, bisa beralasan belum baca message).

Aplikasi yang sudah dimodifikasi ini tentunya tidak bisa diupdate dari Google Play, jadi cara pertama adalah: coba install lagi aplikasi Whats App dari Google Play. Jika ada WhatsApp “palsu”, maka akan muncul opsi “Install” (dianggap belum terinstall).

Berikutnya lagi kemungkinan HP Anda sudah diroot. HP yang sudah diroot bisa dimodifikasi sehingga aplikasi tertentu bisa membaca aplikasi lain.  Tergantung versi Android yang Anda pakai (dan dari vendor mana), proses ini bisa memakan waktu beberapa menit saja. Jika Anda adalah orang awam yang merasa tidak pernah me-root HP Anda, maka Anda perlu mengecek apakah HP Anda sudah diroot oleh orang lain. Sebagai catatan tambahan: HP China yang tidak bermerk kadang sudah diroot “dari pabriknya”.

Sebagai catatan tambahan: “membaca aplikasi lain” ini bisa sekedar screen capture saja. Saya pernah membuat aplikasi Blackberry dan aplikasi Dekstop sehingga kita bisa mengendalikan Blackberry dari PC. Prinsip program tersebut hanyalah melakukan screen capture secara kontinyu dan mengirimkan ke PC (via USB/Bluetooth/WIFI), dan tentu saja ini bisa dimodifikasi untuk mengirim ke komputer lain jika dideteksi aplikasi yang aktif adalah aplikasi tertentu. Program serupa bisa dibuat untuk sistem operasi lain, tapi di OS lain  butuh akses root.

Anda bisa memakai aplikasi Root Checker untuk mengecek apakah HP Anda sudah diroot. Alternatif lain adalah menginstall aplikasi bangking seperti Sakuku, tidak perlu sampai mendaftar, ketika dijalankan aplikasi ini langsung mengecek apakah HP Anda diroot atau tidak dan tidak mau jalan jika diroot.

Jika Anda merasa tidak pernah me-root tapi sudah ter-root, maka cara terbaik adalah mereset HP Anda ke factory setting. Lebih bagus lagi kalau diinstall ulang dengan stock firmware dari web produsennya.

Keberadaan root juga bisa disembunyikan dengan aplikasi tertentu atau dengan modul XPosed. Dengan ini hampir semua aplikasi tidak bisa mendeteksi keberadaan root dan keberadaan program penyadap. Saat ini Google memiliki fitur Safety Net untuk bisa mengetahui apakah HP dimodifikasi atau tidak. Salah satu caranya adalah memakai SafetyNet Playground. Sayangnya ini hanya berlaku untuk ponsel bermerk, bukan ponsel murah dari China (akan gagal Safety Net karena dianggap sudah dimodifikasi).

Apakah setelah dicek dengan Safety Net sudah pasti aman? belum tentu juga, dalam bahasa orang awam: di Android versi tertentu ada cara supaya aplikasi bisa mengakses aplikasi lain. Dalam bahasa teknis: mungkin saja sebuah aplikasi melakukan kernel exploit temporer, dan menghapus lagi jejaknya setelah itu. Ada juga software bernama Magisk yang biasanya bisa membypass SafetyNet (tapi biasanya tiap beberapa bulan diupdate oleh Google).

Jika Anda adalah orang security, maka tentunya pernah mendengar mengenai rootkit level kernel di berbagai sistem operasi. Android pada dasarnya memakai kernel Linux, jadi tidak sulit membuat rootkit yang sulit dideteksi.

Selain ponselnya sendiri, pengecekan berikutnya yang bisa dilakukan adalah pengecekan paket jaringan. Cara ini lebih sulit karena mewajibkan kita tahu mengenai koneksi jaringan yang umum dan tidak umum oleh aplikasi. Inipun tidak selalu berhasil, bisa saja program penyadapnya mengirimkan hasil sadapan jam 3 pagi ketika semua orang tertidur.

Penutup

Secara umum cukup sulit bagi orang awam untuk mendeteksi penyadapan di ponselnya. Kemungkinan yang dirasakan adalah efeknya (misalnya akses jaringan jadi lambat, atau secara umum HP menjadi lambat). Pengecekan yang proper hanya bisa dilakukan ahlinya.

JIka Anda cukup mahir, cara termudah yang bisa dilakukan jika mencurigai ada penyadapan adalah: backup semua data, reset/reinstall firmware ponsel, reinstall PC Anda. Ganti semua password Anda.

Dan yang paling penting adalah: Jika Anda tidak ingin ada informasi yang penting tersebar, jangan gunakan ponsel untuk mengkomunikasikan hal tersebut. Jangan simpan foto atau video yang tidak boleh tersebar.

Ponsel Anda disadap? (bagian 1)

Beberapa waktu yang lalu ada yang mengirim pesan di Facebook: “Mas, saya merasa ada yang mengintip pesan WhatsApp saya”. Pertanyaan dilanjutkan dengan bagaimana caranya mengetahui apakah memang benar disadap, bagimana cara membersihkannya, dan juga bagaimana orang tersebut bisa masuk?

Ada banyak alasan kenapa seseorang mungkin mau menyadap Anda. Mungkin Anda orang penting dan pemerintah mau menyadap Anda. Mungkin ada rekan atau lawan bisnis yang ingin tahu soal bisnis Anda. Mungkin Anda berteman dengan orang penting yang terlalu sulit didekati untuk disadap. Mungkin Anda punya mantan pacar yang masih belum bisa melupakan Anda.

Secara umum, seseorang bisa saja tidak bertujuan menyadap. Bisa saja seseorang masuk ke HP Anda untuk  sekedar merampok: mengakses rekening bank Anda atau informasi kartu kredit Anda, atau bahkan sekedar mengambil pulsa Anda. Bahkan kadang sekedar agar uang dari iklan yang tampil di berbagai aplikasi masuk ke rekening penyerang.

Serangan Massal vs Serangan Spesifik

Tidak selamanya kita menjadi korban karena kita ditargetkan spesifik. Sering kali ada serangan massal (menebar jala), dengan harapan dapat korban empuk. Ketika ada sebuah serangan massal dan penyerang menyadari Anda punya akses penting, mungkin mereka akan memfokuskan diri pada Anda.

Ada contoh yang baru saja terjadi. Ada software open source OS X bernama Handbrake yang servernya dihack dan softwarenya disisipi malware selama 3 hari. Siapapun yang mendownload dan menginstall dalam rentang 3 hari tersebut kena malware. Sebenarnya sekarang ini software ini sudah cukup jarang dipakai karena selain untuk konversi video fungsi utamanya dulu adalah me-rip (menyalin film dari) DVD.

Ada satu developer OS X dari perusahaan Panic.com kebetulan saja sedang mengupdate software Handbrake di dalam rentang waktu 3 hari tersebut. Karena orang itu merupakan developer maka dia memiliki akses source code perusahaan, dan hasilnya: source code produk perusahaan mereka dicuri.

OS X merupakan sistem operasi yang relatif aman, jumlah penggunanya tidak sebanyak Windows, dan jumlah malware yang ada juga tidak sebanyak Windows, tapi karena sedang apes ya tetap saja bisa kena. Pembuat malwarenya tentunya tidak bisa memprediksi siapa yang akan mendownload softwarenya, tapi kebetulan saja ada korban menarik yang ketemu.

Tiap hari ribuan malware didistribusikan dengan berbagai cara, dengan email, dengan link web, dsb. Para pembuat malware ini tidak berfokus pada orang tertentu. Jika kebetulan pembuat malwarenya mengamati bahwa Anda adalah target penting (atau mungkin berhubungan dengan orang penting), maka dia bisa meneruskan manual proses penyerangan.

Serangan spesifik juga bisa dilakukan, tingkat kesulitannya tergantung banyak hal. Tapi biasanya yang pertama dilakukan adalah mengenal target dulu. Kemudian titik lemahnya bisa dicari. Yang dimaksud titik lemah adalah titik manapun untuk bisa menguping: bisa HP-nya langsung, bisa account onlinenya, bisa Laptopnya, bisa routernya, dsb.

Keamanan Sistem Operasi Ponsel

Pertama perlu dicatat bahwa keamanan ponsel berbeda-beda tergantung sistem operasi dan versinya, saat ini yang paling aman adalah iPhone (sistem operasinya iOS), dan bisa dibilang yang paling tidak aman adalah Android (kebanyakan model selain yang terbaru).

Ada trade-0ff antara kenyamanan dan keamanan. Di Android hampir semua aplikasi bisa mengakses apapun, bahkan aplikasi apapun bisa diganti dengan aplikasi lain. Contoh sederhana: SMS bisa ditangani oleh program tertentu, di iOS tidak bisa. Dengan adanya akses SMS, di Android bisa ada program auto forward SMS ke email atau ke SMS lain, sementara hal ini tidak bisa di iOS.

iOS bisa dibuat jadi lebih nyaman dengan jailbreak, tapi ini mengurangi keamanannya. Dengan jailbreak, berbagai software yang tidak diijinkan Apple bisa diinstall.

Kenyamanan Android ditukar dengan keamanannya: program yang semestinya memforward SMS ke email Anda bisa saja ternyata jahat dan sekaligus memforward SMS bank Anda ke email penjahat. Di sini pengguna Android perlu belajar percaya pada pembuat aplikasi. Jika Aplikasi didapat dari Play Store resmi Google, maka kemungkinan besar aplikasi itu aman.

Akses SMS hanyalah salah satu contoh saja, masih banyak contoh lain yang dibolehkan di Android tapi tidak di iOS. Lebih mudah membuat dan menginstall aplikasi ke sebuah handset Android, dalam hitungan menit saya bisa menginstall aplikasi buatan saya ke HP orang lain, cukup dengan mengganti sedikit setting. Untuk iOS, agar bisa menginstall aplikasi kita perlu mendaftar jadi developer di situs Apple, dan jika kita tidak membayar 99 USD/tahun, aplikasi yang diinstall di device akan expired dalam seminggu.

Keamanan Aplikasi Messaging

Berbagai macam aplikasi messaging (misalnya WhatsApp, BBM, Line, Telegram) sudah sangat aman, sehingga data yang ada di perjalanan tidak bisa disadap, tapi data yang ada di ponsel bisa disadap. Jika Anda tidak percaya bahwa ada bentuk enkripsi yang tidak bisa dibuka, Anda bisa membaca artikel saya tentang ubreakable encryption.

Sekali lagi: meskipun ISP atau orang lain tidak bisa menyadap data di perjalanan, tapi data yang ada di salah satu ujung bisa disadap. Ibaratnya jika ada orang mengintip di belakang Anda waktu Anda mengetik pesan, maka orang itu akan bisa membaca pesan Anda, tidak peduli dikirim dengan metode apapun.

Yang di belakang Anda bisa ngintip

Aplikasi messaging juga perlu menyimpan data di ponsel Anda, menyimpan semua pesan masuk dan keluar. Ini ibaratnya seperti surat datang ke rumah Anda, jika surat ini ingin bisa dibaca berulang, maka perlu disimpan.

Beberapa aplikasi messaging, seperti Line menyimpan pesan di database dalam bentuk plaintext. Ini lebih mudah dibaca. Ini seperti menaruh surat di atas meja, sedangkah yang lain seperti WhatsApp dan BBM, pesan yang tersimpan di ponsel/sd card ini juga dienkripsi. Perlu dicatat bahwa ini hanya mempersulit saja, isi pesan tetap bisa dibuka, karena jika tidak bisa dibuka maka tidak mungkin bisa ditampilkan di ponsel kita. Ibaratnya kita hanya memasukkan pesan ke dalam lemari besi. Bisa dibuka, tapi kuncinya masih ada di dalam rumah.

Aplikasi lain di ponsel Anda, dalam situasi tertentu bisa mengintip seperti seseorang di belakang Anda. Aplikasi-aplikasi di ponsel itu seperti orang yang berada di “rumah” yang sama. Jika aplikasi “nakal”, maka ada kemungkinan bisa mengintip data aplikasi lain. Sekarang ini di sistem operasi yang baru sudah lebih sulit untuk bisa mengakses data aplikasi lain, tapi tetap saja terkadang masih ada celah.

Beberapa aplikasi messaging, seperti WhatsApp, Telegram dan BBM memungkinkan kita mengakses pesan di Desktop/Web. Untuk memonitor orang awam, hal ini bisa dipakai. Pinjam HP orang tersebut sebentar saja, aktifkan chat via web, dan semua pesan bisa dilihat online. Metode ini tidak akan bekerja untuk orang yang aware dengan security. WhatsApp akan menampilkan bahwa koneksi web aktif dan notifikasi ini tidak bisa dihilangkan dengan swipe.

 

Notifikasi Web WhatsApp

Line hanya menampilkan pesan sekali dan bisa diswipe, jadi kalau seseorang baru saja meminjam HP dan login ke Line di PC, tidak akan terlihat dengan mudah.

Saat ini untuk Line kita harus pergi ke Settings, Account, Devices. Parahnya lagi jika seseorang sudah logout, tapi sempat sebelumnya login, kita tidak bisa mengeceknya (tidak ada historynya).

 

Informasi device yang login di Linux

Sebagai catatan tambahan: ada banyak aplikasi baik mobile app maupun web online untuk membuat chat palsu, baik WhatsApp ataupun yang lain. Bagaimana membuktikan keasliannya? hanya dengan akses ponsel orang tersebut, dan melakukan proses forensik yang benar. Benar di sini artinya terdokumentasi dengan jelas semua proses akuisisi datanya, supaya yakin tidak ada tampering (modifikasi) terhadap data yang diselidiki.

Screenshot posting Facebook/instagram atau apapun juga gampang dipalsukan.  Saya kadang tertawa melihat banyak kubu yang yang share bahwa chat WA gampang dipalsukan, tapi di posting berikutnya memposting fitnah kepada seseorang berdasarkan screenshot Facebook yang mungkin juga palsu.

Keamanan Account Online

Rasanya tidak ada orang yang memakai smartphone tanpa account online, baik itu email, Facebook, Instagram, maupun layanan lainnya. Sangat penting untuk mengamankan account-acount tersebut.

Contoh: Jika seseorang memiliki akses ke account facebook Anda, maka orang itu bisa melihat semua foto dan pesan yang pernah Anda kirim di Facebook messenger tanpa perlu akses ke HP Anda. Jika seseorang memiliki akses email, maka orang tersebut bisa mereset banyak password (misalnya password Facebook).

Contoh lain kejadian besar yang pernah terjadi adalah bocornya foto-foto artis dari iCloud dari berbagai artis terkenal. Jika mungkin aktifkan Two Factor Authentication, agar ketika login dibutuhkan token tambahan.

Sebagai catatan, berbagai macam hack yang dilakukan berikutnya biasanya tujuan utamanya adalah: menginstall aplikasi di ponsel Anda yang menjadi “mata-mata”. Sebuah ponsel adalah komputer mini.

If someone can persuade you to run his program on your computer, it’s not your computer anymore.

David Salomon (Elements of Computer Security)

Keamanan Komputer Desktop/Laptop

Bagian ini ditujukan bagi mereka yang menghubungkan komputernya ke ponsel, untuk backup/sinkronisasi, atau untuk pembuatan aplikasi (khusus untuk developer). Bayangkan saja kejadian seperti kasus Panic.com yang saya sebutkan di atas.

Jika seseorang mengambil alih komputer Anda dengan malware/RAT (Remote Access Trojan), dan Anda menghubungkan ponsel ke komputer, maka data dari ponsel biasanya bisa diambil. Apalagi jika ternyata datanya memang sudah dibackup di komputer Anda, maka tinggal diambil tanpa repot masuk ke ponsel Anda.

Pada kebanyakan komputer orang awam yang saya cek, biasanya saya menemukan malware jinak. Biasanya malware tersebut hanya mengganti search engine yang default, menampilkan popup, dsb, malware yang menghasilkan uang recehan dari iklan. Kalau software jinak bisa dengan mudah masuk, tentunya yang ganas pun kemungkinan masuknya cukup besar.

Jika punya akses fisik ke komputer yang tidak dipassword, maka serangannya cukup mudah, cukup install sebuah aplikasi dari USB atau dari Internet.

Keamanan Koneksi Data

Meskipun secara umum program messaging saat ini sudah aman terhadap penyadapan online, tapi keamanan koneksi data tetap perlu diperhatikan, karena bisa menjadi batu loncatan untuk serangan lain. Perlu dicatat bahwa di ponsel ada puluhan aplikasi, tidak semuanya memakai HTTPS untuk melakukan koneksi data. Jika salah satu aplikasi ini bisa dibajak, maka bisa menjadi batu loncatan masuk ke ponsel secara umum.

Jika Anda melakukan koneksi via WIFI, seseorang bisa membuat access point dengan nama dan password yang sama, dan kebanyakan ponsel akan otomatis melakukan koneksi ke access point tersebut.

Banyak modem ADSL atau fiber di Indonesia yang tidak aman, seseorang bisa gampang masuk. Bahkan baru-baru ini modem-modem di Indonesia pernah dijadikan bagian dari botnet. Di rumah biasanya modem ini terhubung ke komputer, atau ke ponsel melalui WIFI. Biasanya ada beberapa device (komputer/laptop/game console) yang terhubung.

Kadang kalau saya sedang iseng chat dengan seseorang, saya memberikan URL ke server saya yang akan diklik orang tersebut. Dari server saya bisa melihat alamat IP orang tersebut. Dari alamat IP kadang saya bisa masuk ke dalam modemnya.

Dari modem saya bisa melakukan banyak hal, tergantung kecanggihan modemnya. Beberapa modem berbasis Linux sudah sangat canggih, saya bisa langsung melakukan serangan ke rumah orang tersebut dengan sangat mudah.

Beberapa modem fiturnya sangat sederhana, tapi inipun sudah cukup untuk masuk. Contohnya yang bisa dilakukan di modem jenis murahan adalah mengganti alamat server DNS (Domain Name System) di modem.

Server DNS adalah server yang menerjemahkan nama menjadi alamat. Jika saya ganti DNS menjadi milik saya, maka  saya bisa melihat domain situs mana yang dikunjungi orang tersebut (dan biasanya jadi tahu aplikasi mana yang dipakai orang tersebut).

Jika saya tahu bahwa salah satu domain yang dikunjungi ternyata tidak memakai HTTPS, saya bisa mengarahkan domain tersebut ke server saya, yang memforward requestnya ke server asli. Hasilnya: saya bisa melihat koneksi yang dilakukan, saya bisa tahu sistem operasi apa yang dipakai di ponsel atau komputer di rumah tersebut (baik dari User-Agent saja, atau dari javascript yang disisipkan di web). Jika saya sudah yakin akan sebuah target (misalnya ada PC Windows), saya bisa mengeset firewall di modem untuk mengijinkan koneksi dari luar masuk ke PC yang spesifik.

Semua yang saya bicarakan di atas adalah sesuatu yang sifatnya real dan bisa dilakukan relatif mudah (bahkan kedua adik saya mengganti modem mereka setelah saya berhasil masuk).

Sebagai catatan tambahan: modem 4G juga banyak yang memakai Linux. Jika seseorang cukup punya niat, maka modem 4G juga bisa ditukar (atau diflash ulang) dengan firmware yang berisi backdoor. Beberapa investigasi awal sudah dilakukan teman saya y3dips terhadap modem Bolt.

Keamanan benda lain

Saya tidak bisa mengcover semua hal yang mungkin bisa menjadi jalan masuk untuk penyerang. Ada banyak teknologi baru terus bermunculan, dan ada risiko baru. Contoh: banyak smartwatch yang bisa dijadikan unlock method, artinya ponsel tidak akan meminta passcode atau PIN jika smartwatch itu di dekat ponsel.

Meskipun itu sangat praktis, tapi juga jadi jalan masuk baru. Jika Anda sedang mandi dan meninggalkan ponsel dan smartwatch Anda di luar, maka seseorang mudah sekali mengakses ponsel tanpa perlu tahu PIN/Password.

Di masa lalu, charger USB juga dengan mudah bisa mencuri data kita karena tidak diperlukan otorisasi dari pengguna. Sekarang HP sudah akan menanyakan: Allow access to device data? atau semacam itu jika HP dihubungkan ke komputer  atau device lain yang berusaha mengakses data. Tentunya walaupun ada pengamanan ekstra ini, pengguna awam yang masih saja menekan: Yes, akan tetap kena.

Penutup

Posting bagian ini sekedar menunjukkan dua hal. Pertama Anda tidak harus jadi orang penting atau terkenal untuk disadap, dan kedua: ada banyak cara untuk masuk ke ponsel seseorang. Cara-cara ini ada yang sangat mudah, dan ada juga yang cukup rumit dan butuh waktu.

Jika seseorang memiliki niat dan dana untuk menyadap Anda, kemungkinan besar mereka akan bisa melakukannya.

Unbreakable Encryption

“Emangnya nggak bisa dibongkar virusnya?”. Masih terkait dengan ransomware. Banyak orang yang sulit menerima bahwa dalam kasus tertentu tidak ada cara membongkar file yang terenkripsi tanpa mengetahui keynya walaupun kita bisa membongkar algoritmanya sampai sangat detail.

Konsep yang sepertinya sulit diterima oleh orang awam yang tidak memiliki dasar dalam kriptografi: bahwa ada kriptografi yang tidak bisa dijebol meskipun kita tahu dengan tepat apa algoritmanya. Bahwa satu-satunya cara menjebol adalah dengan mengetahui kunci-nya. Dan bahwa kadang satu-satunya cara mencari keynya adalah dengan mencoba semua kemungkinan yang ada yang jumlahnya sangat besar.

Enkripsi Simetrik

Mari kita mulai dengan satu konsep kriptografi yang sederhana: one time pad. Ini adalah bentuk enkripsi sangat sederhana, tapi tidak mungkin bisa dipecahkan tanpa mengetahui key-nya. Dalam one time pad, keynya harus sama panjangnya atau lebih panjang dari pesan yang akan kita enkrip, dan keynya hanya boleh dipakai sekali.

Saya contohkan sederhana sekali: anggap huruf A=1, B=2, C=3, … , Z=26 dan 0 adalah spasi.  Sekarang jika saya punya pesan rahasia ini:XYZABCD. Apakah isi pesannya? Kuncinya adalah serangkaian bilangan, bisa negatif ataupun positif. Continue reading “Unbreakable Encryption”

Ransomware WannaCry

Posting ini sekedar klarifikasi untuk berbagai misinformasi mengenai ransomware, khususnya WannaCry/WannaCrypt yang baru saja beredar. Sejujurnya saya malas menuliskan ini, tapi nggak tahan juga melihat banyak informasi salah yang beredar. Sekalian juga saya bahas Ransomware secara umum baik penyebaran maupun penanganannya. Posting ini akan saya update jika ada sesuatu yang baru.

Ransomware adalah jenis malware (software jahat) yang mengenkripsi data milik korban lalu meminta tebusan uang (biasanya melalui bitcoin) agar file korban bisa dibuka lagi. Ransomware bisa menyebar melalui email, website, network share, ataupun media lain. Khusus untuk WannaCry, malware ini juga memanfaatkan bug di OS Windows. Jika komputer Windows di jaringan yang sama belum diupdate (dan setting SMB-nya belum diubah), maka tanpa melakukan apapun, komputer tersebut bisa kena. Continue reading “Ransomware WannaCry”

Cara cepat hacking ribuan site dan menjadi kaya secara ilegal

Baru-baru ini membaca berita tentang tertangkapnya ‘hacker’ muda yang membobol ‘ribuan’ site. Bagi yang melek dunia security, berita ini biasa saja. Tapi tentunya bagi orang awam ini kedengaran hebat.

Saya kasihan dengan orang jujur yang berkomentar benar, tapi malah dibalas dengan: “emangnya kamu bisa hacking sebanyak itu?” Jadi ya saya  tuliskan saja caranya di artikel ini. Ini bukan untuk ditiru, tapi sebagai petunjuk bagaimana mengamankan diri dari serangan semacam ini.

Pertama kita liat dulu yang dimaksud “hacking” di sini apa. Biasanya yang diketahui orang adalah sekedar mengubah sebuah homepage (atau menaruh sebuah file di sana). Tentunya ini nggak keren kalau tidak dipamerkan.

Masalahnya hasil deface seperti ini bisa diperbaiki dalam hitungan menit atau jam (maksimum beberapa hari jika adminnya sedang libur). Jadi supaya ketenaran sesaat ini terdokumentasi, ada situs-situs yang akan mencatat sejarah bahwa ini pernah terjadi. Contoh situs yang mentrack ini adalah http://www.zone-h.org (internasional) dan http://defacer.id/ (Indonesia, saat ini sudah tutup).

Hack Ribuan Situs

Ini profile salah satu contoh hacker yang katanya “meretas” lebih dari 4000 situs. Di sini ada penjelasan ekstra bahwa dari 4239 situs,3443 di antaranya adalah mass defacements.

Mass defacement ini adalah defacement yang paling mudah, artinya defacement otomatis dengan tool, tidak dihack satu per satu, ini nggak perlu skill jika toolnya bukan bikinan sendiri. Intinya cukup menjalankan tool untuk mencari bug di berbagai situs, dan jika beruntung menemukan bug, langsung otomatis mengeksploit (mengganti teks, atau mengupload file), dan kalau lebih beruntung lagi sekalian dapat akses shell dan bahkan root (dengan autoroot).

Penjelasan panjang dan detail mengenai mass defacement bisa dibaca di sini, artikel ini dari tahun 2010, tapi intinya masih sama. Yang penting dilakukan: rajin mengecek adanya bug baru yang belum sempat di patch. Contohnya bug yang belum lama ini ada adalah yang menimpa wordpress 4.7/4.7.1. Jika Anda punya sedikit skill otomasi, bug ini mudah sekali dieksploit. Ribuan situs bisa diretas dalam waktu relatif singkat.

Berikutnya ada bug-bug yang perlu semi manual, artinya agak susah diotomasi. Jika kebetulan menemukan jackpot, misalnya contol panel sebuah hosting,  maka ratusan domain di satu server bisa dideface.

Bagimana jika situsnya sulit ditembus? cara berikutnya yang “bodoh” tapi ternyata cukup efektif adalah: bruteforce alias mencoba satu per satu password dengan wordlist (daftar kata password yang umum). Daftar password ini bisa didapat dari berbagai situs. Sudah beberapa kali situs besar seperti Yahoo, LinkedIn, dsb passwordnya bocor, jika passwordnya digunakan ulang (reuse) di sebuah situs, maka account itu langsung bisa “dihack”.

Apa yang dibruteforce? apa saja yang tidak di batasi rate-nya dan tidak memakai captcha, bisa berupa ssh, remote desktop, login blog, login admin console, dsb. Tool untuk bruteforce juga tersedia secara gratis, contohnya THC hydra, dan untuk website bisa memakai burp suite atau Zaproxy.

Biasanya yang paling gampang dibruteforce adalah: email. Dengan akses email, mudah mengakses apa saja yang terhubung dengan email tersebut (dengan fitur forgot password). Di level ini butuh sedikit skill yang bisa dipelajari hitungan jam (jika Anda developer/admin) sampai beberapa hari (orang awam/pemula).

Host-host yang berhasil dihack dengan mass defacement dan berhasil diakses shellnya bisa menjadi senjata sebagai host yang melakukan bruteforce. Dengan cara ini, alamat IP yang melakukan bruteforce ada banyak.

Dengan target ribuan IP, bisa didapatkan lagi ratusan website yang bisa dideface, kali ini bisa manual ditambahkan supaya nggak masuk kategori “mass defacement”. Andaikan dapat rata-rata 5 login per hari, enam bulan (180 hari) cukup untuk deface 900 situs.

Masih belum berhasil juga? cara berikutnya adalah phishing alias mengirim email untuk menipu korban. Dibutuhkan skill social engineering (skil menipu), dan kadang sedikit skill untuk mensetup website yang tampak seperti website asli sebuah perusahaan/bank.

Banyak perusahaan memakai hosting lokal, dan managemen domain bisa dilakukan via web. Jika ini dibruteforce dan kita mendapatkan akses ke konfigurasi DNS, maka kita bisa menambahkan subdomain sendiri. Untuk orang awam, DNS ini seperti “tabel” yang memetakan nama ke alamat mesin.

Misalnya kita bisa menambahkan subdomain hack.situsterkenal.com, dan bisa kita arahkan traffic subdomain tersebut ke server kita sendiri. Perhatikan bahwa di kasus ini situsterkenal.com servernya sama sekali tidak diakses (softwarenya aman, data kartu kredit dsb aman), hanya saja “tabel” yang memetakan hack.situsterkenal.com diubah ke server lain.

Hack DNS ini juga bisa berbahaya, karena bisa dipakai untuk mengarahkan email yang diterima situsterkenal.com ke serverlain. Jika email sebentar saja diarahkan ke host lain, maka segala macam email reset password bisa ditangkap.

DDOS

Masih sebel karena situsnya tidak berhasil dihack? biasanya yang dilakukan script kiddies adalah melakukan DDOS (distributed denial of service attack). Dengan ini situs tidak bisa diakses karena banyak traffic sampah diarahkan ke domain itu. Serangan seperti ini sangat hina dina, karena berarti situsnya sudah aman dan tidak terpikir cara lain.

Carding dan Memeras

Saya tidak akan membahas detail bagian ini, karena ilmunya sangat menyusahkan orang lain. Jadi di sini saya akan memberikan beberapa contoh saja cara ilegal mendapatkan uang. Cara yang legal tentunya dengan bug bounty dan menjadi pentester resmi.

Jika ingin kaya dengan cepat, pertama yang bisa dilakukan adalah carding, alias memakai kartu kredit orang lain. Jika mendapatkan ribuan kartu kredit (dari hasil mass deface, ataupun hacking satu per satu), maka koleksi kartu kredit ini bisa dijual.

Bagaimana mendapatkan uang dari defacement? taktik yang biasanya dipakai adalah memeras. Misalnya dengan email:

Lihat link ini: situs-punya-kamu.com/abc.html

Saya berhasil ngehack, kalo mau saya kasih di mana celahnya, bayar 5 BTC ke saya

Tergantung keberuntungan, pemilik situs akan membayar, daripada omzet harian yang ratusan juta terganggu (saat artikel ini ditulis, 5 BTC sekitar 73 juta). Kalau mau terdengar sopan, sekalian posting di Twitter dengan  bahasa yang sopan ke pemilik accountnya

Saya menemukan “celah” di situs Anda, bisakah kita bekerja sama?

Tentunya kombinasi dari carding dan memeras bisa dipakai, misalnya:

Data kartu kredit di situs kamu dah di tangan saya, bayar 5 BTC supaya nggak saya sebarkan

Tapi yang dilakukan: BTC-nya diterima, tapi kartunya tetap disebarkan.

Tidak malu

Bagaimana jika keluarga bertanya bagaimana kok bisa mendapatkan duit banyak? Bilang saja kerja “pentesting”, walau “pentesting”-nya tidak diminta, dan “tarifnya” ditentukan sendiri. Sebagai catatan, pentesting yang benar bisa dilihat di posting saya yang lain.

Menjadi terkenal

Kalau ingin terkenal, lakukan kejahatan yang gampang dilacak, supaya ditangkap polisi dan masuk TV dan koran. Dengan modal ribuan situs yang sudah dihack di langkah pertama, akan terdengar sangat keren.

Ketika membaca berita, perlu dicatat: menimbulkan kerugian tidak sama dengan menerima keuntungan. Kalau saya memecahkan kaca mobil seseorang dengan batu, saya sudah meninggalkan kerugian besar (apalagi jika mobilnya mahal), tapi saya tidak mendapatkan keuntungan apa-apa.

Andaikan ada keuntungan, belum tentu sama dengan jumlah kerugian. Kalau saya mencuri spion mobil seharga 4 juta dan menjualnya seharga 200 ribu, kerugian orang itu 4 juta, tapi saya cuma mendapat untung 200 ribu saja.

Hebat?

Definisi hebat bagi banyak orang berbeda-beda. Mungkin ada yang mengagumi maling ayam yang berhasil mencuri ratusan ayam baru tertangkap (bayangkan saudara-saudara, ratusan ayam, hebat nggak?). Ada yang kagum dengan pencuri yang sekali mencuri, dapat 13 lukisan senilai 300 juta dollar yang sampai saat ini tidak tertangkap (bayangkan berapa ayam yang bisa didapat).

Setiap penjahat juga punya standar sendiri tentang dosanya, punya pembelaan sendiri. Misalnya ada yang carding tapi targetnya hanya orang luar negeri (“setidaknya saya nggak ngehack bangsa sendiri”), ada yang hanya memeras perusahaan (“setidaknya saya nggak menyusahkan orang kecil”).

Bagi saya sendiri, hacker-hacker yang hebat adalah yang dengan jujur ikut program bug bounty, hacker-hacker yang membuat berbagai tools dan diterbitkan, yang berbicara di berbagai conference atau menulis untuk membagi ilmunya, hacker-hacker yang menemukan berbagai bug dan mendapatkan nomor CVE. Intinya, orang-orang yang membuat dunia jadi tempat lebih baik dari ilmunya.

Ciri-ciri script kiddies dibandingkan orang yang hebat yang saya sebutkan adalah: pelit membagi ilmu (karena memang tidak punya) dan sok misterius supaya dibilang hebat.

Mengamankan Diri

Bagian terakhir ini yang penting untuk mengamankan dari penjahat-penjahat seperti yang saya gambarkan di atas.

Seringlah mengupdate software Anda, baik itu di komputer (desktop/laptop/server), maupun ponsel. Ini akan menutup banyak celah.

Jika Anda admin dan atau developer, jangan sampai sistem Anda bisa dibruteforce. Sebagai  admin, Anda bisa mengkonfigurasi masing-masing komponen sistem agar tidak bisa dibruteforce (atau diperlambat), sistem juga bisa dilindungi dengan melakukan banning terhadap suatu IP misalnya dengan fail2ban. Jika Anda developer bisa menambahkan captcha. Jika terpaksa membuka sesuatu yang bisa dibruteforce, gunakan password yang sangat kuat.

Sebagai pribadi, gunakan password yang sangat sulit ditebak untuk situs penting, terutama email. Gunakan password yang berbeda untuk berbagai situs. Minimal jika Anda malas, milikilah dua password: password penting dan tidak penting. Jika ada opsi two factor authentication, gunakan itu (biasanya berupa SMS atau app untuk login).

Coba cobalah “hack” diri Anda sendiri, dengan fitur forgot password sebuah situs (situs email, facebook). Apa yang muncul di situ? apakah sekedar menanyakan tanggal lahir dan nama Ayah sudah bisa direset passwordnya?

Banyak pihak dan institusi tidak memonitor setiap account. Misalnya jika ada yang berhasil menghack account Anda untuk jualan pulsa, pemilik situs tidak tahu apakah Anda memang melakukan transaksi atau Anda dihack. Jadi sesekali lakukan monitoring hal-hal yang mencurigakan.

Saran saya untuk sekarang masih hobi mendeface, tingkatkanlah skill Anda, jangan cuma lakukan apa yang bisa Anda lakukan sekarang. Meski tidak segampang jalur ilegal, menurut saya jalur jujur lebih patut ditempuh.

Bug: file version control yang bisa diakses via web

Untuk orang awam: saya menemukan bahwa beberapa situs yang cukup besar (beberapa di antaranya: Kompas  dan Tempo) memiliki kesalahan konfigurasi (misconfiguration) sehingga memungkinkan saya mendownload source code web tersebut. Saya akan membahas bagian teknisnya, tapi sebelumnya saya akan berusaha jelaskan untuk orang awam.

Nilai sebuah source code bisa beragam. Ibaratnya di depan rumah seseorang saya menemukan ada dokumen lengkap tentang sebuah bangunan. Di situ tercantum berbagai informasi, denah lengkap rumahnya, sampai merk kunci yang digunakan.

Nah jika rumah itu ada celahnya, maka dengan mudah saya tinggal membacanya, tanpa perlu mengelilingi rumah untuk mencari kelemahannya, dokumen itu nilainya penting, karena jadi komponen penting untuk bisa masuk. Tapi jika rumah itu memang aman, tidak ada celahnya, maka dokumen itu tidak terlalu bernilai. Jadi memiliki source code, tidak berarti kita selalu akan bisa masuk.

Lalu apa hasil temuan dari beberapa situs besar yang saya temukan? Salah satu situs ada yang ternyata memiliki password rahasia yang memungkinkan kita bisa login ke account manapun (password ini memang ditanam oleh developernya). Ada situs yang memiliki API Key dalam source code. Continue reading “Bug: file version control yang bisa diakses via web”

Cek security account FB di Android

Salah seorang teman saya HPnya pernah hilang dan sekarang di timelinenya jadi sering muncul hal yang tidak pantas. Kemungkinan besar yang memakai HP-nya masih mengakses FB-nya dan menyembunyikan aktivitas dari timelinenya. Karena panduan ini mungkin berguna untuk orang lain, jadi saya tuliskan saja di blog ini.

Pengecekan ini juga dilakukan di komputer ataupun iOS, tapi screen capture saya ini saya buat di Android. Silakan jika ada yang ingin membuatkan panduan buat pemula/awam dalam bentuk screenshot untuk platform lain.

Ini bukan panduan lengkap supaya Facebook Anda aman dari tangan jahil, tapi panduan awal untuk mengamankan dan mengecek jika Anda mengira ada yang mengakses account Anda. Mungkin lain kali akan saya buatkan panduan yang lebih lengkap.

Continue reading “Cek security account FB di Android”