LinuxParty
NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
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.
-
Seguridad
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- Snort para Windows, detección de Intrusos y seguridad.
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros
- 7 cosas que incluso los nuevos usuarios de Linux pueden hacer para proteger mejor el sistema operativo
- Recuperar contraseñas de archivos comprimidos en 3 pasos
- Administración: Glances - herramienta de monitoreo y supervisión para Linux
- Cómo monitorear sistemas Linux remotos con Glances
- Los 5 mejores VPN del momento
- Cómo bloquear ataques de fuerza bruta SSH usando SSHGUARD en Linux
- Cómo purgar y limpiar tus discos y borrar archivos en forma segura
- Generar password aletorios en Linux