Monday 29 February 2016

Hack for Beginners: The Main Shot and the System (Part 2)




Author: M. SayyidusShaleh
School: MA Ar-Risalah

Di Part 1 tadi mungkin Pembaca agak pusing, karena langsung diberi banyak kosa-kata baru yang susah dimengerti. Yep, we’ll finish that in seconds.


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.

#Proud to be PenTester.



Image Source


Tulisan yang dimuat adalah sepenuhnya milik penulis  risalah-online, bukan merupakan pernyataan dari risalah-online 

No comments:

Post a Comment