Ethical Hacking
Outline kuliah Ethical Hacking untuk 14 pertemuan dengan fokus pada pengetahuan praktis dan skill hacking. Tiap pertemuan menggabungkan teori dan hands-on lab untuk mengembangkan keterampilan secara bertahap:
Pengantar Ethical Hacking
- Definisi Ethical Hacking
- Peran dan Tanggung Jawab Ethical Hacker
- Legalitas, Etika, dan Hukum terkait Hacking
- Perangkat dan Lingkungan Kerja (VM, Kali Linux)
- Hands-on: Setup Lab dan Lingkungan Testing Aman
Metodologi Penetration Testing
- Fase Penetration Testing (Reconnaissance, Scanning, Gaining Access, Maintaining Access, Covering Tracks)
- Standar Penetration Testing (OWASP, NIST)
- Hands-on: Membuat Rencana Penetration Testing
Reconnaissance (Information Gathering)
• Teknik Open Source Intelligence (OSINT) • Passive dan Active Reconnaissance • Tools: WHOIS, nslookup, Maltego, Google Dorking • Hands-on: Pengumpulan Informasi Target secara Pasif
Scanning dan Enumeration
• Network Scanning: Nmap, Netcat • Vulnerability Scanning: OpenVAS, Nessus • Enumeration Services: SMB, SNMP, FTP, HTTP • Hands-on: Identifikasi Port, Services, dan Vulnerability Target
Exploitation Basics
• Pengertian Eksploitasi • Memahami Common Vulnerabilities (CVE) • Memilih dan Memodifikasi Exploit • Tools: Metasploit Framework • Hands-on: Menggunakan Metasploit untuk Eksploitasi
Web Application Hacking - Bagian 1
• Konsep HTTP, Session, dan Cookies • Vulnerabilities umum: SQL Injection, XSS • Tools: Burp Suite, OWASP ZAP • Hands-on: Eksploitasi SQL Injection pada Aplikasi Web
Web Application Hacking - Bagian 2
• CSRF (Cross-Site Request Forgery) • RCE (Remote Code Execution) • Directory Traversal, File Inclusion • Hands-on: Menggunakan Burp Suite untuk Menganalisis dan Mengeksploitasi Web App
Password Cracking dan Authentication Bypass
• Teknik Password Cracking (Brute Force, Dictionary, Rainbow Table) • Bypass Authentication: Vulnerable Login Forms • Tools: John the Ripper, Hydra • Hands-on: Password Cracking dan Authentication Bypass
Wireless Network Hacking
• Teknik dan Protokol Wireless (WEP, WPA/WPA2) • Attacks: WEP Cracking, WPA Handshake Capture • Tools: Aircrack-ng, Wireshark • Hands-on: Menyerang Wireless Network dan Memecahkan Password WiFi
Social Engineering
• Teknik Social Engineering: Phishing, Pretexting, Baiting • Email Spoofing dan Spear Phishing • Tools: Social Engineering Toolkit (SET) • Hands-on: Simulasi Phishing Attack
Privilege Escalation
• Konsep Privilege Escalation • Local vs Remote Escalation • Exploiting Misconfigured Services • Hands-on: Menaikkan Privilege di Sistem Linux dan Windows
Post-Exploitation dan Maintaining Access
• Backdoors dan Persistence • Data Exfiltration • Cleaning Tracks: Log Deletion, Anti-Forensics • Hands-on: Menginstal Backdoor dan Teknik Persistensi di Sistem Target
Mobile Hacking
• Arsitektur dan Security Model Android & iOS • Vulnerabilities di Aplikasi Mobile • Tools: Drozer, APKTool • Hands-on: Analisis dan Eksploitasi APK Android
Capture The Flag (CTF) Challenge dan Review
• Penyelesaian Soal-soal CTF untuk Review • Rekapitulasi Skill dan Pengetahuan • Simulasi Penetration Testing Lengkap • Hands-on: CTF Challenge (Individu/Kelompok)
Penilaian Akhir:
• Proyek Akhir: Penetration Testing terhadap jaringan dan aplikasi web yang diberikan • Presentasi dan Laporan: Hasil dari temuan dan rekomendasi perbaikan
Outline ini bertujuan untuk memberikan pemahaman komprehensif dan praktis tentang ethical hacking, mempersiapkan mahasiswa dengan keterampilan nyata di dunia cybersecurity.
Standar Penetration Testing (Pentest) mengacu pada praktik menguji keamanan sistem, aplikasi, atau jaringan untuk mengidentifikasi potensi kerentanan atau celah keamanan. Dua standar yang umum digunakan dalam pentest adalah OWASP dan NIST.
1. OWASP (Open Web Application Security Project)
OWASP adalah organisasi nirlaba yang berfokus pada keamanan aplikasi web. Salah satu kontribusi utama mereka adalah panduan standar untuk pengujian keamanan aplikasi web. Beberapa elemen kunci dari OWASP terkait penetration testing adalah:
• OWASP Top Ten: Daftar sepuluh risiko keamanan aplikasi web yang paling kritis, yang digunakan sebagai referensi penting untuk melakukan pentest aplikasi web. Risiko ini termasuk Injection, Broken Authentication, Sensitive Data Exposure, dan lainnya. • OWASP Testing Guide: Sebuah panduan lengkap yang berisi metodologi untuk menguji keamanan aplikasi web. Ini melibatkan identifikasi kerentanan di berbagai area aplikasi, mulai dari input validation, authentication, session management, hingga konfigurasi server.
2. NIST (National Institute of Standards and Technology) NIST adalah lembaga pemerintah Amerika Serikat yang menyediakan standar dan panduan untuk teknologi informasi. Dalam konteks penetration testing, NIST merilis beberapa panduan yang digunakan untuk mengarahkan proses pentest secara lebih formal dan terstruktur. Beberapa dokumen NIST yang berkaitan dengan pentest adalah:
• NIST SP 800-115 (Technical Guide to Information Security Testing and Assessment): Panduan ini menawarkan langkah-langkah spesifik dalam melakukan pengujian keamanan informasi, termasuk penetrasi testing. Ini mencakup berbagai pendekatan, seperti pengujian jaringan, aplikasi, dan sistem, serta metode pengumpulan informasi dan eksploitasi kerentanan. • NIST Cybersecurity Framework: Standar ini lebih luas dari sekadar pentest, tetapi dapat digunakan untuk mendukung keamanan jaringan dan aplikasi melalui pengidentifikasian risiko, perlindungan, pendeteksian, respons, dan pemulihan dari ancaman.
Perbandingan OWASP dan NIST dalam Pentest
• OWASP berfokus pada keamanan aplikasi web, menawarkan panduan yang lebih spesifik untuk mengidentifikasi kelemahan dalam aplikasi berbasis web. • NIST memiliki cakupan yang lebih luas dan mencakup standar untuk keamanan sistem secara keseluruhan, tidak hanya untuk aplikasi web tetapi juga infrastruktur jaringan dan teknologi informasi.
Keduanya penting dalam industri keamanan, dan pilihan antara keduanya bergantung pada cakupan dan kebutuhan organisasi dalam mengamankan sistem mereka.
Reconnaissance atau pengumpulan informasi dalam konteks cybersecurity adalah fase awal dari serangan siber atau penetration testing (pentest), di mana penyerang atau pentester mengumpulkan informasi sebanyak mungkin tentang target. Tujuannya adalah untuk memahami arsitektur sistem, titik lemah, dan potensi vektor serangan sebelum meluncurkan eksploitasi.
Reconnaissance (Information Gathering)
Proses ini biasanya dibagi menjadi dua jenis:
1. Passive Reconnaissance: Mengumpulkan informasi tentang target tanpa berinteraksi langsung dengan sistemnya. Teknik ini menggunakan sumber daya terbuka dan publik untuk mendapatkan data, sehingga tidak meninggalkan jejak di sistem target. 2. Active Reconnaissance: Melibatkan interaksi langsung dengan sistem target, seperti melakukan ping, port scanning, atau footprinting untuk mendapatkan informasi teknis dari server atau aplikasi target. Ini lebih berisiko karena lebih mudah terdeteksi oleh perangkat keamanan.
Teknik Open Source Intelligence (OSINT) OSINT adalah metode pengumpulan informasi dari sumber yang terbuka dan publik. Ini sering digunakan dalam fase passive reconnaissance. OSINT mencakup penggunaan berbagai alat, teknik, dan platform untuk mencari informasi publik yang dapat membantu seorang pentester atau penyerang dalam memahami target mereka. Berikut adalah beberapa teknik OSINT yang umum digunakan: 1. Search Engine Dorking
• Menggunakan query atau kata kunci tertentu di mesin pencari (Google, Bing, dll.) untuk menemukan informasi sensitif, seperti konfigurasi server yang salah, file yang terbuka untuk umum, atau dokumen internal. • Contoh alat: Google Dorks, Bing Dorking
2. Social Media Scraping
• Mengumpulkan informasi dari media sosial seperti LinkedIn, Facebook, Twitter, dll. untuk mengetahui struktur organisasi, detail karyawan, alamat email, atau informasi lainnya yang relevan. • Contoh alat: Maltego, SpiderFoot
3. DNS and WHOIS Enumeration
• Melakukan pencarian pada sistem WHOIS dan data DNS untuk mengidentifikasi detail terkait domain, server yang digunakan, alamat IP, serta informasi pemilik domain. • Contoh alat: WHOIS Lookup, DNSDumpster
4. Email Harvesting
• Mengumpulkan alamat email yang terkait dengan domain atau organisasi tertentu melalui situs web, forum, media sosial, atau bahkan email leaks yang tersedia secara publik. • Contoh alat: Hunter.io, theHarvester
5. Metadata Extraction
• Mengambil metadata dari dokumen atau file gambar yang tersedia di internet, yang dapat memberikan informasi penting seperti versi perangkat lunak yang digunakan, pengguna, atau lokasi file dibuat. • Contoh alat: ExifTool, FOCA
6. Public Code Repositories
• Mengakses repositori kode sumber terbuka seperti GitHub untuk menemukan kode aplikasi, dokumentasi teknis, atau kunci API yang tidak disembunyikan dengan benar oleh pengembang. • Contoh alat: GitHub, GitLab, Bitbucket
7. Online Footprint Mapping
• Melakukan pemetaan jejak online target, meliputi situs web, subdomain, server, layanan cloud yang digunakan, hingga melihat riwayat perubahan dan arsitektur layanan. • Contoh alat: Shodan, Censys
8. Breached Database Search
• Mencari informasi yang mungkin telah bocor dalam insiden pelanggaran data sebelumnya untuk mendapatkan kredensial login atau data sensitif lainnya. • Contoh alat: Have I Been Pwned, Dehashed
9. Website Scraping dan Analysis
• Mengambil data dari situs web target, termasuk struktur halaman, komentar, JavaScript, atau elemen lain yang dapat membantu memahami arsitektur sistem atau aplikasi. • Contoh alat: Wget, Scrapy, Burp Suite
Manfaat dan Risiko OSINT Manfaat:
• OSINT memungkinkan penyerang atau pentester mengumpulkan informasi tanpa mengganggu sistem target secara langsung. • Informasi yang diperoleh dari OSINT dapat digunakan untuk menyusun strategi serangan yang lebih efektif. • Teknik ini legal jika dilakukan dalam batas penggunaan informasi publik dan untuk tujuan etis.
Risiko:
• Jika tidak digunakan secara hati-hati, OSINT dapat digunakan oleh penyerang untuk memfasilitasi serangan nyata. • Perusahaan harus menyadari betapa banyak informasi publik mereka yang bisa diakses melalui OSINT, sehingga dapat mengurangi risiko dengan membatasi jejak digital mereka.
OSINT menjadi salah satu komponen penting dalam proses penetration testing maupun investigasi siber, karena memberikan gambaran awal tentang target tanpa meninggalkan jejak digital yang terlalu mencolok.