Rabu, 05 Juli 2023
hacking 1
Juli 05, 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 tarikturun 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 memboot 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
--snipsnort - flexible Network Intrusion Detection System
snort-common - flexible Network Intrusion Detection System - common files
--snipDaftar 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 aptget 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