Rabu, 05 Juli 2023

hacking 1

Hacking adalah keahlian paling penting di abad ke-21! Dan saya tidak membuat 
pernyataan itu dengan entengnya. Dibeberapa tahun terakhir ada beberapa peristiwa yang 
tampaknya kembali menegaskan pernyataan itu melalui berita utama disetiap paginya. 
Masyarakat berbagai bangsa yang saling bermusuhan dan memata-matai sesama hanya 
untuk mendapatkan fakta dari rahasia mereka masing-masing, para penjahat dunia maya 
yang mencuri triliunan rupiah, para cacing digital yang menuntut uang tebusan dilepaskan, 
musuh yang saling mempengaruhi satu sama lain dan saling berperang. Ini semua adalah 
pekerjaan para Hacker, pengaruh mereka didunia digital ini mulai terasa. 
Saya memutuskan untuk menulis buku ini setelah bekerja dengan puluhan ribu calon 
Hacker melalui NullByte, https://www.Hackersbangkit.com/ dan hampir setiap cabang 
badan militer dan intelijen Indonesia. Dari banyak pengalaman ini, mengajari saya tentang
banyaknya calon Hacker yang memiliki pengetahuan dan pengalaman dengan Linux, bahkan 
ada yang sama sekali tidak memiliki pengalaman tersebut, hal ini akan menjadi hambatan 
utama dalam memulai perjalanan menjadi Hacker profesional. Hampir semua alat Hacker
terbaik ditulis di Linux, jadi beberapa keterampilan dasar Linux adalah prasyarat untuk 
menjadi Hacker profesional. Saya menulis buku ini untuk membantu calon Hacker mengatasi 
hambatan ini.
Hacker (Peretasan) adalah profesi elit dalam bidang IT. Oleh karena itu, diperlukan 
pemahaman yang luas dan mendetail tentang konsep dan teknologi TI. Pada tingkat yang 
paling mendasar, Linux merupakan sebuah persyaratan. Jika Anda ingin menjadikan 
peretasan dan keamanan informasi sebagai karier Anda maka Saya sangat menyarankan 
Anda menginvestasikan waktu dan tenaga Anda untuk menggunakan dan memahami 
tentang Linux.
Buku ini tidak ditujukan untuk Hacker berpengalaman atau admin Linux yang 
berpengalaman. Sebaliknya, Buku ini ditujukan kepada Hacker pemula, kepada mereka yang 
ingin memulai jalur Hacking, Cyber security, dan pentesting yang menarik. Buku ini bukan 
dimaksudkan sebagai buku lengkap tentang Linux atau Hacking, tapi lebih sebagai titik awal 
menuju dunia peretasan. Dimulai dengan Linux lalu meluas ke bebrapa script dasar di bash
dan Phyton. Saya telah mencoba menggunakan contoh dari dunia peretasan untuk 
mengajarkan prinsip-prinsip Linux.
Dalam pengantar ini, kita akan melihat pertumbuhan hacking etis untuk keamanan 
informasi, dan saya akan membawa Anda melalui proses pemasangan mesin virtual sehingga 
Anda dapat menginstal Kali Linux di sistem Anda tanpa mengganggu sistem operasi Anda 
yang sudah siap. 
APA YANG ADA DALAM BUKU INI?
Pada bab pertama, Anda akan bertemu dengan pembahasan tentang dasar-dasar 
Linux dalam Bab 1 akan membuat Anda terbiasa dengan sistem file dan terminal terlebih 
dahulu, lalu Anda akan diberi beberapa perintah dasar Linux. Bab 2 menunjukkan cara 
memanipulasi teks untuk menemukan, memeriksa, dan mengubah software dan file.
Dalam Bab 3 Anda akan disuguhi bagaimana cara mengelola jaringan. Anda akan 
memindai jaringan, menemukan informasi tentang konektivitas, dan menyamarkan diri Anda, 
ini memungkinkan Anda untuk menyembunyikan informasi jaringan dan DNS Anda. Dalam Bab 4 Anda akan diberitahu tentang bagaimana cara menambahkan, 
menghapus, dan mengupgrade software, serta bagaimana cara menjaga sistem Anda tetap 
ramping. Lalu dilanjutkan dengan Bab 5, dalam bab tersebut Anda akan memanipulasi izin 
file dan direktori untuk mengontrol siapa yang dapat mengakses apa. Anda juga akan 
mempelajari beberapa teknik eskalasi hak istimewa.
Bab 6 mengajarkan Anda cara mengelola layanan, termasuk memulai dan 
menghentikan proses dan mengalokasikan sumber daya untuk memberi Anda kendali yang 
lebih besar. Bab 7 Anda akan mengelola variabel lingkungan untuk kinerja, kenyamanan, dan 
bahkan siluman yang optimal. Anda akan menemukan dan memfilter variabel, mengubah 
variabel PATH Anda, dan membuat variabel lingkungan baru.
Bab 8 memperkenalkan Anda pada scripting bash, pokok untuk Hacker serius. Anda 
akan mempelajari dasar-dasar bash dan membuat skrip untuk memindai port target yang 
mungkin Anda infiltrasi nanti.
Bab 9 dan 10 akan memberikan Anda beberapa keterampilan manajemen sistem file 
yang penting, disana juga akan ditunjukkan cara mengompresi dan mengarsipkan file untuk 
menjaga sistem Anda tetap bersih, menyalin seluruh perangkat penyimpanan, dan 
mendapatkan informasi tentang file dan disk yang terhubung.
Bagian terakhir, Bab 11 akan menggali lebih dalam topik Hacking. Anda akan 
menggunakan dan memanipulasi sistem logging untuk mendapatkan informasi tentang 
aktivitas target dan menutupi jejak Anda sendiri. Bab 12 menunjukkan cara menggunakan 
dan menyalahgunakan tiga layanan inti Linux: server web Apache, OpenSSH, dan MySQL. 
Anda akan membuat server web, membuat mata-mata video jarak jauh, dan mempelajari 
tentang database dan kerentanannya. Bab 13 akan menunjukkan cara tetap aman dan 
anonim dengan server proxy, jaringan Tor, VPN, dan email terenkripsi.
Bab 14 berkaitan dengan jaringan nirkabel. Anda akan mempelajari perintah dasar 
jaringan, lalu memecahkan titik akses WiFi dan mendeteksi serta menghubungkan ke sinyal 
Bluetooth. Bab 15 akan menyelam lebih dalam ke dalam Linux itu sendiri dengan pandangan 
tingkat tinggi tentang cara kerja kernel dan bagaimana drivernya dapat disalahgunakan 
untuk mengirimkan software berbahaya. 
Bab 16 akan dijelasakan tentang ketrampilan penjadwalan penting untuk otomatisasi 
skrip hacking Anda. Bab 17 akan mengajarkan Anda konsep inti Python, dan Anda akan 
membuat skrip dua hacking toolan: pemindai untuk memata-matai koneksi TCP/IP, dan 
cracker kata sandi sederhana.
APA ITU ETHICAL HACKING?
Dengan pertumbuhan bidang keamanan informasi dalam beberapa tahun terakhir, 
telah terjadi pertumbuhan dramatis di bidang peretasan etis (ethical hacking), juga dikenal 
sebagai peretasan white hat/topi putih (orang baik). Ethican Hacking/peretasan etis adalah 
praktik mencoba untuk menyusup dan mengeksploitasi suatu sistem untuk mengetahui 
kelemahannya dan mengamankannya dengan lebih baik. Saya membagi bidang peretasan
etis menjadi dua komponen utama: pengujian penetrasi untuk perusahaan keamanan 
informasi yang sah dan bekerja untuk badan militer atau intelijen negara Anda. Keduanya 
adalah area yang berkembang pesat, dan permintaannya kuat.
Pengujian Penetrasi 
Ketika organisasi menjadi semakin sadar akan keamanan dan biaya pelanggaran 
keamanan meningkat secara eksponensial, banyak organisasi besar mulai mengontrak 
layanan keamanan. Salah satu dari layanan keamanan utama ini adalah pengujian penetrasi. Uji penetrasi pada dasarnya adalah peretasan yang legal dan ditugaskan untuk menunjukkan 
kerentanan jaringan dan sistem perusahaan.
Umumnya, organisasi melakukan penilaian kerentanan terlebih dahulu untuk 
menemukan potensi kerentanan di jaringan, sistem operasi, dan layanan mereka. Saya 
menekankan potensi, karena pemindaian kerentanan ini mencakup sejumlah positif palsu 
yang signifikan (hal-hal yang diidentifikasi sebagai kerentanan yang sebenarnya tidak). Ini 
adalah peran penguji penetrasi untuk mencoba meretas, atau menembus, kerentanan ini. 
Hanya dengan begitu organisasi dapat mengetahui apakah kerentanan itu nyata dan 
memutuskan untuk menginvestasikan waktu dan uang untuk menutup kerentanan.
Militer dan Spionase 
Hampir setiap negara di bumi sekarang terlibat dalam spionase dunia maya dan 
perang dunia maya. Seseorang hanya perlu memindai berita utama untuk melihat bahwa 
aktivitas dunia maya adalah metode yang dipilih untuk memata-matai dan menyerang 
sistem militer dan industri.
Hacking memainkan peran penting dalam kegiatan militer dan pengumpulan intelijen, 
dan itu hanya akan semakin benar seiring berjalannya waktu. Bayangkan saja terjadi sebuah 
perang masa depan di mana para Hacker dapat mengakses rencana perang musuh mereka 
dan menghancurkan jaringan listrik, kilang minyak, dan sistem air mereka. Dengan demikian 
pertahanan bangsa tersebut kan hancur atau mudah untuk diserang. 
MENGAPA HACKER MENGGUNAKAN LINUX?
Jadi, daripada sistem lainnya mengapa Hacker justru menggunakan Linux? Alasan 
singkatnya, sebagian besar Linux menawarkan tingkat kontrol yang jauh lebih tinggi melalui 
beberapa metode yang berbeda.
Linux Adalah Open Source 
Tidak seperti Windows, Linux adalah open source, artinya source code sistem operasi 
tersedia untuk Anda. Dengan demikian, Anda dapat mengubah dan memanipulasinya sesuka 
Anda. Jika Anda mencoba untuk membuat sistem beroperasi dengan cara yang tidak 
dimaksudkan, kemampuan untuk memanipulasi source code akan menjadi sangat penting.
Linux: Transparan 
Untuk meretas secara efektif, Anda harus mengetahui dan memahami sistem operasi 
Anda, dan Anda harus memahami sebagian besar sistem operasi yang akan Anda serang. 
Linux benar-benar transparan, artinya kita dapat melihat dan memanipulasi semua bagian 
kerjanya.
Berbeda dengan Windows, Microsoft berusaha keras untuk membuat sistemnya
sesulit mungkin dalam mengetahui cara kerja sistem operasinya, sehingga Anda tidak pernah 
benar-benar tahu apa yang terjadi "di balik layar", sedangkan di Linux, Anda memiliki 
sorotan langsung dan setiap sorotan dari sistem operasi, hal ini membuat Anda lebih efektif 
ketika bekerja dengan Linux .
Linux Menawarkan Kontrol Granular 
Linux bersifat granular. Ini berarti Anda memiliki kendali yang hampir tak terbatas 
diseluruh sistem. Pada Windows, Anda hanya dapat mengontrol apa yang diizinkan 
Microsoft untuk Anda kontrol. Dalam Linux, semuanya (tingkat mikro/makro) dapat 
dikendalikan oleh terminal. Selain itu, Linux membuat skrip dalam salah satu bahasa skrip
yang simpel dan efektif.
Sebagian besar Hacking toolan Ditulis untuk Linux 
Lebih dari 90 persen dari semua hacking toolan ditulis untuk Linux. Ada pengecualian,
yang tentu saja itu menjadi bukti dari aturan Linuk, seperti Cain dan Habel dan Wikto. Saat peretasan seperti Metasploit atau nmap porting untuk Windows, tidak semua kemampuan 
di transfer dari Linux.
Masa Depan Milik Linux/Unix 
Ini mungkin tampak seperti pernyataan radikal, tetapi saya sangat yakin bahwa masa 
depan teknologi informasi adalah milik sistem Linux dan Unix. Microsoft memiliki masanya di 
tahun 1980-an dan 1990-an, tetapi pertumbuhannya melambat dan stagnan.
Sejak internet dimulai, Linux/Unix telah menjadi sistem operasi pilihan untuk server 
web karena stabilitas, keandalan, dan ketahanannya. Bahkan saat ini, Linux/Unix digunakan 
di dua pertiga server web dan mendominasi pasar. Sistem yang disematkan di router, sakelar, 
dan perangkat lainnya hampir selalu menggunakan kernel Linux, dan dunia virtualisasi 
didominasi oleh Linux, dengan VMware dan Citrix yang dibangun di atas kernel Linux.
Lebih dari 80 persen perangkat seluler menjalankan Unix atau Linux (iOS adalah Unix, 
dan Android adalah Linux), jadi jika Anda yakin bahwa masa depan komputasi terletak pada 
perangkat seluler seperti tablet dan ponsel (hal lain akan sulit untuk diperdebatkan) masa 
depan adalah Unix/Linux.Microsoft Windows hanya memiliki pasar 7% di perangkat seluler.
DOWNLOAD KALI LINUX 
Sebelum memulai, Anda perlu mengunduh dan menginstal Kali Linux di komputer 
Anda terlebih dahulu. Kali Linux adalah distribusi Linux yang akan kita kerjakan dalam buku 
ini. Linux pertama kali dikembangkan oleh Linus Torvalds pada tahun 1991 sebagai alternatif 
open source untuk Unix. Karena ini adalah open source, pengembang sukarelawan 
mengkodekan kernel, utilitas, dan aplikasi yang berarti bahwa tidak ada entitas perusahaan 
utama yang mengawasi pengembangan, sebagai akibatnya, konvensi dan standardisasi 
sering kali kurang.
Kali Linux dikembangkan oleh Offensive Security sebagai sistem operasi peretasan
yang dibangun di atas distribusi Linux yang disebut Debian, selain itu masih ada banyak 
distribusi Linux, dan Debian adalah salah satu yang terbaik. Mungkin Anda lebih akrab 
dengan Ubuntu sebagai distribusi desktop Linux yang populer daripada yang lain. Ubuntu 
juga dibangun di Debian. 
Distribusi lainnya mencakup Red Hat, CentOS, Mint, Arch, dan SUSE. Meskipun 
semuanya memiliki kernel Linux yang sama (jantung sistem operasi yang mengontrol CPU, 
RAM, dan sebagainya), masing-masing memiliki utilitas, aplikasi, dan pilihan antarmuka 
grafis (GNOME, KDE, dan lainnya) sendiri-sendiri. tujuan. Akibatnya, setiap distribusi Linux ini 
terlihat dan terasa sedikit berbeda. Kali dirancang untuk penguji penetrasi dan Hacker dan 
dilengkapi dengan pelengkap hacking toolan yang signifikan.
Saya sangat menyarankan agar Anda menggunakan Kali Linux untuk belajar dengan 
buku ini. Meskipun Anda dapat menggunakan distribusi lain, Anda mungkin harus 
mengunduh dan memasang berbagai alat yang akan kami gunakan, yang dapat berarti 
banyak waktu untuk mengunduh dan memasang alat. Selain itu, jika distribusi tersebut tidak 
dibangun di atas Debian, mungkin ada perbedaan kecil lainnya. Anda dapat mendownload 
dan menginstal Kali dari https://www.kali.org/.
Dari laman beranda, klik tautan Unduhan di bagian atas laman. Di halaman Unduhan, 
Anda akan dihadapkan dengan banyak pilihan unduhan. Sangat penting untuk memilih 
unduhan yang tepat. Di sepanjang sisi kiri tabel, Anda akan melihat nama gambar, yang 
merupakan nama versi yang diunduh melalui tautan. Misalnya, daftar nama gambar pertama 
yang saya lihat adalah KaliLinux 64 Bit, artinya ini adalah Kali Linux lengkap dan cocok untuk 
sistem 64bit—kebanyakan sistem modern menggunakan Intel 64bit atau CPU AMD. 
Untuk menentukan jenis CPU di sistem Anda, buka Panel Kontrol ▸ Sistem dan Keamanan ▸Sistem, dan harus didaftarkan. Jika sistem Anda 64bit, unduh dan instal Kali versi 64bit 
(bukan Light atau Lxde, atau salah satu dari alternatif lainnya).
Jika Anda menggunakan komputer lama dengan CPU 32bit, Anda harus menginstall 
versi 32 bit, yang muncul dibagian bawah halaman. Anda memiliki pilihan untuk mengunduh 
melalui HTTP atau Torrent. Jika Anda memilih HTTP, Kali Linux akan secara otomatis 
mengunduh melalui broswer yang sering Anda gunakan, dan jika selesai folder akan 
ditempatkan di folder Download Anda. Torrent download adalah unduhan peer-to-peer yang 
digunakan oleh banyak situs berbagi file. Anda akan memerlukan aplikasi torrentng seperti 
BitTorrent. File Kali Linux kemudian akan diunduh ke folder tempat aplikasi torrent
menyimpan unduhannya.
Ada versi lain untuk jenis CPU lainnya, seperti arsitektur ARM yang umum digunakan 
yang ditemukan begitu banyak di perangkat seluler. Jika Anda menggunakan Raspberry Pi, 
tablet, atau perangkat seluler lainnya (pengguna ponsel kemungkinan akan lebih memilih 
Kali NetHunter), pastikan Anda mengunduh dan menginstal versi arsitektur ARM dari Kali 
dengan menggulir ke bawah untuk Mengunduh Gambar dan mengeklik ARM.
Sekarang saya beranggapan, Anda sudah mendownload Kali Linux, sebelum Anda 
menginstal apa pun dari situ, saya ingin berbicara sedikit tentang mesin virtual. Umumnya, 
untuk pemula, memasang Kali Linux ke mesin virtual adalah solusi terbaik untuk belajar dan 
berlatih.
VIRTUAL MACHINES /MESIN VIRTUAL 
Teknologi virtual machines (VM) memungkinkan Anda menjalankan beberapa sistem 
operasi dari satu perangkat keras seperti laptop atau desktop. Ini berarti bahwa Anda dapat 
terus menjalankan sistem operasi Windows atau MacOS yang Anda kenal dan menjalankan 
mesin virtual Kali Linux di dalam sistem operasi tersebut. Anda tidak perlu menimpa OS yang 
ada untuk mempelajari Linux.
Banyak aplikasi mesin virtual tersedia dari VMware, Oracle, Microsoft, dan vendor 
lainnya. Semuanya sangat baik, tetapi di sini saya akan menunjukkan kepada Anda cara 
mengunduh dan menginstal VirtualBox gratis dari Oracle.
Menginstall VirtualBox 
Anda dapat mengunduh VirtualBox di https://www.virtualbox.org/ seperti yang 
ditunjukkan pada Gambar 1. Klik tautan download di menu sebelah kiri, lalu pilih paket 
VirtualBox untuk sistem operasi komputer Anda saat ini yang akan menghosting VM 
VirtualBox. Pastikan mengunduh versi terbaru.Gambar 1: halaman beranda VirtualBox
Gambar 2: Setup Wizard dialog
Setelah download selesai, klik setup file, dan Anda akan disambut oleh Setup Wizard 
yang sudah dikenal, yang ditunjukkan pada Gambar 2. Klik Berikutnya, dan Anda akan 
disambut dengan Custom Setup screen, seperti pada Gambar 3.
Gambar 3: Custom Setup dialog
Dari layar ini, cukup klik Next. Terus klik Next sampai Anda bertemu dengan dialog 
Network Interface Warning lalu klik Yes. Klik Install untuk memulai proses. Selama proses ini, 
Anda kemungkinan akan diminta untuk menginstal software beberapa kali. Ini adalah 
perangkat jaringan virtual yang diperlukan agar mesin virtual Anda dapat berkomunikasi. 
Klik Install untuk masing-masing.
Gambar 4: Pengelola VirtualBox
Setting Up Virtual Machine Anda
Sekarang mari kita mulai dengan Virtual Machine Anda. VirtualBox harus terbuka 
setelah di instal, jika VirtualBox tidak terbuka secara otomatis maka Anda harus 
membukanya secara manual dengan membuka VirtualBox Manager seperti yang terlihat 
pada Gambar 4.
Karena kita akan membuat mesin virtual baru dengan KaliLinux, maka. klik New di 
sudut kiri atas. Tindakan ini akan membuka dialog New Virtual Machine yang ditunjukkan 
pada Gambar 5.
Beri nama mesin Anda (nama apa pun boleh, tetapi saya hanya menggunakan Kali) 
lalu pilih Linux dari menu Type drop-down. Terakhir, pilih Debian (64bit) dari menu tarik￾turun ketiga (kecuali jika Anda menggunakan Kali versi 32bit, dalam hal ini pilih versi Debian 
32bit). Klik Next, dan Anda akan melihat layar seperti Gambar 6. Di sini, Anda harus memilih 
berapa banyak RAM yang ingin Anda alokasikan ke mesin virtual baru ini.
Gambar 5: Dialog Buat Mesin Virtual
Gambar 6: Mengalokasikan memori
Sebagai aturan umum, saya tidak menyarankan untuk menggunakan lebih dari 25 
persen dari total RAM sistem Anda. Artinya, jika Anda telah menginstal 4 GB di sistem fisik 
atau sistem host, lalu pilih hanya 1 GB untuk mesin virtual Anda, dan jika Anda memiliki 16 
GB di sistem fisik Anda, lalu pilih 4 GB. Semakin banyak RAM yang Anda berikan kepada
mesin virtual Anda, semakin baik dan cepat mesin itu akan berjalan, tetapi Anda juga harus 
menyisakan cukup RAM untuk sistem operasi host Anda dan mesin virtual lainnya yang 
mungkin ingin Anda jalankan secara bersamaan. Mesin virtual Anda tidak akan 
menggunakan RAM apa pun saat Anda tidak menggunakannya, tetapi mereka akan 
menggunakan ruang hard drive.
Klik Next dan tampilannya akan berpindah ke layar Hard Disk, lalu klik 
Create Virtual Hard Disk dan Klik Create. Di layar berikutnya, Anda dapat memutuskan 
apakah hard drive yang Anda buat akan dialokasikan secara dinamis atau pada ukuran tetap. 
Jika Anda memilih Dynamically Allocated, sistem tidak akan menggunakan seluruh ukuran 
maksimum yang Anda alokasikan untuk hard disk virtual hingga Anda membutuhkannya, 
sehingga menghemat lebih banyak ruang hard disk yang tidak digunakan untuk sistem host 
Anda. Saya menyarankan Anda memilih dialokasikan secara dinamis. Klik Next, dan Anda 
akan memilih jumlah ruang hard drive yang akan dialokasikan ke VM dan lokasi VM (lihat 
Gambar 7).
Gambar 7: Mengalokasikan ruang hard drive
Ukuran default-nya adalah 8GB, tapi menurut saya itu agak kecil, dan Saya 
merekomendasikan Anda untuk mengalokasikan minimal 20 – 25 GB.
Ingat, jika Anda memilih untuk mengalokasikan ruang hard drive secara dinamis, itu tidak 
akan menggunakan ruang tersebut sampai Anda membutuhkannya, dan memperluas hard 
drive Anda setelah dialokasikan dapat menjadi rumit, jadi lebih baik untuk melakukan 
kesalahan. Klik Create, dan Anda siap untuk beroperasi!
Menginstal Kali di VM 
Pada titik ini, Anda akan melihat layar seperti Gambar 8. Sekarang Anda perlu 
menginstal Kali. Perhatikan bahwa di sebelah kiri VirtualBox Manager, Anda akan melihat 
indikasi bahwa Kali VM dimatikan. Klik tombol Mulai (ikon panah hijau).
VirtualBox Manager akan bertanya di mana menemukan disk startup. Anda telah 
mengunduh gambar disk dengan ekstensi .iso yang seharusnya ada di folder Unduhan Anda 
(jika Anda menggunakan torrent untuk mengunduh Kali, file .iso akan berada di folder 
Dowload aplikasi torrent Anda). Klik ikon folder di sebelah kanan, navigasikan ke folder 
Download, dan pilih file gambar Kali (lihat Gambar 9).
Gambar 9: Memilih disk startup Anda
Lalu klik Start. Selamat, Anda baru saja menginstal Kali Linux di mesin virtual!
SETTING UP KALI 
Kali sekarang akan membuka layar seperti Gambar 10 dan menawarkan beberapa 
pilihan startup kepada Anda. Saya menyarankan Anda untuk menggunakan Graphic Install 
untuk pemula. Gunakan tombol keyboard Anda untuk menavigasi. Jika Anda menemukan kesalahan/error saat menginstall Kali kedalam VirtualBox, ini mungkin Anda belum 
mengaktifkan virtualisasi didalam BIOS sistem Anda. Setiap sistem dan BIOS-nya sedikit 
berbeda, jadi hubungi pabrikan Anda atau cari solusi online untuk sistem dan BIOS Anda. 
Selain itu, pada sistem Windows, Anda mungkin perlu menonaktifkan software virtualisasi 
yang bersaing seperti HyperV. Sekali lagi, pencarian internet untuk sistem Anda harus 
membimbing Anda dalam melakukannya.
Gambar 10: Memilih metode instal
Selanjutnya, Anda akan diminta untuk memilih bahasa Anda. Pastikan Anda memilih 
bahasa yang paling nyaman Anda digunakan lalu klik Continue. Selanjutnya, pilih Your 
Location, klik Continue, lalu pilih tata letak keyboard Anda.
Gambar 11: Memasukkan nama hostGambar 12: Memilih sandi
Saat Anda mengklik Continue, VirtualBox akan melalui proses mendeteksi perangkat 
keras dan adaptor jaringan Anda. Tunggulah dengan sabar, selanjutnya, Anda akan disambut 
oleh layar yang meminta Anda untuk mengonfigurasi jaringan Anda, seperti pada Gambar 11.
Item pertama yang diminta adalah nama host Anda. Anda dapat memberi nama apa 
pun yang Anda inginkan, tetapi saya meninggalkan milik saya dengan "kali" default. 
Selanjutnya, Anda akan diminta untuk nama domain. Anda tidak harus memasukkan apa pun 
di sini. Klik Continue. Layar berikutnya, ditunjukkan pada Gambar 12. Di sini, Anda akan 
dimintai kata sandi yang ingin Anda gunakan untuk User root.
Gambar 13: Menulis perubahan ke disk
Pengguna root di Linux adalah administrator sistem yang sangat kuat. Anda dapat 
menggunakan sandi apa pun yang Anda merasa aman. Jika ini adalah sistem fisik yang kami 
gunakan di internet, saya sarankan Anda menggunakan kata sandi yang sangat panjang dan 
rumit untuk membatasi kemampuan penyerang untuk memecahkannya. Karena ini adalah 
mesin virtual yang tidak dapat diakses orang tanpa terlebih dahulu mengakses sistem 
operasi host Anda, otentikasi sandi pada mesin virtual ini tidak terlalu penting, tetapi Anda 
tetap harus memilih dengan bijak. Klik Continue, dan Anda akan dimintauntuk menyetel 
zona waktu Anda. Klik lalulanjutkan.
Layar berikutnya menanyakan tentang disk partisi (partisi adalah seperti apa 
suaranya—sebagian atau segmen hard drive Anda). Pilih Guided – use entire disk, dan Kali 
akan mendeteksi hard drive Anda dan menyiapkan partisi secara otomatis.
Kali kemudian akan memperingatkan Anda bahwa semua data pada disk yang Anda pilih 
akan dihapus tapi jangan khawatir! Ini adalah disk virtual, dan disk ini baru dan kosong, jadi 
ini sebenarnya tidak akan melakukan apa pun. Klik Continue.
Kali sekarang akan menanyakan apakah Anda ingin semua file dalam satu partisi atau 
apakah Anda ingin memiliki partisi yang terpisah. Jika ini adalah sistem produksi, Anda 
mungkin akan memilih partisi terpisah untuk/home,/var, dan/tmp, tetapi mengingat bahwa 
kami akan menggunakan ini sebagai sistem pembelajaran di lingkungan virtual, semuanya 
aman untuk Anda pilih All files in one partition untuk menjadikan file dalam satu partisi.
Sekarang Anda akan ditanya apakah akan menulis perubahan Anda ke disk. 
Pilih Finish partitioning and write changes to disk untuk menyelesaikan partisi dan tulis 
perubahan ke disk. Kali akan meminta Anda sekali lagi untuk melihat apakah Anda ingin 
menulis perubahan ke disk; pilih Yes dan klik Continue (lihat Gambar 13).
Sekarang Kali akan mulai menginstl sistem operasi, biasanya membutuhkan beberapa 
saat, jadi Anda harus bersabar menunggu, dan sekarang adalah waktu untuk istirahat di 
kamar mandi dan mendapatkan minuman favorit Anda sampai proses selesai.
Setelah penginstalan selesai, Anda akan diminta untuk menentukan apakah Anda ingin 
menggunakan cermin jaringan. Ini benar-benar tidak diperlukan, jadi klik No.
Gambar 14: Menginstal GRUBKemudian, Kali akan meminta Anda apakah Anda ingin menginstal GRUB (Grand 
Unified Bootloader), yang ditunjukkan pada Gambar 14. Sebuah bootloader memungkinkan 
Anda untuk memilih sistem operasi yang berbeda untuk boot, yang berarti Anda dapat 
melakukan boot di mesin Anda Kali atau sistem operasi lainnya. Pilih Yes dan klik Continue.
Pada layar berikutnya, Anda akan diminta apakah Anda ingin menginstal bootloader 
GRUB secara otomatis atau manual. Untuk alasan yang belum jelas, jika Anda memilih opsi 
kedua, Kali akan cenderung hang dan menampilkan layar kosong setelah penginstalan. Pilih 
Enter device manually, seperti yang ditunjukkan pada Gambar 15.
Gambar 15: Memasukkan perangkat Anda secara manual
Pada layar berikutnya, pilih drive tempat bootloader GRUB harus diinstal (kemungkin
an akan seperti /dev/sda). Klik melalui ke layar berikutnya, yang akan memberi tahu Anda 
bahwa penginstalan sudah selesai.
Selamat! Anda telah menginstal Kali. Klik Continue. Kali akan mencoba untuk mem￾boot ulang, dan Anda akan melihat sejumlah baris kode melintasi layar hitam kosong 
sebelum Anda akhirnya disambut dengan layar login Kali 2018, seperti yang ditunjukkan 
pada Gambar 16.
Gambar 16: Layar login Kali
Masuk sebagai root, dan Anda akan dimintai kata sandi. Masukkan sandi apa 
pun yang Anda pilih untuk pengguna root. Setelah login sebagai root, Anda akan disambut 
dengan desktop Kali Linux, seperti pada Gambar 17.
Gambar 17: Layar utama Kali
Anda sekarang siap untuk memulai perjalanan Anda ke dalam bidang peretasan yang 
menarik! Selamat datang!


