Author: M. SayyidusShaleh
School: MA Ar-Risalah
Bayangkan saja seperti ini. Developer atau
Programmer adalah para arsitek hebat yang membangun sebuah kota-benteng besar
berdinding tebal yang disebut Sistem. Nah, dinding dan gerbang kotanya adalah
Server. Di situ ada banyak pos penjaga. Ada Firewall, Antivirus, Anti-Malware,
dan kawan-kawan. Paling ramai posnya tentu di gerbang, dan gerbang kota tidak
cukup hanya satu karena kotanya besar. Gerbang ini yang terhubung dengan
internet lebih seperti di susunan kota “Attack on Titan”, berlapis-lapis. Di
pusat kota ada kastil yang berisi harta kerajaan, inilah Database.
Di dunia tak ada yang sempurna, dinding ini
ternyata ada bolongnya, dan parahnya lagi, Developer tak tahu kalau bolong itu
ada. Lubang ini disebut “Zero Day vulnerabilities”, (‘vulnerable’ sama dengan
‘weak’ alias lemah). Diambil dari nama sebuah situs, 0day.today (bukan .com,
tapi .today)
Nah, bagaimana kalau lubang itu tak bisa
ditambal, permanen? Memang ada yang seperti itu.Namanya “Forever Zero Day”,
nama yang sangat surgawi bagi Black Hats.
Sedangkan Hacker, orang yang selalu
mengelilingi tembok, mencari yang bolong. Tidak hanya itu, kalau Pro, mereka
sampai mencatat dan mendata aktifitas penjaga gerbang, kapan gerbang dibuka dan
ditutup, pokoknya segala info.
Mungkin Pembaca penasaran, kenapa bisa
Developer tak bisa mengetahui kelemahan dari sistem yang dibuatnya sendiri?
Yah, andaikan saja sistem bisa dilihat
seperti kota di ilustrasi tadi, pasti mudah selesainya. Tapi para Developer
berhadapan dengan kode-kode komputer, hanya bisa melihat baris-baris huruf dan
angka yang kompleks, tak mudah dimengerti. Lagipula, banyak vulnerabilities disebabkan
desakan kebutuhan kita sendiri, Users alias pengguna software.
Contoh kasus? Ada yang tahu istilah “Heartbleed”?
Ya, ini adalah kasus yang unik. Anggap PC kita terhubung ke sebuah sistem
sebelum ke internet, dimana (demi kenyamanan User) setiap PC yang terkoneksi ke
situ diberi sebuah magic word alias kata ajaib, setiap waktu tertentu PC akan
mengecek koneksi dengan menanyakan magic word-nya masih benar atau tidak.
Misalnya magic word-nya “apel”, maka panjangnya 4 karakter. PC bertanya ke
sistem, “Halo, apa saya masih connect? Magic word saya ‘apel’, panjangnya 4
karakter”. Sistem akan menjawab “Ya, kamu masih connect, magic wordnya masih
‘apel’ kok”. Prosedur ini bernama “Heartbeat”, detak jantung.
Tapi masalahnya, Heartbeat lebih
mementingkan panjang karakter daripada magic wordnya sendiri. Seperti ini,
PC:”Halo, apa saya masih connect? Magic
word saya ‘apel’, panjangnya 100 karakter”
Maka, Sistem akan melontarkan semua yang
ada di memorinya untuk memenuhi permintaan 100 karakter itu. Karena kita
mengakses internet dari sistem, pasti data login kita banyak tersimpan di
sistem untuk sementara. Jadinya seperti ini,
Sistem:”Ya, kamu masih connect, magic word
kamu ‘apelbrian@gmail.com12345678oph161234……….’”
Gimana kalau ada PC lain yang ngaku ke
sistem sebagai PC kita dengan magic word yang sama? Gawat sekali! Tapi bug ini
sudah gak ada lagi sekarang.
Ok, pembahasan Sistem selesai. Now, let’s
get to the Point!
Asal punya PC dan akses internet, anybody
can be a Hacker. Tapi itu baru spesifikasi minimumnya. Hal sakral lain bagi
Hacker adalah skill dan tools. Sama seperti Pelukis, mana bisa melukis kalau
gak punya kuas atau skill melukis. Tool tanpa skill itu useless, gak berguna.
Lantas, tool dan skill apa yang diperlukan?
Ok, pembahasan skill sangat luas, jadi
Penulis akan menjelaskan Tools dulu. Pertama, bersiaplah untuk berpisah dengan
Windows, karena banyak hack yang tak bisa dilakukan dari OS ini. PEnulis lebih
menganjurkan Linux dalam salah satu distronya, yaitu Kali Linux 2.0. Itu saja sudah
lebih dari cukup buat Kickstarter Pack.
Bagaimana dengan skill? Ya, skill itu
banyak sekali macamnya. Tapi Penulis akan menjabarkan yang penting saja.Tadi
sudah dijelaskan kalau kita akan menggunakan Linux, tentu cara pakainya berbeda
dari Windows. Lebih banyak berinteraksi dengan Terminal yang kalau di Windows
namanya Command Prompt. Skill pertama adalah mengetahui setidaknya perintah
pokok di Terminal seperti sudo, ifconfig, apt-get, dll. Lalu, Kali Linux datang
pada kita tidak hanya berisi OS yang
kosong, ada banyak sekali software PenTesting dan exploit yang sudah tersedia
sejak awal di OS karena yang membuat Kali adalah perkumpulan Security Experts
alias White Hats.Exploit? Itu adalah nama yang diberikan untuksebaris kodeatau
sebuah software lengkap yang memanfaatkan celah system untuk menguras habis
database pentingnya, mengeksploitasi, exploit.Kita harus tahu cara menggunakan
mereka semua, karena sebagian besarnya hanya bisa berfungsi maksimal lewat
Terminal. Jujur, pengguna Windows telah lama dimanjakan oleh GUI(Graphical User
Interface), alias jendela bertombol yang memudahkan manusia untuk berinteraksi
dengan komputer.
Lantas, ada tiga skill pokok lagi yang
harus dikuasai. Pertama, memahami walaupun sedikit, tentang jaringan
komputer,minimal paham ilustrasi Sistem di awal tadi. Karena, Hacker tentu
beraksi ditengah sebuah jaringan. Kedua, tahu 3 bahasa program dan menguasai
salah satunya. Penulis menyarankan agar menguasai bahasa Python, karena jarang
error dan mudah dimengerti. Ketiga, tahu banyak tentang ilmu Social
Engineering.
Wow, apa lagi tuh? Pembahasan kita singkat,
jadi mari ambil contoh sederhana saja. Social Engineering adalah ilmu tentang
memancing keluar kelemahan dari sistem target, dan memanfaatkanya. Contohnya
saja teknik Phising (Password Harvesting) yang mengkopas webpage asli Facebook
dan menguploadnya, menunggu orang-orang tertipu kemudian memasukkan email dan
passwordnya tanpa curiga, padahal info login itu hanya bakal masuk ke PC yang
mengupload webpage tadi. Ya, itu hanyalah teknik yang sudah kuno, sejak ada
HTTPS.
Terkahir, Penulis akan membahas tentang
tahapan PenTesting. Tentu, kita tak bisa langsung mendapat apa yang kita
inginkan dari sistem, semua harus bertahap.
The first step is Information Gathering.
Ya, di tahap ini kita berlagak seperti detektif, mencari seluruh info tentang
target. Apa OS-nya? Linux, Windows Server? 64bit kah? IP address? MAC adress?
dll. Untuk pekerjaan ini Penulis merekomendasikan tool Nmap.
Setelah selesai tahap pertama, tahap kedua
adalah Vulnerability Analysis. Sesuai namanya, disini kita akan menggunakan
tools atau cara manual (buat Pro) untuk scan segala kemungkinan lubang di sistem.Disini
kita memulai membangun jembatan ke sistem.
Setelah tahu semua tempat yang berlubang,
kita akan mencoba memanfaatkannya, ini disebut Exploitation. Saatnya menyerang
dan mendapat hak akses ke sistem target. Tahapan ini tak harus “canggih”,
karena bisa saja kita memanfaatkan informasi sederhana dari tahap sebelumnya.
Dari sini kita telah bisa mengakses Database.
Tapi, ini semua masih belum cukup, karena
kita masih menyandang hak sebagai User biasa, bukan Administrator sistem yang
memiliki hak akses seratus persen. Maka disini dimulailah Privilege Escalation,
alias mencoba menaikkan hak akses menjadi Administrator dengan berbagai cara.
Nah, barulah setelah menjadi Administrator
kita bisa dibilang memiliki kuasa penuh di sistem tanpa diketahui oleh
siapapun. Setelah meraup seluruh data, kita akan dihadapkan pada dua opsi:
pergi dan hapuskan jejak atau tetap di tempat dan memperkuat posisi
Administrator bayangan.
Yah, pada akhirnya kita harus keluar juga,
karena lama-lama akan ketahuan. Di tahap ini White Hats akan menghilangkan
jejak dan membuat PoC (Proof of Concept) alias laporan tentang kelamahan pada
sistem dan bukti kalau sistem itu pernah diretas sebelumnya. Kalau Black Hats
sih cuma menghilang aja.
Jadi, Keep this in your mind. Hacker
sesungguhnya, jika niatnya baik, akan menjadi profesi yang sangat mulia, karena
bisa menolong milyaran populasi manusia yang hidupnya banyak terikat dengan
dunia IT. Contohnya ada pada Java, milyaran alat elektonik menggunakan Java
yang masih banyak kekurangannnya. Berapa coba pahalanya?
Hackers are Helpers, Doctors, and Saviors
for lot of people.
Image Source
Tulisan yang dimuat adalah sepenuhnya milik penulis risalah-online, bukan merupakan pernyataan dari risalah-online
No comments:
Post a Comment