# Modul 4 — Cyber Attack Cycle & Dealing with a Cyber Attack
**Tujuan Praktikum**
- Memahami siklus serangan siber.
- Mempelajari proses penanganan insiden secara praktis.
- Menyiapkan defense tools dan hands-on untuk menangani serangan DoS.
---
## 1. Cyber Attack Cycle (Reconnaissance → Impact)
Siklus serangan, sering disebut *Cyber Kill Chain*, memecah serangan menjadi fase-fase yang logis. Model ini membantu menempatkan kontrol pencegahan dan deteksi pada titik yang paling efektif. Versi klasik berisi fase: **Reconnaissance → Weaponization → Delivery → Exploitation → Installation → Command & Control (C2) → Actions on Objectives (Impact / Monetization)**.
### a. Reconnaissance
Penyerang mengumpulkan informasi publik tentang target: domain, IP, layanan, versi software, subdomain, dan kadang informasi karyawan (OSINT). Indikator pertahanan: port scanning, peningkatan query DNS terhadap subdomain, atau aktivitas discovery lain. Mitigasi awal: minimalkan exposed information, lakukan inventory & monitoring, serta gunakan honeypot/port-tarpit bila sesuai.
### b. Weaponization
Berdasarkan intel yang dikumpulkan, penyerang menyiapkan payload atau skrip (exploit, skrip flooding, konfigurasi botnet). Organisasi harus menjalankan patch management dan vulnerability scanning agar weapon tidak menemukan target rentan.
### c. Delivery
Metode pengiriman: phishing, exploit langsung ke layanan publik, file upload berbahaya, atau inisiasi botnet/reflector. Di titik ini perimetral seperti WAF, rate limiting, dan edge logging dapat mendeteksi pola delivery yang tidak biasa.
### d. Exploitation
Payload dieksekusi atau serangan resource-heavy dimulai (mis. flood). Indikator: lonjakan error 5xx, banyak koneksi half-open (SYN spike), kenaikan CPU/IO, dan anomali NetFlow. Deteksi cepat sangat berguna untuk containment awal.
### e. Installation
Jika ada kompromi, penyerang mencoba mempertahankan akses (malware persistensi, cron job, backdoor). Host-based monitoring (file integrity, autoruns, suspicious processes) membantu mengungkap instalasi ini.
### f. Command & Control (C2)
Botnet atau implant melakukan beacon ke C2 untuk menerima instruksi. Pola outbound aneh (cadence beaconing, callbacks ke domain baru/encrypted) menjadi sinyal. Egress filtering, DNS monitoring, dan sinkholing dapat memutus jalur C2.
### g. Actions on Objectives (Impact / Monetization)
Penyerang mencapai tujuan: exfiltrate data, mematikan layanan (DoS), menjalankan ransomware, atau monetisasi lain. Dampak: downtime, hilangnya data, reputasi, dan biaya remediasi. Pada fase ini tim harus bergerak cepat ke containment, eradication, dan recovery.
> Catatan: model Kill Chain berguna sebagai alat analitis. Ada varian yang lebih komprehensif (Unified Kill Chain, MITRE ATT&CK mapping) untuk serangan modern.
---
## 2. Dealing with a Cyber Attack (Incident Handling & Playbook)
Gunakan proses yang terstruktur: **Preparation → Identification → Containment → Eradication → Recovery → Lessons Learned**. NIST SP 800-61 dan SANS menyediakan pedoman praktis dan playbook yang bisa diadaptasi.
### a. Preparation (Persiapan)
- Inventaris aset & penentuan prioritas (crown jewels).
- Siapkan playbooks untuk skenario umum (DoS, ransomware, data leak).
- Konfigurasi logging & monitoring, snapshot/backup, dan akses out-of-band (console/IPMI).
- Latih tim lewat tabletop exercises dan tugaskan peran (Incident Commander, Forensic Lead, Network Team, App Owner, Legal/Comms).
### b. Identification (Deteksi & Validasi)
- Kumpulkan indikator: IDS/IPS alerts, NetFlow spike, pcap, log aplikasi (500/503), anomali CPU/memory.
- Validasi insiden: apakah false positive? Klasifikasikan skala & scope.
- Gunakan threat intelligence untuk korelasi IOC.
### c. Containment (Isolasi Sementara)
- Tujuan: hentikan eskalasi dan kurangi damage tanpa merusak bukti. Opsi: isolasi host, block egress ke C2, blackhole reroute, redirect ke scrubbing.
- Catat semua tindakan timestamped dan simpan bukti (pcap, logs, memory dump bila perlu).
### d. Eradication (Penghapusan Akar Masalah)
- Hapus malware/backdoor, patch vulnerability, reset credential yang kompromi.
- Lakukan forensik untuk memastikan root-cause telah ditangani.
### e. Recovery (Pemulihan)
- Kembalikan layanan bertahap, validasi integritas, dan monitor ketat.
- Komunikasikan status ke stakeholder sesuai playbook.
### f. Lessons Learned (Post-mortem)
- Dokumentasikan timeline, root cause, kontrol yang kurang, dan rekomendasi perbaikan.
- Update playbooks dan lakukan tabletop exercise ulang.
> Sumber seperti NIST SP 800-61 dan CISA playbooks menyediakan template dan checklists yang dapat diadopsi menjadi SOP organisasi.
## 3. Defense Tools Simulation
Untuk simulasi penggunaan alat pertahanan dari serangan DoS, modul ini akan menggunakan tools iptables.
### a. Instalation
1. Install Iptables
```
sudo apt-get update
sudo apt-get install iptables
```
2. Cek status konfigurasi Iptables
```
sudo iptables -L -v
```
> Pastikan output-nya seperti berikut
> 
3. Mendefinisikan aturan chain
```
sudo iptables -A <chain> -i <interface> -p <protocol (tcp/udp) > -s <source> --dport <port no.> -j <target>
```
> Rincian:
> **-i (interface)** – antarmuka jaringan yang traffic-nya ingin Anda filter, seperti eth0, lo, ppp0, dan lain-lain.
> **-p (protocol)** – protokol jaringan tempat proses pemfilteran berlangsung. Opsi ini bisa berupa tcp, udp, udplite, icmp, sctp, icmpv6, dan seterusnya. Atau, Anda bisa mengetikkan all untuk memilih setiap protokol.
> **-s (source)** – alamat tempat traffic berasal. Anda bisa menambahkan nama host atau alamat IP.
> **–dport (destination port)** – nomor port tujuan suatu protokol, seperti 22 (SSH), 443 (https), dan seterusnya.
> **-j (target)** – nama target (ACCEPT, DROP, RETURN). Anda perlu memasukkan nama target ini setiap kali membuat aturan baru.
4. Mengizinkan koneksi pada salah satu
```
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
```
5. Mengecek aturan yang sudah dibuat
```
sudo iptables -L -v
```
> Output menjadi seperti ini
> 
6. Memfilter paket berdasarkan sumber
```
sudo iptables -A INPUT -s <IP source> -j <ACCEPT/DROP/RETURN>
```
7. Memfilter paket dari rentang
```
sudo iptables -A INPUT -m iprange --src-range <first IP source>-<last IP source> -j <ACCEPT/DROP/RETURN>
```
8. Menghapus aturan spesifik
```
sudo iptables -L --line-numbers
```
> Output:
> 
```
sudo iptables -D INPUT <line number>
```
## Referensi & Bacaan Lanjutan
- Lockheed Martin — *Cyber Kill Chain®* overview
https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html
- NIST SP 800-61 Rev.2 — *Computer Security Incident Handling Guide*
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-61r2.pdf
- CISA — *Federal Government Cybersecurity Incident and Vulnerability Response Playbooks*
https://www.cisa.gov/sites/default/files/2024-08/Federal_Government_Cybersecurity_Incident_and_Vulnerability_Response_Playbooks_508C.pdf
- SANS — *Incident Response Overview*
https://www.sans.org/security-resources/glossary-of-terms/incident-response
- Unified Kill Chain — extended model (PDF)
https://www.unifiedkillchain.com/assets/The-Unified-Kill-Chain.pdf
- Tutorial Iptables: Mengamankan VPS dengan Firewall Linux
https://www.hostinger.com/id/tutorial/iptables-tutorial#Cara_Install_Iptables_Firewall_Linux_dan_Menggunakannya