Methodology Outline
Proses apa yang diikuti oleh seorang Hacker?
Meskipun Anda mungkin berpikir bahwa hacker melakukan apa pun yang dia inginkan, sebenarnya benar bahwa hacker profesional / penetration testing umumnya mengikuti proses yang telah ditetapkan untuk memahami dan mengeksploitasi target mereka. Hal ini memastikan adanya konsistensi antara bagaimana penilaian dilakukan di seluruh industri, dan merupakan metodologi yang mendorong penilaian.
Proses yang diikuti oleh para penguji dirangkum dalam langkah-langkah berikut:
- Reconnaissance : Pengintaian
- Enumeration/Scanning : Pencacahan/Pemindaian
- Gaining Access : Mendapatkan Akses
- Privilege Escalation : Eskalasi Hak Istimewa
- Covering Tracks : Meliputi Jejak
- Reporting : Pelaporan
Pada bagian selanjutnya, kita akan membahas setiap aspek dari proses ini secara lebih rinci.
Reconnaissance Overview
Fase pertama dari Methodology Ethical Hacker adalah Pengintaian.
Pengintaian adalah tentang mengumpulkan informasi tentang target Anda.
Secara umum, pengintaian biasanya tidak melibatkan interaksi dengan target atau sistem.
Pengintaian adalah konsep yang cukup sederhana, pikirkan tentang alat apa yang dapat kita gunakan di internet untuk mengumpulkan informasi tentang orang.
Situs web dan teknologi apa yang terlintas dalam pikiran Anda untuk mengumpulkan informasi tentang organisasi, teknologi, atau sekumpulan individu yang menjadi target?
Dalam hal ini, mari kita gunakan perusahaan: SpaceX. Berhentilah di sini dan luangkan waktu 2 menit untuk melakukan riset tentang SpaceX dan catat situs web apa saja yang Anda gunakan untuk melakukan riset Fase pertama dari Methodology Ethical Hacker adalah Pengintaian.
Pengintaian adalah tentang mengumpulkan informasi tentang target Anda.
Secara umum, pengintaian biasanya tidak melibatkan interaksi dengan target atau sistem.
Pengintaian adalah konsep yang cukup sederhana, pikirkan tentang alat apa yang dapat kita gunakan di internet untuk mengumpulkan informasi tentang orang.
Situs web dan teknologi apa yang terlintas dalam pikiran Anda untuk mengumpulkan informasi tentang organisasi, teknologi, atau sekumpulan individu yang menjadi target?
Dalam hal ini, mari kita gunakan perusahaan: SpaceX. Berhentilah di sini dan luangkan waktu 2 menit untuk melakukan riset tentang SpaceX dan catat situs web apa saja yang Anda gunakan untuk melakukan riset.
Di manakah tempat Anda memulai penelitian Anda tentang SpaceX?
Kemungkinan besar, Anda memulainya dari salah satu alat yang paling berguna yang dimiliki oleh seorang ethical hacker:
Google adalah alat yang sangat berguna, dan ada kategori artikel Google Dorking yang bisa Anda gunakan secara efektif untuk melakukan riset.
Anda mungkin juga pernah menggunakan situs web seperti Wikipedia untuk memahami sejarah SpaceX, menggunakan Twitter/YouTube perusahaan untuk melihat rilis berita terbaru, atau bahkan profil LinkedIn untuk meneliti posisi perusahaan yang sedang dibuka dan/atau struktur organisasi perusahaan.
Hal yang keren adalah, semua alat yang sangat sederhana ini adalah alat pengintaian yang valid.
Anda mungkin berpikir ethical hacker menggunakan alat khusus untuk melakukan penelitian (dan dalam beberapa kasus itu benar), tetapi secara keseluruhan mereka menggunakan alat sederhana seperti ini untuk melakukan penelitian.
Pengintaian biasanya melibatkan penggunaan alat yang tersedia untuk umum seperti Google untuk melakukan penelitian tentang target Anda.
Meskipun kelihatannya sederhana, pengintaian adalah fase paling penting dari penetration testing.
Ada beberapa alat khusus yang bisa kita manfaatkan, tetapi untuk pengenalan ini, ada baiknya kita mengetahui alat-alat berikut ini.
Enumeration and Scanning Overiew
Fase kedua dari Methdology Ethical Hacker adalah Scanning dan Enumeration.
Di sinilah Hacker akan mulai berinteraksi dengan (memindai dan menghitung) target untuk mencoba menemukan kerentanan yang terkait dengan target.
Di sinilah alat yang lebih khusus mulai masuk ke gudang senjata. Alat-alat seperti nmap, dirb, metasploit, exploit-db, Burp Suite dan lainnya sangat berguna untuk membantu kita menemukan kerentanan pada target.
Pada fase Scanning dan Enumeration, penyerang berinteraksi dengan target untuk menentukan permukaan serangan secara keseluruhan.
Permukaan serangan menentukan kerentanan target pada fase Eksploitasi. Kerentanan ini dapat berupa berbagai hal: mulai dari halaman web yang tidak dikunci dengan benar, situs web yang membocorkan informasi, SQL Injection, Cross Site Scripting, atau sejumlah kerentanan lainnya.
Untuk menyederhanakan - fase pencacahan dan pemindaian adalah di mana kita akan mencoba menentukan APA yang mungkin menjadi kerentanan target.
Sebagai contoh, salah satu alat penting dalam gudang senjata kita adalah alat yang disebut Nmap.

