Breaking

Sunday, January 10, 2021

Drow - Menyuntikkan Kode Ke ELF Executable Post-Build

 Kang IT

Drow - Menyuntikkan Kode Ke ELF Executable Post-Build



drow adalah utilitas baris perintah yang digunakan untuk memasukkan kode dan mengaitkan entrypoint dari executable ELF (post-build). Dibutuhkan ELF yang tidak dimodifikasi sebagai input dan ekspor ELF yang dimodifikasi dengan memuat muatan yang disediakan pengguna yang disematkan yang dijalankan pada waktu proses.




Sedikit lebih detail ...

Drow mengambil langkah-langkah berikut untuk membuat ELF yang ditambal baru:

  1. Memetakan dalam target ELF yang dapat dieksekusi dan payload yang disediakan pengguna, blob yang tidak bergantung pada posisi
  2. Temukan segmen pertama yang dapat dieksekusi dengan mengurai header program
  3. Temukan bagian terakhir di segmen yang dapat dieksekusi dengan mengurai header bagian
  4. Perluas header bagian bagian terakhir (di segmen) sh_sizedan header program p_memszp_fileszdengan ukuran payload yang disediakan pengguna
  5. Perbaiki bagian tajuk sh_offsetdan tajuk program p_offset(turunkan bagian dan segmen untuk memberi ruang bagi muatan dan "stager stub" kecil)
  6. Offset memperbaiki dalam header ELF ( e_shoffe_phoff, dll ..)
  7. Ubah header ELF e_entry(offset titik masuk ELF) agar mengarah ke kode yang dimasukkan
  8. Buat ELF baru yang berisi kode yang dimasukkan dan header ELF yang dimodifikasi

Selain menginjeksi payload yang disediakan pengguna, drow menyuntikkan potongan kode kecil yang ditambahkan ke awal payload. Rintisan ini dirancang untuk memanggil muatan. Jika payload ditulis untuk dikembalikan ke pemanggil, setelah payload mengembalikan stager lalu tailcall ke _start, memulihkan eksekusi sehingga program dapat berjalan sebagaimana mestinya.


Bangunan

Pasang gccdan sconsKemudian jalankan sconsdari root direktori.


Informasi lainnya

Selain membangun drow, proyek ini juga membangun muatan Linux x86-64 bernama rappers_delight.binyang hanya dicetak ke stdoutIni dapat digunakan untuk pengujian. Saat ini, drow hanya berfungsi dengan file ELF64 yang menargetkan x86-64.


Pekerjaan lain

Ada banyak pekerjaan open source yang dilakukan di domain ini. Saya mendorong Anda untuk juga melihat proyek berikut dan publikasi terkait:




Regards

Kang IT

No comments:

Post a Comment