Exploit adalah sebuah kode yang menyerang keamanan komputer secara spesifik. Exploit banyak digunakan untuk penentrasi baik secara legal ataupun ilegal untuk mencari kelemahan (vulnerability) pada komputer tujuan. Bisa juga dikatakan sebuah perangkat lunak yang menyerang kerapuhan keamanan (security vulnerability) yang spesifik namun tidak selalu bertujuan untuk melancarkan aksi yang tidak diinginkan. Banyak peneliti keamanan komputer menggunakan exploit untuk mendemonstrasikan bahwa suatu sistem memiliki kerapuhan. Biasanya di lakukan untuk kegiatan Hacking dengan mencari celah keamanan dalam software yang berjalan di sebuah komputer. lewat exploit inilah peluang untuk melakukan serangan terbuka bagi hacker.
Exploit pada umumnya dikategorikan dan dinamai berdasarkan kategori berikut:
Exploit pada umumnya dikategorikan dan dinamai berdasarkan kategori berikut:
- Jenis celah keamanan yang mereka eksploitasi
- Apakah mereka perlu dijalankan pada mesin yang sama dengan program yang memiliki celah (lokal) atau dapat dijalankan pada satu mesin berbeda untuk menyerang program yang berjalan pada komputer lain (remote).
- Hasil dari menjalankan exploit (EoP, DoS, Spoofing, dll)
Klasifikasi
Ada beberapa metode untuk mengklasifikasi exploit. Yang paling umum adalah dengan melihat cara exploit membuat kontak dengan perangkat lunak yang rentan. Remote exploit (eksploit jarak jauh) bekerja melalui jaringan dan mengeksploitasi celah keamanan tanpa adanya akses terlebih dahulu ke sistem korban. Local exploit (eksploit lokal) mengharuskan adanya akses terlebih dahulu ke sistem yang rentan dan biasanya meningkatkan keleluasaan orang yang menjalankan exploit melebihi yang diberikan oleh administrator sistem. Exploit yang menyerang aplikasi klien juga ada, biasanya terdiri dari server-server yang dimodifikasi yang mengirimkan exploit jika diakses dengan aplikasi klien. Exploit yang menyerang aplikasi klien juga mungkin memerlukan beberapa interaksi dengan pengguna, dengan demikian dapat digunakan dalam kombinasi dengan metode social engineering. Ini adalah cara hacker masuk ke komputer dan situs web untuk mencuri data.
Klasifikasi lain adalah dengan tindakan terhadap sistem korban: unauthorized akses data, eksekusi kode sewenang-wenang, penolakan layanan.
Banyak exploit dirancang untuk memberikan akses tingkat-''superuser'' ke sistem komputer. Namun, namun mungkin juga menggunakan beberapa exploit, untuk mendapatkan akses tingkat rendah terlebih dahulu, kemudian meningkatkan hak akses berulang kali sampai mencapai root.
Biasanya exploit tunggal hanya dapat mengambil keuntungan dari satu celah keamanan software tertentu. Sering kali, setelah exploit diterbitkan, celah keamanan sistem diperbaiki melalui tambalan sehingga exploit tak berlaku lagi untuk perangkat lunak versi terbaru. Hal ini menjadi alasan mengapa beberapa blackhat hacker tidak mempublikasikan exploit mereka tetapi merahasiakannya untuk diri sendiri atau hacker lainnya. Exploit tersebut disebut sebagai 'exploit zero day' dan untuk mendapatkan akses ke exploit tersebut adalah keinginan utama dari penyerang-penyerang amatir, yang sering dijuluki script kiddie.
Pivoting
Pivoting mengacu pada metode yang digunakan oleh penguji penetrasi yang menggunakan sistem yang telah dikuasai untuk menyerang sistem lain pada jaringan yang sama untuk menghindari larangan seperti konfigurasi firewall, yang dapat melarang akses langsung ke semua mesin. Sebagai contoh, seorang penyerang menguasai web server pada jaringan perusahaan, penyerang kemudian dapat menggunakan web server yang telah dikuasai untuk menyerang sistem lain pada jaringan. Jenis serangan ini sering disebut serangan multi-lapis. Pivoting juga dikenal sebagai island hopping.
Pivoting dapat dibedakan menjadi proxy pivoting dan VPN pivoting:
- Proxy pivoting umumnya digambarkan sebagai tindakan menelusuri jalur melalui target yang dikuasai menggunakan proxy payload pada mesin dan meluncurkan serangan dari komputer ini. Jenis pivoting ini terbatas pada TCP dan UDP tertentu yang didukung oleh proxy.
- VPN pivoting memungkinkan penyerang untuk membuat terowongan lapisan ke-2 yang terenkripsi ke dalam mesin yang dikuasai untuk mengarahkan lalu lintas jaringan apapun melalui mesin target itu, misalnya untuk menjalankan scan kerentanan pada jaringan internal melalui mesin yang dikuasai, secara efektif memberikan akses jaringan secara penuh kepada penyerang seolah-olah mereka berada di belakang firewall.
Biasanya, aplikasi proxy atau VPN yang memungkinkan pivoting, dijalankan pada komputer target sebagai payload (perangkat lunak) dari exploit.