Konsep Exploitasi

pertama-tama..
gw turut berduka cita, atas meninggalnya om "Red-Dragon##.
Semoga Amal ibadahnya Diterima oleh Tuhan Yang Maha Esa. aamiin
dan satu lagi,, makasih udh mau sharing om "Red-Dragon".
ya walaupun belum gw coba ##> kendala OS :#.

gw salut sama lu bang.. setelah gw baca baca di blog lu .. rata-rata tutor atau materi yg lu berikan.. lu ketik sendiri, tanpa copas ##>.
sumpah gw salut..
sayangnya, gw baru tau lu n' blog lu akhir akhir ini ##.

oke, kembali ke topic yang mau di bicarakan. 

Banyak orang yang tau seperti apa itu exploitasi. Namun sedikit sekali yang mengetahui bagai mana sebuah code dan perintah dapat membunuh system dan mengambil alihnya. Pada kesempatan kali ini, saya akan membahas lebih jauh mengenai exploitation.

Apa itu eksploitasi?
Singkatnya, eksploitasi adalah keadaan dimana sebuah system yang tidak terautentikasi mengambil alih system lain yang mengalami kegagalan eksekusi. Eksploitasi sama dengan memanfaatkan buffer overflow.

Apa itu buffer overflow?

Dalam keamanan komputer dan pemrograman, buffer overflow, atau buffer overrun, adalah anomali di mana, sebuah program menulis data ke buffer, melewati batas buffer dan menimpa memori di sekitarnya. Ini merupakan kasus pelanggaran keamanan memori.

Buffer overflows dapat dipicu oleh input yang dirancang untuk mengeksekusi kode, atau mengubah cara program beroperasi. Hal ini dapat mengakibatkan perilaku program menjadi tidak menentu, termasuk kesalahan akses memori, hasil yang salah, atau pelanggaran keamanan sistem.Dengan demikian dasar kerentanan yang dimiliki oleh banyak perangkat lunak dapat dieksploitasi oleh pihak-pihak yang jahat.

Bahasa pemrograman yang umumnya terkait dengan buffer overflows adalah C dan C + +, yang menyediakan built-in perlindungan terhadap pengaksesan program  atau overwriting data dalam setiap bagian dari memori, dan tidak memeriksa bahwa data ditulis ke array (built-in tipe buffer) berada dalam batas-batas array. Pemeriksaan batas-batas array dapat mencegah buffer overflows.


Deskripsi Teknis Buffer Overflow
Sebuah buffer overflow terjadi ketika data ditulis ke buffer, karena keterbatasan pemeriksaan batas-batas array, data yang merusak nilai-nilai dalam memori alamat yang berdekatan ke buffer dialokasikan. Kejadian ini paling sering terjadi ketika menyalin string karakter dari satu buffer ke yang lain.
Exploitasi
Teknik-teknik digunakan untuk mengeksploitasi kerentanan buffer overflow bervariasi tergantung arsitektur, sistem operasi, dan memory region. Misalnya, eksploitasi pada tumpukan atau heap (digunakan untuk memori dialokasikan secara dinamis), sangat berbeda dari eksploitasi pada panggilan stack.

Stack-based exploitation
Seorang attacker cenderung cerdas dan jahat sehingga dapat mengeksploitasi tumpukan berbasis buffer overflows untuk memanipulasi program dari beberapa cara:
  • Dengan menimpa sebuah variabel lokal yang dekat dengan buffer di memori pada stack, untuk mengubah perilaku dari program, yang dapat menguntungkan penyerang.
  • Dengan menimpa alamat dalam stack frame. Setelah fungsi kembali, eksekusi akan dilanjutkan kembali ke alamat yang ditentukan oleh penyerang, biasanya attacker memasukan buffer yang terisi.
  • Dengan menimpa fungsi pointer atau penunjuk, atau exception handler, yang kemudian dieksekusi.
  • Dengan metode yang disebut "trampolining", jika alamat dari user tidak diketahui, tetapi lokasi disimpan dalam register, maka alamat pengirim dapat ditimpa dengan alamat dari opcode yang akan menyebabkan eksekusi untuk meloncat data yang disediakan. Jika lokasi disimpan dalam R, kemudian melompat ke lokasi yang mengandung opcode untuk melompat R, panggilan R atau instruksi serupa, akan menyebabkan data pengguna dieksekusi. Lokasi yang cocok untuk opcodes, atau byte dalam memori, dapat ditemukan dalam DLL atau eksekusi itu sendiri.
Namun alamat biasanya opcode tidak boleh berisi karakter null dan lokasi opcodes ini dapat bervariasi antara aplikasi dan versi dari sistem operasi. Proyek Metasploit adalah salah satu database seperti opkode yang cocok, meskipun hanya yang ditemukan dalam sistem operasi Windows. Stack berbasis buffer overflows sama dengan stack overflow. Perlu dicatat bahwa kerentanan ini biasanya ditemukan melalui penggunaan sebuah fuzzer.
Heap-Based Exploitation
Sebuah buffer overflow yang terjadi di area data tumpukan disebut heap overflow dan dieksploitasi dengan cara yang berbeda dengan exploit berbasis stack overflow. Memori di heap dialokasikan secara dinamis oleh aplikasi pada saat run-time dan biasanya berisi data program. Eksploitasi dilakukan dengan merusak data ini dengan cara-cara khusus untuk menyebabkan aplikasi menimpa struktur internal seperti pointer linked list. Teknik tumpukan kanonik ini dapat menimpa hubungan alokasi memori dinamis dan menggunakan pertukaran pointer yang dihasilkan untuk menimpa fungsi program pointer.
Kerentanan Microsoft GDI + JPEG adalah contoh dari bahaya heap-overflow yang dapat terjadi dalam sebuah system.


segini aja yakk.. segini aja udh mumet ##>
mau yang lengkap ? kesini..!

Keep Sharing mblo..

"Kalo kamu merasa pintar, berbagilah ilmu mu itu pada orang lain yang ingin mengetahuinya.
Karena itu satu-satunya cara bagimu untuk membuka peluang diberikannya ilmu-ilmu lain oleh Tuhan kepadamu.
Berbagilah. Itu tidak akan membuat mu idiot."
Previous
Next Post »