¿Cómo habilitar el registro de arranque procmon para cada arranque?

¿Cómo habilitar el registro de arranque procmon para cada arranque?

Sé que el monitor de procesos tiene la función "habilitar registro de inicio".

pero eso sólo tiene efecto en el próximo arranque.

¿Hay alguna manera de habilitar el registro de arranque para cada arranque en el futuro?

Respuesta1

No conozco una forma habitual de habilitar permanentemente el registro de arranque, pero parece que el registro de arranque está controlado por dos valores de registro en la Procmonconfiguración del controlador. Quizás (re)crear estos valores (por ejemplo, con un script de inicio) haga lo que desea:

if not exist %SystemRoot%\System32\Drivers\PROCMON23.sys copy PROCMON23.sys %SystemRoot%\System32\Drivers\
reg add HKLM\SYSTEM\CurrentControlSet\services\PROCMON23 /v ImagePath /t REG_SZ /d "System32\Drivers\PROCMON23.sys" /f
reg add HKLM\SYSTEM\CurrentControlSet\services\PROCMON23 /v Start /t REG_DWORD /d 0x0 /f
reg add HKLM\SYSTEM\CurrentControlSet\services\PROCMON23 /v Type /t REG_DWORD /d 0x1 /f

Sin embargo, antes de intentar algo así, primero probaría el monitoreo "regular" (sin registro de arranque). Inicie Process Monitor una vez y configúrelo para monitorear solo el acceso al hostsarchivo (Filtrar → Filtrar...). Exporte esa configuración al archivo C:\hosts.pmc(Archivo → Exportar configuración...). Luego ejecute algo como esto en un script de inicio:

procmon /LoadConfig C:\hosts.pmc /BackingFile C:\hosts_%DATE:/=-%.pml /Quiet > C:\hosts.log 2>&1

Eso iniciará Process Monitor con la configuración exportada ( /LoadConfig C:\hosts.pmc), comenzará a monitorear sin solicitar confirmación de la configuración del filtro ( /Quiet) y registrará los eventos registrados en un archivo de registro con la fecha actual ( /BackingFile C:\hosts_%DATE:/=-%.pml). La expresión %DATE:/=-%produce la fecha actual con barras diagonales /reemplazadas por guiones -. Si su formato de fecha no lo es, MM/DD/YYYYtendrá que modificar esta expresión en consecuencia.

Los scripts de inicio se pueden configurar de varias maneras ( Runclaves en el registro, tareas programadas, políticas de grupo,...). Ver las respuestas aesta preguntaen StackOverflow para obtener una descripción general.

Respuesta2

Adam Collett/adjman666 escribió un vbscript para hacerlo y lo publicó en los foros de sysinternals.. Para que esto funcione, \server\procmon share deberá tener configurados permisos para compartir y archivos para que las "Equipadoras del dominio" puedan leer desde esa ubicación; de lo contrario, la secuencia de comandos generará un error con un mensaje de "Acceso denegado".

'Script to enable boot logging in Process Monitor at every shutdown to ensure we capture all activity, every time.

'Declare the objects used in the script
Dim objFSO, objShell, objRegistry

'Declare the variables used in the script
Dim strProcmon20KeyPath, strInstancesKeyPath, strPMIKeyPath, strStartValueName, strGroupValueName, strTypeValueName, strImagePathValueName
Dim strDefInstanceValueName, strAltitudeValueName, strFlagsValueName, strComputer

'Declare the constants used in the script
Const HKEY_LOCAL_MACHINE = &H80000002

'Create our FileSystem, Shell and Registry objects
Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objShell=WScript.CreateObject("WScript.Shell")
strComputer = "."
Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")

'Set all variables ready for use

strProcmon20KeyPath = "SYSTEM\CurrentControlSet\Services\PROCMON20\"
strInstancesKeyPath = "SYSTEM\CurrentControlSet\Services\PROCMON20\Instances\"
strPMIKeyPath = "SYSTEM\CurrentControlSet\Services\PROCMON20\Instances\Process Monitor Instance\"

strStartValueName = "Start"
strGroupValueName = "Group"
strTypeValueName = "Type"
strImagePathValueName = "ImagePath"
strDefInstanceValueName = "DefaultInstance"
strAltitudeValueName = "Altitude"
strFlagsValueName = "Flags"

'Check for the Process Monitor Executable, copy it in if not already on the system.
If not objFSO.FileExists("C:\Windows\System32\procmon.exe") Then
  objFSO.CopyFile "\\server\procmon\procmon.exe", "C:\Windows\System32\", true
End If

'Now import the registry settings, one at a time
objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strStartValueName, "0", "REG_DWORD"
objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strGroupValueName, "FSFilter Activity Monitor", "REG_SZ"
objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strTypeValueName, "1", "REG_DWORD"
objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strImagePathValueName, "System32\Drivers\PROCMON20.SYS", "REG_EXPAND_SZ"

objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strInstancesKeyPath & strDefInstanceValueName, "Process Monitor Instance", "REG_SZ"

objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strPMIKeyPath & strAltitudeValueName, "385200", "REG_SZ"
objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strPMIKeyPath & strFlagsValueName, "0", "REG_DWORD"

'Now copy over the PROCMON20.SYS file to the C:\Windows\System32\Drivers folder

If not objFSO.FileExists("C:\Windows\System32\Drivers\PROCMON20.SYS") Then
  objFSO.CopyFile "\\server\procmon\PROCMON20.SYS", "C:\Windows\System32\Drivers\", true
End If

'End of Script

información relacionada