Wednesday, July 5, 2017

Dasar Belajar "HACKING"

APA ITU "HACKING" ?

Kata "hacking" yang akan kita bicarakan dalam dokumen ini adalah pemrograman eksplorasi di lingkungan open-source. Jika Anda berpikir "hacking" ada hubungannya dengan kejahatan komputer atau melanggar keamanan dan datang ke sini untuk belajar itu, Anda bisa pergi sekarang. Karena ini bukan!

Dalam “Hacking” yang utama adalah gaya pemrograman, dan mengikuti rekomendasi dalam dokumen ini dapat menjadi cara yang efektif untuk memperoleh keterampilan pemrograman umum.
Jalur ini tidak dijamin untuk bekerja untuk semua orang tampaknya bekerja baik bagi mereka yang memulai dengan bakat diatas rata-rata untuk pemrograman dan tingkat wajar fleksibilitas mental.
Orang-orang yang berhasil belajar gaya ini cenderung menjadi generalis dengan keterampilan yang tidak kuat terikat pada domain aplikasi atau bahasa tertentu.

DASAR - DASAR MENJADI HACKER

Hacker adalah seseorang yang memiliki kemakhiran teknis untuk memecahkan masalah dan membuat atau membangun sesuatu dengan segala batasan yang ada dengan cara yang kreatif dan baik. Sehingga dengan menjadi hacker, berarti juga ada hubungannya dengan hacker pola pikir, sikap hacker, milik budaya hacker yang diakui oleh hacker lainnya. Hacker berbeda dengan cracker. Cracker adalah orang dengan kemampuan di atas rata-rata yan dengan kemampuannya itu digunakan untuk tujuan negatif atau bahkan destruktif.
Dasar-dasar atau cara untuk menjadi hacker adalah sebagai berikut :
1. Berpikirlah sebagai hacker
Untuk menjadi hacker anda harus berpikir bahwa anda adalah seorang hacker. Hacker memecahkan masalah dan membuat sesuatu dengan kreatif dan cara yang baik, sedangkan cracker menghancurkannya. 

2. Memiliki Keahlian yang baik
Sudah pasti untuk menjadi hacker anda harus memiliki keahlian atau skill yang baik. Bila anda belum punya keahlian bagus maka belajarlah dari hacker yang lain.

3. Sikap atau tingkah laku.
Hacker tidak hanya memiliki keahlian yang baik, tapi juga berpikir konstruktif.

4. Kuasai bahasa Inggris
Bahasa inggris sudah menjadi standar intenasional. Kuasai bahasa inggris sudah menjadi keharusan.

5. Kebebasan adalah mutlak.
Hacker secara alami anti-otoriter. Kebebasan memberikan kreatifitas. Otoriter akan membatasi kebebasan.

6. Dapatkan respek dari hacker lain.
Anda tidak sendirian menjadi hacker. Masih ada banyak hacker yang lain dengan bidang yang sama. Seorang hacker bisa jadi lebih baik dan lebih dihormati daripada Hacker yang lain. Seorang hacker bisa dihormati karena masalah yang pernah dipecahkan, atau pun menjadi “guru” bagi hacker yang lain.

7. Gaya
Buat ciri khas yang menjadi gaya anda sebagai seorang hacker. Saat hacker lain melihat karya anda tentunya mereka tahu bahwa itu adalah gaya anda. 

8. Etika
Ada etika yang berlaku dikomunitas hacker. Ikuti etika tersebut jika ingin diterima dalam komunitas. Komunitas sangat perlu bila anda memang ingin menjadi hacker.

9. Tidak Putus Asa
Dengan menjadi hacker berarti jangan mudah menyerah dan putus asa. Ingat, anda harus berpikir sebagai hacker.

ETIKA HACKER

  • Di atas segalanya, hormati pengetahuan & kebebasan informasi.
  • Memberitahukan sistem administrator akan adanya pelanggaran keamanan/lubang di keamanan yang anda lihat.
  • Jangan mengambil keuntungan yang tidak fair dari hack.
  • Tidak mendistribusikan & mengumpulkan software bajakan.
  • Tidak pernah mengambil risiko yang bodoh
  • Selalu mengetahui kemampuan sendiri.
  • Selalu bersedia untuk secara terbuka/bebas/gratis memberitahukan & mengajarkan berbagai informasi & metode yang diperoleh.
  • Tidak pernah meng-hack sebuah sistem untuk mencuri uang.
  • Tidak pernah memberikan akses ke seseorang yang akan membuat kerusakan.
  • Tidak pernah secara sengaja menghapus & merusak file di komputer yang diretas.
  • Hormati mesin yang diretas, dan perlakukan dia seperti mesin sendiri.

