Sebelum Anda Meretas Meretas
Anda sebaiknya tidak membatasi diri Anda pada bahasa pemrograman tertentu, tapi ada beberapa panduan.  C adalah bahasa yang membangun Unix. C (bersama dengan bahasa assembly) mengajarkan hal yang sangat penting dalam peretasan: cara kerja memory. Python atau Ruby adalah bahasa tingkat tinggi dan scripting tangguh yang dapat digunakan untuk mengotomatiskan berbagai tugas. Perl adalah pilihan yang cukup baik dalam bidang ini, sementara PHP layak dipelajari karena kebanyakan aplikasi web memakai PHP. Bash scripting adalah keharusan. Ini adalah untuk memudahkan manipulasi sistem Unix/Linux – menulis script, yang akan melakukan sebagian besar tugasnya untuk Anda. Bahasa assembly adalah bahasa yang harus diketahui. Bahasa ini merupakan bahasa dasar yang dimengerti prosesor komputer, dan memiliki beberapa variasi. Pada akhirnya, semua program akan diterjemahkan dalam bahasa assembly. Anda tidak akan benar-benar bisa mengeksploitasi sebuah program jika Anda tidak mengetahui bahasa assembly. Proses mengumpulkan informasi tentang sasaran Anda dikenal sebagai "enumeration". Semakin banyak Anda mengetahui lebih awal, semakin sedikit kejutan yang akan Anda dapatkan. Program Cygwin akan membantu emulasi *nix untuk pengguna Windows. Program Nmap secara khusus memakai WinPCap untuk berjalan di Windows dan tidak membutuhkan Cygwin. Tetapi, Nmap tidak bekerja dengan baik pada sistem Windows karena kurangnya dukungan untuk soket jaringan dalam transfer paket data Internet Protocol. Anda sebaiknya mempertimbangkan memakai Linux atau BSD, karena keduanya lebih fleksibel, lebih dapat diandalkan, dan lebih aman. Sebagian besar distribusi Linux berisi banyak program berguna yang telah terpasang. Pastikan Anda mengerti sepenuhnya teknik umum untuk melindungi diri Anda. Mulailah dengan hal dasar – apakah Anda menemukan server yang menampung situs tentang aktivitas ilegal atau mungkin jahat? Cobalah meretasnya dengan segala cara yang bisa Anda lakukan. Jangan mengubah situs, tapi kuasailah situs itu. Bisakah Anda mencapai sistem itu? Meskipun Anda bisa memakai utilitas "ping" (yang tersedia pada sebagian besar sistem operasi) untuk melihat apakah target itu aktif, Anda tidak dapat selalu mempercayai hasilnya – ping mengandalkan protokol ICMP, yang bisa dengan mudah dimatikan oleh administrator sistem yang paranoid. Lakukan pemeriksaan port, dan cobalah POF atau Nmap untuk menjalankan pemeriksaan port. Ini akan menunjukkan pada Anda port yang terbuka pada sistem sasaran, sistem operasi, dan bahkan memberi tahu jenis firewall atau router yang mereka gunakan, sehingga Anda dapat merencanakan rangkaian aksi yang akan dilakukan. Anda dapat mengakifkan pendeteksian sistem operasi dalam Nmap dengan memakai parameter –O. Port umum seperti port FTP (21) dan HTTP (80) biasanya terlindung dengan baik, dan mungkin hanya mudah diserang dengan memakai exploit (suatu cara untuk memanfaatkan celah keamanan sistem) yang belum diketahui secara umum.  Cobalah port TCP atau UDP lainnya yang mungkin terlupakan, seperti Telnet dan berbagai port UDP yang dibiarkan terbuka untuk game LAN.  Port 22 yang terbuka biasanya menunjukkan service SSH (protokol jaringan terenkripsi) yang aktif di komputer sasaran, yang kadang-kadang membutuhkan pemecahan secara brute force (mencoba semua kemungkinan). Ada beberapa cara untuk memecahkan kata kunci, termasuk teknik brute force. Memakai teknik brute force pada kata kunci adalah usaha untuk mencoba semua kemungkinan kata kunci dengan memakai program.  Pengguna seringkali disarankan untuk tidak memakai kata kunci yang lemah, sehingga teknik brute force akan membutuhkan banyak waktu. Tetapi, telah ada beberapa perkembangan besar dalam teknik brute force. Sebagian besar algoritma hash (pemetaan data kata kunci) lemah, dan Anda bisa membuat peningkatan yang cukup berarti pada kecepatan pemecahan dengan mengeksploitasi kelemahan-kelemahan itu (seperti Anda bisa memotong algoritma MD5 menjadi seperempatnya, yang akan memberi peningkatan kecepatan yang sangat besar). Teknik baru memakai kartu grafis sebagai prosesor lain – dan teknik ini ribuan kali lebih cepat. Anda bisa mencoba memakai Rainbow Table (tabel khusus untuk membalik fungsi hash kriptografi) untuk pemecahan kata kunci tercepat. Ingatlah bahwa memecahkan kata kunci merupakan teknik yang bagus hanya jika Anda telah mendapatkan data hash kata kunci. Mencoba setiap kemungkinan kata kunci dalam keadaan terhubung ke komputer sasaran bukan merupakan ide bagus, karena akan dengan mudah terdeteksi oleh sistem pendeteksi pengacauan (intrusion detection systems), membuat banyak jejak pada log sistem, dan bisa membutuhkan waktu bertahun-tahun untuk menyelesaikannya. Anda juga dapat membeli tablet yang telah di-root, memasang program pemindai TCP, dan mendapat sinyal unggah ke situs aman. Alamat IP akan terbuka, sehingga kata sandi akan tampil di proxy. Seringkali lebih mudah untuk mencari cara lain untuk masuk ke dalam sistem daripada memecahkan kata kunci. Cobalah untuk mendapatkan wewenang root (wewenang tertinggi dalam sistem Unix) jika sasarannya adalah komputer *nix, atau wewenang administrator jika sasarannya adalah sistem Windows.  Sebagian besar informasi yang sangat penting sudah dilindungi dan Anda membutuhkan pembuktian autentisitas pada tingkat tertentu untuk membukanya. Untuk melihat semua file dalam sebuah komputer, Anda membutuhkan wewenang super-user – sebuah akun pengguna yang memiliki wewenang yang sama dengan pengguna root pada sistem operasi Linux dan BSD. Untuk router, digunakan akun "admin" sebagai nama standar (kecuali sudah diubah); untuk Windows, memakai akun Administrator. Mendapatkan akses pada sebuah koneksi tidak lantas berarti Anda bisa mengakses semuanya. Hanya super-user, akun administrator, atau akun root yang bisa melakukannya. Seringkali, untuk mendapatkan status super-user Anda harus memakai taktik seperti menciptakan buffer overflow (menulis data melebihi alokasi memory), yang menyebabkan kesalahan proses pada memory dan membuat Anda bisa memasukkan kode atau mengerjakan sesuatu pada tingkat wewenang yang lebih tinggi dari yang diberikan pada Anda.  Pada sistem yang menyerupai Unix, hal ini akan terjadi jika program yang bermasalah telah mengatur bit userid, sehingga program akan dijalankan dengan wewenang pengguna yang berbeda (misalnya sebagai super-user). Hanya dengan cara menulis atau mencari program tidak aman yang bisa Anda jalankan pada sistem sasaran yang akan membuat Anda bisa melakukan cara ini. Setelah Anda mendapatkan kontrol penuh atas sebuah sistem, adalah ide yang bagus untuk memastikan Anda bisa kembali lagi. Hal ini bisa dilakukan dengan membuat backdoor pada service sistem yang penting, misalnya server SSH. Tetapi backdoor Anda mungkin akan hilang saat sistem di-upgrade. Seorang peretas yang benar-benar berpengalaman akan membuat backdoor pada compiler (program untuk mengubah source code menjadi bahasa yang dipahami processor) itu sendiri, sehingga setiap program yang di-compile akan menjadi jalan potensial untuk kembali. Jangan biarkan administrator mengetahui bahwa sistem itu sudah ditembus. Jangan mengubah website (jika ada), dan jangan membuat lebih banyak file dari yang benar-benar dibutuhkan. Jangan membuat pengguna tambahan. Bertindaklah secepatnya. Jika Anda menempelkan kode pada server seperti SSHD, pastikan bahwa kata kunci rahasia Anda tersandi pada server. Jika seseorang mencoba masuk ke sistem dengan memakai kata kunci ini, server harus membiarkannya masuk, tapi seharusnya tidak mengandung informasi penting apapun.
Pelajari bahasa pemrograman. Ketahui sasaran Anda. Ggunakan *nix untuk memberi perintah. Amankan komputer yang Anda gunakan. Tes sasaran. Menentukan sistem operasi sasaran. Cari jalan atau port terbuka dalam sistem sasaran. Pecahkan kata kunci atau proses pembuktian autentisitas. Dapatkan wewenang "super-user". Gunakan berbagai trik. Membuat "pintu belakang" (backdoor). Tutupi jejak Anda.
https://www.wikihow.com/Hack https://www.wikihow.com/Hack
Preparing Before You Hack Hacking