LMS IDN - Cyber Security Dasar


Mempelajari Cyber Security melalui LMS ID-Networkers


Basic Cyber Security

Basic Cyber Security adalah langkah-langkah dasar yang digunakan untuk melindungi sistem, jaringan, dan data dari ancaman digital seperti peretasan, malware, dan pencurian data. Tujuannya adalah menjaga kerahasiaan (confidentiality), integritas (integrity), dan ketersediaan (availability) data — yang dikenal sebagai CIA Triad.

Dalam praktiknya, cyber security mencakup dua tim utama:

  • Offensive Team: bertugas mencari celah keamanan (misalnya melalui penetration testing).

  • Defender Team: bertugas melindungi sistem dari serangan.

Salah satu teknik penting adalah penetration testing (pentest), yaitu simulasi serangan untuk menguji pertahanan sistem, yang dilakukan melalui beberapa tahap seperti perencanaan, pengintaian, scanning, eksploitasi, hingga pelaporan hasil.

Singkatnya, basic cyber security adalah fondasi untuk menjaga informasi tetap aman di era digital.

 

CIA Triad – Tiga Pilar Keamanan Informasi

CIA Triad merupakan fondasi dasar dari keamanan informasi yang terdiri dari tiga komponen utama:

  • Confidentiality (Kerahasiaan)
    Pengamanan Data
    Tujuannya adalah melindungi data agar tidak diakses oleh pihak yang tidak berwenang. Contoh: penggunaan enkripsi, autentikasi pengguna.

  • Integrity (Integritas)
    Menjaga Data
    Memastikan bahwa data tidak diubah tanpa izin. Ini melindungi data dari modifikasi yang tidak sah. Contoh: checksum, digital signature.

  • Availability (Ketersediaan)
    Ketersediaan Resource
    Data dan sistem harus tersedia saat dibutuhkan. Contoh: penggunaan backup, load balancing, dan perlindungan terhadap serangan DDoS.


Tim dalam Cyber Security

Dalam dunia cyber security, terdapat dua jenis tim utama:

  • Offensive Team (Tim Penyerang)
    Fokus pada mencari celah keamanan dengan metode seperti penetration testing, ethical hacking, dan red teaming.

  • Defensive Team (Tim Bertahan)
    Bertugas untuk melindungi sistem dari serangan. Meliputi aktivitas seperti monitoring, incident response, dan hardening sistem.


Tahapan Penetration Testing (Pentesting)

Penetration testing dilakukan untuk menguji keamanan sistem. Berikut adalah fase-fasenya:

  1. Planning and Scoping
    Menentukan tujuan, ruang lingkup, dan perizinan dari pengujian.

  2. Reconnaissance
    Mengumpulkan informasi tentang target, baik secara aktif maupun pasif.

  3. Scanning
    Mengidentifikasi sistem, port, layanan, dan potensi kerentanan.

  4. Gain Access
    Mengeksploitasi kerentanan yang ditemukan untuk mendapatkan akses.

  5. Maintain Access
    Menjaga akses ke sistem target untuk tujuan pengujian jangka panjang.

  6. Cover Tracks
    Menghapus jejak agar tidak terdeteksi (dalam konteks pengujian legal).

  7. Analysis
    Menganalisis hasil temuan dari proses pengujian.

  8. Reporting
    Menyusun laporan temuan dan rekomendasi untuk perbaikan.


Kali Linux

Kali Linux adalah sistem operasi berbasis Debian yang dirancang khusus untuk kebutuhan penetration testing dan ethical hacking.
Sistem ini dikembangkan oleh Offensive Security dan dilengkapi dengan lebih dari 300 tools keamanan.

Fitur Utama:

  • Debian-based OS

  • Didesain untuk pengujian keamanan dan forensik digital

  • Memiliki tools untuk scanning, eksploitasi, sniffing, cracking, dll

  • Gratis dan open-source

  • Website: https://www.kali.org/


Cara Instalasi Kali Linux pada VMware:
  1. Download Kali Linux ISO/VMware image dari https://www.kali.org/get-kali/#kali-virtual-machines

  2. Download & install VMware Workstation Player (gratis untuk penggunaan personal) dari https://www.vmware.com/

Langkah-Langkah Instalasi:

1. Buka VMware Workstation

  • Pilih “Open a Virtual Machine” jika kamu mendownload versi .ova/.vmx dari situs resmi Kali.

2. Jika menggunakan file ISO:

  • Pilih “Create a New Virtual Machine”

  • Pilih “Installer disc image file (iso)” dan arahkan ke file ISO Kali Linux

