Burhanudin Adji Zarkasih
Information gathering dalam konteks penetration testing adalah proses mengumpulkan informasi sebanyak mungkin tentang target sistem atau jaringan. Tujuannya adalah untuk memperoleh data yang diperlukan untuk merencanakan dan melaksanakan serangan dengan lebih efektif. Proses ini dapat meliputi pengumpulan data teknis seperti alamat IP, port yang terbuka, layanan yang berjalan, dan versi perangkat lunak, serta informasi non-teknis seperti struktur organisasi dan kebijakan keamanan. Teknik ini dapat dilakukan secara pasif (tanpa interaksi langsung dengan target) atau aktif (dengan berinteraksi langsung, seperti melalui port scanning). Information gathering adalah langkah penting untuk mengidentifikasi potensi kelemahan dan titik masuk yang dapat dieksploitasi dalam tahap penetrasi berikutnya.
Information gathering dalam penetration testing adalah proses pengumpulan data dan informasi mengenai target sistem atau jaringan yang akan diuji. Tujuan dari tahap ini adalah untuk memperoleh sebanyak mungkin informasi yang berguna untuk membantu merencanakan dan melaksanakan serangan secara lebih efektif. Informasi yang dikumpulkan dapat meliputi detail teknis seperti alamat IP, port yang terbuka, layanan yang berjalan, dan versi perangkat lunak yang digunakan, serta informasi non-teknis seperti struktur organisasi, kebijakan keamanan, dan data pribadi karyawan.
Proses information gathering dapat dibagi menjadi dua kategori utama:
Passive Information Gathering:
Metode ini melibatkan pengumpulan informasi tanpa berinteraksi langsung dengan target. Contohnya adalah menggunakan mesin pencari untuk menemukan informasi publik tentang perusahaan, menganalisis data yang tersedia di situs web resmi, memeriksa registrasi domain, dan mengamati jejak digital di media sosial. Tujuan utamanya adalah untuk menghindari deteksi oleh sistem keamanan target.
Active Information Gathering:
Metode ini melibatkan interaksi langsung dengan target untuk mengumpulkan data lebih mendetail. Contohnya termasuk melakukan port scanning untuk mengetahui port yang terbuka, banner grabbing untuk mengidentifikasi versi layanan yang berjalan, dan network mapping untuk memahami struktur jaringan. Metode ini lebih berisiko karena dapat terdeteksi oleh sistem keamanan target.
Salah satu tools populer yang sering digunakan adalah nmap, Nmap (Network Mapper) adalah alat open-source yang sangat populer digunakan dalam penetration testing untuk melakukan berbagai tugas dalam proses information gathering, terutama dalam konteks active information gathering. Nmap dirancang untuk membantu pen tester dan administrator jaringan dalam memetakan jaringan, menemukan host yang aktif, dan mengidentifikasi layanan serta sistem operasi yang berjalan di dalam jaringan tersebut.
Contoh penggunaan nmap yaitu dapat menggunakan perintah nmap -sS [ip_address]
Perintah SYN Scan (-sS) mengartikan nmap Mengirim paket SYN dan menunggu respon SYN-ACK untuk menentukan port yang terbuka tanpa menyelesaikan handshake penuh (lebih stealthy).
Beberapa protocol yang dapat di scan nmap diantaranya:
Port 21: FTP (File Transfer Protocol)
Port 22: SSH (Secure Shell)
Port 23: Telnet
Port 25: SMTP (Simple Mail Transfer Protocol)
Port 53: DNS (Domain Name System)
Port 80: HTTP (HyperText Transfer Protocol)
Port 110: POP3 (Post Office Protocol)
Port 143: IMAP (Internet Message Access Protocol)
Port 443: HTTPS (HTTP Secure)
Port 445: SMB (Server Message Block)
Port 3389: RDP (Remote Desktop Protocol)
Setelah menemukan port yang terbuka, Nmap dapat digunakan untuk melakukan service detection dengan mengirimkan berbagai probe dan menganalisis respon untuk menentukan layanan apa yang berjalan di port tersebut serta versinya. Ini dilakukan dengan menggunakan opsi -sV.
Information gathering menggunakan Nmap memiliki beberapa fungsi penting dalam penetration testing dan administrasi jaringan:
Host Discovery:
Fungsi: Menentukan host yang aktif dalam jaringan.
Port Scanning:
Fungsi: Mengidentifikasi port terbuka, tertutup, atau difilter pada host.
Service Detection:
Fungsi: Mengidentifikasi layanan dan versinya yang berjalan pada port terbuka.
OS Detection:
Fungsi: Mendeteksi sistem operasi yang digunakan oleh host target.
Network Mapping:
Fungsi: Menggambarkan topologi jaringan dan hubungan antar perangkat.
Vulnerability Detection:
Fungsi: Mengidentifikasi potensi kerentanan pada layanan yang berjalan.
Firewall Evasion and Spoofing:
Fungsi: Mengatasi dan mengidentifikasi aturan firewall.
Scriptable Interaction:
Fungsi: Menjalankan skrip khusus untuk tugas tambahan.