Mengenal Linux untuk Menjadi Seorang Hacker

Banyak orang sangat tertarik untuk menekuni dunia Hacking (seperti penulis), tetapi kadang bingung harus mulai dari mana. Oleh karena itu, seperti kata pepatah “gak kenal maka gak sayang” maka kita mulai dengan mengenal linux itu sendiri. Pada artikel sebelumnya saya telah merangkum beberapa distro linux yang dibuat khusus untuk membantu melakukan penetration testing.

Kenapa kita harus mengenal Linux?

Untuk teman – teman yang sudah terbiasa menggunakan Operating System Windows mungkin banyak menanyakan pertanyaan ini. Itu sudah wajar, apa lagi ketika mereka baru pertama mencicipi Operating System Linux. Kenapa dikit – dikit mainnya terminal? Mau install program harus lewat terminal? Mau jalanin program harus lewat terminal? Itu wajar aja, disitulah seninnya. Waktu awal penulis mengenal Linux juga mengalami hal yang sama. Tetapi semakin terbiasa menggunakan dan semakin terus belajar, kita bakal mulai paham bagaimana Operating system itu dapat bekerja.

            Untuk seorang hacker mengenal Operating System Linux bisa di bilang menjadi sebuah keharusan. Hal ini dikarenakan beberapa hal diantaranya :

  1. Kebanyak tools untuk melakukan penetrasi testing sudah tersedia di dalam beberapa distro linux dan mudah dalam pengoperasiannya.
  2. Kebanyakan web server menggunakan Operating System berbasis distro linux seperti Centos, Redhat, Ubuntu, Debian, dll. Sehingga kalau kita tidak terbiasa menggunakan linux kita akan kesulitan untuk melakukan exploitasi ke dalam web server.
  3.  Dalam dunia hacking, kebanyakan dilakukan dengan menggunakan script code yang di mainkan di dalam terminal, sehingga jarang ada tools hacking yang berupa UI (user interface) seperti program – program pada windows.

Pada kali ini penulis akan berbagi pengetahuan mengenai linux sehingga temen – temen bisa lebih mengenal seperti apa itu Operating System Linux. Berikut beberapa hal yang umunya harus dipahami teman – teman sebelum terjun langsung ke dunia hacking.

Struktur Folder Linux Beda Dengan Windows

Selain beda dalam bentuk user interfacenya, Windows dan linux juga berbeda dalam hal sturktur folder (directory), Didalam windows kita mengenal Drive C:\ D:\ E:\, dimana drive C:\ berisi file – file operating system windows dan tempat untuk menginstall program – program pada windows.

Sedangkan pada linux, umunya hanya punya satu partisi utama dan satu partisi tambahan untuk membantu kinerja RAM, yaitu Root dan swap, tetapi untuk beberapa kasus untuk kebutuhan tertentu dari pengguna linux memecah directory home kedalam beda partisi pada hardisk.

Penjelasan

  • Direktori Root (/)  merupakan direktori utama dalam linux, berisi operating system dari disto linux. Mirip Drive C:\ pada windows.
  • Direktori Swap  merupakan partisi yang dibutuhkan untuk mendukung system memori virtual. Ukurannya disarankan 2X dari ukuran RAM Komputer anda. Swap diperlukan oleh vitual memori manger untuk mengelola tempat kerja memori di RAM secara optimal
  • Direktori Home (/home) merupakan home direktori milik dari setiap user yang berada di bawah user root. Masing – masing home direktori dari setiap user dipisahkan dan membentuk sebuah tree.

Berikut adalah struktur folder linux.

Atau seperti ini :

