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:
- Memetakan dalam target ELF yang dapat dieksekusi dan payload yang disediakan pengguna, blob yang tidak bergantung pada posisi
- Temukan segmen pertama yang dapat dieksekusi dengan mengurai header program
- Temukan bagian terakhir di segmen yang dapat dieksekusi dengan mengurai header bagian
- Perluas header bagian bagian terakhir (di segmen)
sh_size
dan header programp_memsz
/p_filesz
dengan ukuran payload yang disediakan pengguna - Perbaiki bagian tajuk
sh_offset
dan tajuk programp_offset
(turunkan bagian dan segmen untuk memberi ruang bagi muatan dan "stager stub" kecil) - Offset memperbaiki dalam header ELF (
e_shoff
,e_phoff
, dll ..) - Ubah header ELF
e_entry
(offset titik masuk ELF) agar mengarah ke kode yang dimasukkan - 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 gcc
dan scons
. Kemudian jalankan scons
dari root direktori.
Informasi lainnya
Selain membangun drow, proyek ini juga membangun muatan Linux x86-64 bernama rappers_delight.bin
yang hanya dicetak ke stdout
. Ini 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:
- Antarmuka ELF Cerberus: http://phrack.org/issues/61/8.html
- The Backdoor Pabrik: https://github.com/secretsquirrel/the-backdoor-factory
- ELFSH: http://www.eresi-project.org/
Regards
Kang IT
No comments:
Post a Comment