3. Konfigurasi Mesin Virtual:

  • OS: Linux → Debian 10/11 64-bit

  • Berikan nama VM, misalnya: Kali Linux

  • Tentukan lokasi penyimpanan file VM

  • Alokasikan minimal:

    • RAM: 2 GB (4 GB disarankan)

    • Disk: 20 GB atau lebih

    • Prosesor: 2 core atau lebih

4. Instalasi Kali Linux:

  • Boot VM dan pilih “Graphical install”

  • Pilih bahasa, lokasi, dan layout keyboard

  • Buat user account dan password

  • Partisi otomatis (gunakan opsi "Guided - use entire disk")

  • Proses instalasi akan berjalan ±15–30 menit

5. Selesai Instalasi:

  • Setelah selesai, restart VM

  • Login dengan akun yang telah dibuat


Scripting Bash: Ping Sweep

Ping Sweep adalah teknik untuk memeriksa host aktif dalam suatu jaringan menggunakan perintah ping. Teknik ini sering digunakan dalam tahap scanning saat melakukan penetration testing. Tujuan dilakukannya Ping Sweep adalah untuk: Mengetahui IP mana saja yang aktif di dalam sebuah subnet; Mengidentifikasi target potensial untuk eksplorasi lebih lanjut; Salah satu langkah awal dalam network reconnaissance.

Contoh Bash Script Ping Sweep:
#!/bin/bash
echo "Ping Sweep dimulai..."
for ip in {1..254}; do
  ping -c 1 -W 1 192.168.1.$ip > /dev/null 2>&1
  if [ $? -eq 0 ]; then
    echo "Host 192.168.1.$ip aktif"
  fi
done

Penjelasan Script:
for ip in {1..254} → Melakukan loop untuk IP 192.168.1.1 hingga 192.168.1.254
ping -c 1 -W 1 → Kirim 1 ping dengan timeout 1 detik
> /dev/null 2>&1 → Sembunyikan output (hanya tampilkan host aktif)
if [ $? -eq 0 ] → Cek jika ping berhasil (kode keluaran 0)

Contoh Output:
Ping Sweep dimulai...
Host 192.168.1.1 aktif
Host 192.168.1.10 aktif
Host 192.168.1.101 aktif

Google Hacking

Google Hacking adalah teknik pencarian lanjutan menggunakan query khusus di Google untuk menemukan informasi sensitif yang secara tidak sengaja terekspos. Teknik ini sangat berguna dalam fase reconnaissance pada penetration testing. Google Hacking banyak digunakan oleh para penetration tester untuk mencari informasi yang bisa dieksploitasi — dan didokumentasikan di https://www.exploit-db.com/google-hacking-database.

Exploit Database (exploit-db.com) adalah repositori publik yang menyimpan ribuan exploit, termasuk Google Dorks yang bisa digunakan untuk menemukan kelemahan sistem lewat pencarian Google.


Contoh Google Dork:
site:prod.*.* inurl:login site:*.id

Tujuan
: Menemukan halaman login di server produksi (prod) milik organisasi Indonesia.
  • site:prod.*.* → Cari domain sub prod di semua domain (misalnya prod.bank.co.id)

  • inurl:login → Cari URL yang mengandung kata "login"

  • site:*.id → Batasi hanya domain Indonesia (.id)


Kumpulan Operator Google Dork:

  • site: Mencari data dalam domain tertentu. Contoh: site: kominfo.go.id
  • inurl: Mencari keyword dalam URL Contoh: inurl: admin
  • intext : Mencari keyword di isi halaman. Contoh: intext: "password"
  • intitle : Mencari keyword di judul halaman. Contoh: intitle: "index of"
  • filetype: Mencari file dengan ekstensi tertentu. Contoh: filetype :pdf
  • ext : Sama seperti filetype. Contoh: ext : xls
  • cache: Menampilkan versi cache dari halaman website
  • allinurl: Mencari semua kata dalam URL
  • allintitle: Mencari semua kata dalam judul halaman
  • allintext : Mencari semua kata dalam isi halaman


Enumeration Tools: Nmap

Nmap (Network Mapper) adalah Alat open-source untuk network discovery dan security auditing, yang memiliki fungsi untuk: Menemukan host hidup (host discovery); Memetakan port terbuka (port scanning); Mengetahui layanan (service/version detection); Mendeteksi sistem operasi (OS fingerprinting). Nmap sering digunakan oleh profesional keamanan untuk melakukan network discovery (menemukan perangkat dan layanan dalam jaringan) dan security auditing (mengidentifikasi potensi masalah keamanan).

