Cuando se es un administrador de sistemas generalmente dentro las tareas más cotidianas que suelen realizar (además de la creación y recuperación de contraseñas de correo electrónico), está el mantenimiento y supervisión de los equipos.

En donde generalmente para evitarse tantos problemas se suelen limitar las funcionalidades del equipo en cuanto a instalación de aplicaciones y además de realizar algunas restricciones dentro de la red empresarial. En estas labores comunes muchos suelen subestimar al personal que utiliza los equipos, al solo realizar limitaciones simples.

Son pocos los administradores de sistemas que tienen bajo su cargo equipos con Linux realizar la compilación del Kernel por su cuenta para poder realizar las restricciones, en donde generalmente pasan por alto los puertos USB.

Aquí es donde entra una excelente herramienta que me encontré en la red navegando. Su nombre es Usbrip, el cual a palabras de su creador

”Es una herramienta forense de código abierto con interfaz CLI que le permite realizar un seguimiento de los artefactos del dispositivo USB (es decir, el historial de eventos USB) en máquinas Linux”

USBRip permite poder ver con mayor claridad rápidamente mediante el análisis de los registros de Linux. Este pequeño software escrito en Python 3 puro (utilizando algunos módulos externos) que analiza los archivos de registro de Linux ( /var/log/syslog* y /var/log/messages* dependiendo de la distribución) para construir tablas de historial de eventos USB.

Dentro de la información que proporciona, se nos despliega lo siguiente: Fecha y hora de inicio de sesión, usuario, ID del proveedor, ID del producto, fabricante, número de serie, puerto y fecha y hora de cierre de sesión.

Además, también puede:

Exportar información recopilada como un volcado JSON (y abrir dichos volcados, por supuesto);

generar una lista de dispositivos USB autorizados (de confianza) como JSON (llámelo auth.json).

Buscar eventos «violación» en base al auth.json: mostrar (o generar otro con JSON) dispositivos USB que aparecen en la historia y no aparecen en el auth.json.

Cuando se instala con -s * crea almacenamientos encriptados (archivos 7zip) para hacer copias de seguridad y acumular eventos USB automáticamente con la ayuda del crontab. Además de poder buscar los detalles adicionales sobre un dispositivo USB específico en función de su VID y/o PID.

¿Como instalar Usbrip en Linux?

Para quienes estén interesados en poder instalar esta herramienta, deben contar con Python 3 instalado en su sistema así como también pip (el sistema de gestión de paquetes de Python)

Para realizar la instalación de Usbrip basta con abrir una terminal y en ella teclear el siguiente comando:

pip3 install usbrip

pip install terminaltables termcolor

pip install tqdm

Ahora de igual forma pueden descargar el código del proyecto y utilizar la herramienta desde este. Para ello solo tienen que teclear desde una terminal:

git clone https://github.com/snovvcrash/usbrip.git usbrip

Y después entran al directorio con:

cd usbrip

Y solucionamos las dependencias con:

python3 -m venv venv && source venv/bin/activate

Uso de Usbrip

El uso de esta herramienta es relativamente sencillo. Por lo que para ver el historial de eventos solo ejecutamos el siguiente comando:

usbrip events history

O

python3 usbrip.py events history

En donde se mostraran los eventos. De igual forma se pueden filtrar por dias o un rango de especial.

Por ejemplo

usbrip events history -e -d "Oct 10" "Oct 11" "Oct 12" "Oct 13" “Oct 14" "Oct 15"

O

python3 usbrip.py events history -e -d "Oct 10" "Oct 11" "Oct 12" "Oct 13" “Oct 14" "Oct 15"

Con esta acción, se mostrara la información de todos los dispositivos USB externos conectados al equipo durante el período de Oct 10 al 15.

Para trabajar con filtros. Hay 4 tipos de filtrado disponibles: solo eventos USB externos (dispositivos que se pueden extraer fácilmente -e); por fecha ( -d); por campos (–user, –vid, –pid, –product, –manufact, –serial, –port) y por el número de entradas que se obtiene como la salida (-n).

Para generar un archivo JSON con los eventos:

usbrip events gen_auth /ruta/para/el/archivo.json -a vid pid -n 10 -d '2019-10-30'

O

python3 usbrip.py events gen_auth /ruta/para/el/archivo.json -a vid pid -n 10 -d '2019-10-30'

El cual contendrá información de los primeros 10 dispositivos conectados el 30 de octubre del 2019.

Si quieres conocer más al respecto sobre el uso de esta herramienta puedes consultar el siguiente enlace.