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

10

Atualmente, 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 à nossa plataforma de registro centralizado para processamento. Eu esperava que essas informações fossem registradas pelos logs do Windows automaticamente, mas descobri que, embora algumas informações sobre o armazenamento removível USB pareçam ser registradas no Event Viewer, essas são informações bastante limitadas e não são captadas quando os 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 trabalho duro, o USBLogView pode ser executado sem instalação e registros sempre que um dispositivo USB se conecta e desconecta na máquina. O problema é que não vejo uma maneira de executá-lo como um serviço, nem vejo como fazer com que ele registre automaticamente as informações que gera em um arquivo de log, embora você possa selecionar entradas de log e manualmente salvo em um arquivo de log.

Eu poderia usar a Diretiva de Grupo para criar uma cópia local do arquivo exe e, de alguma forma, forçá-lo a executar durante a inicialização, mas o principal problema de não conseguir obter os logs automaticamente gravados no arquivo ainda precisaria ser superado. Também seria necessário garantir que o usuário não pudesse fechar o programa, o que é possível quando o inicio, idealmente, ocultá-lo e não mostrar um ícone de bandeja seria a melhor maneira de configurá-lo. up (mas quando tentei usar a configuração oculta, parece-me que ela pode ser mostrada na janela principal ou apenas exibindo o ícone do systray). Procurei no site, mas não vejo como invocar o programa com opções para instruí-lo a fazer isso. Também enviei um e-mail à nirsoft na semana passada para ver se eles tinham algum conselho, mas ainda estou esperando uma resposta.

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

Rumbles
fonte

Respostas:

2

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

Bartosz Debski
fonte
3

A conexão e desconexão de dispositivos USB são registradas no "Registro de Eventos".

Citando esta descrição detalhada (blog "Digital Forensics Stream", 02-01-2014, Registro de eventos do Windows 7 e rastreamento de dispositivos USB ):

IDs de eventos de conexão
Quando um dispositivo de armazenamento removível USB está conectado a um sistema Windows 7, vários registros de eventos devem ser gerados no log de eventos Microsoft-Windows-DriverFrameworks-UserMode / Operational. Os registros incluem aqueles com identificação de evento 2003, 2004, 2005, 2010, 2100, 2105 e muito mais. ...

IDs de eventos de desconexão
Quando um pen drive USB é desconectado de um sistema Windows 7, alguns registros de eventos devem ser gerados no mesmo log de eventos que os eventos de conexão. Registros com identificação de evento 2100, 2102 e potencialmente mais podem ser gerados quando um dispositivo USB é desconectado. ...

Para automatizar as exportações do log de eventos, a Microsoft oferece o analisador de log gratuitamente.

marsh-wiggle
fonte
2
Obrigado pela resposta, mas como eu disse na minha pergunta, o Visualizador de Eventos mostra quando você conecta dispositivos de armazenamento USB, mas não dispositivos USB como teclados etc. Quero coletar as informações de todos os dispositivos USB e não apenas de dispositivos USB.
Rumbles
@Rumbles Tem certeza de que está olhando o log certo? O log nomeado acima não é um dos "usuais". Por outro lado, o log mencionado acima conterá apenas informações sobre dispositivos manipulados por drivers UMDF. Não são drivers do KMDF e não são da estrutura.
21716 Jamie Hanrahan
11
Eu não posso confirmar, é algo que eu não olhei para em quando, e, desde então, mudou de emprego e raramente trabalho com máquinas desktop Windows agora (hooray!)
Rumbles
Consegui ver dispositivos de armazenamento, mas não um mouse USB usando ao ativar esse log.
Tyler Szabo
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 origem foi encontrada no fórum AutoIT, localizada aqui: http://www.autoitscript.com/forum/topic/155213-detect-usb-devices-connected/?p=1121434

Riley Childs
fonte
0

Use regedite olhar nos registryitens abaixo: HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\. 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 olhar no arquivo de log aqui: C:\Windows\inf\setupapi.dev.log.

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

not2qubit
fonte