nano ships as a Ludus source. Add it to any range and ludus range deploy stands up the lab already wired for telemetry — Vector agents on every endpoint, a Conduit system proxy on the wire, all landing in nano's open-core SIEM.
fig 01 — A Ludus range, fully instrumented and streaming to nano.
Why together
Two halves of one range.
Ludus owns the lab — provisioning, blueprints, isolation, snapshots. nano owns the visibility — collection, storage, search, detection, investigation. The nano source is what joins them: one ludus range deploy and the range comes up already watching itself.
· the range
Stand up the lab.
01One static binary on Proxmox — open source, fully documented.
02Realistic AD enterprises — Win 11, Windows Servers, a DC — in minutes.
03Define it in a blueprint; scale to whatever the engagement needs.
04Isolated per range. Snapshot, reset, redeploy at will.
nano source
· the visibility
See everything it does.
01Vector agents collect Sysmon & EventLog from every endpoint.
02A Conduit system proxy logs every HTTP/S session on the wire.
03It all lands in nano's open core — ClickHouse + Postgres.
04Search, run detections, and let pivt drive the investigation.
Setup flow
From source to live telemetry.
Add the nano source, pick a blueprint, deploy. Ludus provisions the VMs and runs the roles; the nano source installs the agents, attaches the proxy, and brings the SIEM up — no extra wiring.
01 · Add source
source
ludus source addnano-rs/nano-ludusblueprints · roles
02 · Blueprint
debian · proxy + SIEMwindows 11windows server ×2+ scale freely
03 · Deploy
ludus range deploy▸ provision VMs▸ install Vector agents▸ attach Conduit proxy
04 · nano live
SIEM · self-hosted
clickhouse + postgressearch · detections▸ telemetry live
fig 02 — From source add to live telemetry in four steps.
The deployed range
One box runs the watch.
Out of the box the blueprint lays down a Debian host that carries the Conduit proxy, the Vector aggregator, and the nano stack — and a handful of Windows targets that route through it. Every box is one VM in your range; add or remove them freely.
range · isolated vlan 10.2.0.0/16
Windows 11
workstation · 10.2.7.14
vector agent · sysmon
Win Server · DC
srv-dc01 · 10.2.10.5
vector agent · eventlog
Win Server · App
srv-app02 · 10.2.10.8
vector agent · sysmon
logs + proxied traffic ↓
Debian 12 · gateway + SIEM host10.2.0.2
single VM
Conduit
system proxy
MITM · TLS intercept logs every session
Vector
aggregator
collects agents routes & ships
SIEM
clickhouse + postgres
store · search detect · investigate
fig 03 — The default blueprint: one Debian box runs the proxy, the aggregator, and nano.
The Conduit proxy
Nothing leaves the range unseen.
Conduit is a full system proxy. Endpoints are configured to route through it, so every request — plaintext or TLS — is intercepted, logged, and shipped to nano alongside the host telemetry. Beacon check-ins, tool downloads, exfil attempts: all on the record.
endpoint
system proxy 10.2.0.2:8080
intercept
Conduit
decrypt · log re-encrypt · fwd
› CONNECT update.acme.lab:443 via conduit
› tls intercept · sni=update.acme.lab logged
› GET /payload.exe · 1.8 MB · flagged
› ship conduit.http ▸ nano
01
Full system proxy
Every endpoint routes through Conduit, so coverage isn't per-app — it's the whole box.
02
TLS intercept
With the range CA trusted, HTTPS is decrypted, recorded, and re-encrypted on the way out.
03
Correlated in nano
Proxy logs land beside Sysmon and EventLog, so a process and its network is one query.
04
Optional, per blueprint
Turn the proxy on or off in the blueprint — host telemetry keeps flowing either way.
fig 04 — Conduit sits inline as the range's system proxy; every session is logged.
Purple in one box
Run the attack. Watch it land.
Because the range watches itself, the feedback loop is immediate. Fire a technique on the red side and the telemetry shows up in nano on the blue side — ready to tune a detection or practice an investigation.
# source.yml: repo-level metadata. The whole file is optional.
# When absent, Ludus derives name from the URL and homepage
# from the git remote.
manifest_version: 1 # schema version, leave as 1name:"nano SIEM"# display name in source listdescription:"Active Directory lab with Windows
Sysmon/EventLog collection shipped via Vector agent
to a Vector aggregator and into the nano open-core
SIEM stack (ClickHouse + Postgres), plus an optional
Conduit MITM proxy."authors:
- "nano-rs <https://nano.rs>"homepage: https://github.com/nano-rs/nano-ludus
license: Apache-2.0 # SPDX identifier
What you get
A range that teaches you.
01 · Red & purple
Ground truth for every technique.
Run an attack and see exactly what it generates — host events and proxied traffic, correlated. Tune detections against real signal, not guesswork.
02 · Blue team
Learn nano on a live SIEM.
A safe, disposable environment to get fluent in search, detections, and pivt-driven investigations — with data you generated yourself.
03 · Control
Open core, self-hosted.
Ludus and nano both run on your own hardware. No cloud dependency, no per-seat tax — snapshot, reset, and redeploy as often as you like.
×
Add the source. Deploy the range.
Stand up a cyber range that watches itself — Vector agents, a Conduit proxy, and nano, in one range deploy. Self-hosted, open core, yours to break.