
Seguimiento del historial de eventos USB en GNU/Linux
usbrip (heredado de "USB Ripper", no "USB R.I.P.") es una herramienta forense simple con interfaz de línea de comandos que le permite rastrear artefactos de dispositivos USB (es decir, historial de eventos USB) en máquinas Linux.
Índice:
usbrip es un pequeño software que analiza datos de registro de Linux: la salida de journalctl o el contenido de los archivos /var/log/syslog* (o /var/log/messages*). Basado en los datos recopilados, usbrip puede construir tablas de historial de eventos USB con las siguientes columnas:
Además, también puede:
-s* Crear almacenes protegidos (archivos 7-Zip) para realizar copias de seguridad automáticas y acumular eventos USB con la ayuda del programador cron.Método 1. Instalar con pip:
~$ sudo -H python3 -m pip install -U usbrip
~$ usbrip -h
Método 2. Instalar la versión más reciente con install.sh (recomendado, funciones adicionales disponibles):
~$ sudo apt install python3-venv p7zip-full -y
~$ git clone https://github.com/snovvcrash/usbrip && cd usbrip
~/usbrip$ sudo -H installers/install.sh
~/usbrip$ cd
~$ usbrip -h

Docker (*SOLO DEMOSTRACIÓN!*)
~$ docker run --rm -it snovvcrash/usbrip
usbrip admite dos tipos de marcas de tiempo para analizar dentro de los archivos de registro del sistema:
"%b %d %H:%M:%S", ej. "Jan 1 00:00:00"). Este tipo de marca de tiempo no proporciona la información del año."%Y-%m-%dT%H:%M:%S.%f%z", ej. "1970-01-01T00:00:00.000000-00:00").Si tiene journalctl instalado, no hay nada de qué preocuparse, ya que puede convertir marcas de tiempo sobre la marcha. De lo contrario, la estructura de syslog deseada se puede lograr configurando el formato RSYSLOG_FileFormat en la configuración de rsyslog.
/etc/rsyslog.conf:$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
.conf personalizado para usbrip:~$ echo '$ActionFileDefaultTemplate RSYSLOG_FileFormat' | sudo tee /etc/rsyslog.d/usbrip.conf
~$ sudo rm -f /var/log/syslog* /var/log/messages*
~$ sudo systemctl restart rsyslog
Primero, usbrip comprobará si hay posibilidad de volcar eventos del sistema usando journalctl como la opción más portable. Si no es así, buscará y analizará los archivos de registro del sistema /var/log/syslog* o /var/log/messages*.
storage)Para simplificar, acordemos que todos los comandos donde aparece el prefijo ~/usbrip$ se ejecutan en el directorio ~/usbrip, que se crea como resultado de un git clone:
~$ git clone https://github.com/snovvcrash/usbrip
~$ cd usbrip
~/usbrip$ pwd
install.shAdemás de instalar con pip, usbrip también se puede instalar con el script personalizado installers/install.sh.
Al usar install.sh, algunas funciones adicionales están disponibles:
storage: configurar un trabajo cron para hacer copias de seguridad de eventos USB según un horario (un ejemplo de trabajo cron se puede encontrar en usbrip/cron/usbrip.cron).⚠️ Advertencia: si utiliza la programación cron, desea configurar el crontab con sudo crontab -e para forzar que el submódulo storage update se ejecute como root. Las contraseñas de almacenamiento se guardan en /var/opt/usbrip/usbrip.ini y solo son accesibles por root de forma predeterminada.
Para instalar usbrip con install.sh, use:
~/usbrip$ sudo -H installers/install.sh [-l/--local] [-s/--storages]
~/usbrip$ cd
~$ usbrip -h
-l está habilitada, las dependencias de Python se resuelven desde paquetes .tar locales (directorio 3rdPartyTools) en lugar de PyPI.-s está habilitada, no solo se instala el proyecto usbrip, sino que también se crean la lista de dispositivos USB de confianza, los almacenes de historial y de violaciones.Después de que la instalación se complete, puede eliminar el directorio ~/usbrip.
Cuando se instala con install.sh, usbrip utiliza las siguientes rutas: