Sebelum masuk ke materi kali ini, saya sarankan terlebih dahulu kamu membaca materi sebelumnya “Basic Absolute Untuk Penetration Testing“. Pada kesempatan kali ini, saya akan membahas dasar-dasar Metasploit Framework. Yuk mari, cekidot!
Ketika kamu baru mengenal Metasploit Framework (MSF) yang pertama kalinya, mungkin kamu akan kewalahan. Entah itu dari segi interface, pilihan utilitas, variable, dan modul-modulnya. Dalam materi kali ini, kita akan fokus pada dasar-dasar Metasploit Framework yang akan membantu memahami gambaran secara garis besarnya.
Saya akan meninjau beberapa terminologi penetration testing dasar. Kemudian secara singkat menunjukan berbagai user interface yang Metasploit sajikan. Metasploit sendiri merupakan tools free juga perangkat lunak open source dengan banyak kontributor dari komunitas keamanan. Selain yang free, Metasploit juga menyediakan versi yang komersialnya.
Ketika pertama kali menggunakan Metasploit, sangat penting untuk jangan terpaku dulu pada pengeksploitasian mutakhir. Sebaliknya, fokus dulu pada bagaimana Metasploit berfungsi dan perintah apa yang digunakan untuk membuat pengeksploitasian menjadi mungkin.
Terminology
1. Exploit
Mengeksploitasi merupakan salah satu metode yang digunakan seorang penyerang maupun pentester. Dalam metode ini, kita mengambil keuntungan dari kecacatan sistem, aplikasi, atau layanan. Penyerang mengeksploitasi untuk menyerang sistem dengan cara yang bisa memberikan hasil yang diinginkan. Eksploitasi yang umum mencakup butter overflows, kerentanan aplikasi web (seperti SQL injection), dan kesalahan konfigurasi.
2. Payload
Payload merupakan sebuah kode, dimana penyerang sangat ingin sistem target mengeksekusinya. Misalnya, reverse shell merupakan payload yang menciptakan koneksi dari sistem target ke penyerang sebagai command prompt (CMD) Windows. Sedangkan bind shell merupakan payload yang mengikat command prompt ke listening port pada sistem target. Yang kemudian penyerang dapat terhubung dengan sistem target. Sebuah payload juga bisa menjadi sesuatu yang sederhana. Seperti beberapa perintah yang akan dijalankan pada sistem operasi target.
3. Shellcode
Shellcode merupakan satu set intruksi yang digunakan payload ketika eksploitasi terjadi. Shellcode biasanya ditulis dalam bahasa assembly. Dalam beberapa kasus, perintah shell atau meterpreter shell akan diberikan setelah serangkaian intruksi sudah dilakukan oleh mesin target.
4. Module
Module merupakan bagian dari software yang dapat digunakan oleh Metasploit Framework. Pada beberapa waktu, kamu mungkin memerlukan penggunaan exploit module. Dan mungkin module tambahan diperlukan juga untuk melakukan beberapa tindakan. Seperti pemindaian atau sistem enumerate. Modul-modul ini juga merupakan inti dari apa yang bisa membuat Framework menjadi powerful.
5. Listener
Listener merupakan komponen dalam Metasploit yang tugasnya menunggu sebuah koneksi masuk atau sejenisnya. Misal, setelah mesin target dieksploitasi, koneksi antara penyerang dan target ini melalui internet. Listener berperan untuk menangani koneksi itu.
Metasploit Interfaces
Metasploit menawarkan lebih dari satu antarmuka atas fungsi yang mendasarinya. Termasuk konsol, baris perintah, dan interface grafis. Selain interface ini, utilitas menyediakan akses langsung ke fungsi yang normal internal untuk Metasploit Framework. Utilitas ini dapat sangat membantu untuk perkembangan eksploitasi.
1. MSFconsole
MSFconsole merupakan bagian paling populer dari Metasploit Framework. Fleksibel, kaya fitur, dan supported tools dalam Framework. MSFconsole menyediakan interface praktis all-in-one untuk setiap opsi dan pengaturan yang ada dalam Framework. Kamu dapat menggunakan MSFconsole untuk melakukan segala perintah. Termasuk meluncurkan eksploitasi, memuat modul tambahan, melakukan enumerate, menciptakan listener, atau menjalankan eksploitasi terhadap seluruh jaringan.
Meskipun Metasploit Framework terus diperbaharui, bagian dari perintah tetap relatif konstan. Dengan menguasai dasar-dasar MSFconsole, kamu akan bisa mengikuti perubahan apapun.
Starting MSFconsole
Untuk memulai MSFconsole, cukup masukan perintah msfconsole pada command line:
Untuk mengakses file bantuan msfconsole, cukup masukkan help diikuti perintah yang akan kamu gunakan. Pada contoh berikut ini saya mencari bantuan untuk perintah connect. Yang memungkinkan kita untuk berkomunikasi dengan host.
2. Armitage
Tak kalah pentingnya yaitu Armitage. Sebuah komponen yang berhubungan dengan Metasploit. Armitage menyajikan interface grafis interaktif sepenuhnya yang dibuat oleh Raphael Mudge. Interface yang mengesankan, kaya fitur, dan tersedia secara gratis. Saya tidak akan menjelaskan Armitage secara mendalam. Tapi Armitage sangat pantas untuk disebut sebagai “sesuatu untuk mengeksplorasi”.
Untuk memulai Armitage, cukup jalankan perintah Armitage. Selama startup, pilih Start
MSF, yang akan memungkinkan Armitage untuk terhubung ke instance Metasploit kamu.
Metasploit Utilities
Setelah membahas antarmuka utama Metasploit, saatnya sekarang untuk membahas utilitas. Utilitas Metasploit merupakan antarmuka langsung ke fitur tertentu dari Framework yang dapat berguna dalam situasi tertentu. Terutama dalam eksploitasi development.
1. MSFvenom
Sebelumnya, untuk mengkodekan ulang sebuah payload di Metasploit, kita harus menyalurkan msfpayload melalui perintah msfencode. Namun pengembang Metasploit, memperkenalkan perintah baru yaitu msfvenom. Perintah yang menggantikan kombinasi msfpayload dan msfencode untuk merampingkan proses pengkodean ulang sebuah payload Metasploit.
Metasploit Payload
Komponen payload dari Metasploit memeungkinkan untuk membuat shellcode, executable, dan masih banyak lagi yang bisa digunakan untuk eksploitasi diluar Framework. Shellcode dapat dihasilkan dalam berbagai format. Termasuk C, Ruby, JavaScript, dan bahkan Visual Basic for Applications. Setiap format output akan berguna dalam berbagai situasi.
Metasploit Encode
Shellcode yang dihasilkan dari Metasploit payload sepenuhnya sudah berfungsi. Tapi masih mengandung beberapa karakter null. Dimana ketika dijalankan oleh program, akan menandakan akhir dari string. Hal ini akan menyebabkan proses berakhir sebelum selesai. Dengan kata lain, x00s dan xffs bisa mematahkan payload kamu.
Dan disini, shellcode akan melintasi jaringan dalam cleartext. Lalu akan diambil oleh intrusion detection systems (IDS) dan software anti-virus. Untuk mengatasi masalah ini, Metasploit menawarkan komponen encode. Yang akan membantu untuk menghindari bad character, menghindari anti-virus dan menghindari IDS dengan pengkodean payload.
Metasploit menawaran sejumlah encoders berbeda untuk situasi tertentu. Beberapa diantaranya akan berguna ketika harus menggunakan karakter alfanumerik sebagai muatannya. Seperti halnya dengan mengeksploitasi menggunakan format file atau aplikasi lain. Dimana hanya menerima karakter printable sebagai masukan.
Untuk melihat opsi msfvenom, cukup ketikan perintah msfvenom -h:
2. Nasm Shell
Utilitas nasm_shell.rb dapat berguna ketika kamu mencoba untuk memahami kode assembly. Terutama jika selama eksploitasi development, kamu perlu mengidentifikasi opcodes (petunjuk assembly) untuk perintah assembly yang diberikan.
Sebagai contoh, di sini saya menjalankan tool dan meminta opcode untuk jmp esp command, lalu nasm_shell memberitahu FFE4.
Penutup
Dalam materi kali ini, saya memberikan sedikit pengetahuan dasar-dasar Metasploit Framework. Dan sekarang mungkin kamu memahami dasar-dasar dari Metasploit. Mungkin segitu dulu materi yang bisa saya sampaikan. Dilain waktu saya akan terus memberikan materi lainnya yang mudah-mudahan bermanfaat. Bila ada salah kata, salah pengertian, dan kesalahan lainnya mohon dimaklumi dan mohon koreksinya.
No comments:
Post a Comment