Nmap adalah alat yang dapat memindai sebuah target dan memberi tahu kita berbagai macam hal:
- Port apa saja yang terbuka.
- Sistem operasi target (Windows, Linux, MacOS, dll. termasuk versi Sistem Operasi apa)
- Layanan apa yang berjalan dan versi layanan apa (misalnya, hanya mengatakan FTP (File Transfer Protocol) tidaklah cukup - nmap dapat mencoba untuk mengambil sidik jari dan menentukan VERSI yang tepat dari FTP yang memungkinkan kita untuk menemukan kerentanan tertentu pada target)
Meskipun itu mungkin terdengar seperti banyak informasi (cukup untuk mengintai siapa pun dan apa pun, bukan?) ada alat lain yang juga akan digunakan dalam gudang pengintaian.
Berikut ini adalah contoh singkat dari alat-alat lain yang dapat Anda pelajari:
- dirb (digunakan untuk menemukan direktori dengan nama yang umum di situs web - seperti bagaimana di bawah https://www.tesla.com ada juga https://www.tesla.com/about, https://www.tesla.com/model3, https://www.tesla.com/modely, dan yang paling penting https://www.tesla.com/models)
- dirbuster (mirip dengan dirb tetapi dengan nama yang lebih keren, dan dengan antarmuka pengguna)
- enum4linux (alat yang digunakan secara khusus untuk Linux untuk menemukan kerentanan)
- metasploit (alat ini sebagian besar digunakan untuk eksploitasi, tetapi juga memiliki beberapa alat pencacahan bawaan)
- Burp Suite (alat ini dapat digunakan untuk memindai situs web untuk mencari subdirektori dan mencegat lalu lintas jaringan)
Exploitation
Sekarang setelah kita berbicara tentang tiga fase lain dari pentest, sekarang saatnya untuk berbicara tentang fase yang sering digambarkan sebagai "yang paling keren".
Dalam berita, mereka sering berbicara tentang "peretasan ini" atau "kerentanan ini" tetapi kenyataannya adalah biasanya fase "eksploitasi" dari pentest tidak seglamor kelihatannya. Fase eksploitasi hanya bisa sebaik fase pengintaian dan pencacahan sebelumnya, jika Anda tidak mencacah semua kerentanan, Anda mungkin melewatkan kesempatan, atau jika Anda tidak melihat cukup teliti pada target - eksploitasi yang telah Anda pilih bisa saja gagal sama sekali!
Salah satu alat yang umum digunakan untuk eksploitasi adalah Metasploit yang memiliki banyak skrip bawaan untuk membuat proses eksploitasi menjadi lebih sederhana.

Anda juga bisa menggunakan alat seperti Burp Suite dan SQLMap untuk mengeksploitasi aplikasi web. Ada juga alat seperti msfvenom (for building custom payloads), BeEF (eksploitasi berbasis peramban), dan masih banyak lagi yang lainnya.

Untuk saat ini, saya rasa Anda sudah memahami dengan baik apa yang dimaksud dengan "eksploitasi" - ingatlah bahwa seorang penetration testing profesional tidak pernah melompat ke fase eksploitasi tanpa melakukan Scanning dan Enumeration yang memadai.
Privilage Escalation
Setelah kita mendapatkan akses ke mesin korban melalui tahap eksploitasi, langkah selanjutnya adalah meningkatkan hak istimewa ke akun pengguna yang lebih tinggi. Akun-akun berikut ini adalah apa yang kita coba jangkau sebagai pentester:
Di dunia Windows, akun target biasanya adalah: Administrator atau System.
Di dunia Linux, akun target biasanya adalah: root
Seperti yang Anda ketahui, mengetahui Sistem Operasi apa yang dijalankan sebuah perangkat sangat penting untuk menentukan bagaimana kita akan meningkatkan hak akses kita nanti. Setelah kita mendapatkan akses sebagai pengguna tingkat rendah, kita akan mencoba menjalankan eksploitasi lain atau menemukan cara untuk menjadi root atau administrator.
Eskalasi hak istimewa dapat terjadi dalam berbagai bentuk, beberapa contohnya adalah:
- Memecahkan hash kata sandi yang ditemukan pada target
- Menemukan layanan atau versi layanan yang rentan yang memungkinkan Anda untuk meningkatkan hak istimewa MELALUI layanan tersebut
- Penyemprotan kata sandi dari kredensial yang ditemukan sebelumnya (penggunaan ulang kata sandi)
- Menggunakan kredensial default
- Menemukan kunci rahasia atau kunci SSH yang tersimpan di perangkat yang akan memungkinkan peralihan ke mesin lain
- Menjalankan skrip atau perintah untuk menghitung pengaturan sistem seperti 'ifconfig' untuk menemukan pengaturan jaringan, atau perintah 'find / -perm -4000 -type f 2>/dev/null' untuk melihat apakah pengguna memiliki akses ke perintah apa pun yang dapat mereka jalankan sebagai root
Ini hanyalah beberapa contoh bagaimana eskalasi hak istimewa dapat bekerja dan masih banyak lagi cara-cara lain yang dapat digunakan untuk meningkatkan hak istimewa. Anggap saja bagian metodologi ini sebagai cara untuk mencapai akun pengguna yang lebih tinggi atau beralih ke mesin lain dengan tujuan akhir untuk "memiliki" mesin tersebut.
Covering Tracks
Sebagian besar penetration testing profesional/ethical tidak pernah memiliki kebutuhan untuk "menutupi jejak mereka". Namun, ini masih merupakan fase dalam metodologi.
Anda harus selalu mendapatkan izin eksplisit dari pemilik sistem mengenai kapan pengujian dilakukan, bagaimana pengujian dilakukan, dan cakupan target dalam pengujian penetrasi apa pun.
Karena aturan keterlibatan untuk penetration testing harus disetujui sebelum tes terjadi, penetration testing harus berhenti SEGERA ketika mereka telah mencapai eskalasi hak istimewa dan melaporkan temuan tersebut kepada klien.
Dengan demikian, seorang profesional tidak akan pernah menutupi jejak mereka, karena penilaian telah direncanakan dan disetujui sebelumnya. Meskipun ada beberapa alat untuk meliput jejak, Jika Anda benar-benar ingin tahu, Anda dapat menelitinya sendiri.
Namun, meskipun Anda tidak menutupi jejak Anda, hal ini tidak membebaskan Anda dari tanggung jawab atas eksploitasi yang Anda lakukan. Sering kali Anda perlu membantu Administrator TI atau pemilik sistem untuk membersihkan kode eksploitasi yang Anda gunakan, dan juga merekomendasikan BAGAIMANA cara untuk mencegah serangan di masa depan.
Meskipun ethical hacker jarang memiliki kebutuhan untuk menutupi jejak mereka, Anda masih harus melacak dan mencatat dengan cermat semua tugas yang Anda lakukan sebagai bagian dari uji penetrasi untuk membantu memperbaiki kerentanan dan merekomendasikan perubahan kepada pemilik sistem.
Reporting
Fase terakhir dari metodologi pentest adalah fase pelaporan.
Ini adalah salah satu fase yang paling penting di mana Anda akan menguraikan semua yang Anda temukan. Fase pelaporan sering kali mencakup hal-hal berikut ini:
- Temuan atau Kerentanan
- KEKURANGAN dari Temuan
- Deskripsi atau gambaran singkat tentang bagaimana temuan tersebut ditemukan
- Rekomendasi remediasi untuk menyelesaikan temuan tersebut
Jumlah dokumentasi pelaporan sangat bervariasi tergantung pada jenis penugasan yang dilakukan oleh pentester. Laporan temuan umumnya terdiri dari tiga format:
- Hasil pemindaian kerentanan (daftar kerentanan yang sederhana)
- Ringkasan temuan (daftar temuan seperti yang diuraikan di atas)
- Laporan formal lengkap.
Seperti yang telah disebutkan sebelumnya, ada banyak tingkat dokumentasi yang berbeda-beda untuk laporan tertulis akhir. Berikut ini adalah tampilan setiap jenis pelaporan dalam praktiknya:
- Laporan kerentanan biasanya terlihat seperti ini:
- Ringkasan temuan biasanya seperti ini:
Finding: Injeksi SQL dalam Parameter ID Halaman Kucing
Criticality: Critical
Description: Menempatkan payload 1' ATAU '1'='1 ke dalam parameter ID situs web memungkinkan untuk melihat semua nama kucing di tabel kucing dalam database. Selain itu, pernyataan SQL UNION SELECT memungkinkan penyerang untuk melihat semua nama pengguna dan kata sandi yang tersimpan di tabel Akun.
Remediation Recommendation: Memanfaatkan pernyataan SQL yang telah disiapkan untuk mencegah serangan injeksi SQL
Contoh laporan formal lengkap dapat ditemukan di sini: https://github.com/hmaverickadams/TCM-Security-Sample-Pentest-Report untuk kenyamanan belajar Anda. Lihatlah laporan ini dan gunakan sebagai dasar untuk aktivitas Anda sendiri!