Linux Fundamentals — Menguasai Terminal sebagai “Rumah” Peretas

S3: Linux Fundamentals — Menguasai Terminal sebagai “Rumah” Peretas

Linux adalah sistem operasi sumber terbuka yang populer, yang dimodelkan berdasarkan UNIX. Inti dari sistem ini adalah kernel, yang mengelola sumber daya perangkat keras

Linux Fundamental 6ickzone

Lupakan antarmuka grafis (GUI) yang penuh warna. Di dunia keamanan siber, efisiensi adalah segalanya, dan itu hanya bisa dicapai melalui Command Line Interface (CLI). Mayoritas server di dunia, perangkat IoT, hingga infrastruktur Cloud berjalan di atas Linux. Jika kamu tidak bisa mengoperasikan terminal Linux, kamu hanyalah tamu di rumah sendiri.


1. Struktur Direktori (Linux Filesystem / FHS)

Linux tidak mengenal “C:” atau “D:”. Semuanya dimulai dari akar atau Root (/). Struktur ini mengikuti standar FHS (Filesystem Hierarchy Standard). Memahami letak file sensitif adalah kunci utama dalam fase post-exploitation.

  • / — Root of everything. Titik awal semua path di Linux.
  • /etc — Pusat file konfigurasi sistem. Tempat passwd, shadow, sudoers, hosts, dan crontab berada. SENSITIVE
  • /etc/passwd — Daftar semua user sistem, bisa dibaca siapa saja. Berisi UID, GID, home dir, dan shell yang digunakan. TARGET
  • /etc/shadow — Menyimpan password hash semua user. Hanya root yang bisa membacanya — ini yang diincar saat privilege escalation. TARGET
  • /etc/sudoers — Aturan siapa yang bisa menjalankan sudo. Misconfigurasi di file ini bisa menjadi privilege escalation instan. TARGET
  • /var/log — “Kotak hitam” sistem. Berisi auth.log, syslog, apache2/access.log. Semua aktivitas tercatat di sini.
  • /home — Direktori data pribadi semua user non-root. Sering menyimpan SSH keys, bash history, dan file config sensitif.
  • /root — Home directory Superuser. Tidak bisa diakses user biasa secara default. Final destination. TARGET
  • /tmp — Area penyimpanan sementara, bebas tulis (world-writable). Lokasi umum untuk menaruh payload karena tidak memerlukan izin khusus. ATTACK SURFACE
  • /proc — Virtual filesystem berisi info real-time tentang proses dan kernel. /proc/version dan /proc/net/tcp berguna untuk enumeration.
  • /bin & /sbin — Tempat binary eksekusi sistem. ls, cat, bash ada di sini. /sbin khusus untuk admin tools.
  • /usr/share/wordlists — Di Kali Linux, wordlist seperti rockyou.txt tersimpan di sini.
  • /opt — Software pihak ketiga yang diinstall manual biasanya landing di sini.
💡 Pro Tip: Jangan lupakan ~/.bash_history di setiap home directory. File ini sering menyimpan password yang pernah diketik langsung di terminal atau perintah sensitif yang pernah dijalankan user.

2. Perintah Dasar — Survival Kit

Kamu harus hafal perintah ini seperti bernapas. Dibagi berdasarkan kategori fungsionalnya:

Command Fungsi Level
ls -la List semua file termasuk tersembunyi, tampilkan permission dan ownership. BASIC
cd / pwd Pindah direktori / tampilkan lokasi direktori saat ini. BASIC
cat / less / head / tail Baca isi file. Gunakan tail -f untuk monitoring log secara real-time. BASIC
grep -r “kata” /path Cari string dalam file secara rekursif. Sangat powerful untuk mencari password yang di-hardcode. BASIC
find / -name “*.conf” Cari file berdasarkan nama, ekstensi, permission, atau ukuran di seluruh sistem. INTER
chmod / chown Ubah permission dan ownership sebuah file atau direktori. BASIC
sudo / su Jalankan perintah sebagai root / switch ke user lain. BASIC
ps aux / top / htop Lihat semua proses berjalan beserta user yang menjalankannya. BASIC
kill / pkill Hentikan proses berdasarkan PID atau nama proses. BASIC
wget / curl Download file dari URL. Curl lebih fleksibel untuk custom HTTP headers dan POST data. INTER
env / printenv Tampilkan environment variables. Sering mengandung credentials atau path sensitif. INTER
crontab -l Lihat scheduled tasks. Cron dengan script writable sering jadi vektor privilege escalation. INTER
ss -tulnp / netstat Tampilkan port yang terbuka beserta proses yang menggunakannya. INTER
awk / sed / cut Text processing powerhouse. Untuk parsing dan memanipulasi output command secara otomatis. ADVANCED
strace / ltrace Trace system calls dan library calls suatu program. Berguna untuk debugging dan reverse engineering. ADVANCED
# Contoh nyata: mencari file konfigurasi yang mengandung password
root@kali:~# grep -r “password” /etc/ –include=”*.conf” 2>/dev/null
/etc/mysql/debian.cnf:password = someSecretPass123
/etc/phpmyadmin/config-db.php:$dbpass=’anotherPass456′;# Mencari binary dengan SUID bit (vektor privesc klasik)
root@kali:~# find / -perm -4000 -type f 2>/dev/null
/usr/bin/sudo
/usr/bin/passwd
/usr/lib/openssh/ssh-keysign