Langkah-Langkah Menggunakan Nmap

1. History Discovery:
Sebelum melakukan scan port atau layanan, kita perlu mengetahui perangkat mana yang sedang aktif di jaringan. Ini adalah langkah pertama yang disebut host discovery. Misalnya, jika kita ingin memindai jaringan lokal dan mengetahui perangkat mana yang aktif, kita bisa menggunakan perintah:
nmap -sn 192.168.1.0/24
Perintah ini akan memberi tahu kita perangkat mana di jaringan 192.168.1.x yang sedang online tanpa melakukan pemindaian port.

Namun, jika kita sudah tahu perangkat yang ingin dipindai dan ingin langsung memindai tanpa memeriksa apakah host aktif, kita bisa menggunakan perintah -Pn, yang akan melewati pemeriksaan host, seperti contoh berikut ini:
nmap -Pn 192.168.1.10


2. Port Scanning:
Setelah mengetahui perangkat mana yang aktif, kita bisa memindai port yang terbuka di perangkat tersebut. Setiap port di komputer atau perangkat terhubung ke layanan tertentu (misalnya, port 80 untuk web server atau port 22 untuk SSH). Kita dapat memindai port tertentu atau semua port yang ada.

Scan port tertentu
Jika kita ingin memindai port tertentu seperti port 22, 80, dan 443, kita bisa menggunakan perintah:
nmap -p 22,80,443 192.168.1.10

Scan semua port
Untuk memindai semua port yang mungkin terbuka (dari 1 hingga 65535), gunakan perintah:
nmap -p- 192.168.1.10


3. Mengetahui Layanan dan Versi:
Nmap tidak hanya menunjukkan port mana yang terbuka, tetapi juga dapat memberi tahu kita layanan apa yang berjalan pada port tersebut dan bahkan versi aplikasi tersebut. Misalnya, kita dapat mengetahui apakah port 80 menjalankan Apache atau nginx, dan versi yang digunakan.

Untuk melakukan ini, kita bisa menambahkan opsi
-sV, yang akan mendeteksi layanan dan versinya. Contohnya dengan perintah:
nmap -sV 192.168.1.10


4. Mengetahui Layanan dan Versi:
Nmap tidak hanya menunjukkan port mana yang terbuka, tetapi juga dapat memberi tahu kita layanan apa yang berjalan pada port tersebut dan bahkan versi aplikasi tersebut. Misalnya, kita dapat mengetahui apakah port 80 menjalankan Apache atau nginx, dan versi yang digunakan.

Untuk menggunakan deteksi sistem operasi, kita bisa menggunakan opsi -O:
nmap -O 192.168.1.10
Nmap akan memberi tahu kita jika perangkat tersebut menggunakan Linux, Windows, macOS, atau sistem operasi lainnya.


5. Pemindaian Script (NSE):
Nmap juga memiliki fitur yang disebut Nmap Scripting Engine (NSE), yang memungkinkan kita untuk menjalankan skrip-skrip khusus guna melakukan berbagai jenis pemindaian tambahan, seperti mencari kerentanannya. Sebagai contoh, untuk mencari potensi celah keamanan pada HTTP, kita bisa menjalankan skrip seperti ini:
nmap --script http-vuln* 192.168.1.10
Perintah ini akan menjalankan skrip pencarian celah keamanan pada layanan HTTP yang terdeteksi pada port 80.


6. Mengatur Kecepatan Scan
Terkadang, kita perlu memodifikasi kecepatan scan agar tidak terlalu cepat (dan menyebabkan noise yang tinggi) atau terlalu lambat (dan menghabiskan waktu yang tidak perlu). Nmap menyediakan opsi timing, dari yang paling lambat dan paling tersembunyi hingga yang paling cepat.
Berikut adalah beberapa tingkat timing yang bisa digunakan:
-T0: Paranoid (sangat lambat, cocok untuk menghindari deteksi)
-T3: Normal (seimbang antara kecepatan dan kerahasiaan)
-T5: Insane (paling cepat, tetapi sangat mudah terdeteksi)
Misalnya, jika kita ingin memindai jaringan dengan kecepatan normal, kita bisa menambahkan -T3:
nmap -T3 192.168.1.10


Menyimpan Hasil Pemindaian:
Hasil dari pemindaian yang dilakukan dengan Nmap bisa disimpan dalam berbagai format, seperti teks biasa, XML, atau format yang bisa digunakan untuk pemrosesan lebih lanjut. Misalnya:

