Skip to content

Latest commit

 

History

171 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SentinelOps

SentinelOps is a local-first Windows security log analyzer and SOC dashboard. This repository keeps the original project and the upgraded Phase 6 edition as two clearly separated applications.

Choose A Version

Version Purpose Run Address
SentinelOps v1.0 Original security log analyzer and SOC dashboard .\start-v1.ps1 http://127.0.0.1:8080
SentinelOps v2.0 Modular Phase 6 threat hunting and incident platform .\start-v2.ps1 http://127.0.0.1:8081

SentinelOps v1.0

The original application analyzes real Windows event logs, detects common attack patterns, maps findings to MITRE ATT&CK, calculates risk, and stores history locally.

SentinelOps v1.0 dashboard

Open the v1.0 documentation

SentinelOps v2.0 Phase 6

The upgraded application adds a modular Python backend, expanded Windows and Sysmon detections, incident case management, evidence-grounded AI summaries, threat hunting, local IOC matching, Sigma import, an ATT&CK heatmap, investigation timelines, and HTML/PDF reports.

Command Center

SentinelOps v2.0 Command Center

Investigation And Detection Workspaces

Incident Workbench Threat Hunting
SentinelOps v2.0 Incident Workbench SentinelOps v2.0 Threat Hunting
Detection Studio Simple Mode Detection Studio Advanced Mode
SentinelOps v2.0 Detection Studio Simple Mode SentinelOps v2.0 Detection Studio Advanced Mode

Open the v2.0 documentation

Repository Layout

SentinelOps/
|-- v1.0/                Original stable application
|-- v2.0/                Latest Phase 6 application
|-- start-v1.ps1         v1.0 launcher
|-- start-v2.ps1         v2.0 launcher
`-- verify-elevated.ps1  Checks Security log collection when elevated

Requirements

  • Windows 10 or Windows 11
  • PowerShell 5.1 or newer
  • Python 3.10 or newer

If PowerShell blocks a launcher, allow scripts only for the current terminal:

Set-ExecutionPolicy -Scope Process Bypass

Administrator Rights

Windows restricts the Security event log to elevated processes. That log is the source of the logon, privilege, and account events these tools are built around, so start SentinelOps from an elevated PowerShell window to analyze it:

Start-Process powershell -Verb RunAs

Being signed in as an Administrator is not sufficient on its own. Under User Account Control, an ordinary PowerShell window runs with a filtered standard-user token even for an administrator account, and the Security log is denied to it. Check which case you are in with:

[Security.Principal.WindowsPrincipal]::new([Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

False means the window is not elevated, regardless of your account type.

To confirm elevated collection actually works, run this from an elevated window:

.\verify-elevated.ps1

It checks Get-WinEvent directly, then starts each application on a temporary port and database and collects from the Security channel through both APIs, cleaning up afterwards. It refuses to run unelevated rather than reporting a misleading pass. The automated test suite cannot cover this path, because it requires rights the test runner does not have.

Without elevation everything else still works. The System, Application, PowerShell, Defender, and Sysmon channels are readable normally, EVTX import is unaffected, and a collection from Security returns a clear "requires Administrator rights" error rather than an empty result. Both /api/status and /api/v2/status report elevated and restrictedChannels so you can tell before running a collection.

Security Posture

SentinelOps is a local-first, single-user analyst tool. It has no authentication, authorization, or multi-user model.

  • Both applications bind to 127.0.0.1 only, and both reject requests whose Host or Origin header is not the local service. That blocks cross-site requests and DNS rebinding from a malicious web page, on GET, HEAD, and POST alike.
  • SQLite databases stay on the local computer and are excluded from Git.
  • Do not expose either service to a network or the internet. Every API endpoint is anonymous, and on Windows both collection endpoints read local event logs. Remote exposure would require an authentication layer that this project does not implement.
  • Do not publish databases or logs collected from real systems, because they may contain sensitive information.

License

SentinelOps source code is available under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages