
Rastreamento do histórico de eventos USB no GNU/Linux
usbrip (herdado de "USB Ripper", não "USB R.I.P.") é uma ferramenta forense simples com interface de linha de comando que permite rastrear artefatos de dispositivos USB (ou seja, histórico de eventos USB) em máquinas Linux.
Índice:
usbrip é um pequeno software que analisa dados de log do Linux: saída do journalctl ou conteúdo dos arquivos /var/log/syslog* (ou /var/log/messages*). Com base nos dados coletados, o usbrip pode construir tabelas de histórico de eventos USB com as seguintes colunas:
Além disso, também pode:
-s* Criar armazenamentos protegidos (arquivos 7-Zip) para fazer backup e acumular automaticamente eventos USB com a ajuda do agendador cron.Maneira 1. Instalar com pip:
~$ sudo -H python3 -m pip install -U usbrip
~$ usbrip -h
Maneira 2. Instalar a versão bleeding-edge com install.sh (recomendado, recursos extras disponíveis):
~$ 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 (*APENAS DEMO!*)
~$ docker run --rm -it snovvcrash/usbrip
usbrip suporta dois tipos de timestamps para analisar dentro dos arquivos de log do sistema:
"%b %d %H:%M:%S", ex. "Jan 1 00:00:00"). Este tipo de timestamp não fornece a informação sobre o ano."%Y-%m-%dT%H:%M:%S.%f%z", ex. "1970-01-01T00:00:00.000000-00:00").Se você tiver o journalctl instalado, não há com o que se preocupar, pois ele pode converter timestamps em tempo real. Caso contrário, a estrutura syslog desejada pode ser alcançada definindo o formato RSYSLOG_FileFormat na configuração do rsyslog.
/etc/rsyslog.conf:$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
.conf personalizado para o 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
Primeiramente, o usbrip verificará se há a possibilidade de despejar eventos do sistema usando o journalctl como a opção mais portátil. Se não – ele procurará e analisará os arquivos de log do sistema /var/log/syslog* ou /var/log/messages*.
storage)Para simplificar, vamos concordar que todos os comandos onde o prefixo ~/usbrip$ aparece são executados no diretório ~/usbrip que é criado como resultado de um git clone:
~$ git clone https://github.com/snovvcrash/usbrip
~$ cd usbrip
~/usbrip$ pwd
install.shAlém de instalar com pip, o usbrip também pode ser instalado com o script personalizado installers/install.sh.
Ao usar o install.sh, alguns recursos extras se tornam disponíveis:
storage – configurar uma tarefa cron para fazer backup de eventos USB em um cronograma (um exemplo de tarefa cron pode ser encontrado em usbrip/cron/usbrip.cron).⚠️ Aviso: se você estiver usando agendamento cron, você deve configurar o crontab com sudo crontab -e para forçar o submódulo storage update a ser executado como root. As senhas dos armazenamentos são mantidas em /var/opt/usbrip/usbrip.ini e acessíveis apenas pelo root por padrão.
Para instalar o usbrip com install.sh use:
~/usbrip$ sudo -H installers/install.sh [-l/--local] [-s/--storages]
~/usbrip$ cd
~$ usbrip -h
-l está habilitada, as dependências Python são resolvidas a partir de pacotes .tar locais (diretório 3rdPartyTools) em vez do PyPI.-s está habilitada, não apenas o projeto usbrip é instalado, mas também a lista de dispositivos USB confiáveis, os armazenamentos de histórico e violações são criados.Após a instalação ser concluída, sinta-se à vontade para remover o diretório ~/usbrip.
Quando instalado com install.sh, o usbrip usa os seguintes caminhos: