-
Notifications
You must be signed in to change notification settings - Fork 27
Home
JonMon is a telemetry sensor suite that was developed to help bring insight into sensor internals to the community. There are 4 major components to JonMon:
- The kernel driver. The driver serves to attach to various callback routines to return information around actions performed on objects like processes, registry keys/values, and threads.
- The minifilter. The minifilter leverages a post-callback that will attach to file I/O requests to return information around file creations, file deletes, named-pipe creations, and named pipe connections.
- The user-mode application - JonMon-Service. JonMon-Service installs as a service and is used as an ETW consumer for various providers.
- The JonMon ETW Provider - jonmon.man & jonmon.dll. The JonMon provider is a manifest-based provider that is used by both the kernel-mode and user-mode components to log actions they have found. Logs can be found in the EventViewer under
Applications and ServiceLogs\JonMon\Operational
.
Minimum OS: Win10 - 19045.2486
- Does support Win11.
- Download JonMon from the Release menu
- Disable Secure Boot
- Turn testsigning on -
bcdedit /set TESTSIGNING on
. Turning on DEBUG would help me narrow down any issues you have as well. To do this please inputbcdedit /set DEBUG on
- Restart Computer
- Go to JonMon directory
- Install JonMon via
JonMon-Service.exe -i
2 services will be created for you:
- JonMon (User-Mode application)
- JonMonDrv (Kernel Driver)
These services do not persist on boot. It is suggested if you want to run JonMon after installation and reboot to uninstall via JonMon-Service.exe -u
, then re-install the services via JonMon-Service.exe -i
. Otherwise all functionality is not guaranteed to work properly.
- Run
JonMon-Service.exe -u
- Install JonMon
- Execute behavior
- Uninstall JonMon Events will stay within the Even-Viewer after removing JonMon. Due to JonMon not being tested over long periods of time, it is suggested to do a short collection.
If you want to compile JonMon do the following:
- Go in the JonMonProvider directory and run the following:
mc.exe -km JonMon.man
rc.exe jonmon.rc
link.exe /noentry /machine:x64 /dll /out:jonmon.dll .\jonmon.res
- Load up JonMon in Visual Studio
- Include "jtime.h" (within the JonMon directory) in JonMon.h within the JonMonProvider
- Build solution
Please see EventMapping for all questions regarding events that JonMon collects, as well as any tuning that is being done.
I am happy to hear about any issues you have with JonMon, when submitting an issue please:
- Precise on what the issue is
- What you would like to see differently
- If JonMon crashed your box, please include the minidump file so I can properly analyze the issue.
Note: Any issues that revolve around "Don't work please fix", will be closed immediately.
It is suggested to ONLY run JonMon in a VM. This is a research project and is not meant to be ran in production environments.