Berikut adalah penjelasan dan fungsi dari masing – masing dari directori diatas.

  • /          -> Symbol ini artinya adalah directory root. Directori dasar pada linux. Directory yang membentuk basic system file. Atau juga bisa dikatakan sebagai directory tertinggi didalam linux. Sehingga semua file dan folder berada dibawah directory ini.
  • /bin     -> Merupakan direktori file binari berisi perintah-perintah dasar yang dibutuhkan oleh system maupun user untuk dijalankan, misalnya cd (change directory), pwd (print working directory), mv (move, mkdir (make directory), dan sebagainya.
  • /boot   -> Merupakan direktori yang memuat Linux Kernel dan file lain yang diperlukan pada saat melakukan proses booting sistem terutama saat menerapkan dual-boot.
  • /dev     -> Merupakan direktori berisi file device dimana perangkat fisik terpasang, seperti Hard drive (/dev/sda), USB drive (dev/sde), Optikal drive, dan perangkat lain yang terpasang pada sistem.
  • /etc     -> Merupakan direktori yang berisi file konfigurasi yang diperlukan oleh semua program dan juga berisi shell script startup dan shutdown untuk memulai atau menghentikan program individu. Misalnya, /etc/opt sebagai penyimpanan file konfigurasi untuk paket add-on, /etc/sgml sebagai penyimpanan file konfigurasi untuk perangkat lunak yang memproses SGML, /etc/X11 sebagai penyimpanan file konfigurasi untuk X Window System versi 11, /etc/xml sebagai penyimpanan file konfigurasi untuk perangkat lunak yang memproses XML. Selain itu juga directory ini salah satu yang sangat penting bagi seorang hacker setelah dia masuk kedalam mesin. Disini kita bisa melihat siapa saja user yang ada pada mesin ini dengan membaca file pada /etc/passwd dan juga bisa mengetahui password user dengan membaca file pada /etc/shadow.
  • /home -> Merupakan direktori home yang menyimpan data user. Setiap user yang  terdaftar, secara otomatis akan dibuat dalam direktori /home yang berisi direktori lain seperti Dekstop, Download, Dokumen dan sebagainya. Sebagai contoh, nama user yang akan kita buat adalah “netsec” maka secara otomatis akan terbentuk direktori /home/netsec.
  • /lib       -> Merupakan direktori berisi file-file library dari aplikasi yang ada pada sistem.  Direktori ini dapat dianggap setara dengan Program Files pada Windows, walaupun tidak sama persis. Setiap program pada Windows membutuhkan library tersendiri untuk diinstal meskipun telah ada untuk program lain, berbeda dengan Linux dimana kadangkala satu file library dapat digunakan oleh beberapa aplikasi secara bersama-sama.
  • /media -> Merupakan direktori berisi file media dari perangkat eksternal yang terpasang dan terhubung ke sistem. Misalnya CDROM, Hard disk eksternal, dan sebagainya. Hal ini dapat bervariasi antara distro Linux yang berbeda.
  • /mnt    -> Merupakan direktori yang pada dasarnya digunakan sebagai tempat untuk pemasangan filesystem atau drive lain sementara. Misalnya, /mnt/server sebagai tempat pemasangan untuk server media hard drive.
  • /opt     -> Merupakan direktori berisi paket aplikasi tambahan untuk sistem yang belum dapat dikelola oleh paket distro yang ada. Misalnya, /opt/arcsight sebagai tempat penyimpanan untuk paket-paket tambahan dari aplikasi ArcSight yang belum dikelola oleh paket distro manajer.
  • /proc   -> Merupakan direktori proses dimana banyak informasi sistem  direpresentasikan sebagai file. Pada dasarnya menyediakan cara untuk kernel Linux dalam mengirim dan menerima informasi dari berbagai proses yang berjalan.
  • /run     -> Merupakan direktori variabel data run-time yang berisi informasi tentang sistem yang berjalan sejak boot terakhir, misalnya saat log-in pengguna dan menjalankan daemon.
  • /sbin    -> Merupakan direktori berisi program binari penting yang diperlukan oleh system administrator untuk pemeliharaan, seperti iptables, fdisk, ifconfig, swapon, reboot, fsck, init, rute dan lain-lain.
  • /srv      -> Merupakan direktori berisi server tertentu dengan layanan file yang terkait, seperti data dan skrip untuk server web, data yang ditawarkan oleh server FTP, dan repositori untuk versi sistem kontrol.
  • /sys     -> Merupakan direktori berisi informasi tentang perangkat yang terhubung ke sistem dan memungkinkan untuk menyimpan dan memodifikasinya.
  • /tmp    -> Akhirnya sampai ke tmp. Direktory ini merupakan directory terpenting bagi seorang hacker. Karena untuk semua directory yang sudah dijelaskan, kebanyakan untuk user selain root dilarang untuk mengubah (write) directory maupun file tersebut. Sehingga bagi seorang hacker yang masuk kedalam mesin dan hanya mempunya hak akses selain root, mereka hanya bisa melakukan monitoring atau membaca data – data didalamnya tanpa bisa merubah data. Di dalam direktori tmp atau temprorary inilah satu – satunya folder atau direktori yang memiliki hak akses oleh semua user untuk read, write dan execution sebuah file. Sehingga kita bisa melakukan exploitasi lebih lanjut menggunakan script untuk bisa mendapatkan hak akses sebagai root atau sebagainya.
  • /usr     -> Merupakan direktori hirarki sekunder berisi program-program source code  yang bisa diakses oleh pengguna. Misalnya, /usr/bin sebagai perintah binari yang sebagian bukan berasal dari OS Linux (at, awk, cc, less, scp), /usr/include sebagai standar untuk memuat file-file header dari bahasa program C dan C++, dan lain-lain.
  • /var     -> Merupakan direktori variable file berisi informasi proses operasi dari sistem. Seperti, /var/log sebagai direktori yang memuat log dari aplikasi yang berbeda, /var/mail sebagai direktori yang memuat file Mailbox, /var/lock sebagai direktori yang memuat file yang hanya dapat digunakan oleh satu aplikasi saja.

Pusing, ya pasti pusing :D. Banyak banget directory didalam directory Root. Pelan – pelan dan learn by doing kita pasti bakal mengerti. Semoga artikel ini bisa bermaanfaat bagi pembaca dan penulis juga.

Terus belajar, Jangan pantang menyerah. Nikmati prosesnya, petik hasilnya.

Salam berbagi, dan salam ngoprek :D.

Tinggalkan komentar