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”

Hack masa kecil

Setiap kali ngobrol dengan teman hacker dan bercerita soal masa kecil, saya jadi cerita mengenai dua “bug” yang dulu saya temukan waktu masih kecil (masa SD) dan juga “exploit” nya. Setelah saya search blog ini, ternyata ceritanya belum pernah saya tuliskan. Jadi saya tuliskan ceritanya mumpung lagi iseng.

Bug pertama adalah hadiah di snack double decker. Dulu sempat ada hadiah di dalam snack ini. Biasanya kita tidak mendapatkan apa-apa, tapi kalau beruntung kita akan mendapatkan kartu yang isinya bahwa kita mendapatkan 1 double decker gratis, atau kadang mendapatkan mainan.

prod_13549

Continue reading “Hack masa kecil”

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. Continue reading “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?”
Continue reading “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

Continue reading “Pengantar Reverse Engineering”