a. Untuk menyimpan hasil sebagai teks biasa:
nmap -oN hasil_scan.txt 192.168.1.10

b. Untuk format XML:
nmap -oX hasil_scan.xml 192.168.1.10

c. Untuk menyimpan dalam beberapa format sekaligus:
nmap -oA hasil_scan 192.168.1.10


Enumeration Tool: Gobuster

Gobuster adalah alat berbasis Go yang digunakan untuk melakukan brute force terhadap direktori dan file di server web. Gobuster sangat efektif dalam mencari file atau folder tersembunyi yang mungkin tidak terdeteksi dalam pemindaian biasa, dan ini sangat membantu dalam proses web enumeration.

Gobuster bekerja dengan mencoba berbagai nama file atau direktori yang ada di dalam daftar kata (wordlist) terhadap server web untuk melihat apakah ada file atau direktori yang ada di server tersebut. Misalnya, jika server memiliki folder yang tidak terlihat melalui pemindaian biasa (misalnya /admin, /backup, atau /config), Gobuster akan mencoba untuk mengaksesnya dengan berbagai nama yang ada dalam wordlist.


Contoh Penggunaan Gobuster:

1. Mencari Direktori atau File di Server Web

Untuk memindai direktori atau file di sebuah website, kita dapat menggunakan perintah:
gobuster dir -u http://target.com -w /path/to/wordlist.txt
Yang mana:
dir
: Opsi ini untuk melakukan brute force pada direktori dan file.
-u: URL target yang ingin dipindai.
-w: Menentukan lokasi wordlist yang berisi nama-nama file dan direktori yang akan dicoba.

2. Brute Force Subdomain
Untuk melakukan brute force pada subdomain menggunakan Gobuster, perintahnya adalah:
gobuster dns -d target.com -w /path/to/wordlist.txt
Yang mana:
dns: Opsi ini digunakan untuk mencari subdomain.
-d: Domain yang ingin dipindai.
-w: Menunjukkan lokasi wordlist yang berisi daftar subdomain yang dicoba

Enumeration Tool: Fuzzing

Fuzzing adalah teknik untuk mengidentifikasi kerentanan dalam aplikasi perangkat lunak dengan mengirimkan input yang tidak valid atau acak (dikenal sebagai "fuzz") ke program atau aplikasi untuk melihat bagaimana aplikasi merespons. Fuzzing sering digunakan dalam security testing untuk menemukan bug atau kerentanan yang dapat dieksploitasi oleh penyerang.

Fuzzing bekerja dengan mengirimkan data acak atau data yang telah dimodifikasi ke dalam aplikasi atau sistem. Data ini dapat berupa string, file, atau permintaan HTTP, dan tujuannya adalah untuk mengekspos kelemahan dalam validasi input yang mungkin dapat dimanfaatkan.

Fuzzing dapat digunakan untuk berbagai jenis aplikasi, baik itu aplikasi web, perangkat lunak, atau perangkat keras. Dengan melakukan fuzzing, kita dapat mendeteksi bug yang mungkin ada, seperti buffer overflow, SQL injection, atau XSS.

Alat Fuzzing Populer
- Burp Suite Intruder: Salah satu alat fuzzing yang banyak digunakan di penetration testing untuk menguji input pada aplikasi web.
AFL (American Fuzzy Lop): Alat fuzzing untuk perangkat lunak yang lebih umum, terutama untuk program berbasis C/C++.
wfuzz: Alat fuzzing berbasis web untuk melakukan brute force pada endpoint web dan parameter query.

Contoh Penggunaan Fuzzing dengan Wfuzz
Untuk melakukan fuzzing pada parameter URL menggunakan wfuzz, kita bisa menggunakan perintah berikut:
wfuzz -c -w /path/to/wordlist.txt --hc 404 http://target.com/page?param=FUZZ
Yang mana:
-c: Menampilkan hasil dengan warna, agar lebih mudah dibaca.
-w: Menentukan lokasi wordlist yang berisi input yang akan diuji.
--hc 404: Mengabaikan hasil dengan status code 404 (Not Found).
FUZZ: Tempat di mana kata dari wordlist akan dimasukkan untuk menguji aplikasi.

Jenis-Jenis Fuzzing:
- Mutation-based Fuzzing: Mengubah input yang sudah ada (misalnya file atau string) untuk mengidentifikasi bagaimana aplikasi bereaksi terhadap input yang tidak terduga.
- Generation-based Fuzzing: Menghasilkan input baru yang acak berdasarkan format atau pola tertentu untuk aplikasi yang lebih kompleks.









Komentar