BAB 1
DASAR SISTEM OPERASI HACKER: LINUX
Sesuai dengan sifat kita, Hacker adalah pelaku. Kita ingin menyentuh dan bermain 
dengan sesuatu. Kita juga ingin membuat dan memecahkan sesuatu. Hanya sedikit dari kita 
yang mau membaca buku teori teknologi informasi dengan ratusan bahakn ribuan halaman 
sebelum kita dapat melakukan hal yang paling kita sukai: hacking. Dengan 
mempertimbangkan hal itu, bab ini dirancang untuk memberi Anda beberapa keterampilan 
dasar untuk membuat Anda siap dan berlari di Kali.
Dalam bab ini, kita tidak akan membahas satu konsep secara mendetail, tapi kita 
akan membahas secukupnya saja untuk memungkinkan Anda bermain dan menjelajahi 
sistem operasi Hacker: Linux. Kita akan diskusi mendalam untuk bab-bab selanjutnya.
1.1 KONSEP DAN PERSYARATAN
Sebelum kita memulai perjalanan kita melalui dunia Linux Basics yang indah untuk 
Hacker, saya ingin memperkenalkan beberapa istilah yang akan menjelaskan beberapa 
konsep yang dibahas dalam bab ini nanti.
Binaries (Binari) Istilah ini mengacu pada file yang dapat dieksekusi, mirip dengan 
yang dapat dieksekusi di Windows. Biner biasanya berada di direktori/usr/bin atau usr/sbin
dan menyertakan utilitas seperti ps, cat, ls, dan cd (kita akan menyentuh keempatnya di bab 
ini) serta aplikasi nirkabel seperti hacking toolan aircrackng dan sistem deteksi intrusi (IDS) 
Snort.
Case sensitivity Tidak seperti Windows, Linux peka akan huruf besar/kecil. Ini berarti 
bahwa Desktop berbeda dengan desktop. Masing-masing dari ini akan mewakili nama file 
atau direktori yang berbeda. Bagi banyak orang yang berasal dari lingkungan Windows 
mungkin sedikit membuat frustasi. Jika Anda mendapatkan pesan kesalahan “file atau 
direktori tidak ditemukan” dan Anda yakin file atau direktori tersebut ada, Anda mungkin 
perlu memeriksa kasus Anda.
Directory (Direktori) Ini sama dengan folder di Windows. Direktori menyediakan cara 
untuk mengatur file, biasanya secara hierarkis.
Home (Beranda) Setiap pengguna user direktori /home sendiri, dan di sini biasanya 
file yang Anda buat akan disimpan secara default.
Kali Kali Linux adalah distribusi Linux yang dirancang khusus untuk pengujian 
penetrasi, membuatnya memiliki ratusan alat yang telah diinstal sebelumnya, sehingga
dapat menghemat waktu yang Anda perlukan untuk mendownload dan menginstalnya 
sendiri. Saya akan menggunakan Kali versi terbaru pada saat penulisan ini: Kali 2018.2, 
pertama kali dirilis pada bulan April 2018.
Root Seperti hampir semua sistem operasi, Linux memiliki akun administrator atau 
super user, yang dirancang untuk digunakan oleh orang tepercaya yang dapat melakukan 
hampir semua hal di sistem, mencakup hal-hal seperti konfigurasi ulang sistem, 
menambahkan user, dan mengubah sandi. Di Linux, akun tersebut disebut root. 
Sebagai Hacker atau tester, Anda akan sering menggunakan akun root untuk memberi diri 
Anda kendali atas sistem. Bahkan, banyak alat Hacker yang mengharuskan Anda 
menggunakan akun root.
Script Ini adalah serangkaian perintah yang dijalankan dalam lingkungan interpretatif 
yang mengubah setiap baris menjadi source code. Banyak hacking toolan yang hanya skrip
Skrip dapat dijalankan dengan penerjemah bash atau salah satu dari penerjemah bahasa 
skrip lainnya, seperti Python, Perl, atau Ruby. Python saat ini adalah juru bahasa paling 
populer di antara Hacker.
Shell Ini adalah lingkungan dan translator untuk menjalankan perintah di Linux. Shell 
yang paling banyak digunakan adalah bash, yang merupakan singkatan dari Bourneagain 
shell, tapi ada juga shell populer lainnya termasuk shell C dan shell Z. Saya akan 
menggunakan shell bash secara eksklusif dalam buku ini.
Terminal Ini adalah antarmuka baris perintah/command line interface (CLI).
Dengan dasar-dasar di belakang kami, kami akan mencoba secara metodis 
mengembangkan keterampilan penting Linux yang Anda perlukan untuk menjadi Hacker
atau penguji penetrasi. Di bab pertama ini, saya akan mempandu Anda memulai dengan Kali 
Linux.
1.2 TOUR KALI
Setelah Anda memulai Kali, Anda akan disambut dengan layar login, seperti yang 
ditunjukkan pada Gambar 1.1. Login menggunakan username root di akun root dan kata 
sandi default. Sekarang Anda harus memiliki akses ke desktop Kali Anda (lihat Gambar 1.2). 
Kita akan segera melihat dua aspek paling dasar dari desktop: terminal interface dan struktur 
file.
Terminal
Langkah pertama dalam menggunakan Kali adalah membuka terminal, yang 
merupakan interface command line yang akan kita gunakan dalam buku ini. Di Kali Linux, 
Anda akan menemukan ikon untuk terminal di bagian bawah desktop. Klik dua kali ikon ini 
untuk membuka terminal atau tekan CTRL+ALT+T. Terminal baru Anda akan terlihat seperti 
yang ditunjukkan pada Gambar 1.3.
Gambar 1.3 Terminal Kali
Terminal ini membuka lingkungan command line, yang dikenal sebagai shell, yang 
memungkinkan Anda untuk dapat menulis skrip dan menjalankan perintah pada sistem 
operasi yang mendasarinya. Meskipun Linux memiliki banyak lingkungan shell yang berbeda, 
yang paling populer adalah shell bash, yang juga merupakan shell default di Kali dan banyak 
distribusi Linux lainnya. Untuk mengubah sandi, Anda dapat menggunakan perintah passwd.
Sistem File Linux 
Struktur sistem file Linux agak berbeda dari Windows. Linux tidak memiliki drive fisik 
(seperti drive C: di dasar sistem file tetapi menggunakan sistem file logis sebagai gantinya. Di 
bagian paling atas dari struktur sistem file adalah /, yang sering disebut sebagai akar dari 
sistem file, seolah-olah itu adalah pohon yang terbalik (lihat Gambar 1.4). Perlu diingat 
bahwa ini berbeda dari pengguna root. Pada awalnya, istilah ini mungkin tampak 
membingungkan, tetapi istilah ini akan menjadi lebih mudah untuk dibedakan setelah Anda 
terbiasa dengan Linux
Root (/) sistem file berada di bagian atas pohon, dan subdirektori berikut adalah subdirektori 
yang paling penting untuk diketahui:
/root Direktori beranda dari pengguna root yang sangat kuat
/etc Umumnya berisi file konfigurasi Linux—file yang mengontrol 
kapan dan bagaimana program dimulai
/home Direktori beranda user
/mnt Tempat sistem file lain dipasang atau dipasang ke sistem file
/media Tempat CD dan perangkat USB biasanya dipasang atau dipasang ke sistem file
/bin Tempat binari aplikasi (setara dengan executable di Microsoft Windows) berada
/lib Tempat Anda akan menemukan library (program bersama yang mirip dengan 
Windows, dan lain-lain)
Kita akan menghabiskan lebih banyak waktu dengan direktori utama di seluruh buku 
ini. Memahami direktori tingkat pertama ini sangat penting untuk menavigasi melalui sistem 
file dari command line.
Penting juga untuk diketahui sebelum Anda memulai bahwa Anda tidak boleh masuk 
sebagai root saat melakukan tugas rutin, karena siapa pun yang meretas sistem Anda (ya, 
Hacker terkadang dihack) saat Anda masuk dan langsung melakukan root “own” sistem Anda. 
Masuk sebagai pengguna biasa saat memulai aplikasi biasa, menjelajahi web, menjalankan 
alat seperti Wireshark, dan sebagainya.
1.3 BASIC COMMAND DI LINUX 
Untuk memulai, mari kita lihat beberapa basic command/perintah dasar yang akan 
membantu Anda bangun dan berjalan di Linux. 
Temukan Diri Anda dengan pwd 
Tidak seperti saat Anda bekerja di lingkungan antarmuka pengguna 
grafis/graphical user interface (GUI) seperti Windows atau macOS, command line di Linux 
tidak selalu menunjukkan direktori mana Anda berada saat ini, untuk menavigasi direktori 
baru Anda biasanya perlu mengetahui di mana Anda saat ini. Perintah direktori kerja saat ini, 
pwd, mengembalikan lokasi Anda dalam struktur direktori.
Masukkan pwd di terminal Anda untuk melihat di mana Anda berada:
Kali > pwd
/root
Dalam hal ini, Linux mengembalikan/root, memberi tahu saya bahwa saya berada di direktori 
pengguna root. Dan karena Anda masuk sebagai root saat memulai Linux, Anda juga harus 
berada di direktori pengguna root yang satu tingkat di bawah bagian atas struktur sistem file 
(/). Jika Anda berada di direktori lain, pwd akan mengembalikan nama direktori tersebut 
sebagai gantinya.
Memeriksa Login Anda dengan whoami
Di Linux, superuser atau administrator sistem yang “sangat kuat” bernama root, dan 
ia memiliki semua hak istimewa sistem yang diperlukan untuk menambahkan pengguna, 
mengubah kata sandi, mengubah hak istimewa, dan seterusnya. Jelas, Anda tidak ingin 
sembarang orang memiliki kemampuan untuk membuat perubahan tersebut; Anda 
menginginkan seseorang yang dapat dipercaya dan memiliki pengetahuan yang tepat 
tentang sistem operasi. Sebagai Hacker, Anda biasanya perlu memiliki semua hak istimewa 
tersebut untuk menjalankan program dan perintah yang Anda perlukan (banyak alat Hacker
tidak akan berfungsi kecuali Anda memiliki hak akses root), jadi Anda ingin masuk sebagai 
root.
Jika Anda lupa apakah Anda login sebagai root atau pengguna lain, Anda dapat 
menggunakan perintah whoami untuk melihat pengguna mana Anda login sebagai:
Kali > whoami
Root
Jika saya telah masuk sebagai pengguna lain, seperti akun pribadi saya, whoami akan 
mengembalikan nama pengguna saya, seperti yang ditunjukkan di sini:
Kali > whoami 
OTW
Menavigasi Sistem File Linux 
Menavigasi sistem file dari terminal adalah keterampilan Linux yang penting. Untuk 
menyelesaiakan apa saja dalam file linux, Anda harus dapat menemukan aplikasi, 
file, dan direktori yang berada di direktori lain. Dalam sistem berbasis GUI, Anda dapat 
melihat direktori secara visual, tetapi bila Anda menggunakan antarmuka baris perintah, 
strukturnya sepenuhnya berbasis teks, dan menavigasi sistem file berarti menggunakan 
beberapa perintah.
Mengubah Direktori dengan cd 
Untuk mengubah direktori dari terminal, gunakan perintah ubah direktori, cd. 
Misalnya, berikut ini adalah cara untuk mengubah direktori/etc yang digunakan untuk 
menyimpan file konfigurasi:
Kali > cd/etc
root@kali:/etc#
Perintah berubah menjadi root@kali:/etc, menunjukkan bahwa kita berada dalam 
direktori/etc. Kita dapat mengonfirmasi ini dengan memasukkan pwd
root@kali:/etc# pwd
/etc
Untuk naik satu tingkat dalam struktur file (menuju akar struktur file, atau/), kami 
menggunakan cd diikuti dengan titik ganda (..), seperti yang ditunjukkan di sini:
root@kali:/etc# cd ..
root@kali:/# pwd
root@kali:/#
Ini untuk memindahkan satu tingkat dari/etc ke direktori /root, tetapi Anda juga bisa naik ke 
tingkat sebanyak yang Anda butuhkan. Cukup gunakan jumlah pasangan titik ganda yang 
sama dengan jumlah level yang ingin Anda pindahkan:
 Anda akan menggunakan .. untuk naik satu tingkat.
 Anda akan menggunakan .. .. untuk naik dua tingkat.
 Anda akan menggunakan .. .. .. untuk naik tiga tingkat, dan seterusnya.
Jadi, misalnya, untuk naik dua tingkat, masukkan cd diikuti dengan dua set titik ganda 
dengan spasi di antaranya:
Kali > cd
Anda juga dapat naik ke level root di struktur file dari mana saja dengan memasukkan cd /, 
dimana / mewakili root sistem file. ile.
Mencantumkan Isi Direktori dengan ls 
Untuk melihat isi direktori (file dan subdirektori), kita dapat menggunakan perintah ls 
(list). Ini sangat mirip dengan dir command di Windows.
kali >ls
bin initrd.img media run var 
boot initrd.img.old mnt sbin vmlinuz 
dev lib opt srv vmlinuz.old 
etc lib64 proc tmp 
home lost+found root usr
Perintah ini mencantumkan berkas dan direktori yang ada di direktori tersebut. Anda juga 
dapat menggunakan perintah ini pada direktori tertentu, bukan hanya direktori tempat Anda
berada saat ini, dengan mencantumkan nama direktori setelah perintah; misalnya, ls /etc 
menunjukkan apa yang ada di direktori/etc.
Untuk mendapatkan lebih banyak informasi tentang file dan direktori, seperti izin, 
pemilik, ukuran, dan kapan terakhir diubah, Anda dapat menambahkan tombol -l setelah ls (l 
singkatan dari long). Ini sering disebut sebagai daftar panjang. Mari coba di sini:
Seperti yang Anda lihat, ls -l memberi kami lebih banyak informasi secara signifikan, 
seperti; apakah suatu objek adalah file atau direktori, jumlah tautan, pemilik, grup, 
ukurannya, saat dibuat atau diubah namanya. 
Saya biasanya menambahkan -l switch setiap
kali melakukan penlisting di Linux, tetapi ke masing-masing. Kita akan berbicara lebih banyak 
tentang ls -l di Bab 5. Beberapa file di Linux disembunyikan dan tidak akan diungkapkan 
dengan perintah ls atau ls -l sederhana.
Untuk menampilkan file tersembunyi, tambahkan huruf kecil –pengalih, seperti:
Kali > ls-la
Jika Anda tidak melihat file yang Anda harapkan untuk dilihat, ada baiknya mencoba dengan 
bendera.
Getting Help
Hampir setiap perintah, aplikasi, atau utilitas memiliki file help khusus di Linux yang 
memberikan panduan untuk penggunaannya. Misalnya, jika saya memerlukan bantuan 
menggunakan alat cracking nirkabel terbaik, aircrackng, saya cukup mengetik perintah 
aircrack-ng diikuti dengan command --help:
Kali > aircrack-ng --help
Perhatikan tanda pisah ganda di sini. Konvensi di Linux adalah menggunakan tanda pisah (--) 
sebelum opsi kata, seperti bantuan, dan tanda hubung tunggal (-) sebelum opsi satu huruf, 
seperti –h .
Saat Anda memasukkan perintah ini, Anda akan melihat deskripsi singkat tentang 
tool dan panduan tentang cara menggunakannya.
Dalam beberapa kasus, Anda dapat menggunakan -h atau -? untuk membuka file 
bantuan. Misalnya, jika saya memerlukan bantuan menggunakan alat pemindai port terbaik, 
nmap, saya akan memasukkan yang berikut ini:
Kali>nmap -h
Sayangnya, meskipun banyak aplikasi mendukung ketiga opsi tersebut (--help , -
h, dan -? ), tidak ada jaminan pada aplikasi yang Anda gunakan akan. Jadi, jika satu opsi tidak 
berfungsi, maka coba yang lain.
Merujuk Halaman Manual dengan man 
Selain tombol bantuan, sebagian besar perintah dan aplikasi memiliki halaman 
manual (man) dengan informasi lebih lanjut, seperti deskripsi dan sinopsis dari perintah atau 
aplikasi. Anda dapat melihat halaman manual hanya dengan mengetikkan man sebelum 
perintah, utilitas, atau aplikasi. Untuk melihat laman man pada aircrack-ng, Anda harus 
memasukkan yang seperti ini :
Kali>man aircrack-ng
NAME
Aircrack-ng – a 802.11 WEP / WPA-PSK key cracker
SYNOPSIS
Aircrack-ng [option] <.cap/ .ivs file(s)>
DESCRIPTION
Aircrack-ng adlah sebuah 802.11 WEP dan WPA/WPA2-PSK key cracking program. Ia 
dapat memulihkan kunci WEP setelah cukup banyak paket terenkripsi telah ditangkap 
dengan airdump-ng. Bagian ini atau suite aircrack-ng menentukan kunci WEP 
menggunakan dua metode dasar. 
Metode pertama adalah melalui pendekatan PTW (Pyshkin, Tews, Weinmann). 
Keuntungan utama dari pendekatan PTW adalah bahwa sangat sedikit paket data 
yang diperlukan untuk memecahkan kunci WEP. 
Metode kedua adalah metode FMS/KoreK. Metode FMS/KoreK menggabungkan 
berbagai serangan statistik untuk menemukan kunci WEP dan menggunakannya 
dalam kombinasi dengan pemaksaan kasar. Selain itu, program ini menawarkan 
metode kamus untuk menentukan kunci WEP. Untuk memecahkan kunci pra-berbagi 
WPA/WPA2, daftar dunia (file atau stdin) atau airolib-ng harus digunakan.
Tindakan ini akan membuka manual untuk peretasan udara, yang memberi Anda 
informasi yang lebih mendetail daripada layar bantuan. Anda dapat menggulir file manual ini 
menggunakan tombol ENTER, atau Anda dapat membuka halaman ke atas dan ke bawah
masing-masing menggunakan tombol PG DN dan PG UP. Untuk keluar, cukup 
masukkan q (untuk keluar), dan Anda akan kembali ke command prompt.
1.4 FINDING STUFF
Sebelum Anda terbiasa dengan Linux, mungkin sulit untuk menemukan jalan keluar, 
tetapi pengetahuan tentang beberapa perintah dan teknik dasar akan sangat membantu 
untuk membuat command line yang jauh lebiih ramah. Perintah berikut ini membantu Anda 
menemukan sesuatu dari terminal 
Searching dengan locate 
Mungkin perintah yang termudah untuk digunakan adalah locate. Diikuti dengan kata 
kunci yang menunjukkan apa yang ingin Anda temukan, perintah ini akan melewati seluruh 
sistem file Anda dan menemukan setiap kemunculan kata itu.
Untuk mencari aircrack-ng, misalnya, masukkan yang berikut:
kali >locate aircrack-ng
/usr/bin/aircrack-ng 
/usr/share/applications/kali-aircrack-ng.desktop 
/usr/share/desktop-directories/05-1-01-aircrack-ng.directory 
--snip -
/var/lib/dpkg/info/aircrack-ng.mg5sums
Namun, perintah locate tidak sempurna. Terkadang hasil lokasi dari command locate 
agak menakjubkan, karena memberikan terlalu banyak informasi kepada Anda. Selain itu, 
locate menggunakan database yang biasanya hanya diupdate sekali sehari, jadi jika Anda 
baru saja membuat file beberapa menit atau beberapa jam yang lalu, file tersebut mungkin 
tidak akan muncul dalam daftar ini hingga hari berikutnya. Ada baiknya untuk mengetahui 
kelemahan dari perintah dasar ini sehingga Anda dapat memutuskan dengan lebih baik 
kapan yang terbaik untuk menggunakan masing-masing perintah.
Menemukan Biner dengan whereis 
Jika Anda mencari file biner, Anda dapat menggunakan perintah whereis untuk 
menemukannya. Perintah ini tidak hanya mengembalikan lokasi biner tetapi juga sumber 
dan halaman manualnya jika tersedia. Berikut contohnya:
kali >whereis aircrack-ng 
aircarck-ng: /usr/bin/aircarck-ng /usr/share/man/man1/aircarck-ng.1.gz
Dalam hal ini, whereis hanya ditampilkan biner aircrackng dan halaman manual, daripada 
setiap kemunculan kata aircrackng. Jauh lebih efisien dan mencerahkan, bukan?
Menemukan Biner dalam Variabel PATH dengan which 
Perintah which bahkan lebih spesifik: ia hanya mengembalikan lokasi biner dalam 
variabel PATH di Linux. Kita akan melihat lebih dekat pada variabel PATH di Bab 7, tetapi 
untuk saat ini sudah cukup untuk mengetahui bahwa PATH menyimpan direktori di mana 
sistem operasi mencari perintah yang Anda jalankan pada baris perintah. Misalnya, ketika 
saya memasukkan aircrack-ng pada baris command, sistem operasi melihat ke variabel PATH 
untuk melihat di direktori mana ia harus mencari aircrackng:
kali >which aircrack-ng 
/usr/bin/aircrack-ng
Di sini, which dapat menemukan satu file biner di direktori yang tercantum di 
variabel PATH. Minimal, direktori ini biasanya menyertakan /usr/bin, tetapi mungkin 
menyertakan /usr/sbin dan mungkin beberapa lainnya.
Melakukan Penelusuran yang Lebih Canggih dengan find 
Perintah find adalah utilitas pencarian yang paling kuat dan fleksibel. Ini dapat 
memulai pencarian Anda di direktori yang ditentukan dan mencari sejumlah parameter yang 
berbeda, termasuk, tentu saja, nama file, tetapi juga tanggal pembuatan atau modifikasi, 
pemilik, grup, izin, dan ukuran. Berikut ini merupakan sintaks dasar untuk command find :
find ekspresi opsi direktori
Jadi, jika saya ingin menelusuri file dengan nama apache2 (server web open source) 
yang dimulai dari direktori root, saya akan memasukkan yang berikut ini:
kali > find / ➊ -type f ➋ -name apache2 ➌
Pertama, saya akan menyebutkan direktori untuk memulai penelusuran, dalam hal ini 
/➊. Kemudian saya menentukan jenis file yang akan ditelusuri, dalam hal ini untuk file biasa 
➋. Terakhir, saya memberikan nama file yang saya cari, dalam hal ini apache2➌.
Hasil yang saya dapatkan untuk penelusuran ditampilkan di sini:
kali >find / -type f -name apache2 
/usr/lib/apache2/mpm-itk/apache2 
/usr/lib/apache2/mpm-event/apache2 
/usr/lib/apache2/mpm-worker/apache2 
/usr/lib/apache2/mpm-prefork/apache2 
/etc/cron.daily/apache2
/etc/logrotate.d/apache2 
/etc/init.d/apache2 
/etc/default/apache2
Perintah find dimulai di bagian atas sistem file (/), menelusuri setiap direktori 
mencari apache2 di nama file, dan kemudian mencantumkan semua instance yang 
ditemukan. Seperti yang Anda bayangkan, penelusuran yang terlihat di setiap direktori bisa 
jadi lambat. Salah satu cara untuk mempercepatnya adalah dengan melihat di direktori 
tempat Anda berharap menemukan file yang Anda butuhkan. Dalam hal ini, kami mencari 
file konfigurasi, sehingga kami dapat memulai pencarian di direktori /etc, dan Linux hanya 
akan mencari sejauh subdirektorinya. Mari kita coba:
kali >find /etc -type f -name apache2
/etc/init.d/apache2 
/etc/logrotate.d/apache2 
/etc/cron.daily/apache2
Penelusuran yang jauh lebih cepat ini hanya menemukan kemunculan Apache2 di 
direktori /etc dan subdirektorinya. Penting juga untuk diperhatikan bahwa tidak seperti 
beberapa perintah penelusuran lainnya, find hanya tampilan yang cocok dengan nama persis. 
Jika file apache2 memiliki ekstensi, seperti apache2.conf, penelusuran ini tidak akan 
menemukan kecocokan. Kami dapat memperbaiki batasan ini dengan menggunakan 
karakter pengganti, yang memungkinkan kami untuk mencocokkan beberapa karakter. 
Karakter pengganti datang dalam beberapa bentuk berbeda: * . , ? dan [ ] .
Mari kita lihat di direktori /etc untuk semua file yang dimulai dengan apache2 dan 
memiliki ekstensi apa pun. Untuk ini, kita dapat menulis perintah temukan menggunakan 
karakter pengganti berikut:
kali >find /etc -type f --name apache2.* 
/etc/apache2/apache2.conf
Saat kami menjalankan perintah ini, kami menemukan bahwa ada satu file di direktori /etc 
yang sesuai dengan pola apache2.*. Saat kami menggunakan titik yang diikuti dengan 
karakter pengganti, terminal akan mencari ekstensi apa pun setelah nama file apache2. Ini 
bisa menjadi teknik yang sangat berguna untuk menemukan file yang ekstensi filenya tidak 
Anda ketahui.
Saat saya menjalankan perintah ini, saya menemukan dua file yang dimulai dengan 
apache2 di direktori /etc, termasuk file apache2.conf.
LIHAT CEPAT DI WILDCARD
Misalnya, kita sedang melakukan penelusuran di direktori yang memiliki file cat, hat, what, 
dan bat. yang ? wildcard digunakan untuk mewakili satu karakter, jadi penelusuran untuk di 
akan menemukan topi, cat, dan kelelawar tetapi bukan apa, karena di dalam nama file ini 
didahului oleh dua huruf. Karakter pengganti [] di digunakan untuk mencocokkan karakter 
yang muncul di dalam tanda kurung siku. Misalnya, penelusuran untuk [c,b]di akan cocok 
dengan cat dan kelelawar tetapi bukan topi atau apa. Di antara karakter pengganti yang 
paling banyak digunakan adalah tanda bintang (*), yang cocok dengan karakter apa pun 
dengan panjang berapa pun, dari tidak ada hingga jumlah karakter yang tidak terbatas. 
Penelusuran untuk *di, misalnya, akan menemukan cat, topi, apa, dan kelelawar.
Memfilter dengan grep 
Sangat sering saat menggunakan baris perintah, Anda ingin menelusuri kata kunci 
tertentu.Untuk ini, Anda dapat menggunakan perintah grep sebagai filter untuk menelusuri k
ata kunci. Perintah grep sering digunakan saat output disalurkan dari satu perintah ke 
perintah lainnya. Saya membahas perpipaan di Bab 2, tetapi untuk saat ini, cukup untuk 
mengatakan bahwa Linux (dan Windows dalam hal ini) memungkinkan kita untuk mengambil 
output dari satu perintah dan mengirimkannya sebagai input ke perintah lain. 
Ini disebut piping, dan kami menggunakan | command to do it (tombol | biasanya di atas 
tombol ENTER pada keyboard Anda).
Perintah ps digunakan untuk menampilkan informasi tentang proses yang berjalan 
pada mesin. Kami membahas ini secara lebih mendetail di Bab 6, tetapi untuk contoh ini, 
misalkan saya ingin melihat semua proses yang berjalan di sistem Linux saya. Dalam hal ini, 
saya dapat menggunakan perintah ps (proses) diikuti oleh sakelar aux untuk menentukan 
informasi proses mana yang akan ditampilkan, seperti:
Kali>ps aux
Ini memberi saya daftar semua proses yang berjalan di sistem ini—tetapi bagaimana 
jika saya hanya ingin menemukan satu proses untuk melihat apakah itu berjalan? Saya dapat 
melakukannya dengan menyalurkan output dari ps ke grep dan mencari kata kunci. Misalnya, 
untuk mengetahui apakah layanan apache2 sedang berjalan, saya akan memasukkan yang 
berikut ini.
kali >ps aux | grep apache2
root 4851 0.2 0.7 37548 7668 ? Ss 10:14 0:00 /usr/sbin/apache2 -k start
root 4906 0.0 0.4 37572 4228 ? S 10:14 0:00 /usr/sbin/apache2 -k start 
root 4910 0.0 0.4 37572 4228 ? Ss 10:14 0:00 /usr/sbin/apache2 -k start 
--snip -
Perintah ini memberi tahu Linux untuk menampilkan semua layanan saya dan 
kemudian mengirim output tersebut ke grep, yang akan melihat melalui output untuk kata 
kunci Apache2 dan kemudian hanya menampilkan output yang relevan, sehingga 
menghemat waktu dan penglihatan saya.
1.5 MENGUBAH FILE DAN DIREKTORI
Setelah menemukan file dan direktori, Anda pasti ingin dapat melakukan tindakan 
pada file dan direktori tersebut. Di bagian ini, kita melihat cara membuat file dan direktori, 
menyalin file, mengganti nama file, dan menghapus file dan direktori.
Membuat File
Ada banyak cara untuk membuat file di Linux, tetapi untuk saat ini kita hanya akan 
melihat dua metode sederhana. Yang pertama adalah cat, yang merupakan kependekan dari 
concatenate, artinya menggabungkan bagian-bagian menjadi satu (bukan referensi untuk cat 
peliharaan favorit Anda). Perintah cat umumnya digunakan untuk menampilkan konten file, 
tetapi juga dapat digunakan untuk membuat file kecil. Untuk membuat file yang lebih besar, 
sebaiknya masukkan kode di editor teks seperti vim, emacs, leafpad, gedit, atau kate, lalu 
simpan sebagai file.
Penggabungan dengan cat
Perintah cat diikuti dengan nama file akan menampilkan konten file tersebut, 
tetapi untuk membuat file, kami mengikuti perintah cat dengan pengalihan, ditandai dengan 
simbol>, dan nama untuk file yang ingin kami buat. Brikut contohnya:
kali >cat > hackingskills
Hacking adalah keahlian paling berharga di abad ke-21!
Saat Anda menekan ENTER, Linux akan masuk ke mode interaktif dan menunggu 
Anda mulai memasukkan konten untuk file tersebut. Ini mungkin membingungkan karena 
prompt menghilang, tetapi jika Anda mulai mengetik, apa pun yang Anda masukkan akan 
masuk ke dalam file (dalam hal ini, hackingskill). Di sini, saya mengetik Hacking adalah 
kumpulan keterampilan paling berharga di abad ke-21!. Untuk keluar dan kembali lagi ke 
perintah, saya tekan CTRL+D. Kemudian, ketika saya ingin melihat apa yang ada di file 
keterampilan peretasan, saya memasukkan yang berikut ini:
kali >cat > hackingskills
Hacking adalah keahlian paling berharga di abad ke-21!
Jika Anda tidak menggunakan simbol pengalihan, Linux akan memuntahkan kembali 
konten file Anda. Untuk menambahkan, atau menambahkan, lebih banyak konten ke file, 
Anda dapat menggunakan perintah cat dengan pengalihan ganda (>>), diikuti dengan apa 
pun yang ingin Anda tambahkan ke akhir file. Berikut ini contohnya:
kali >cat >> hackingskills
Semua orang harus mempelajari hacking
Sekali lagi, Linux masuk ke mode interaktif, menunggu konten ditambahkan ke file. 
Saat saya masuk Semua orang harus belajar meretas dan menekan CTRL+D, saya kembali 
ke perintah. Sekarang, ketika saya menampilkan isi file tersebut dengan cat, saya dapat
melihat bahwa file tersebut telah ditambahkan dengan Semua orang harus belajar peretasan, 
seperti yang ditunjukkan di sini:
kali >cat hackingskills
Peretasan adalah keahlian paling berharga di abad ke-21! Semua orang harus 
belajar peretasan
Jika saya ingin menimpa file dengan informasi baru, saya cukup menggunakan 
perintah cat dengan satu pengalihan lagi, sebagai berikut:
kali >cat > hackingskills
Semua orang tanpa keterampilan meretas di IT Securituy berada dalam kegelapan 
kali >cat hackingskills
Semua orang tanpa keterampilan meretas di IT Securituy berada dalam kegelapan 
Seperti yang Anda lihat di sini, Linux masuk ke mode interaktif, dan saya 
memasukkan teks baru lalu keluar kembali ke prompt. Ketika saya sekali lagi menggunakan 
cat untuk melihat isi file, disitu saya melihat bahwa kata-kata saya sebelumnya telah ditimpa 
dengan teks terbaru.
Pembuatan File dengan touch
Perintah kedua untuk pembuatan file adalah touch. Perintah ini pada awalnya 
dikembangkan sehingga pengguna cukup menyentuh file untuk mengubah beberapa 
detailnya, seperti tanggal dibuat atau dimodifikasi. Namun, jika file tersebut belum ada, 
perintah ini akan membuat file tersebut secara default.
Mari buat file baru dengan touch:
kali >touch newfile
Sekarang ketika saya menggunakan ls –l untuk melihat daftar panjang direktori, saya
melihat bahwa file baru telah dibuat bernama file baru. Perhatikan bahwa ukurannya adalah 
0 karena tidak ada konten di file baru.
Membuat Direktori 
Perintah untuk create directory/membuat direktori di Linux adalah mkdir, singkatan 
dari make directory. Untuk membuat direktori dengan nama direktori baru, masukkan 
perintah berikut:
kali >mkdir newdirectory
Untuk menavigasi ke direktori yang baru dibuat ini, cukup masukkan ini:
kali >cd newdirectory
Copy File 
Untuk copy file, kami menggunakan perintah cp. Tindakan ini akan membuat duplikat 
file di lokasi baru dan membiarkan yang lama tetap di tempatnya. Di sini, kami akan 
membuat file file lama di direktori root dengan sentuhan dan menyalinnya ke 
/root/newdirectory, mengganti namanya dalam proses dan membiarkan file lama asli di 
tempatnya:
kali >touch oldfile
kali >cp oldfile /root/newdirectory/newfile
Renaming file adalah opsional dan dilakukan hanya dengan menambahkan nama yang ingin 
Anda berikan ke akhir jalur direktori. Jika Anda tidak mengganti nama file saat Anda 
menyalinnya, file tersebut akan mempertahankan nama aslinya secara default.
Saat kami menavigasi ke new directory, kami melihat bahwa ada salinan persis dari 
old file yang disebut new file:
kali >cd newdirectory
kali >ls
newfile oldfile
Rename File
Sayangnya, Linux tidak memiliki perintah yang hanya ditujukan untuk mengganti 
nama file, seperti yang dilakukan Windows dan beberapa sistem operasi lainnya, tetapi ia 
memiliki perintah mv (move).
Perintah mv dapat digunakan untuk memindahkan file atau direktori ke lokasi baru 
atau sekadar memberi nama baru pada file yang sudah ada. Untuk mengganti nama new file 
menjadi new file2, Anda harus memasukkan yang berikut:
kali >mv newfile newfile2 
kali >ls
oldfile newfile2
Sekarang saat Anda mencantumkan (ls) direktori tersebut, Anda melihat New file2 
tetapi bukan new file, karena telah diganti namanya. Anda dapat melakukan hal yang sama 
dengan direktori.
Delete File
Untuk menghapus file, Anda cukup menggunakan perintah rm, seperti:
kali >rm newfile2
Jika Anda sekarang melakukan daftar panjang di direktori, Anda dapat mengonfirmasi 
bahwa file telah dihapus.
Menghapus Direktori 
Perintah untuk menghapus direktori mirip dengan perintah rm untuk menghapus file 
tetapi dengan dir (untuk direktori) ditambahkan, seperti:
kali >rmdir newdirectory
rmdir:failed to remove 'newdirectory': Directory not empty
Penting untuk diperhatikan bahwa rmdir tidak akan menghapus direktori yang tidak 
kosong, tetapi akan memberi Anda pesan peringatan bahwa "directory is not empty", seperti 
yang dapat Anda lihat dalam contoh ini. Anda harus terlebih dahulu menghapus semua 
konten direktori sebelum menghapusnya. Ini untuk mencegah Anda menghapus objek yang 
tidak ingin Anda hapus secara tidak sengaja.
Jika Anda ingin menghapus direktori dan kontennya sekaligus, Anda dapat 
menggunakan tombol -r setelah rm, seperti:
kali >rm -r newdirectory
Namun, hanya perlu berhati-hati: berhati-hatilah dalam menggunakan opsi -r dengan 
rm, setidaknya pada awalnya, karena sangat mudah untuk menghapus file dan direktori 
berharga secara tidak sengaja. Menggunakan rm -r di direktori home Anda, misalnya, akan 
menghapus setiap file dan direktori di sana—mungkin bukan yang Anda inginkan.
1.6 PLAY NOW!
Sekarang setelah Anda memiliki beberapa keterampilan dasar untuk menavigasi di 
sekitar sistem file, Anda dapat bermain dengan sistem Linux Anda sedikit sebelum 
melanjutkan. Cara terbaik untuk merasa nyaman menggunakan terminal adalah dengan 
mencoba keterampilan yang baru Anda temukan sekarang juga. Dalam bab-bab 
berikutnya, kita akan menjelajahi lebih jauh dan lebih dalam ke taman bermain Hacker kita.



BAB 2
MANIPULASI TEKS
Di Linux, hampir semua yang Anda tangani secara langsung adalah file, dan paling 
sering ini adalah file teks; misalnya, semua file konfigurasi di Linux adalah file teks. Jadi, 
untuk mengonfigurasi ulang aplikasi, Anda cukup membuka file konfigurasi, mengubah teks, 
menyimpan file, lalu memulai ulang aplikasi—konfigurasi ulang Anda selesai.
Dengan begitu banyak file teks, memanipulasi teks menjadi sangat penting dalam 
mengelola Linux dan aplikasi Linux. Dalam bab ini, Anda akan menggunakan beeberapa 
perintah dan teknik untuk memanipulasi teks Linux. 
Untuk tujuan ilustrasi, saya akan menggunakan file dari sistem deteksi intrusi 
jaringan/network intrusion detection system (NIDS) terbaik di dunia, Snort, yang pertama kali 
dikembangkan oleh Marty Roesch dan sekarang dimiliki oleh Cisco. NIDS biasanya digunakan 
untuk mendeteksi penyusupan oleh Hacker, jadi jika Anda ingin menjadi Hacker yang sukses, 
Anda harus terbiasa dengan cara NIDS mencegah serangan dan cara Anda dapat 
menyalahgunakannya untuk mendeteksinya.
Catatan
Jika versi Kali Linux yang Anda gunakan sudah tidak terinstal dengan Snort, Anda 
dapat mengunduh file dari repositori Kali dengan memasukkan apt-get-install snort.
2.1 MELIHAT FILE
Seperti yang ditunjukkan dalam Bab 1, display command teks yang paling dasar 
mungkin adalah cat, tetapi memiliki keterbatasan. Gunakan cat untuk menampilkan file 
konfigurasi Snort (snort.conf) yang ditemukan di/etc/snort (lihat Daftar 2.1).
kali >cat /etc/snort/snort.conf
Daftar 2.1 Menampilkan snort.conf di jendela terminal
Layar Anda sekarang seharusnya menampilkan seluruh file snort.conf, yang akan 
mengalir hingga tiba di akhir file, seperti yang ditunjukkan di sini. Ini bukan cara yang paling 
nyaman atau praktis untuk melihat dan bekerja dengan file ini.
# include $SO_RULE_PATH/exploit.rules 
# include $SO_RULE_PATH/exploit.rules 
# include $SO_RULE_PATH/exploit.rules 
# include $SO_RULE_PATH/exploit.rules 
# include $SO_RULE_PATH/exploit.rules
--snip -
# perintah ambang atau penindasan ... 
kali >
Dalam dua bagian berikut, saya akan menunjukkan perintah head dan tail, yang merupakan 
dua metode untuk menampilkan hanya sebagian dari konten file agar lebih mudah melihat 
konten utama.
Mengambil Head
Jika Anda hanya ingin melihat awal dari suatu file, Anda dapat menggunakan perintah 
head. Secara default, perintah ini menampilkan 10 baris pertama dari sebuah file. 
Perintah berikut, misalnya, menampilkan 10 baris pertama snort.conf:
kali >head /etc/snort/snort.conf
#-------------------------------------------------------------
# VRT Rules Packages Snort.conf # 
# For more information visit us at:
--snip -
#Snort bugs:bugs@snort.org
Jika Anda ingin melihat lebih banyak atau lebih sedikit dari 10 baris default, masukkan 
jumlah yang Anda inginkan dengan tombol tanda hubung (-) setelah panggilan ke head dan 
sebelum nama file. Misalnya, jika Anda ingin melihat 20 baris pertama dari file tersebut, 
Anda harus memasukkan perintah yang ditampilkan di bagian atas Daftar 2.2.
kali >head -20 /etc/snort/snort.conf
#------------------------------------------------
#VRT Rule Packages Snort.conf 
#For more information visit us at: 
#. 
#. 
#. 
#Options : --enable-gre --enable-mpls --enable-targetbased 
--enable-ppm --enable-perfprofiling enable-zlib --enable-act 
live-response --enable-normalizer --enable-reload --enable-react
Daftar 2.2 Menampilkan 20 baris pertama snort.conf di jendela terminal
Anda seharusnya hanya melihat 20 baris pertama dari snort.conf yang ditampilkan di 
jendela terminal Anda.
Meraih Tail
Itu Perintah ekor mirip dengan perintah kepala, tetapi digunakan untuk melihat baris 
terakhir file. Mari kita gunakan di snort.conf:
kali >tail /etc/snort/snort.conf 
#include $SO_RULE_PATH/smtp.rules 
#include $SO_RULE_PATH/specific-threats.rules 
#include $SO_RULE_PATH/web-activex.rules \
#include $SO_RULE_PATH/web-client.rules 
#include $SO_RULE_PATH/web-iis.rules 
#include $SO_RULE_PATH/web-miscp.rules
#Event thresholding and suppression commands. See threshold.conf
Perhatikan bahwa perintah ini menampilkan beberapa baris terakhir dari file aturan, tetapi 
tidak semuanya, karena mirip dengan head, default untuk tail adalah menampilkan 10 baris. 
Anda dapat menampilkan lebih banyak baris dengan mengambil 20 baris terakhir dari 
snort.conf. Seperti perintah head, Anda dapat mengetahui jumlah baris yang akan 
ditampilkan dengan memasukkan tanda hubung (-) dan kemudian jumlah baris antara 
perintah dan nama file, seperti yang ditunjukkan di Daftar 2.3.
kali >tail -20 /etc/snort/snort.conf 
#include $SO_RULE_PATH/chat.rules
#include $SO_RULE_PATH/chat.rules #include $SO_RULE_PATH/chat.rules 
--snip 
-#Event thresholding or suppression commands. See theshold.conf
Daftar 2.3 Menampilkan 20 baris terakhir dari snort.conf di jendela terminal
Sekarang kita dapat melihat hampir semua baris penyertaan dari file aturan pada 
satu layar.
Memberi Nomor pada Garis 
Terkadang, terutama dengan file yang sangat panjang, kita mungkin ingin file dapat 
menampilkan nomor baris. Karena snort.conf memiliki lebih dari 600 baris, nomor baris akan 
berguna di sini. Hal ini memudahkan dalam merujuk perubahan dan kembali ke tempat yang 
sama di dalam file.
Untuk menampilkan file dengan nomor baris, kami menggunakan perintah nl (baris a
ngka). Cukup masukkan perintah yang ditampilkan di Daftar 2.4.
kali >nl /etc/snort/snort.conf
612 
##############################################################
613 #dynamic library rules 
614 #include $SO_RULE_PATH/bad-traffic.rules 
615 #include $SO_RULE_PATH/chat.rules 
--snip -
630 #include $SO_RULE_PATH/web-iis.rules 
631 #include $SO_RULE_PATH/web-misc.rules
Daftar 2.4 Menampilkan nomor baris di output terminal
Setiap baris kini memiliki nomor, membuat referensi jauh lebih mudah.
2.2 FILTER TEKS DENGAN GREP 
Perintah grep mungkin adalah perintah manipulasi teks yang paling banyak 
digunakan. Ini memungkinkan Anda memfilter konten file untuk ditampilkan. Jika, misalnya, 
Anda ingin melihat semua baris yang menyertakan keluaran kata dalam file snort.conf Anda, 
Anda dapat menggunakan cat dan memintanya untuk hanya menampilkan baris tersebut 
(lihat Daftar 2.5).
kali >cat /etc/snort/snort.conf | grep output 
# 6) Configure output plugins 
# Step #6: Configure output plugins 
# output unified2: filename merged.log, limit 128, nostamp,
pls_event_types, vlan_event_types
output unified2: filename merged.log, limit 128, nostamp,
mpls_event_types, vlan_event_types 
# output alert_unified2: filename merged.log, limit 128,
nostamp 
# output log_unified2: filename merged.log, limit 128, nostamp 
# output alert_syslog: LOG_AUTH LOG_ALERT 
# output log_tcpdump: tcpdump.log
Daftar 2.5 Menampilkan baris dengan instance dari kata kunci atau frasa yang 
ditentukan oleh grep
Perintah ini pertama-tama akan melihat snort.conf dan kemudian menggunakan pipa 
(|) untuk mengirimnya ke grep, yang akan mengambil file sebagai input, mencari baris 
dengan kemunculan keluaran kata, dan hanya menampilkan baris tersebut. Perintah grep 
adalah perintah yang sangat kuat dan penting untuk bekerja di Linux, karena dapat 
menghemat waktu Anda untuk mencari setiap kemunculan kata atau perintah dalam sebuah 
file.
Tantangan Hacker: Menggunakan grep, nl, tail, dan head
Misalnya, Anda ingin menampilkan lima baris tepat sebelum baris yang bertuliskan # 
Step #6: configure output plugin menggunakan setidaknya empat dari perintah yang baru 
saja Anda pelajari. Bagaimana Anda akan melakukannya? (Petunjuk: ada lebih banyak opsi 
untuk perintah ini daripada yang telah kita diskusikan. Anda dapat mempelajari lebih banyak 
command dengan menggunakan command man bawaan Linux. Misalnya, man tail akan 
menampilkan file helptail untuk perintah tersebut.)
Ada banyak cara untuk memecahkan tantangan ini; di sini saya tunjukkan baris mana 
yang harus diubah untuk melakukannya dengan satu cara, dan tugas Anda adalah 
menemukan metode lain.
Step 1
kali >nl/etc/snort.conf | grep output 
34 # 6) Configure output plugins 
512 # Step #6: Configure output plugins 
518 # output unified2: filename merged.log, limit 128,
nostamp, mpls_event_types, vlan_event_types 
521 # output alert_unified2: filename snort.alert, lim
it 128, nostamp 
522 # output log_unified2: filename snort.log, limit 128, nostamp 
525 # output alert_syslog: LOG_AUTH LOG_ALERT 
528 # output log_tcpdump: tcpdump.log
Kita dapat melihat bahwa baris# Langkah #6: Konfigurasi plugin keluaran adalah baris 512, 
dan kita tahu bahwa kita menginginkan lima baris sebelum baris 512 serta baris 512 itu 
sendiri (yaitu, baris 507 hingga 512).
kali >tail -n+507 /etc/snort/snort.conf | head -n 6
nested_ip inner, \
whitelist $WHITE_LIST_PATH/white_list.rules, \
blacklist $BLACK_LIST_PATH/black_list.rules
################################################### 
# Step #6: Configure output plugins
Di sini, kami menggunakan tail untuk memulai pada baris 507 dan kemudian menghasilkan 
output ke head, dan kami hanya mengembalikan enam baris teratas, memberi kami lima 
baris sebelum baris step #6, dengan menyertakan garis tersebut.
2.3 MENGGUNAKAN SED UNTUK MENCARI DAN MENGGANTI
Perintah sed memungkinkan Anda menelusuri kemunculan kata atau pola teks dan 
kemudian melakukan beberapa tindakan di atasnya. Nama perintah adalah singkatan dari 
editor streaming, karena mengikuti konsep yang sama dengan editor streaming. Dalam 
bentuk paling dasar, sed beroperasi seperti fungsi Temukan dan Ganti di Windows.
Telusuri kata mysql di file snort.conf menggunakan grep, seperti:
kali >cat /etc/snort/snort.conf | grep mysql 
include $RULE_PATH/mysql.rules 
#include $RULE_PATH/server-mysql.rules
Anda harus melihat bahwa perintah grep menemukan dua kemunculan mysql.
Misalnya, Anda ingin mengganti setiap kemunculan mysql dengan MySQL (ingat, 
Linux peka huruf besar-kecil) dan kemudian menyimpan file baru ke snort2.conf. 
Anda dapat melakukannya dengan memasukkan perintah yang ditampilkan di Daftar 2.6.
kali >sed s/mysql/MySQL/g /etc/snort/snort.conf > snort2.conf
Daftar 2.6 Menggunakan sed untuk menemukan dan mengganti kata kunci atau frasa
Perintah s melakukan penelusuran: Anda pertama-tama memberikan istilah yang 
Anda telusuri (mysql) dan kemudian istilah yang ingin Anda ganti dengan (MySQL), 
dipisahkan dengan garis miring (/). Perintah g memberi tahu Linux bahwa Anda ingin 
penggantian dilakukan secara global. Kemudian hasilnya disimpan ke file baru bernama 
snort2.conf.
Sekarang, saat Anda menggunakan grep dengan snort2.conf untuk menelusuri mysql, 
Anda akan melihat bahwa tidak ada instance yang ditemukan, tetapi ketika Anda menelusuri 
MySQL, Anda akan melihat dua kejadian.
kali >cat snort2.conf | grep MySQL
include $RULE_PATH/MySQL.rules
#include $RULE_PATH/server-MySQL.rules
Jika Anda ingin mengganti hanya kemunculan pertama dari istilah mysql, Anda akan 
meninggalkan perintah g di akhir.
kali >sed s/mysql/MySQL/ snort.conf > snort2.conf
Anda juga dapat menggunakan perintah sed untuk menemukan dan mengganti 
kemunculan kata tertentu daripada semua kemunculan atau kemunculan pertama saja. 
Misalnya, jika Anda hanya ingin mengganti kemunculan kedua kata mysql, cukup tempatkan 
jumlah kemunculan (dalam hal ini, 2) di akhir perintah:
kali >sed s/mysql/MySQL/2 snort.conf > snort2.conf
Perintah ini hanya memengaruhi kemunculan kedua mysql.
2.4 MELIHAT FILE DENGAN LEBIH MORE DAN LESS
Meskipun cat adalah utilitas yang baik untuk menampilkan file dan membuat file kecil, 
ia tentu memiliki keterbatasan saat menampilkan file besar. Saat Anda menggunakan cat 
dengan snort.conf, file akan menelusuri setiap halaman hingga halaman selesai, yang tidak 
terlalu praktis jika Anda ingin mengumpulkan informasi apa pun darinya.
Untuk bekerja dengan file yang lebih besar, kami memiliki dua utilitas melihat lainnya: 
more dan less.
Mengontrol Tampilan dengan more
Perintah more menampilkan halaman file pada satu waktu dan memungkinkan Anda 
membuka halaman melaluinya menggunakan tombol ENTER. Ini adalah utilitas yang 
digunakan halaman manual, jadi mari kita lihat dulu. Buka snort.conf dengan perintah more, 
seperti yang ditunjukkan pada Daftar 2.7.
kali >more /etc/snort/snort.conf
--snip -
# Snort build options: 
# Options: --enable-gre --enable-mpls --enable-targetbased 
--enable-ppm --enable-perfprofiling enable-zlib --enable-active 
-response
--enable-normalizer --enable-reload --enable-react 
--enable-flexresp3 
--More--(2%)
Daftar 2.7 Menggunakan more untuk menampilkan output terminal satu halaman pada satu 
waktu
Perhatikan bahwa more yang hanya menampilkan halaman pertama dan kemudian 
berhenti, dan ini memberi tahu kami di sudut kiri bawah berapa banyak file yang ditampilkan 
(2 persen dalam kasus ini). Untuk melihat baris atau halaman tambahan, tekan ENTER. 
Untuk keluar dari more, masukkan q (untuk keluar).
Menampilkan dan Memfilter dengan lebi Less
Perintah Less sangat mirip dengan More, tetapi dengan fungsi tambahan—oleh 
karena itu, sindiran umum penggemar Linux, “Less is more.” Dengan Less, Anda tidak hanya 
dapat menggulir file di waktu senggang, tetapi Anda juga dapat memfilternya untuk istilah. 
Seperti dalam Daftar 2.8, buka snort.conf dengan
less
kali >less /etc/snort/snort.conf 
--snip -
# Snort build options: 
# Options: --enable-gre --enable-mpls --enable-targetbased 
--enable-ppm --enable-perfprofiling enable-zlib --enable-active 
-response --enable-normalizer --enable-reload --enable-react 
/etc/snort/snort.conf
Daftar 2.8 Menggunakan less untuk menampilkan output terminal laman pada satu 
waktu dan memfilter hasil
Perhatikan di kiri bawah layar bahwa lebih sedikit yang menyoroti jalur ke file. 
Jika Anda menekan tombol garis miring (/) maju, Anda akan menelusuri istilah dalam file 
dengan lebih sedikit. Misalnya, saat Anda pertama kali menyiapkan Snort, Anda perlu 
menentukan bagaimana dan di mana Anda ingin mengirim output peringatan intrusi Anda. 
Untuk menemukan bagian dari file konfigurasi, Anda cukup menelusuri output, seperti:
# Snort build options: 
# Options: --enable-gre --enable-mpls --enable-targetbased 
--enable-ppm --enable-perfprofiling enable-zlib --enable-active 
-response --enable-normalizer --enable-reload --enable-react 
/output
Ini akan segera membawa Anda ke kemunculan output pertama dan menyorotnya. Anda 
kemudian dapat mencari kemunculan output berikutnya dengan mengetik n (untuk 
berikutnya).
# Step #6: Configure output plugins
# For more information, see Snort Manual, Configuring Snort - Output Modules 
#####################################################################
#unified2 
# Recommended for most installs 
# output unified2: filename merged.log, limit 128, nostamp, mpls_event_types,
vlan_event_types 
output unified2: filename snort.log, limit 128, nostamp, mpls_event_types, 
vlan_event_types
# Additional configuration for specific types of installs 
# output alert_unified2: filename snort.alert, limit 128, nostamp 
# output log_unified2: filename snort.log, limit 128, nostamp
# syslog 
# output alert_syslog: LOG_AUTH LOG_ALERT 
:
Seperti yang Anda lihat, less yang membawa Andapada kemunculan berikutnya dari output 
kata dan menyorot semua istilah penelusuran. Dalam hal ini, Snort langsung menuju ke 
bagian output Snort. 
2.5 RINGKASAN
Linux memiliki banyak cara untuk memanipulasi teks, dan setiap cara memiliki 
kekuatan dan kelemahannya sendiri. Kami telah menyentuh beberapa metode yang paling 
berguna dalam bab ini, tetapi saya sarankan Anda mencoba masing-masing dan 
mengembangkan perasaan dan preferensi Anda sendiri. Misalnya, saya pikir grep sangat 
diperlukan, dan saya menggunakan lebih sedikit, tetapi Anda mungkin merasa berbeda.
.



BAB 3
MENGANALISIS DAN MENGELOLA JARINGAN
Bagi setiap calon Hacking memahami jaringan adahal hal yang sangat penting. Dalam 
banyak situasi, Anda akan meretas sesuatu melalui jaringan, dan Hacker yang baik perlu 
mengetahui cara terhubung dan berinteraksi dengan jaringan tersebut. Misalnya, Anda 
mungkin perlu menyambungkan komputer dengan alamat Protokol Internet (IP) yang 
disembunyikan dari tampilan, atau Anda mungkin perlu mengarahkan ulang kueri Sistem 
Nama Domain (DNS) target ke sistem Anda; tugas-tugas semacam ini relatif 
memerlukan sedikit pengetahuan jaringan Linux. Bab ini menunjukkan kepada Anda 
beberapa alat penting Linux untuk menganalisis dan mengelola jaringan selama petualangan 
peretasan jaringan Anda.
3.1 MENGANALISIS JARINGAN DENGAN IFCONFIG 
Command ifconfig adalah salah satu alat paling dasar untuk memeriksa dan 
berinteraksi dengan antarmuka jaringan yang aktif. Anda dapat menggunakannya untuk 
menanyakan koneksi jaringan aktif Anda hanya dengan memasukkan ifconfig di terminal. 
Cobalah sendiri, dan Anda akan melihat output yang mirip dengan Daftar 3.1.
kali >ifconfig 
➊eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f 
➋inet addr:192.168.181.131
➌Bcast:192.168.181.255
➍Mask:255.255.255.0 
--snip -
➎lo Linkencap:Local Loopback 
inet addr:127.0.0.1 Mask:255.0.0.0 
--snip -
➏wlan0 Link encap:EthernetHWaddr 00:c0:ca:3f:ee:02
Daftar 3.1 Menggunakan ifconfig untuk mendapatkan informasi jaringan
Seperti yang Anda lihat, perintah ifconfig menunjukkan beberapa informasi berguna 
tentang antarmuka jaringan aktif pada sistem. Di bagian atas output terdapat nama 
antarmuka yang pertama kali terdeteksi, eth0 ➊, yang merupakan kependekan dari 
Ethernet0 (Linux mulai menghitung pada 0 bukan 1). Ini adalah koneksi jaringan kabel 
pertama. Jika ada lebih banyak antarmuka Ethernet berkabel, antarmuka tersebut akan 
muncul di output menggunakan format yang sama (eth1, eth2, dan seterusnya).
Jenis jaringan yang digunakan (Ethernet) tercantum berikutnya, diikuti oleh HWaddr 
dan alamat; ini adalah alamat unik global yang tertera pada setiap perangkat keras 
jaringan—dalam hal ini, antarmuka jaringan yang biasanya dirujuk/
network interface card ( (NIC), alamat kontrol akses media/ media access control (MAC).
Baris kedua berisi informasi tentang alamat IP yang saat ini ditetapkan ke antarmuka 
jaringan tersebut (dalam hal ini, 192.168.181.131 ➋); Bcast ➌, atau alamat siaran, yang 
merupakan alamat yang digunakan untuk mengirim informasi ke semua subnet; dan 
akhirnya network mask (Mask ), yang digunakan untuk menentukan bagian mana dari 
alamat IP yang terhubung ke jaringan lokal. Anda juga akan menemukan lebih banyak info 
teknis di bagian keluaran ini, tetapi ini di luar cakupan bab dasar-dasar jaringan Linux ini.

Bagian berikutnya dari output menunjukkan koneksi jaringan lain yang disebut lo , 
yang merupakan kependekan dari alamat loopback dan terkadang disebut localhost. Ini 
adalah alamat software khusus yang menghubungkan Anda ke sistem Anda sendiri. Software
dan layanan yang tidak berjalan di sistem Anda tidak dapat menggunakannya. Anda akan 
menggunakan lo untuk menguji sesuatu di sistem Anda, seperti server web Anda sendiri. 
Localhost biasanya dilambangkan dengan alamat IP 127.0.0.1.
Koneksi ketiga adalah antarmuka wlan0 ➏. Ini hanya muncul jika Anda memiliki 
antarmuka nirkabel atau adaptor, seperti yang saya lakukan di sini. Perhatikan bahwa ini 
juga menampilkan alamat MAC perangkat tersebut (HWaddr). Informasi dari ifconfig ini 
memungkinkan Anda untuk terhubung ke dan memanipulasi pengaturan jaringan area lokal 
/ local area network (LAN), keterampilan penting untuk peretasan.
3.2 MEMERIKSA PERANGKAT JARINGAN NIRKABEL DENGAN IWCONFIG 
Jika Anda memiliki adaptor nirkabel, Anda dapat menggunakan perintah iwconfig 
untuk mengumpulkan informasi penting untuk peretasan nirkabel seperti alamat IP adaptor, 
dan mode MAC-nya, apa dalam modenya. Informasi yang dapat Anda peroleh dari perintah 
ini sangat penting saat Anda menggunakan hacking toolan nirkabel seperti aircrackng. 
Dengan menggunakan terminal, mari kita lihat beberapa perangkat nirkabel dengan iwconfig 
(lihat Daftar 3.2).
kali >iwconfig 
wlan0 IEEE 802.11bg ESSID:off/any 
Mode:Managed Access Point: Not Associated Tx-Power=20 dBm 
--snip -
lo no wireless extensions
eth0 no wireless extensions
Daftar 3.2 Menggunakan iwconfig untuk mendapatkan informasi tentang adaptor nirkabel
Keluaran di sini memberi tahu kami bahwa satu-satunya antarmuka jaringan dengan 
ekstensi nirkabel adalah wlan0, yang kami harapkan. Baik lo maupun eth0 tidak memiliki 
ekstensi nirkabel.
Untuk wlan0, kami mempelajari apa standar nirkabel 802.11 IEEE yang mampu dari 
perangkat kami: b dan g , dua standar komunikasi nirkabel awal. Sebagian besar perangkat 
nirkabel sekarang menyertakan n juga (n adalah standar terbaru). Kami juga belajar dari 
iwconfig mode ekstensi nirkabel (dalam hal ini, Mode: Managed, kontras dengan mode
monitor atau mode promiscuous). Kita akan membutuhkan mode promiscuous untuk 
memecahkan sandi nirkabel.
Selanjutnya, kita dapat melihat bahwa adaptor nirkabel tidak terhubung (Not 
associate) ke titik akses/ access point (AP) dan bahwa kekuatannya adalah 20 dBm, yang 
mewakili kekuatan sinyal. Kita akan menghabiskan lebih banyak waktu dengan informasi ini 
di Bab 14.
3.3 MENGUBAH INFORMASI JARINGAN ANDA 
Mampu mengubah alamat IP dan informasi jaringan lainnya adalah keterampilan 
yang berguna karena akan membantu Anda mengakses jaringan lain sambil tampil sebagai 
perangkat tepercaya di jaringan tersebut. Misalnya, dalam serangan Denialofservice (DoS), 
Anda dapat memalsukan IP Anda sehingga serangan tersebut tampaknya berasal dari
sumber lain, sehingga membantu Anda menghindari IP tangkap selama analisis forensik. Ini 
adalah tugas yang relatif sederhana di Linux, dan ini dilakukan dengan perintah ifconfig. 
Mengubah Alamat IP Anda 
Untuk mengubah alamat IP Anda, masukkan ifconfig diikuti dengan antarmuka yang 
ingin Anda tetapkan ulang dan alamat IP baru yang ingin Anda tetapkan ke antarmuka 
tersebut. Misalnya, untuk menetapkan alamat IP 192.168.181.115 ke antarmuka eth0, Anda 
harus memasukkan yang berikut ini:
kali >ifconfig eth0 192.168.181.115 
kali >
Jika Anda melakukan ini dengan benar, Linux hanya akan mengembalikan prompt perintah 
dan tidak mengatakan apa-apa. Ini adalah hal yang baik! Kemudian, saat Anda memeriksa 
kembali koneksi jaringan Anda dengan ifconfig, Anda akan melihat bahwa alamat IP Anda 
telah berubah menjadi alamat IP baru yang baru saja Anda tetapkan.
Mengubah Network Mask dan Alamat Broadcast 
Anda juga dapat mengubah network mask (netmask) dan alamat broadcast dengan 
perintah ifconfig. Misalnya, jika Anda ingin menetapkan antarmuka eth0 yang sama dengan 
netmask 255.255.0.0 dan alamat broadcast 192.168.1.255, Anda harus memasukkan yang 
berikut ini:
kali >ifconfig eth0 192.168.181.115 netmask 255.255.0.0 broadcast 
192.168.1.255 
kali >
Sekali lagi, jika Anda telah melakukan semuanya dengan benar, Linux akan merespons 
dengan prompt perintah baru. Sekarang masukkan ifconfig lagi untuk memverifikasi bahwa 
setiap parameter telah diubah sesuai.
Memalsukan Alamat MAC 
Anda Anda juga dapat menggunakan ifconfig untuk mengubah alamat MAC Anda 
(atau HWaddr). Alamat MAC unik secara global dan sering digunakan sebagai tindakan 
keamanan untuk mencegah Hacker keluar dari jaringan atau untuk melacak mereka. 
Mengubah alamat MAC Anda menjadi alamat MAC yang berbeda hampir sepele dan 
menetralkan tindakan keamanan tersebut. Jadi, ini adalah teknik yang sangat berguna untuk 
melewati kontrol akses jaringan.
Untuk memalsukan alamat MAC Anda, cukup gunakan opsi command ifconfig dan 
down untuk menghapus antarmuka (eth0 dalam kasus ini). Kemudian, masukkan perintah 
ifconfig diikuti dengan nama antarmuka (hw untuk perangkat keras, ether untuk Ethernet) 
dan alamat MAC palsu yang baru. Terakhir, munculkan pencadangan antarmuka 
dengan opsi atas agar perubahan terjadi. Berikut contohnya:
kali >ifconfig eth0 down
kali >ifconfig eth0 hw ether 00:11:22:33:44:55
kali >ifconfig eth0 up
Sekarang, saat Anda memeriksa setelan dengan ifconfig, Anda akan melihat bahwa HWaddr 
telah berubah ke alamat IP palsu Anda yang baru!
Menetapkan Alamat IP Baru dari Server DHCP 
Linux memiliki server Dynamic Host Configuration Protocol (DHCP) yang menjalankan 
daemon—proses yang berjalan di latar belakang yang disebut dhcpd, atau daemon dhcp. 
Server DHCP memberikan alamat IP ke semua sistem di subnet dan menyimpan file log yang
alamat IP-nya dialokasikan ke mesin mana pada satu waktu. Hal ini menjadikannya sebagai 
sumber daya yang bagus bagi analis forensik untuk melacak Hacker setelah serangan. Oleh 
karena itu, sangatlah berguna untuk memahami cara kerja server DHCP.
Biasanya, untuk terhubung ke internet dari LAN, Anda harus memiliki IP yang 
ditetapkan oleh DHCP. Oleh karena itu, setelah menyetel alamat IP statis, Anda harus 
kembali dan mendapatkan alamat IP baru yang ditetapkan oleh DHCP. Untuk melakukan ini, 
Anda selalu dapat mem-boot ulang sistem Anda, tetapi saya akan menunjukkan cara 
mengambil DHCP baru tanpa harus mematikan sistem Anda dan memulai ulang.
Untuk meminta alamat IP dari DHCP, cukup panggil server DHCP dengan perintah 
dhclient diikuti dengan antarmuka yang Anda inginkan untuk alamat yang ditetapkan. 
Distribusi Linux yang berbeda menggunakan klien DHCP yang berbeda, tetapi Kali dibangun 
di Debian, yang menggunakan dhclient. Oleh karena itu, Anda dapat menetapkan alamat 
baru seperti ini:
kali >dhclient eth0
Perintah dhclient mengirim permintaan DHCPDISCOVER dari antarmuka jaringan yang 
ditentukan (di sini, eth0). Ia kemudian menerima tawaran (DHCPOFFER) dari server DHCP 
(192.168.181.131 dalam kasus ini) dan mengonfirmasi penetapan IP ke server DHCP dengan 
permintaan dhcp.
kali >ifconfig
eth0Linkencap:EthernetHWaddr 00:0c:29:ba:82:0f 
inet addr:192.168.181.131 Bcast:192.168.181.131 Mask:255.255.255.0
Bergantung pada konfigurasi server DHCP, alamat IP yang ditetapkan dalam setiap kasus 
mungkin berbeda. Sekarang ketika Anda memasukkan ifconfig, Anda akan melihat bahwa 
server DHCP telah menetapkan alamat IP baru, alamat siaran baru, dan netmask baru ke 
antarmuka jaringan Anda eth0
3.4 MEMANIPULASI SISTEM NAMA DOMAIN 
Hacker dapat menemukan harta karun informasi tentang target di Sistem Nama 
Domain/ Domain Name System (DNS) miliknya. DNS adalah komponen penting dari internet, 
dan meskipun dirancang untuk menerjemahkan nama domain ke alamat IP, Hacker dapat 
menggunakannya untuk mengumpulkan informasi tentang target.
Memeriksa DNS dengan dig 
DNS adalah layanan yang menerjemahkan nama domain seperti Hackersbangkit.com 
ke alamat IP yang sesuai; dengan begitu, sistem Anda tahu cara mendapatkannya. Tanpa 
DNS, kita semua harus mengingat ribuan alamat IP untuk situs web favorit kita—bukan tugas 
kecil bahkan untuk seorang sarjana.
Salah satu perintah yang paling berguna bagi calon Hacker adalah dig, yang 
menawarkan cara untuk mengumpulkan informasi DNS tentang domain target. Informasi 
DNS yang tersimpan dapat menjadi bagian penting dari pengintaian awal yang harus 
diperoleh sebelum menyerang. Informasi ini dapat mencakup alamat IP server nama target 
(server yang menerjemahkan nama target ke alamat IP), server email target, dan 
kemungkinan subdomain dan alamat IP apa pun.
Misalnya, masukkan dig Hackers-bangkit.com dan tambahkan opsi ns (kependekan 
dari nameserver). Server nama untuk Hackersbangkit.com ditampilkan di ANSWER SECTION 
Daftar 3.3.
kali >dig Hackers-bangkit.com ns
--snip -
;; QUESTION SECTION: 
;Hackers-bangkit.com. IN NS
;; ANSWER SECTION: 
Hackers-bangkit.com. 5 IN NS ns7.wixdns.net.
Hackers-bangkit.com. 5 IN NS ns6.wixdns.net.
;; ADDITIONAL SECTION: 
ns6.wixdns.net. 5 IN A 216.239.32.100 
--snip -
Daftar 3.3 Menggunakan opsi dig dan ns nya untuk mendapatkan informasi tentang server 
nama domain
Perhatikan juga di ADDITIONAL SELECTION bahwa kueri penggalian ini 
mengungkapkan alamat IP (216.239.32.100) dari server DNS yang melayani 
Hackersbangkit.com.
Anda juga dapat menggunakan perintah dig untuk mendapatkan informasi tentang 
server email yang terhubung ke domain dengan menambahkan opsi mx (mx adalah 
kependekan dari server pertukaran email). Informasi ini sangat penting untuk serangan pada 
sistem email. Misalnya, info di server email www.Hackersbangkit.com ditampilkan di 
ADDITIONAL SELECTION Daftar 3.4
kali >dig Hackers-bangkit.com mx
--snip -
;; QUESTION SECTION: 
;Hackers-bangkit.com. IN MX
;; AUTHORITY SECTION: 
Hackers-bangkit.com. 5 IN SOA ns6.wixdns.net. support.wix.com 2016052216 10800 
3600 604 800 3600 
--snip--
Daftar 3.4 Menggunakan opsi dig dan mx untuk mendapatkan informasi di server 
pertukaran email domain
Server DNS Linux yang paling umum adalah Berkeley Internet Name Domain (BIND). 
Dalam beberapa kasus, pengguna Linux akan merujuk ke DNS sebagai BIND, tetapi jangan 
bingung: DNS dan BIND keduanya memetakan nama domain individual ke alamat IP.
Mengubah Server DNS Anda 
Dalam beberapa kasus, Anda mungkin ingin menggunakan server DNS lain. Untuk 
melakukannya, Anda akan mengedit file plaintext bernama /etc/resolv.conf di sistem. 
Buka file itu di editor teks—saya menggunakan Leafpad. Kemudian, pada baris perintah, 
masukkan nama persis editor Anda diikuti dengan lokasi file dan nama file. Sebagai contoh, 
akan membuka file resolv.conf di direktori /etc di editor teks grafis yang saya tentukan, 
Leafpad. File harus terlihat seperti Gambar 3.1.
kali >leafpad /etc/resolv.conf
Gambar 3.1 File resolv.conf biasa di editor teks
Seperti yang Anda lihat di baris 3, server nama saya disetel ke server DNS lokal di 
192.168.181.2. Itu berfungsi dengan baik, tetapi jika saya ingin menambahkan atau 
mengganti server DNS tersebut dengan, misalnya, server DNS publik Google di 8.8.8.8, saya 
akan menambahkan baris berikut di server file/etc/resolv.conf untuk menentukan nama 
server:
nameserver 8.8.8.8
Kemudian saya hanya perlu menyimpan file. Namun, Anda juga dapat memperoleh hasil 
yang sama secara eksklusif dari baris perintah dengan memasukkan yang berikut ini:
kali >echo "nameserver 8.8.8.8"> /etc/resolv.conf
Perintah ini menggemakan server nama string 8.8.8.8 dan mengalihkannya (>) ke file 
/etc/resolv.conf, menggantikan konten saat ini. File /etc/resolv.conf Anda seharusnya 
sekarang terlihat seperti Gambar 3.2.
Gambar 3.2 Mengubah file resolv.conf untuk menentukan server DNS Google
Jika Anda membuka file /etc/resolv.conf sekarang, Anda akan melihat bahwa file 
tersebut mengarahkan permintaan DNS ke server DNS Google daripada server DNS lokal 
Anda. Sistem Anda sekarang akan pergi ke server DNS publik Google untuk menyelesaikan 
nama domain menjadi alamat IP. Hal ini dapat berarti bahwa nama domain memerlukan 
waktu sedikit lebih lama untuk diselesaikan (mungkin milidetik). Oleh karena itu, untuk 
mempertahankan kecepatan tetapi tetap memiliki opsi untuk menggunakan server publik, 
Anda mungkin ingin mempertahankan server DNS lokal di file resolv.conf dan mengikutinya 
dengan server DNS publik. Sistem operasi menanyakan setiap server DNS yang tercantum 
dalam urutan kemunculannya di /etc/resolv.conf, sehingga sistem hanya akan merujuk ke 
server DNS publik jika nama domain tidak dapat ditemukan di server DNS lokal.
Cacatan
Jika Anda menggunakan alamat DHCP dan server DHCP menyediakan setelan DNS, 
server DHCP akan mengganti isi file saat mengupgrade alamat DHCP.
Memetakan Alamat IP Anda Sendiri 
Sebuah file khusus di sistem Anda yang disebut file host juga melakukan terjemahan 
nama domain-alamat IP. File hosts terletak di /etc/hosts, dan seperti DNS, Anda dapat 
menggunakannya untuk menentukan alamat IP-pemetaan nama domain Anda sendiri.
Dengan kata lain, Anda dapat menentukan alamat IP mana yang dituju browser Anda saat 
Anda memasukkan www.microsoft.com (atau domain lainnya) ke dalam browser, daripada 
membiarkan server DNS yang memutuskan. Sebagai Hacker, ini dapat berguna untuk 
membajak koneksi TCP di jaringan area lokal Anda untuk mengarahkan lalu lintas ke server 
web berbahaya dengan alat seperti dnsspoof .
Dari baris perintah, ketik perintah berikut (Anda dapat menggantikan editor teks 
pilihan Anda untuk leafpad ):
kali >leafpad /etc/hosts
Sekarang Anda akan melihat file host Anda yang akan terlihat seperti Gambar 3.3.
Gambar 3.3 File host Kali Linux default
Secara default, file host hanya berisi pemetaan untuk localhost Anda di 127.0.0.1 dan 
nama host sistem Anda (dalam hal ini Kali di 127.0.1.1). Namun, Anda dapat menambahkan 
alamat IP apa pun yang dipetakan ke domain apa pun yang Anda inginkan. Sebagai contoh 
tentang bagaimana ini dapat digunakan, Anda dapat memetakan www.bankofamerica.com
ke situs web lokal Anda di 192.168.181.131
127.0.0.1 localhost 
127.0.1.1 kali 
192.168.181.131 bankofamerica.com
# The following lines are desirable for IPv6 capable hosts 
::1 localhost ip6-localhost ip6-loopback 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters
Pastikan Anda menekan TAB antara alamat IP dan kunci domain—bukan spasi.
Saat Anda semakin terlibat dalam upaya peretasan dan mempelajari tentang alat 
seperti dnsspoof dan Ettercap, Anda akan dapat menggunakan file host untuk mengarahkan 
lalu lintas di LAN Anda.
3.5 RINGKASAN 
Hacker memerlukan beberapa keterampilan dasar jaringan Linux untuk 
menghubungkan, menganalisis, dan mengelola jaringan. Seiring kemajuan Anda, 
keterampilan ini akan menjadi semakin berguna untuk melakukan pengintaian, spoofing, dan 
menghubungkan ke sistem target.



BAB 4
MENAMBAHKAN DAN MENGHAPUS SOFTWARE
Salah satu tugas paling mendasar di Linux adalah menambahkan dan menghapus 
software. Anda sering kali perlu menginstal software yang tidak disertakan dengan distribusi 
Anda atau menghapus software yang tidak diinginkan sehingga tidak memakan ruang hard 
drive.
Beberapa software memerlukan software lain untuk dijalankan, dan terkadang Anda 
akan menemukan bahwa Anda dapat mengunduh semua yang Anda perlukan sekaligus 
dalam satu paket software, yang merupakan sekelompok file —biasanya perpustakaan dan 
dependensi lain—untuk software yang Anda perlukan berjalan dengan sukses. Saat Anda 
menginstal sebuah paket, semua file di dalamnya akan diinstal bersama-sama dengan skrip 
untuk membuat loading software menjadi lebih sederhana. Dalam bab ini, kami memeriksa 
tiga metode utama untuk menambahkan software baru: apt package manager, manajer 
penginstalan berbasis GUI, dan git.
4.1 MENGGUNAKAN APT UNTUK MENANGANI SOFTWARE
Dalam distribusi Linux berbasis Debian, yang mencakup Kali dan Ubuntu, pengelola 
software default adalah Alat Paket Lanjutan/Advance Package, atau apt, yang perintah 
utamanya adalah apt-get. Dalam bentuknya yang paling sederhana dan paling umum, Anda 
dapat menggunakan apt-get untuk mengunduh dan menginstal paket software baru, tetapi 
Anda juga dapat mengupgrade dan meningkatkan software dengannya.
Mencari Paket
Sebelum mengunduh paket software, Anda dapat memeriksa apakah paket yang 
Anda butuhkan tersedia dari repositori (tempat sistem operasi Anda menyimpan informasi.) 
Anda. Apt-tool memiliki fungsi penelusuran yang dapat memeriksa apakah paket tersedia. 
Sintaksnya adalah langsung:
apt-cache search keyword
Perhatikan bahwa kami menggunakan perintah apt-cache untuk menelusuri cache apt atau 
tempat menyimpan nama paket. Jadi, jika Anda mencari Snort, misalnya, Anda akan 
memasukkan perintah yang ditampilkan di Daftar 4.1.
kali >apt-cache search snort 
fwsnort - Snort-to-iptables rule translator 
ippl - IP protocols logger 
--snip￾snort - flexible Network Intrusion Detection System 
snort-common - flexible Network Intrusion Detection System - common files 
--snip￾Daftar 4.1 Menelusuri sistem dengan apt-cache untuk Snort
Seperti yang Anda lihat, banyak file memiliki snort kata kunci di dalamnya, tetapi di 
dekat bagian tengah output kami melihat snort – flexible Network Intrusion Detection Syste. 
Menambahkan Software
Sekarang setelah Anda mengetahui bahwa paket snort ada di repositori Anda, Anda 
dapat menggunakan apt-get untuk mengunduh software.Untuk menginstal software dari repositori default sistem operasi Anda di terminal, 
gunakan perintah apt-get, diikuti dengan kata kunci install dan kemudian nama paket yang 
ingin Anda instal. Sintaksnya terlihat seperti ini:
apt-get install packagename
Mari kita coba ini dengan menginstal Snort di sistem Anda. Masukkan apt-get install 
snort sebagai pernyataan perintah, seperti yang ditunjukkan di Daftar 4.2.
kali >apt-get install snort 
Reading package lists... Done 
Building dependency tree 
Reading state information... Done 
Suggested packages: 
snort-doc 
The following NEW packages will be installed: 
snort 
--snip --
Install these packages without verification [Y/n]?
Daftar 4.2 Menginstal Snort dengan apt-get install
Output yang Anda lihat memberi tahu Anda apa yang sedang diinstal. Jika semuanya 
terlihat benar, lanjutkan dan masukkan y saat diminta, dan penginstalan software Anda akan 
melanjutkan.
Menghapus Software
Saat menghapus software, gunakan apt-get dengan opsi remove, diikuti dengan 
nama software yang akan dihapus (lihat Daftar 4.3).
kali >apt-get remove snort
Reading package lists... Done 
Building dependency tree 
Reading state information... Done 
The following packages were automatically installed and are nolonger 
required: 
libdaq0 libprelude2 oinkmaster snort-common-libraries snort-rules-default 
--snip --
Do you want to continue [Y/n]?
Daftar 4.3 Menghapus Snort dengan apt-get remove
Sekali lagi, Anda akan melihat tugas yang dilakukan secara real time dan Anda akan 
ditanya apakah Anda ingin melanjutkan. Anda dapat memasukkan y untuk mencopot 
pemasangan, tetapi Anda mungkin ingin tetap menggunakan Snort karena kami akan 
menggunakannya lagi. Perintah remove tidak menghapus file konfigurasi, yang berarti Anda 
dapat menginstal ulang paket yang sama di masa mendatang tanpa mengonfigurasi ulang.
Jika Anda ingin menghapus file konfigurasi pada waktu yang sama dengan paket, 
Anda dapat menggunakan opsi purge seperti yang ditunjukkan di Daftar 4.4.
kali >apt-get purge snort
Reading package lists... Done 
Building dependency tree 
Reading state information... Done 
The following packages were automatically installed and are no longer
required: 
libdaq0 libprelude2 oinkmaster snort-common-libraries snort-rules-default 
--snip --
Do you want to continue [Y/n]?
Daftar 4.4 Menghapus Snort dan file konfigurasi yang menyertainya dengan apt-get purge
Cukup masukkan Y saat diminta untuk melanjutkan pembersihan paket software dan 
file konfigurasi. Anda mungkin telah memperhatikan baris The following packages were 
automatically installed and are no longer require di output. Untuk menjaga hal-hal kecil dan 
modular, banyak paket Linux dipecah menjadi unit software yang mungkin digunakan oleh 
banyak program berbeda. Saat Anda menginstal Snort, Anda menginstal beberapa 
dependensi atau library yang diperlukan Snort agar dapat dijalankan. Sekarang setelah Anda 
menghapus Snort, library atau dependensi lain tersebut tidak lagi diperlukan, jadi mereka 
juga dihapus.
Mengupdate repositori Paket 
Software akan diupdate secara berkala dengan software baru atau versi baru dari 
software yang ada. Pembaruan ini tidak sampai kepada Anda secara otomatis, jadi Anda 
harus memintanya untuk menerapkan pembaruan ini ke sistem Anda sendiri. Mengupgrade
tidak sama dengan memutakhirkan: mengupgrade hanya mengupgrade daftar paket yang 
tersedia untuk diunduh dari repositori, sedangkan memutakhirkan akan memutakhirkan 
paket ke versi terbaru di repositori.
Anda dapat mengupgrade sistem individual Anda dengan memasukkan perintah apt￾get diikuti dengan kata kunci update. Tindakan ini akan menelusuri semua paket di sistem 
Anda dan memeriksa apakah pembaruan tersedia. Jika begitu, pembaruan diunduh (lihat 
Daftar 4.5).
kali >apt-get update
Get:1 http://mirrors.ocf.berkeley.edu/kali kali-rolling InRelease [30.5kb] 
Get:2 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 Packages
[14.9MB] 
Get:3 http://mirrors.ocf.berkeley.edu/kali kali-rolling non-free amd64 Packages [163kb] 
Get:4 http://mirrors.ocf.berkeley.edu/kali kali-rolling/contrib amd64 Packages [107 kB] 
Fetched 15.2 MB in 1min 4s (236 kB/s) 
Reading package lists... Done
Daftar 4.5 Mengupgrade semua paket kedaluwarsa dengan apt-get update
Daftar software yang tersedia di repositori pada sistem Anda akan diupdate. Jika 
pembaruan berhasil, terminal Anda akan menyatakan Reading package lists... Done, seperti 
yang Anda lihat di Daftar 45. Perhatikan bahwa nama repositori dan nilainya—waktu, ukuran, 
dan sebagainya—mungkin berbeda di sistem Anda.
Upgrade Paket 
Untuk meningkatkan versi paket yang ada di sistem Anda, gunakan apt-get upgrade. 
Karena memutakhirkan paket Anda dapat membuat perubahan pada software Anda, Anda 
harus masuk sebagai root atau menggunakan perintah Sudo sebelum memasuki apt-get 
upgrade. Perintah