LinuxParty
En las entregas anteriores hemos visto
cómo escribir código inyectable y cómo inyectar nuestro código en otros
binarios sirviéndonos de diversos trucos. La siguiente fase lógica -la
activación- ya no consistirá sólo en saltar a nuestra rutina inyectada,
si no también el devolverle el control al código original y no levantar
sospechas.

La idea general será la siguiente: debemos encontrar algún puntero al
que el ELF intente saltar en todo su tiempo de ejecución, ejecutar el
código inyectado y devolver el control al puntero original. Esto se
conoce popularmente como hooking: reemplazamos la dirección a la
que cierto programa debe saltar en cierto momento para ejecutar nuestro
código, y devolver el control a la dirección original a la que se quería
llamar.
uando los sistemas operativos eran más
burdos y no había APIs específicas para registrar más de un manejador
para determinado evento del sistema, lo que las aplicaciones
-normalmente controladores de dispositivo- hacían era guardar la
dirección del manejador original, sustituir la dirección por la de un
manejador propio y saltar después a la dirección guardada. Así se podían
tener dos manejadores para la misma interrupción aunque el sistema no
soportase nativamente una característica así. Un ejercicio muy clásico
de Sistemas Operativos años antes era engancharse a la interrupción del
teclado para hacer que a cada pulsación la CPU emitiese un pitido, muy
vintage todo.
Obviamente, surgen algunas complicaciones. Por ejemplo, el código que
estaba antes espera encontrar en la pila ciertas cosas (esto implica que
tanto a la entrada como a la salida del código enganchado, el %esp
debe permanecer inalterado, aunque entre tanto hagamos virguerías con
él). Con los registros pasa lo mismo, por regla general debemos dejarlos
como estaban (a menos que queramos hacer explícitamente algún cambio en
el comportamiento del código que viene después). Son problemas
atajables, pero que hay que tener en cuenta.
Continúa en "Security by Default", indicar que la página tiene un script que funciona bastante mal, por lo menos en Firefox.
Continúa en "Security by Default", indicar que la página tiene un script que funciona bastante mal, por lo menos en Firefox.

-
Mozilla
- Mozilla recauda 72 millones de dólares.
- Mozilla corrige varios fallos de seguridad de sus programas
- Google sugiere a los usuarios de IE probar FireFox.
- Mozilla limpiará el código de Firefox
- ¿ Un Escritorio de Mozilla ?
- Mozilla lanza Gran Paradiso Alpha 4
- Mozilla ofrece 100.000 dólares para subvencionar el desarrollo de Theora
- Mozilla estudia un futuro sin Google
- Firefox 3.5, incrementa la implementación del estandar de video abierto
- Disponible Firefox 3.5 Release Candidate 1
- Firefox 3.5, ya está entre nosotros.
- Primera versión del proyecto Web Apps de Mozilla