Foro de elhacker.net

Seguridad Informática => Hacking => Mensaje iniciado por: Alvarito050506 en 15 Abril 2020, 15:03 pm



Título: [Linux] Inyección DLL sin LD_PRELOAD
Publicado por: Alvarito050506 en 15 Abril 2020, 15:03 pm
Hola a todos,

Tengo una biblioteca dinámica que intercepta algunas llamadas al sistema como fopen, sendto, recvfrom, etc. Por ahora me las arreglo usando LD_PRELOAD para cargarla, pero me preguntaba si no hay alguna técnica más "limpia" de hacer esto. Es decir: el programa que estoy modificando de por sí usa LD_PRELOAD para compatibilidad entre distribuciones, y no me gustaría arruniar algo de esto, preferiría modificar el  binario en sí.

Si sirve de algo, el binario es un ELF 32bits ARMv7 y es relativamente fácil de parchear.

Saludos y muchas gracias.


Título: Re: [Linux] Inyección DLL sin LD_PRELOAD
Publicado por: e en 16 Abril 2020, 00:30 am
Puedes hacerlo con gdb: https://aixxe.net/2016/09/shared-library-injection (https://aixxe.net/2016/09/shared-library-injection).
O en C: https://stackoverflow.com/questions/24355344/inject-shared-library-into-a-process (https://stackoverflow.com/questions/24355344/inject-shared-library-into-a-process), en esta hay varias opciones, la primera la de preload y la segunda con ptrace.

Un saludo


Título: Re: [Linux] Inyección DLL sin LD_PRELOAD
Publicado por: Alvarito050506 en 16 Abril 2020, 17:57 pm
Hola y gracias por tu respuesta,

El método ptrace era lo que estaba buscando.

Saludos.