TINGKATAN HACKER

  1. Elite :  Juga dikenal sebagai 3l33t, 3l337, 31337 atau kombinasi dari itu; merupakan ujung tombak industri keamanan jaringan. Mereka memahami sistem operasi sisi luar dalam, sanggup mengkonfigurasi dan menyambungkan jaringan secara global. Sanggup melakukan pemrograman setiap harinya. Sebuah anugrah yang sangat alami, mereka biasanya efisien & terampil, menggunakan pengetahuannya dengan tepat. Mereka seperti siluman yang dapat memasuki sistem tanpa terdeteksi, walaupun mereka tidak akan menghancurkan data-data yang ditemui. Karena mereka selalu mengikuti peraturan yang ada.
  2. Semi Elite :  Hacker ini biasanya lebih muda daripada Elite. Mereka juga mempunyai kemampuan dan pengetahuan luas tentang komputer. Mereka mengerti tentang sistem operasi (termasuk lubangnya (vulnerability)). Biasanya dilengkapi dengan sejumlah kecil program cukup untuk mengubah program eksploit. Banyak serangan yang dipublikasi dilakukan oleh hacker tingkat ini. Sialnya oleh para Elite mereka sering kali dikategorikan Lamer.
  3. Developed Kiddie :  Sebutan ini terutama karena umur kelompok ini masih muda (ABG) dan masih sekolah. Mereka membaca tentang metode hacking dan caranya di berbagai kesempatan. Mereka mencoba berbagai sistem sampai akhirnya berhasil dan memproklamasikan kemenangan ke peretas lainnya. Umumnya mereka masih menggunakan Grafic User Interface (GUI) dan baru belajar hal dasar dari UNIX, tanpa mampu menemukan lubang kelemahan baru di sistem operasi.
  4. Script Kiddie :  Seperti developed kiddie, Script Kiddie biasanya melakukan aktivitas di atas. Seperti juga Lamers, mereka hanya mempunyai pengetahuan teknis networking yang sangat minimal. Biasanya tidak lepas dari GUI. Hacking dilakukan menggunakan trojan untuk menakuti dan menyusahkan hidup pengguna Internet.
  5. Lamer :  Mereka adalah orang tanpa pengalaman dan pengetahuan yang ingin menjadi hacker (wanna-be hacker). Mereka biasanya membaca atau mendengar tentang hacker dan ingin menjadi seperti mereka. Penggunaan komputer mereka hanyalah untuk main game, IRC, tukar-menukar perangkat lunak bajakan dan mencuri kartu kredit. Melakukan hacking menggunakan perangkat lunak trojan, nuke, dan DoS. Biasanya menyombongkan diri melalui IRC channel. Karena banyak kekurangan untuk mencapai elite, dalam perkembangannya mereka hanya akan sampai tingkat developed kiddie atau script kiddie saja.

MEMPELAJARI "IP ADDRESS"

IP address atau Internet Protocol Address adalah sistem peng-alamatan suatu perangkat dengan menggunakan angka sebagai identitas. Jaman sekarang semua perangkat digital telah diberikan kartu jaringan sehingga dapat memiliki ip addressnya masing masing, itu sebabnya semua perangkat tersebut dapat berkomunikasi satu sama lain melalui jaringan internet.
IP address yang biasa digunakan umumnya terbagi menjadi tiga kelas, yaitu:

Kelas A: 1.0.0.0 – 126.255.255.255
Kelas B: 128.0.0.0 – 191.255.255.255
Kelas C: 
192.0.0.0 – 223.255.255.255
(yang bercetak tebal adalah Network, dan yang tidak adalah bagian Host.)

Pemilihan kelas IP Address untuk jaringan lokal biasanya didasari oleh jumlah network dan hostnya. (silahkan baca artikel pengertian IP Address untuk memahami apa itu network dan host). Misalnya perusahaan MDC hanya memiliki 2 cabang dan untuk setiap cabangnya dibutuhkan banyak sekali IP Address maka yang dipilih adalah kelas A karena jumlah hostnya yang sangat besar .
Misalnya lagi perusahaan MRTS memiliki cabang yang banyak sekali namun tiap cabangnya hanya memerlukan sedikit sekali ip maka kelas C bisa jadi pilihan karena jumlah networknya yang besar dan hostnya yang sedikit.
IP address yang banyak dipakai saat ini adalah versi 4 , penulisannya seperti yang kita bisa liat di atas. meskipun bisa menghasilkan milyaran angka ternyata jumlah IP Address tersebut terbatas dan dianggap kurang jika dibandingkan dengan jumlah manusia saat ini.
Oleh karenanya sistem membuat agar ada IP Address yang bisa diulang dan diulang lagi pada jaringan lokal masing-masing tempat.
IP Address tersebut disebut IP lokal. tentu saja IP Address tersebut tidak dapat di gunakan sebagai identitas di Internet. tujuan pembuatan ip lokal adalah agar kebutuhan ip address disemua perangkat terpenuhi.
ini contoh dari ip address yang biasanya di pakai di jaringan lokal :

10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255

Lalu bagaimana caranya agar jaringan lokal tadi bisa terhubung ke internet ?
Untuk dapat berkomunikasi ke Internet ip lokal tadi harus dirubah kedalam bentuk IP Public menggunakan bantuan perangkat NAT .
Sampai disini setidaknya kita bisa membedakan yang mana IP LOKAL dan yang mana IP PUBLIC.

