Registrando quando alguém conecta ou remove um dispositivo USB de / para uma máquina Windows

7

No momento, estou tentando encontrar uma maneira de registrar todas as conexões e desconexões de dispositivos USB de todas as máquinas Windows em nossa rede. Essas informações precisam ser registradas automaticamente em um arquivo na máquina, esse arquivo pode ser lido pelo nxlog e enviado para a nossa plataforma de registro centralizada para processamento. Eu esperava que essa informação fosse registrada pelos logs do Windows automaticamente, mas descobri que enquanto algumas informações sobre o armazenamento removível de USB parecem ser registradas no Visualizador de Eventos, essa informação é bastante limitada e não atende quando teclados e mouses USB são conectado e desconectado.

Após algumas pesquisas, descobri que a nirsoft havia escrito um pequeno exe que faz muito do trabalho pesado, USBLogView pode ser executado sem instalação e registros toda vez que um dispositivo USB se conecta e desconecta da máquina. O problema com isso é que não consigo ver uma maneira de executar isso como um serviço, nem vejo qualquer maneira de fazer com que ele registre automaticamente as informações que ele envia a um arquivo de log, embora você possa selecionar entradas de log e selecioná-las manualmente. salvo em um arquivo de log.

Eu poderia usar a Diretiva de Grupo para criar uma cópia local do arquivo exe e, em seguida, forçar esse exe a ser executado durante a inicialização, mas a questão principal de não conseguir obter os logs gravados automaticamente no arquivo ainda precisa ser superar. Eu também precisaria ser capaz de garantir que o usuário não seja capaz de fechar o programa, o que é possível quando eu o abro, idealmente tê-lo escondido e não mostrar um ícone de bandeja seria a melhor maneira para ele ser definido up (mas quando tentei usar a configuração oculta, parece-me que ela pode ser mostrada na janela principal ou apenas exibir o ícone systray). Eu olhei no site, mas não vejo qualquer maneira de invocar o programa com opções para dizer isso para fazer isso. Também enviei um e-mail para nirsoft na semana passada para ver se eles tinham algum conselho, mas ainda estou esperando por uma resposta.

Alguém tem alguma maneira alternativa de fazer isso? Qualquer sugestão ou ajuda bem vinda! Obrigado

    
por Rumbles 08.12.2014 / 13:23

4 respostas

2

Existem soluções pagas para isso, por exemplo. EndProtection4 por CoSoSys. Não faço ideia de como isso funciona dentro do agente instalado no dispositivo, mas ele fornece todas as informações sobre os dispositivos conectados. Você precisa de um servidor que gerencie os clientes, pois esse é o software que gerencia o acesso aos dispositivos. Funciona em Macs e Linux também.

    
por 19.07.2016 / 14:55
1

A conexão e desconexão de dispositivos USB é registrada no "Registro de eventos".

Citando esta descrição detalhada ( Blog "Digital Forensics Stream", 2014-01-02, Registro de Eventos do Windows 7 e Rastreamento de Dispositivos USB :

Connection Event IDs
When a USB removable storage device is connected to a Windows 7 system, a number of event records should be generated in the Microsoft-Windows-DriverFrameworks-UserMode/Operational event log. The records include those with Event ID 2003, 2004, 2005, 2010, 2100, 2105, and more. ...

Disconnection Event IDs
When a USB thumb drive is disconnected from a Windows 7 system, a few event records should be generated in the same event log as the connection events. Records with Event ID 2100, 2102, and potentially more may be generated when a USB device is disconnected. ...

Para automatizar as exportações do log de eventos, a Microsoft oferece o logparser para livre.

    
por 08.12.2014 / 18:18
0

Eu tentaria usar uma ferramenta como o AutoIT.

$vFile = FileOpen("usb.txt", 2)

Local $vObjWMI = ObjGet("winmgmts:\" & @ComputerName & "\root\cimv2")

$vObjItems = $vObjWMI.ExecQuery('SELECT * FROM Win32_DiskDrive')
If IsObj($vObjItems) Then
    For $vObjItem In $vObjItems
        If StringInStr($vObjItem.Caption, "USB") Then
            FileWriteLine($vFile, $vObjItem.Caption & @CRLF)
            FileWriteLine($vFile, $vObjItem.DeviceID & @CRLF & @CRLF)
        EndIf
    Next
EndIf

FileClose($vFile)

ShellExecute("usb.txt")

Uma publicação no fórum de onde veio é no fórum do AutoIT: link

    
por 17.12.2014 / 17:35
0

Use regedit e procure nos itens registry em: %código%. Para alguns detalhes, abra o PowerShell e execute:

$Path = 'HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*'
Get-ItemProperty -Path $Path | Select-Object -Property FriendlyName, CompatibleIDs, Mfg

Ou procure no arquivo de log aqui: HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\ .

Para mais detalhes técnicos, consulte Blog da Nicoles .

    
por 30.05.2017 / 00:07