Protokollierung, wenn jemand ein USB-Gerät an einen Windows-Computer anschließt oder von diesem entfernt

10

Ich versuche derzeit, eine Möglichkeit zu finden, alle Verbindungen und Trennungen von USB-Geräten von allen Windows-Computern in unserem Netzwerk zu protokollieren . Diese Informationen müssen automatisch in einer Datei auf dem Computer protokolliert werden. Diese Datei kann dann von nxlog gelesen und zur Verarbeitung an unsere zentrale Protokollierungsplattform gesendet werden. Ich hatte gehofft, dass diese Informationen automatisch von Windows-Protokollen protokolliert werden, aber ich stellte fest, dass einige Informationen zu Wechseldatenträgern zwar in der Ereignisanzeige protokolliert werden, diese Informationen jedoch nur in begrenztem Umfang verfügbar sind und bei USB-Tastaturen und -Mäusen nicht erfasst werden verbunden und getrennt.

Nach einigem Graben stellte ich fest, dass nirsoft eine kleine Exe geschrieben hatte, die viel harte Arbeit leistet. USBLogView kann ohne Installation ausgeführt werden und protokolliert jedes Mal, wenn ein USB-Gerät eine Verbindung zum Computer herstellt oder trennt. Das Problem dabei ist, dass ich weder eine Möglichkeit sehe, dies als Dienst auszuführen, noch eine Möglichkeit sehe, die ausgegebenen Informationen automatisch in einer Protokolldatei zu protokollieren, obwohl Sie Protokolleinträge auswählen und manuell auswählen können in einer Protokolldatei gespeichert.

Ich könnte Gruppenrichtlinien verwenden, um eine lokale Kopie der exe-Datei zu erstellen und diese exe dann beim Start irgendwie zum Ausführen zu zwingen, aber das Hauptproblem, dass die Protokolle nicht automatisch in die Datei geschrieben werden können, muss noch behoben werden. Ich müsste auch sicherstellen können, dass der Benutzer das Programm nicht schließen kann. Dies ist möglich, wenn ich es selbst starte. Idealerweise ist es der beste Weg, es einzustellen, wenn es ausgeblendet ist und kein Tray-Symbol angezeigt wird up (aber wenn ich versucht habe, die versteckte Einstellung zu verwenden, scheint es mir, dass sie entweder im Hauptfenster angezeigt werden kann oder nur das Systray-Symbol anzeigt). Ich habe auf der Website nachgesehen, sehe aber keine Möglichkeit, das Programm mit Optionen aufzurufen, um es dazu aufzufordern. Ich habe nirsoft letzte Woche auch eine E-Mail geschickt, um zu sehen, ob sie einen Rat hatten, aber ich warte immer noch auf eine Antwort.

Hat jemand alternative Möglichkeiten, dies überhaupt zu tun? Anregungen oder Hilfe willkommen! Vielen Dank

Rumpelt
quelle

Antworten:

2

Dafür gibt es kostenpflichtige Lösungen, z. EndProtection4 von CoSoSys. Keine Ahnung, wie das in dem auf dem Gerät installierten Agenten funktioniert, aber es gibt Ihnen alle Informationen zu angeschlossenen Geräten. Sie benötigen eine Serverseite, die die Clients verwaltet, da dies die Software ist, die den Zugriff auf Geräte verwaltet. Funktioniert auch auf Macs und Linux.

Bartosz Debski
quelle
3

Das Anschließen und Trennen von USB-Geräten wird im "Ereignisprotokoll" protokolliert.

Zitieren dieser detaillierten Beschreibung (Blog "Digital Forensics Stream", 02.01.2014, Windows 7-Ereignisprotokoll und USB-Geräteverfolgung ):

Verbindungsereignis-IDs
Wenn ein USB-Wechseldatenträger mit einem Windows 7-System verbunden ist, sollten im Ereignisprotokoll Microsoft-Windows-DriverFrameworks-UserMode / Operational eine Reihe von Ereignisdatensätzen generiert werden. Die Datensätze enthalten diejenigen mit der Ereignis-ID 2003, 2004, 2005, 2010, 2100, 2105 und mehr. ...

IDs für Trennungsereignisse
Wenn ein USB-Stick von einem Windows 7-System getrennt wird, sollten einige Ereignisdatensätze im selben Ereignisprotokoll wie die Verbindungsereignisse generiert werden. Datensätze mit der Ereignis-ID 2100, 2102 und möglicherweise mehr können generiert werden, wenn ein USB-Gerät getrennt wird. ...

Zur Automatisierung des Exports aus dem Ereignisprotokoll bietet Microsoft den Logparser kostenlos an.

Sumpf wackeln
quelle
2
Vielen Dank für die Antwort, aber wie ich in meiner Frage sagte, zeigt die Ereignisanzeige an, wann Sie USB-Speichergeräte anschließen, aber keine USB-Geräte wie Tastaturen usw. Ich möchte die Informationen für alle USB-Geräte sammeln, nicht nur für USB-Speichergeräte.
Rumbles
@Rumbles Sind Sie sicher, dass Sie das richtige Protokoll suchen? Das oben genannte Protokoll ist nicht eines der "üblichen". Andererseits enthält das oben genannte Protokoll nur Informationen zu Geräten, die von UMDF-Treibern verarbeitet werden. Keine KMDF-Treiber und keine Nicht-Framework-Treiber.
Jamie Hanrahan
1
Ich kann es nicht bestätigen, es ist etwas, das ich seit einiger Zeit nicht mehr untersucht habe und seitdem den Job gewechselt habe und jetzt selten mit Windows-Desktop-Computern arbeite (Hurra!)
Rumbles
Beim Aktivieren dieses Protokolls konnte ich Speichergeräte sehen, aber keine USB-Maus.
Tyler Szabo
0

Ich würde versuchen, ein Tool wie AutoIT zu verwenden.

$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")

Ein Forumsbeitrag, von dem dieser stammt, befindet sich im AutoIT-Forum hier: http://www.autoitscript.com/forum/topic/155213-detect-usb-devices-connected/?p=1121434

Riley Childs
quelle
0

Verwenden regeditund schauen Sie in den registryArtikeln unter : HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\. Für einige Details öffnen Sie PowerShell und führen Sie Folgendes aus:

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

Oder schauen Sie hier in die Protokolldatei : C:\Windows\inf\setupapi.dev.log.

Weitere technische Details finden Sie im Nicoles Blog .

not2qubit
quelle