Senin, 17 September 2007

Belajar Hack Yuck! (1) - Konsep Dasar Hacking

Intro
Dalam suatu kesempatan, saya pernah melihat seorang auditor keamanan jaringan melalukan penetration test (pen-test) terhadap suatu sistem IT. Karena penasaran saya melihat sedikit2 cara penetration test yang dilakukan. Waktu itu saya belum banyak tahu tools apa aja yang digunakan, yang saya tau dia menggunakan tcpdump untuk menganalisis paket apa aja yang lewat, trus untuk men-scan beberapa host menggunakan Nessus. Ada salah satu aplikasi yang digunakan berbasis web yang terdapat kumpulan beberapa exploit. Waktu itu saya belum tahu aplikasi apa itu, yang saya ingat aplikasi itu menggunakan alamat http://127.0.0.1:55555, nah berbekal port 55555 saya mencari di google, dan ternyata itu adalah Metasploit Framework!.
Peristiwa itu menginspirasikan saya untuk mengenang masa-masa lalu ketika masih seneng2nya ngoprek dan belum ‘tercemar’ oleh DotA. Akhirnya sekarang saya ingin belajar ngoprek lagi, tp lebih fokus ke exploitnya saja. Tulisannya ini akan saya buat menjadi tiga bagian. Bagian pertama mengenai bagaimana salah satu cara umum yang dilakukan untuk menge-hack suatu system. Disini saya lebih menitikberatkan untuk hacking OS Windows XP, karena OS ini paling banyak dipakai orang. Bagian kedua lebih banyak ke teori mengenai exploit. Tapi karena mungkin akan sangat sulit dipahami (saya sendiri msh blm bisa membuat exploit sendiri), saya hanya menuliskan hasil terjemahan yang membahas apa itu dan cara kerja exploit. Sedangkan bagian terakhir merupakan praktek bagaimana mengelakukan penetration test menggunakan metasploit di Windows XP.


Bagian 1
*ini merupakan artikel lama mengenai salah satu cara umum yang dilakukan untuk hacking. (artikel ini jg di mirror oleh Negative a.k.a Jim Geovedi di sini). Langkah dibawah ini merupakan cara ’standar’, hacking sebenarnya tidak harus selalu sesuai dengan ’standar’ ini.

Hacking buat pemula
- by aCh
Artikel ini ditujukan bagi pemula, dan disusun oleh pemula. Ditulis untuk pengetahuan semata. Untuk temen2 yg udah ahli, sok aja dilewat, tapi dibaca juga gpp….
Apa sebenarnya hacking itu? klo menurut pengertian gue, hacking adalah ngoprek. Yup, hacking adalah ngoprek, mempelajari sesuatu dengan keingintahuan (curiosity) yg tinggi, ngutak atik sesuatu, ‘ngudek-ngudek’ sampai ke ‘jeroannya’. Sesuatunya apa dong? ya terserah… bisa komputer, mobil, motor, mesin. Tapi masalahnya ada ngga ya hacker mobil, hacker motor, atau hacker pesawat terbang?? hehe… Walaupun saat ini hacking identik dengan ‘bobol-membobol’, tapi gue kurang setuju klo cuman bobol server orang doang!. Ada yang bilang ‘Hacking is Art’, trus dimana letak seninya dong? Mau tau pengertian hacking sebenarnya, coba baca artikel sebelumnya (How to Become A Hacker). Di situ dijelasin bahwa hacker berkaitan dengan kemahiran teknis serta kegemaran menyelesaikan masalah dan mengatasi keterbatasan. Contoh hacker pada saat ini yang sering-sering disebut adalah Linus Torvald (tau ngga? itu lho yang menciptakan Linux). Apa dia tukang bobol? belum tentu kan….
Pada artikel ini, gue pengen membagi pengalaman mengenai Hacking, walaupun sampai saat ini gue belum pernah nge-Hack ke server orang. Salah satu cara untuk mencoba simulasi Hack yaitu H3cky0uRs3lf! Buat komputer kita sebagai server (sekaligus belajar konfigurasi server) trus install program yg dibutuhkan. Misalnya klo mo Web Hacking, coba install Apache atau IIS. Atau kita sesuaikan dengan exploit yang udah kita dapet. Tapi lebih baik install Linux atau FreeBSD dulu di komputer pribadi, trus konfigurasi sebagai server, lalu simulasi Hack, setelah itu baru Hack Betulan… Apalagi klo di kost ada jaringan.
Pro dan Kontra Hacking
Pro
Kontra
Etika Hacking
Semua informasi adalah free
Jika semua informasi adalah free, maka tidak ada ladi privacy
Aspek Security
Intrusion adalah ilustrasi kelemahan sistem
Tidak perlu menjadi pencuri untuk menunjukkan pintu yang tidak terkunci
Idle Machines
Hacking hanya pada idle machines
idle machines milik siapa ?
science education
hanya membobol tapi tidak merusak
“hacker wannabe” berpotensi sangat besar untuk merusak
Okeh, sekarang waktunya melakukan aksi…

