Ведення журналу, коли хтось підключає або видаляє USB-пристрій до / з машини Windows


11

На даний момент я намагаюся знайти спосіб увімкнути всі підключення та відключення USB-пристроїв від усіх машин Windows у нашій мережі. Цю інформацію потрібно автоматично вносити в файл на машині, цей файл потім можна буде прочитати nxlog, а потім відвантажити на нашу централізовану платформу журналу для обробки. Я сподівався, що ця інформація буде зареєстрована в журналах Windows автоматично, але я виявив, що, хоча деяка інформація про USB-знімний накопичувач, схоже, потрапляє в систему перегляду подій, ця інформація є досить обмеженою і не з’являється, коли USB-клавіатури та миші є підключений та відключений.

Після деякого копання я виявив, що nirsoft написав невелику програму exe, яка робить багато важкої роботи, USBLogView можна запускати без встановлення та реєструє щоразу, коли USB-пристрій підключається та відключається до машини. Проблема в тому, що я не бачу способу запустити це як послугу, і я не бачу способу автоматичного внесення інформації, яку він виводить у файл журналу, хоча ви можете вибрати записи журналу та вручну вибрати їх для того, щоб бути збережено у файл журналу.

Я міг би використовувати групову політику для створення локальної копії файлу exe, а потім якось змусити цей exe запускатися під час запуску, але головну проблему неможливості автоматичного запису журналів у файл все-таки потрібно буде подолати. Я також повинен бути в змозі переконатися, що користувач не може закрити програму, що можливо, коли я запускаю її сам, в ідеалі - приховати її та не показувати піктограму лотка - це найкращий спосіб її встановити вгору (але коли я спробував використати прихований параметр, мені здається, що він може бути показаний у головному вікні, або просто відобразити піктограму systray). Я заглянув на веб-сайт, але не бачу жодного способу викликати програму з опціями, щоб сказати їй це зробити. На минулому тижні я також надіслав електронною поштою nirsoft, щоб дізнатися, чи є у них поради, але я все ще чекаю відповіді.

Хто-небудь отримав альтернативні способи зробити це взагалі? Будь-які пропозиції чи допомога ласкаво просимо! Дякую

Відповіді:


2

Для цього є платні рішення, наприклад. EndProtection4 від CoSoSys. Не знаю, як це працює всередині агента, встановленого на пристрої, але він дає вам всю інформацію про підключені пристрої. Вам потрібна сторона сервера, яка керує клієнтами, оскільки це програмне забезпечення, яке управляє доступом до пристроїв. Працює і на Mac і Linux.


3

Підключення та відключення USB-пристроїв реєструється у "Журналі подій".

Цитуючи цей детальний опис (блог "Цифрова судова криміналістика", 2014-01-02, Журнал подій Windows 7 та відстеження USB-пристроїв ):

Ідентифікатори подій підключення
Коли USB-знімний накопичувальний пристрій підключено до системи Windows 7, в журналі подій Microsoft-Windows-DriverFrameworks-UserMode / Operational потрібно створити ряд записів подій. До записів відносяться записи з подіями ID 2003, 2004, 2005, 2010, 2100, 2105 та більше. ...

Ідентифікатори подій відключення
Якщо USB-накопичувач USB від'єднаний від системи Windows 7, слід створити кілька записів подій у тому ж журналі подій, що і події підключення. Записи з ідентифікатором події 2100, 2102 та потенційно більше можуть створюватися при відключенні USB-пристрою. ...

Для автоматизації експорту з журналу подій Microsoft пропонує логпарсер безкоштовно.


2
Дякую за відповідь, але, як я вже говорив у своєму запитанні, програма перегляду подій показує, коли ви підключаєте пристрої USB-накопичувача, а не USB-пристрої, такі як клавіатури тощо. Я хочу збирати інформацію для всіх USB-пристроїв, а не лише USB-накопичувачів.
Гуркіт

@Rumbles Ви впевнені, що переглядаєте правильний журнал? Наведений вище журнал не є одним із "звичайних". З іншого боку, зазначений вище журнал буде містити інформацію лише про пристрої, якими керують драйвери UMDF. Не драйвери KMDF та не драйвери, що не входять у рамки.
Джеймі Ханрахан

1
Я не можу підтвердити, це те, на що я не заглядав деякий час, і з тих пір міняв роботу і рідко зараз працюю з настільними машинами Windows (ура!)
Гуркіт

Мені вдалося побачити пристрої зберігання даних, але не мишкою USB, що використовується під час увімкнення цього журналу.
Тайлер Сабо

0

Я б спробував використовувати такий інструмент, як 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")

Повідомлення на форумі, з якого вийшло на форумі AutoIT, розміщене тут: http://www.autoitscript.com/forum/topic/155213-detect-usb-devices-connected/?p=1121434


0

Використання regeditі погляд в registryпункти в: HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\. Для отримання детальної інформації відкрийте PowerShell та запустіть:

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

Або подивитися в лог - файл тут: C:\Windows\inf\setupapi.dev.log.

Більше технічних подробиць дивіться у блозі Нікольс .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.