Skip to main content

Apa itu shellcode?

Shellcode adalah urutan kode mesin, atau instruksi yang dapat dieksekusi, yang disuntikkan ke dalam memori komputer dengan maksud untuk mengendalikan program yang sedang berjalan.Dalam serangan seperti itu, salah satu langkahnya adalah untuk mendapatkan kendali atas penghitung program, yang mengidentifikasi instruksi berikutnya untuk dieksekusi.Aliran program kemudian dapat dialihkan ke kode yang dimasukkan.Kode mesin intrusif disebut muatan serangan dan merupakan elemen yang biasa disebut oleh istilah shellcode.Metode ini sering digunakan untuk memberikan akses penyerang dengan membuka shell perintah sistem operasi, sehingga serangan injeksi kode secara umum telah dikenal sebagai shellcode.

Kerentanan yang dieksploitasi biasanya melibatkan bagaimana suatu program menetapkan memori, memeriksa validitasinput data dan menangani kesalahan memori.Pengembang perangkat lunak biasanya dapat menghindari ancaman ini dengan secara ketat mendefinisikan data input dan menolak nilai yang tidak tepat.Jika tidak dicentang, nilai yang membutuhkan lebih banyak ruang penyimpanan daripada memori yang dialokasikan untuk nilai itu mungkin diterima.Ini menyebabkan sungsang keamanan yang disebut buffer overflow, di mana bagian dari data ditulis ke lokasi memori yang berdekatan dengan nilai -nilai yang ditetapkan ruang.Saat dimanipulasi dengan hati -hati, anomali ini dapat memungkinkan kode intrusif diperkenalkan.

Shellcode biasanya ditulis dalam bahasa pemrograman dengan akses sistem tingkat rendah seperti perakitan, C atau C ++.Namun, tergantung pada kerentanan yang ditargetkan, hasil yang sama dapat diwujudkan dengan memasukkan kode untuk bahasa skrip yang ditafsirkan, seperti Perl, atau bytecode untuk mesin virtual, seperti Java.Kode dapat ditanamkan sebelum, selama atau setelah pembajakan penghitung program.Dengan demikian, kode intrusif dapat terkandung dalam file pada mesin yang ditargetkan atau ditransmisikan melalui koneksi jaringan secara real time.Exploit Eksploitasi Shellcode Lokal dirancang untuk memberikan kontrol penyerang atas mesin yang ia miliki akses fisik.Suatu tujuan dalam kasus ini mungkin untuk membuat akun dengan hak istimewa administrator, misalnya.Demikian pula, jika proses berjalan memiliki tingkat hak istimewa yang tinggi, eksploitasi yang berhasil untuk sementara akan memberikan tingkat akses yang sama ke penyusup.

Proses yang berjalan pada mesin jarak jauh dapat dieksploitasi menggunakan protokol jaringan standar untuk berkomunikasi dengan komputer target.Connect-bact Shellcode menginstruksikan mesin target untuk memulai koneksi ke komputer Intruders.Jika Intruder memulai koneksi, kode disebut bindshell, karena mencoba untuk mengendalikan koneksi jaringan yang disebut port pada mesin jarak jauh.Metode koneksi-back lebih banyak digunakan, karena firewall jarang melarang koneksi keluar.