1. Fase Persiapan
~ Mengumpulkan informasi sebanyak-banyaknya
- Secara Aktif : - portscanning
- network mapping
- OS Detection
- application fingerprinting
Semua itu bisa dilakukan menggunakan toolz tambahan seperti nmap atau netcat
- Secara Pasif : - mailing-list (jasakom, newbie_hacker, hackelink, dsb)
- via internet registries (informasi domain, IP Addres)
- Website yang menjadi terget

2. Fase Eksekusi~ Setelah mendapatkan informasi, biasanya akan didapatkan informasi mengenai OS yg digunakan, serta port yang terbuka dengan daemon yg sedang berjalan. Selanjutnya mencari informasi mengenai vulnerability holes (celah kelemahan suatu program) dan dimanfaatkan menggunakan exploit (packetstromsecurity.org, milw0rm, milis bugtraq, atau mencari lewat #IRC).~ Mengekspolitasi Vulnerability Holes- compile eksploit -> local host ->
$gcc -o exploit exploit.c
$./exploit
# hostname (# tanda mendapatkan akses root)
remote host -> $gcc -o exploit exploit.c
$./exploit -t www.target.com
# (klo beruntung mendapatkan akes root)
~ Brute Force
- Secara berulang melakukan percobaan otentifikasi.
- Menebak username dan password.
- Cracking password file
~ Social Engineering
- Memperdayai user untuk memeberi tahu Username dan password
- Intinya ngibulin user….

3. Fase Setelah Eksekusi
~ Menginstall backdoor, trojans, dan rootkit
~ Menghapus jejak dengan memodifikasi file log agar tidak dicurigai admin
~ Menyalin /etc/passwd atau /etc/shadow/passwd
Nah, intinya seh cara masuk ke server seseorang seperti fase diatas. Mencari informasi, temukan exploit, dan tinggalkan backdoor. Cuma masalahnya hacking bukanlah segampang cara-cara diatas. Itu hanyalah teori, banyak hal yang harus diperhatikan jika ingin mempraketekkan hacking ke server seseorang. Jangan sekali-kali mencoba2 hacking ke server orang tanpa memperhatikan anonimitas (apalagi klo connectnya lewat komputer pribadi tanpa menggunakan proxy). Ntar klo ketahuan bisa repot. Saran gue, cobalah pada mesin localhost dulu (komuter pribadi), klo terhubung ke LAN lebih bagus. Sediakan server yang khusus buat dioprek. Kalaupun pun ga terhubung ke jaringan, kita masih bisa menggunakan Virtual Machine menggunakan VMWare seperti yang nanti akan dibahas pada bagian 3!

Referensi :
-Hacking and Defense, Jim Geovedi, negative@magnesium.net
-Network Defense, Jim Geovedi, negative@magnesium.net

Tidak ada komentar: