Catatan Penting !!! Belajar Cyber Security memiliki hubungan yang sangat erat dengan aktifitas Hacking, Jadi mari mmulai belajar dari Positif Thingking terlebih dahulu. Mulai dari Hacking adalah aktifitas mencari kelemahan dan celah dari sebuah sistem, dengan demikian seorang Hacker memiliki tujuan mencari langkah preventif dari sebuah sistem agar terhindar dari patching kelak ketika sistem sudah berjalan. Jadi ilmu Hacking ini sangatlah berguna bagi seorang programmer.
Daftar Isi
A. Hacking adalah Ilmu dan Seni
Komputer dalam perusahaan secara umum digunakan untuk mendukung aktiftas bisnis baik sebagi supporting sytem maupun main system, terutama untuk perusahaan yang menyediakan jasa berbasis IT seperti perbangkang, e-money dan sejenisnya. Agar dapat bekerja dengan baik, maka komputer yang digunakan (sebut saja server) harus terhubung dengan jaringan entah itu internet, intranet dan jaringan jenis lainnya. Koneksi ini digunakan untuk berkomunikasi sesuai dengan kebutuhan bisnis.
Komunikasi dalam tingkat jaringan ini tidak lain adlaah pertukaran informasi antat user dan server. Sebagiaman layaknya komunikasi, tidak semua hal harus di sampaikan atau ditukarkan. Dari konsep ini mungkin potensi berbahay ketika salah satu dari pihak server, user atau pihak yang mengendap-ngendap diantara keduanya berhasil memantau dan melihat isi komunikasi tersebut baik yang terjadi maupun yang harusnya disembunyikan. Peran dari Cyber Security ini adalah memastikan tidak pihak yang mengambil data secara sembarangan. Si pengendap ini selanjutnya disebut Hacker, dan Cyber Security (Satpam) ini juga disebut hacker hanya bedanya ada yang black hat dan white hat.
Upaya perusahaan mengamankan infrastruktur digital mereka membutuhkan jasa Hacker. Hacker ini dipekerjakan oleh perusahaan dengan izin remsi untuk menyusupi seluruh sistem. Hacker jenis selanjutnya disebut sebagai Ethical Hacker.
Ethical Hacking
syarat berikut:
- Mendapatkan izin resmi secara tertulis dari pemilik sistem/jaringan komputer sebelum melakukan pentesting/hacking
- Merahasiakan privacy perusahaan atau organisasi yang di hack
- Melaporkan secara transparan hasil penemuan kelemahan sistem dari proses pentesting/hacing kepada perusahaan/organisasi
- Melaporkan kelemahan hardware/software yang digunakan perusahaan kepada pihak vendor harware/sofware tersebut agar dilakukan patching.
Mengapa Ethical Hacker dibutuhkan
- Informasi adalah aset tak ternilai yang dimiliki perusahaan atau organisasi.menjaga keamanan dan kerahasiaan informasi perusahaan dapat menjaga image perusahaan dan menghemat banyak uang.
- Hacking dapat menimbulkan banyak kerugian dan meruntuhkan perusahaan terutama yang bergerak di bidang finansial,Ethical hacing bertugas untuk mengamankan sistem dan jaringan komputer selangkah lebih maju dari para hacker jahat.
Jenis Ethical Hacker berdasar skill dan tujuan nya:
- Ethical Hacker (White hat) adalah hacker yang diberi izin masuk ke sistem dan diminta untuk memeriksa,mengidentifikasi dan memperbaiki kelemahan sistem atau jaringan dengan cara melakukan penetration testing.
- Cracker (Black hat) adalah hacker yang berinisiatif sendiri untuk masuk kedalam sistem atau jaringan komputer tanpa izin.Tujuan nya biasanya untuk merusak atau mencuri data penting untuk digunakan demi keuntungan sendiri.
- Grey hat adalah hacker yang berinisiatif masuk kedalam sistem atau jaringan komputer tanpa izin dengan tujuan untuk melihat dan mencari kelemahan sistem atau jaringan dan melaporkan nya ke pemilik sistem agar diperbaiki.
- Script kiddies adalah seseorang tanpa skill yang berhasil masuk kedalam sistem atau jaringan komputer tanpa izin dengan menggunakan tool hacking buatan orang lain yang dipublish di internet.
- Hacktivist adalah hacker yang menggunakan skill hacking nya untuk menyebarkan pesan social,agama,politik.dll dengan cara membajak website dan meninggalkan pesan di home page dengan cara di deface(mengganti tampilan halaman website).
- Phreaker adalah hacker yang mencari dan mengexploit kelemaham sistem atau jaringan telephone.
Modal Utama
Curiosity dan Passion (Hobby) & Think Out Side of The BoX (KREATIF)
Yang perlu kamu ketahui dan camkan dengan baik adalah,seorang hacker tidak bisa ngehack semua hal,ini dikarenakan disiplin ilmu komputer mempunyai banyak cabang.Sedangkan untuk bisa ngehack layanan/service tertentu diperlukan pengetahuan mendetail akan hal tersebut.
Sebagai contoh, untuk bisa menghack sebuah website seorang hacker harus ahli dan belajar hacking di bidang website agar tau 100% komponen yang digunakan untuk membuat website,mulai dari aplikasi server,bahasa pemrograman,database hingga modul yang digunakan oleh webserver.
Sedangkan untuk bisa crack/hack sebuah aplikasi binnary (crack program,exploitasi port,exploitasi memory)seorang hacker memerlukan pengetahuan yang berbeda dengan hacker website.
Kesimpulan nya, Jadi hacker adalah seorang spesialis dalam bidang komputer tertentu yang paham betul akan bidang yang pelajarinya sehingga bisa memanipulasi dan memerintahkan komputer untuk melakukan hal yang tidak semestinya komputer lakukan sesuai dengan keinginan hacker.
B. Tahapan Cara Belajar Hacking
Belajar LinuX
Linux merupakan sistem operasi internet (nyawa internet),hampir semua perangkat internet menggunakan sistem operasi linux. Kamu bisa saja menggunakan internet tanpa belajar linux,tapi kamu tidak akan bisa menjadi hacker tanpa belajar Linux.
Untuk alasan tersebut,hacker sekarang lebih condong untuk menggunakan sistem operasi linux untuk melakukan kegiatan hacking mulai dari developing,sampai penetration testing.
Berikut beberapa alasan kenapa kamu harus belajar linux dan menggunakan linux saat kamu belajar hacking:
- Free & Open source
Free bukan hanya berarti gratis,namun ini bermakna kebebasan yang sangat identik dengan seorang hacker yang memerlukan kebebasan platform untuk berkreasi menciptakan ide-ide brilian nya. Linux merupakan platform yang ideal untuk ini,karena linux bebas dan opensource sehingga mudah untuk dirubah dan dikembangkan oleh siapapun dan untuk tujuan apapun tanpa benturan llisensi hukum. - Support banyak bahasa pemrograman
Linux mendukung banyak bahasa pemrograman. C/C++, Java, PHP, Ruby, Python, Perl dan masih banyak lagi dan berjalan sempurna di linux.Linux membuat simple dan efektif saat kamu menulis script untuk program yang kamu develop. - Kebanyakan Tools Hacking dibuat untuk Linux
Tool hacking populer seperti metasploit dan nmap bisa berjalan di windows,namun tidak 100% kemampuan tool tersebut ada di windows,linux lebih punya banyak fitur dan tool serta lebih unggul dalam mengelola memory sehingga tool hacking mu lebih ringan dan cepat saat berjalan di linux. - Ringan dan Flexible
Karena alasan inilah linux menjadi sistem operasi favorit untuk banyak perangkat mulai dari server hingga perangkat kecil/smart device (IoT),sensor hingga mesin pembuat kopi otomatis. - Masa depan Milik Linux
Dari semua poin diatas sudah sangat jelas, linux menjadi nyawa hampir semua mesin yang kamu gunakan sehari-hari,linux lebih dipilih karena kestabilan,flexible dan tahan banting.Bahkan HP android mu menggunakan Linux.
Belajar Jaringan Komputer
Kegiatan hacking 99% dilakukan dari jarak jauh dengan memanfaatkan jaringan komputer lokal ataupun global.
Memahami jaringan komputer menjadi ilmu wajib yang harus dikuasai saat kamu belajar menjadi ethical hacker profesional.
Karena nantinya kamu dituntut untuk bisa mengamankan sistem komputer dan juga jaringan yang digunakan oleh server milik client yang menyewamu.
Belajar Programming
Sebelum kamu bisa berlari kamu harus belajar berjalan,untuk belajar menjadi hacker kamu harus belajar programming untuk bisa membuat exploit.
Untuk menjadi hacker kamu harus dan wajib belajar ngoding/programming,hal ini dimaksudkan agar kamu paham bagaimana aplikasi bekerja ,jika paham betul coding maka kamu akan lebih mudah menemukan bug/vulnerability dan bisa langsung menulis/membuat code exploit nya.
Tanpa bisa programming atau tau cara kerja aplikasi mustahil kamu bisa mengutak atik (hacking) apalagi menemukan bug dan membuat exploit untuk membobol sistem.
Berikut Beberapa Bahasa Pemrograman Terbaik yang biasa digunakan hacker dan bisa kamu pelajari agar kamu bisa Menjadi Hacker Profesional:
Python
Jika kamu ingin belajar hacking,python merupakan bahasa pemrograman terbaik untuk hacker yang wajib kamu kuasai,karena python merupakan bahasa interpreter yang bisa langsung dijalankan tanpa dicompile,sehingga sangat flexible saat kamu membuat exploit yang memerlukan banyak trial dan error saat itu juga.
Inilah beberapa alasan kenapa hacker suka menggunakan python
- Python merupakan bahasa interpreter,dimana kamu bisa langsung menjalankan script setelah diedit tanpa harus dicompile
- Cocok untuk pemula,karena susunan script nya mudah dibaca
- Komunitas besar sehingga banyak plugin/library bertebaran di internet
- Bahasa pemrogramman terbaik untuk hacking web server
- Membuat exploit dan tools bisa dilakukan sangat cepat.
SQL
SQL (Structured Query Language) yang merupakan salah satu bahasa pemrograman hacking yang paling favorit .
Bahasa pemrograman ini digunakan untuk menggali dan mengambil informasi dari database. Karena sebagian besar aplikasi berbasis web menyimpan informasi berharga seperti akun dalam database, SQL merupakan bahasa pemrograman terbaik untuk meretas ke dalam database perusahaan.
Tanpa pemahaman SQL yang memadai, kamu tidak akan bisa belajar hacking database.
Jika kamu paham SQL maka kamu bisa melakukan serangan database menggunakan teknik SQL injection ke database engine populer seperti MySQL, MS SQL, PostgreSQL, MariaDB.
- SQL bukan bahasa pemrograman seperti pada umum nya, SQL hanya digunakan untuk berkomunikasi dan mengakses database.
- Hacker menggunakan SQL untuk membobol database dengan teknik SQL injection
- SQL digunakan oleh banyak database engine seperti MySQL,MS SQL,PostgreSQL,MariaDB
C
Bahaca C merupakan nenekmoyang bahasa pemrogramman modern,banyak bahasa pemrogramman modern yang mengadopsi karakteristik dari bahasa C,oleh kerena itu bahasa C sering digunakan dalam dunia keamanan.
Sifat dasar dari bahasa C yang merupakan bahasa pemrogramman tingkat rendah yang menyediakan akses ke hardware hingga tingkat rendah menjadikan bahasa C sangat powerfull untuk memanipulasi data yang ada di hardware seperti RAM.
Bahasa C acapkali digunakan oleh pentester/hacker jika ingin mengakses dan memanipulasi komponen hardware di tingkat rendah.
- C merupakan bahasa pemrograman tingkat rendah,yang bisa mengakses hardware ke tingkat rendah
- Windows,Unix & Linux dibuat dari bahasa C,jadi masterin bahasa C jika kamu ingin menjadi hacker
- C sering digunakan untuk mengakses memori sampai ketingkat rendah dan process setelah membobol sistem untuk menaikan privilages/hak akses.
Java Script
Berkat diciptakan nya Node.JS yang dibangun menggunakan javascript,dunia berubah.Yang dulu kalian tau jika javascript hanya berjalan di client side(browser),maka dengan node.js javascript bisa berjalan di server side seperti halnya PHP,Ruby,Perl .
Untuk alasan inilah seorang hacker harus menguasai javascipt untuk bisa hacking aplikasi berbasis web.
Dengan javascript seorang hacker bisa memanipulasi data yang ada di server menggunakan teknik XSS,tehnik XSS (cross site scripting) digunakan untuk memanipulasi data di sisi client (client side) yang akan berimbas ke serverside.
- Javascript digunakan untuk melakukan serangan XSS
- Javascript bisa digunakan untuk menyerang server dan client side,pad aaplikasi web
- Javascript digunakan untuk membangun aplikasi antar platform,jadi seorang hacker bisa menemukan bug dan melakukan serangan dengna menguasai javascript
PHP
PHP merupakan bahasa pemrograman yang didesain untuk membangun aplikasi berbasis web,walau dijaman modern ini kebanyakan web menggunakan CMS seperti wordpress,joomla dan drupal,namun CMS dibagun menggunakan PHP.
Memperdalam PHP wajib hukum nya sebagai modal untuk menemukan bug dan exploitasi aplikasi berbasis web.jadi saya sekomendasikan untuk memperdalam skill PHP,javascript,SQL jika kamu fokus untuk melakukan pentesting website.
- PHP berjalan di sisi server(serverside),jadi kamu harus paham betul PHP jika ingin mengexploitasi dan hacking website
- Paham betul akan PHP akan memudahkan mu menemukan bug dan mendevelop exploit untuk hacking website.
- PHP merupakan bahasa pemrograman terbaik yang harus kamu pelajari sebagai modal untuk hacking website
Assembly
Assembli merupakan bahasa pemrogramman yang sangat powerfull tapi juga sulit untuk dipelajari.Assembli biasa digunakan hacker untuk memanipulasi process dari tingkat terendah(hardware) secara mudah.
Saat kamu mulai paham betul bagaimana komputer bekerja maka kamu akan memerlukan bahasa assembly untuk memanipulasi process hingga tingkat paling dasar.
- Bahasa assembly memudahkan hacker untuk memanipulasi sistem secara langsung di tingkat arsitektur.
- Hackerbisa dengan mudah memodifikasi akses prosesor dan menjalankan instruksi dari sistem yang terganggu dengan Assembly.
- Ini adalah bahasa de-facto untuk mengembangkan virus komputer dan malware lainnya.
- Hacker dapat dengan mudah membuat program hacking yang rumit yang memanfaatkan layanan interupsi dengan Assembly.
- Meskipun sulit dikuasai, Assembly adalah bahasa terbaik untuk pekerjaan yang sangat menentukan waktu.
Jenis Hacking
1. Webhacking
Untuk bisa melakukan hacking terhadab aplikasi berbasis web/website maka kamu harus belajar teknologi yang membangun website tersebut.
Terutama belajar bahasa pemrograman yang digunakan untuk membangun website agar kamu tau betul aplikais website berjalan,sehingga kamu lebih mudah untuk menemukan bug dan mengexploitasinya.
Minimal kamu harus bisa bahasa pemrogramman HTML,JavaScript,PHP dan SQL sebagai modal untuk melakukan webhacking.
2. Menulis Exploit
Setelah kamu menemukan kecacatan dalam program (bug/vulnerability) maka kamu perlu menulis exploit untuk melakukan exploitasi sistem yang telah kamu observasi sebelumnya. untuk bisa membuat exploit kamu harus belajar bahasa pemrogramman lain seperti Python dan Ruby.
3. Reverse Engineering
Reverse engineering adalah suatu proses membongkar aplikasi yang sudah jadi (dicompile ke kode binner),untuk melacak ke kode sumber (source code)dan menemukan alur bagaimana aplikasi itu bekerja, sehingga hacker bisa bisa dengan mudah menemukan cacat flow (bug) yang bisa digunakan sebagai dasar pembuatan exploit.
Jika kamu ingin belajar reverse engineering maka kamu harus menguasai bahasa C,C++,JAVA dan Assembly. Proses mengubah kode yang ditulis dalam bahasa tingkat tinggi menjadi bahasa tingkat rendah tanpa mengubah program asli dikenal sebagai reverse engineering.
proses mengambil program perangkat lunak kode biner dan membuatnya kembali untuk melacaknya kembali ke kode sumber asli. Jika Anda tahu teknik reverse, Anda dapat menemukan kekurangan dan bug dengan mudah. Jika Anda ingin mempelajari teknik reverse Anda perlu tahu C, C ++ dan Java. Proses mengubah kode yang ditulis dalam bahasa tingkat tinggi menjadi bahasa tingkat rendah tanpa mengubah program asli dikenal sebagai reverse engineering.Ini seperti kamu membongkar mesin motor yang sudah jadi untuk mencari tau fungsi dsar dari komponen yang membuat motormu bekerja dan berjalan.
- Reverse engineering biasa digunakan untuk cracking program,modifikasi program,security analisis,menemukan bug pada aplikasi yang sudah dicompile,analisis malware,analisis protokol dan keamanan.
- Reverse engineering biasa digunakan untuk hacking aplikasi yang sudah dirubah ke kode binner (dicompile) atau sudah dalam bentuk aplikasi jadi.jika kamu pernah download crack,maka hacker menggunakan tehnik reverse engineering ini untuk membuat crack suatu program.
Tools
Ingat, kamu tidak akan menjadi hacker secara instan hanya dengan menggunakan tools dan sistem operasi yang sama yang digunakan hacker.
Tools framework dan sistem operasi hanya sebuah alat pendukung,ini sama seperti piso yang biasa digunakan oleh koki,kamu gak akan lansung menjadi dan disebut koki hanya dengan memegang piso koki.
Begitu juga dengan hacker,hacker merupakan disiplin ilmu dan julukan untuk orang spesialis/ahli dibidang komputer.
Kali Linux
Kali linux merupakan salah satu distro OS linux yang didesain dan dibuat untuk tujuan digital forensics dan penetration testing/hacking yang biasa digunakan oleh para ahli komputer.
Distro ini dikembangkan dan divelop oleh Offensive Security Ltd,sebuah perusahaan pelatihan keamanan informasi terkemuka.Distro linux ini sangat cocok digunakan saat kamu sedang belajar hacking.
Sama Seperti Ubuntu & Linux Mint
Kali linux dikembangkan berdasar distro debian,sama seperti ubuntu dan linux mint,jadi jika kamu sudah belajar linux mint atau ubuntu,maka perintah linux yang digunakan sama.
Bedanya kali linux telah terinstall ratusan tool hacking (framework)yang bisa digunakan untuk menunjang kegiatan hacking.
Metasploit
merupakan aplikasi untuk membuat,menguji dan menjalankan exploits.Metasploit biasa digunakan untuk membuat alat dan modul penguji sistem keamanan komputer sekaligus digunakan juga sebagai alat penguji sistem keamanan (penetration testing system/hacking).
Dengan kemampuan seperti itu menjadikan metasploit sebagai tool hacking terbaik dan terfavorit tersaat ini.
Metasploit framework dapat diinstall di sistem operasi Linux,MaC dan Windows,dengan menggunakan termux kamu bisa menginstall metasploit framework di HP android mu sehingga kamu akan lebih mudah dan flexible dalam melakukan kegiatan pengujian sistem keamanan komputer/hacking.
Bentuk Mental Mu Sebagai Ethical Hacker
Berpikir Kreative
Jika kamu berpikir kreative,selamat itulah modal dasarmu menjadi seorang hacker.Hacker dituntut untuk bisa menemukan dan mengatasi masalah sendiri,untuk itulah hacker ibarat seorang seniman,philosopher dan juga engineer yang menjadi satu.Ada banyak masalah(bug di dunia keamanan komputer) diluar sana yang menunggu untuk kamu carikan solusinya.Hacker mengasah kemampuan nya dan mempertajam kecerdasan nya dengan cara mencari problem dan menemukan solusi yang tepat.
- Bagi seorang hacker,belajar ilmu komputer adalah suatu permainan yang menarik sehingga hacker bekerja dengan lebihintense serasa sedang bermain,untuk para hacker profesional tidak ada batasan antara bermain,bekerja,dan belajar. karena bagi mereka belajar,bermain,dan bekerja sudah berada di tempat yang sama yaitu “mempelajari komputer”.
Suka Mencari Solusi atas Masalah
Sebagai hacker kamu harus berprinsip bahwa satu masalah tidak perlu diselesaikan duakali atau lebih,jika kamu bergabung di dalam komunitas waktu merupakan hal paling berharga untuk para hacker.
Seorang hacker harus aktif dalam komunitas untuk menemukan dan ngeshare solusi atas masalah yang ada sesegera mungkin.
Jika kamu menemukan solusi atas masalah yang ada,segerakan lah untuk menulis informasi yang kamu dapat ke public agar orang dengan masalah yang sama bisa menemukan solusi dengan cepat dari artikel yang kmau tulis.
- Jangan pernah berpikir jika kamu share penemuan/ilmu mu kamu akan kehilangan dan memberikan ke mereka secara cuma-cuma.Justru kamu akan mendapat nama dan kehormatan dari hacker dan anggota komunitas jika kamu aktif menuliskan/memberikan solusi atas masalah-masalah yang ada untuk komunitas.
- Belajarlah dari mentor-mentor profesional untuk membuka wawasan mu dalah dunia hacking,jaman sudah canggih kamu bisa menonton video DEFCON di youtube untuk melihat bagaimana para hacker profesional bekerja
Ramai Lanjut Part II
kirain ada praktek tools nya kak
Lanjut oom ke part II