3. File Permissions — Bahasa Izin Linux

Linux menggunakan sistem izin berbasis tiga entitas: Owner, Group, dan Others. Masing-masing punya tiga bit izin: Read, Write, dan Execute.

[SECURITY_CONCEPT : FILE PERMISSIONS]

Linux menggunakan sistem izin Read (4), Write (2), Execute (1).

Contoh: chmod 755 file artinya Owner bisa segalanya (4+2+1=7), Group dan Others hanya bisa baca + eksekusi (4+1=5).

Jika kamu melihat -rwsr-xr-x, huruf s pada posisi execute Owner menandakan SUID bit aktif — binary ini berjalan dengan privilege pemiliknya (sering root). Ini adalah vektor Privilege Escalation paling umum.

Notasi Simbolik Oktal Artinya Konteks
rwxrwxrwx 777 Semua entitas bisa baca, tulis, eksekusi. BERBAHAYA
rwxr-xr-x 755 Owner full access, lainnya hanya baca + eksekusi. UMUM
rw-r–r– 644 Owner bisa baca + tulis, lainnya hanya baca. AMAN
rw——- 600 Hanya owner yang bisa akses. SANGAT AMAN
rwsr-xr-x 4755 SUID aktif — berjalan sebagai owner file (sering root). PRIVESC VECTOR
⚠️ SUID & SGID Hunt: Gunakan perintah berikut untuk mencari binary berbahaya:find / -perm -4000 -type f 2>/dev/null find / -perm -2000 -type f 2>/dev/null
Bandingkan hasilnya dengan database GTFOBins (gtfobins.github.io) untuk mengetahui cara eksploitasinya.


4. Process & Service Management

Memahami proses yang berjalan di sistem adalah skill wajib — baik untuk enumeration saat pentest maupun untuk mempertahankan persistence setelah berhasil masuk ke sistem target.

# Lihat semua proses beserta user yang menjalankan
root@kali:~# ps aux | grep root
root 1234 /usr/sbin/apache2 -k start
root 5678 /usr/sbin/sshd -D# Service management (systemd)
root@kali:~# systemctl list-units –type=service –state=running
root@kali:~# systemctl status apache2
root@kali:~# systemctl start / stop / restart / enable apache2

# Cek port yang terbuka
root@kali:~# ss -tulnp
tcp LISTEN 0.0.0.0:22 (“sshd”, pid=5678)
tcp LISTEN 0.0.0.0:80 (“apache2”, pid=1234)

💡 Persistence via Cron & Systemd: Setelah masuk ke sistem, attacker sering menanam persistence melalui crontab -e (menambahkan reverse shell yang berjalan berkala) atau membuat custom systemd service. Selalu audit dua lokasi ini saat melakukan hardening sistem.

5. Networking dari Terminal

Linux adalah OS jaringan. Semua yang ada di CTF, pentest, bahkan server produksi bergantung pada kemampuan networking dari command line. Berikut tool-tool wajib yang harus kamu kuasai:

Tool Fungsi Contoh Penggunaan
ifconfig / ip a Lihat interface jaringan, IP address, dan MAC address. ip addr show eth0
ping / traceroute Test konektivitas ke host dan trace jalur paket melewati jaringan. ping -c 4 8.8.8.8
nmap Network scanner. Scan port, detect OS, enumerate service version. Tool recon #1. nmap -sV -sC target
netcat (nc) Swiss army knife networking. Port scan, reverse shell, file transfer, banner grabbing. nc -lvnp 4444
curl HTTP client powerful. Bisa custom header, POST data, follow redirect, dan banyak lagi. curl -X POST -d “data” url
ssh Secure remote access. Bisa tunneling, port forwarding lokal/remote, dan dynamic proxy. ssh -L 8080:localhost:80 user@host
tcpdump Packet capture dari terminal. Alternatif Wireshark untuk environment tanpa GUI. tcpdump -i eth0 -w cap.pcap
iptables / ufw Firewall management. Penting untuk memahami traffic filtering dan teknik bypass. iptables -L -n -v