MEMPELAJARI "NAT"

NAT atau Network Address Translation adalah sebuah sistem yang berfungsi untuk membuat IP lokal anda menjadi diwakili oleh satu IP Address yang lain.
Dalam networking fungsi NAT digunakan agar jaringan lokal kita terhubung dengan jaringan internet. Nat ini merupakan salah satu fitur didalam router.

Misal di sebuah kantor A (ip public 36.66.228.222) anda memakai komputer dengan ip lokal 192.168.1.19 untuk browsing, maka ip address anda dan teman teman satu kantor anda yang terdeteksi di internet adalah ip public kantor anda yaitu 36.66.228.222
Dengan kata lain di Internet ip lokal tersebut diwakilkan oleh IP Public.
lalu bagaimana caranya agar koneksi dari luar bisa di arahkan ke salah satu komputer kita yang menggunakan IP Lokal ?
hal ini sering ditanyakan oleh calon hacker yang mencoba metasploit dan tool-tool pentest lainnya.
Jawabnya, NAT dapat pula ditugaskan untuk menangani hal tersebut. misalnya dengan melakukan port forwarding akan membuat koneksi dari luar yang mengakses ke ip publik akan diteruskan ke ip lokal yang anda tentukan beserta dengan portnya.

PORT

Kita sudah mengetahui fungsi dari IP Address yaitu sebagai identitas perangkat. nah port adalah turunan dari identitas perangkat itu yang biasanya mewakili service-service yang ada di perangkat tersebut.
Port di tulis dibelakang ip address dan dipisahkan tanda “titik dua” seperti ini,
192.168.1.5:5900 , dimana 5900 adalah port dari service VNCSERVER.
Analoginya IP address merupakan alamat sebuah apartement lalu port adalah nomer-nomer apartment nya.
Di apartment 22 ada ibu bernama sisih yang kerjanya jalan jalan dan selalu menggunakan baju berlapis lapis. sedangkan apartment 80 ada bapak wowo pemilik tokobuku. maka kalau anda mencari buku anda harus menuju kamar 80.
Sedikitnya ini port default yang sebaiknya anda ingat

20 FTP
21 FTP
22 SSH
23 Telnet
25 SMTP
53 DNS
80 HTTP
88 Kerberos
110 POP3
123 NTP
135 Microsoft’s RPC
137-139 Microsoft’s NetBIOS
143 IMAP
161 SNMP
389 LDAP
443 HTTPS or HTTP over SSL
445 SMB
514 syslog
3389 RDP
5900 VNCSERVER
5901 VNCSERVER

Penomoran port tersebut tertulis seperti diatas secara default, namun administrator jaringan bisa saja menggantinya dengan angka lain dengan alasan keamanan.
Biasanya Hacker menggunakan tool tambahan untuk melihat port apa saja yang terbuka dengan menggunakan nmap sehingga service apa saja yang dijalankan di mesin target dapat diketahui.
Contohnya, pada service http data yang berlalu lalang tidak terenkripsi sehingga memiliki kerentanan terhadap tool pemantau data seperti Wireshark, dalam hal ini password atau data sensitif yang anda unggah bisa jadi sedang diawasi oleh hacker. Teknik tersebut biasa disebut dengan SNIFFING. Berbeda dengan http, https melakukan enkripsi sehingga lebih aman.

MENGERTI DHCP

Dynamic Host Configuration Protocol adalah protokol yang berfungsi untuk membagikan atau meminjamkan alamat IP Address secara otomatis kepada client komputer yang terhubung.
Jika jaringan kita tidak memiliki DHCP Server maka dibutuhkan settingan manual pada tiap-tiap komputer yang ada di jaringan tersebut.
Dengan menggunakan server dhcp maka alamat ip yang akan di bagikan akan dinamis atau berubah-ubah sesuai range yang di atur sang administrator, mekanisme inilah yang diterapkan pada pembagian IP Jaringan Seluler atau ISP (Internet Service Provider) yang tidak memberikan fitur ip public statis seperti speedy, indihome dsb.
Jadi pada umumnya ip public yang didapatkan dari ISP akan berubah ubah atau tidak tetap.
Sedangkan anda membutuhkan ip public statis untuk menjadi server di internet.
Contoh kasus : Dengan tipu daya psikologi yang anda miliki anda berhasil membujuk agar teman anda menginstall aplikasi android yang sejatinya mengandung backdoor. Pada backdoor tersebut telah anda setting LHOST sesuai IP PUBLIC anda.

Maka mungkin anda berhasil mengeksploitasi target untuk sementara waktu, tetapi pada kesempatan berikutnya ternyata IP PUBLIK anda berubah karena IP tersebut merupakan IP Public yang Dinamis. Otomatis backdoor yang tertanam menjadi tidak berguna karena konfigurasinya menuju IP yang sudah berbeda.