# 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 > ![image](https://hackmd.io/_uploads/BkEiy-b1Zl.png) 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 > ![image](https://hackmd.io/_uploads/rkNClZW1We.png) 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: > ![image](https://hackmd.io/_uploads/Hk7o2bWk-g.png) ``` 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