6. Privilege Escalation — Dari User ke Root

Privilege escalation adalah seni memanfaatkan misconfiguration, kelemahan software, atau kelalaian admin untuk mendapatkan akses yang lebih tinggi. Berikut checklist enumeration standar yang wajib dilakukan setelah mendapat akses awal:

Checklist Enumeration (Privesc):

  • sudo -l — Cek command apa yang bisa dijalankan sebagai sudo tanpa password.
  • SUID/SGID Binariesfind / -perm -4000 -type f 2>/dev/null
  • Writable /etc/passwd — Jika writable, bisa tambahkan user root baru secara langsung.
  • Cron Jobscrontab -l dan cat /etc/crontab. Script yang writable = privesc.
  • Environment Variables / PATH Hijacking — Jika script root memanggil binary tanpa absolute path, bisa disubstitusi.
  • Kernel Exploitsuname -r untuk cek versi kernel, lalu cari CVE yang relevan (DirtyPipe, DirtyCow, dll).
  • LinPEAS / LinEnum — Script otomatis untuk enumerate semua vektor privesc. Drop ke /tmp dan jalankan.
# Full privesc enumeration dalam satu sesi
user@target:~$ sudo -l
(root) NOPASSWD: /usr/bin/vim# vim ada di GTFOBins — bisa spawn shell sebagai root!
user@target:~$ sudo vim -c ‘:!/bin/bash’
root@target:~# whoami
root

 Referensi Wajib: gtfobins.github.io — Database binary Unix yang bisa digunakan untuk bypass restriction, escalate privilege, atau mendapatkan shell. Selalu cek di sini setelah menemukan SUID binary atau sudo permission yang mencurigakan.

7. Log Management — Jejak Digital di Linux

Dalam konteks Blue Team, memahami lokasi log adalah kunci untuk deteksi insiden. Dalam konteks Red Team, ini adalah hal pertama yang perlu dipahami agar operasi tetap bersih.

File Log Isi
/var/log/auth.log Login attempts, sudo usage, SSH authentication events.
/var/log/syslog General system messages dari kernel dan services.
/var/log/apache2/access.log Semua HTTP request yang masuk ke web server Apache.
/var/log/apache2/error.log Error yang terjadi di web server Apache.
last / lastlog Riwayat login semua user dan waktu login terakhir.
~/.bash_history Riwayat perintah bash setiap user. Sering mengandung data sensitif.
# Monitoring log secara real-time
root@kali:~# tail -f /var/log/auth.log# Cari aktivitas mencurigakan di log
root@kali:~# grep “Failed password” /var/log/auth.log | awk ‘{print $11}’ | sort | uniq -c | sort -rn


8. Terminal Shortcuts & Power Tips

Operator yang lambat adalah operator yang tertangkap. Kuasai shortcut berikut untuk efisiensi maksimal:

Shortcut / Tip Fungsi
Ctrl + C Kill / hentikan proses yang sedang berjalan.
Ctrl + Z Suspend proses ke background. Lanjutkan dengan fg atau bg.
Ctrl + L Clear terminal (sama seperti command clear).
Ctrl + R Reverse search di bash history. Ketik keyword, tekan Ctrl+R berulang untuk lanjut.
!! Ulangi perintah terakhir. sudo !! = jalankan perintah terakhir sebagai root.
cmd1 | cmd2 Pipe — output cmd1 jadi input cmd2. Contoh: ps aux | grep apache
cmd > file Redirect output ke file (overwrite). Gunakan >> untuk append.
2>/dev/null Buang error messages. Berguna saat scanning agar output bersih.
command & Jalankan perintah di background agar terminal tetap bisa digunakan.
tmux / screen Terminal multiplexer — banyak window/pane dalam satu session SSH. Wajib untuk operasi panjang.
alias ll=’ls -la’ Buat shortcut command. Simpan di ~/.bashrc agar permanen.

kesimpulan

“Linux bukan sekadar OS — Linux adalah bahasa yang harus kamu kuasai sebelum bicara soal keamanan siber. Setiap tool, setiap exploit, setiap teknik bertumpu di atas fondasi ini.”

Jangan takut untuk merusak sistem (di lab sendiri) agar kamu paham cara memperbaikinya. Setup lab dengan VirtualBox + Kali Linux + intentionally vulnerable VM dari VulnHub atau HackTheBox.

Selanjutnya: S4 — Scripting & Automation →

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *