Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
file-notification-attacks — Artefactos de investigación para ataques de canal lateral de notificación de archivos en Linux, Windows y macOS, que demuestran la fuga de inotify/FSEvents, la sincronización de pulsaciones de teclas y la huella digital de sitios web. | Kitploit
Herramientas/GitHubGitHub/isec-tugraz/file-notification-attacks
Seguridad AndroidAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónSeguridad MóvilPrivacidadPapers e InvestigaciónAprendizaje y Educación

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHubisec-tugraz/file-notification-attacks

file-notification-attacks

Artefactos de investigación para ataques de canal lateral de notificación de archivos en Linux, Windows y macOS, que demuestran la fuga de inotify/FSEvents, la sincronización de pulsaciones de teclas y la huella digital de sitios web.

Ver Repositorio
13102hace 28 díasAún no revisado

Ataques de Notificación de Archivos - Artefactos

Este repositorio contiene los artefactos (¡todavía en revisión!) para el artículo "File Notification Attacks: Templating and Exploiting Side-Channel Leakage from the File-Notification Systems on Linux, Windows, and macOS", aceptado en CCS '26.

Visita el sitio web con demos en: https://inoti.fyi/

Lee el artículo en: https://snee.la/pdf/pubs/file-notification-attacks.pdf o http://inoti.fyi/pubs/file-notification-attacks.pdf

Tabla de Contenidos

  • Prefacio
  • Linux
    • Requisitos: Versión del Kernel
    • Configuración
    • Ataques
      • 1. Omisión de Archivo No Legible
      • 2. Resolución Temporal
      • 3. Tiempo Entre Pulsaciones
      • 4. Redirección de UI de Autenticación
      • 5. Huella Digital de Sitios Web mediante Fuentes
  • Android
  • Windows
    • Requisitos de Hardware / Software
    • Fuga Directa de Sitios Web en Firefox
  • macOS
    • Requisitos de Hardware / Software
    • Vigilando /Applications

Prefacio

Como parte de la evaluación de artefactos en CCS'26 (¡todavía en curso!), enviamos una VM Debian 13 + KDE Plasma 6 con un kernel pre-parcheado. Esta VM no se utilizó para producir los resultados de evaluación del artículo y no pretende reproducir su magnitud exacta. Este repositorio puede actualizarse para incorporar revisiones y comentarios de nuestros evaluadores de artefactos. Haremos la VM públicamente accesible cuando se complete nuestra evaluación de artefactos.

Empleamos Claude (Opus 4.8) para envolver nuestro código en artefactos decentemente bien documentados y de alto rendimiento (por ejemplo, el de Windows era un poco lento). Sin embargo, el código, scripts, makefiles que generó se basaron en

Las instrucciones para probar el código de Linux a continuación son específicas para ejecutar comandos en la VM. Por favor, mira el código en su lugar en Linux/.

La VM existe puramente por conveniencia, para que montar cada ataque no requiera una configuración de entorno desde cero o una degradación del kernel. El mecanismo subyacente demostrado en la VM es idéntico al descrito en el artículo, pero ten en cuenta que no utilizamos la VM para producir los números reportados en el artículo. Los tiempos absolutos pueden diferir debido al entorno virtualizado y al hardware subyacente.

Linux

Los hallazgos se reproducen dentro de una VM Debian 13 (linux-vm/), instalada desde la ISO oficial live de Debian con KDE Plasma 6 (Wayland) instalado con un kernel que es anterior a la corrección de fsnotify. inotify-tools, los encabezados de desarrollo de Qt6 y pkexec están instalados. Nada más se actualiza, y el kernel nunca se toca después de la instalación. Por favor, NO ejecutes apt upgrade ni intentes actualizar el kernel. Esta imagen de VM es deliberadamente antigua, no está actualizada y no tiene los últimos parches de seguridad. ¡Esta imagen de VM solo está destinada a validación y pruebas rápidas!

El código, los ataques y las demostraciones ubicadas dentro de la VM están replicados en Linux/.

Nota: Mencionamos como qué usuario ejecutar los comandos en la parte superior de cada bloque de comandos. Está [host], que es la máquina anfitriona que ejecuta la VM, [user] que es la víctima de los ataques en la VM, y [spyuser] que requiere ser configurado y será el atacante en la mayoría de los ataques de Linux.

La imagen de disco se envía como linux-vm-upload.qcow2, comprimida con zstd. Renómbrala a linux-vm.qcow2 antes de ejecutar run.sh (que espera ese nombre de archivo):

# Run As: [host]
cd linux-vm/
mv linux-vm-upload.qcow2 linux-vm.qcow2
./run.sh

Leer un qcow2 comprimido con zstd requiere qemu-img/qemu-system-x86_64 versión 5.2 o superior (2020+), verifica con qemu-img --version. Si estás atascado en un QEMU más antiguo y falla al abrir la imagen, descomprímela en un qcow2 plano primero:

qemu-img convert -O qcow2 linux-vm-upload.qcow2 linux-vm.qcow2

4 núcleos, 4GB de RAM, pantalla GUI. Los inicios de sesión son:

  • usuario root, contraseña password,
  • usuario user, contraseña password,
  • usuario spyuser, contraseña password (¡no inicies sesión como spyuser!)

Configuración

La VM proporcionada ya ejecuta un kernel vulnerable, pre-parcheado (6.12.43+deb13-amd64), por lo que no se necesita degradación para usarla. Necesitarás QEMU para ejecutar esta imagen (que tiene una GUI). El artefacto se encuentra en /home/user/Linux-File-Notification-Attacks dentro de la VM.

Un comando configura todo desde cero en la VM: (i) una cuenta spyuser sin privilegios (no-sudo), (ii) su propia copia del directorio de artefactos (una cuenta sin privilegios separada no puede acceder al directorio home de user de otra manera), (iii) y cada script hecho ejecutable en ambas copias.

# In the VM, Run As: [user]
sudo bash ~/Linux-File-Notification-Attacks/setup_attacks.sh

Cada ataque a continuación se ejecuta como spyuser (su - spyuser, contraseña password), excepto auth-ui-redress, que se ejecuta como user (explicado a continuación).

Ataques

1. Omisión de Archivo No Legible

Demuestra que las notificaciones de operaciones de archivos se entregan en archivos que no pueden leerse directamente, siempre que su directorio padre sea legible.

# Run As: [spyuser]
# To switch to spyuser, in a new terminal type `su - spyuser`. The password
# is `password`.
cd ~/Linux-File-Notification-Attacks/unreadable-file-bypass
./watch-syslog.sh

Déjalo ejecutándose, luego genera una línea de registro desde otra terminal como user:

# Run As: [user]
logger "hello"

Esta imagen de Debian 13 no tiene rsyslog, por lo que no hay un archivo /var/log/syslog como se muestra en el artículo. El script recurre a vigilar /var/log/journal/<machine-id>/ en su lugar. Esta es la misma idea, ya que los archivos .journal que se monitorean son propiedad de root (usuario) y systemd-journal (grupo), ninguno de los cuales es spyuser.

2. Resolución Temporal

Mide el retraso de notificación de inotify.

# Run As: [user], ensure numpy is installed (or pip3)
sudo apt install python3-numpy
# Run As: [spyuser]
cd ~/Linux-File-Notification-Attacks/temporal-resolution
./run.sh

watcher abre una vigilancia de inotify en un archivo de prueba y marca con tiempo cada IN_ACCESS que recibe. accessor lee ese mismo archivo 1000 veces con un retraso aleatorio de 5-10ms entre lecturas, marcando con tiempo cada lectura él mismo. stats.py compara las dos grabaciones de marcas de tiempo e imprime el retraso promedio/desviación estándar/mínimo entre la lectura que ocurre y la notificación que llega, es decir, la resolución temporal de inotify.

3. Tiempo Entre Pulsaciones

No es el ataque completo del artículo, sino solo la primitiva de prueba de concepto de filtrado sobre la que se construye el ataque: por cada tecla presionada en cualquier lugar del sistema, imprime una notificación con marca de tiempo, sin leer nunca /dev/input directamente.

Descargar herramienta