Compare commits
45 Commits
v0.1.0
...
fe6b349e5e
| Author | SHA1 | Date | |
|---|---|---|---|
| fe6b349e5e | |||
| 65b220fdbe | |||
| 6f10e7556f | |||
| fc99375c62 | |||
| 6bdb5922fa | |||
| 32b06afef6 | |||
| 31e0c5151b | |||
| cc3d434c02 | |||
| 1b5d366b38 | |||
| 168ecf14ab | |||
| db9a2699b9 | |||
| d139729fa2 | |||
| dd363629ab | |||
| c544964f57 | |||
| 6e19848723 | |||
| e24da92e0f | |||
| 47f0e6da8f | |||
| 18de381a43 | |||
| 1f5c6604d6 | |||
| a9c7ddec2b | |||
| eb4be44c9a | |||
| 1a2ad27eca | |||
| b1f09b9c6a | |||
| 3656a89d60 | |||
| ba2faba5d5 | |||
| 950280a97b | |||
| 7bc8d75242 | |||
| 5f637b5272 | |||
| 6ed92d080f | |||
| 1b593920cd | |||
| bad90dfb75 | |||
| 05e71f6d2e | |||
| 52c26a2891 | |||
| 81135cb861 | |||
| 50e53120df | |||
| 697929a127 | |||
| b46934db46 | |||
| 5b990743db | |||
| fbb16a960c | |||
| c32ad82d0a | |||
| 850a6f2ad7 | |||
| d344e4c8bb | |||
| f8a9f8fc64 | |||
| a428410c8e | |||
| e5a6c2d9a7 |
11
.env.example
Normal file
11
.env.example
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# API Options
|
||||||
|
DECNET_API_HOST=0.0.0.0
|
||||||
|
DECNET_API_PORT=8000
|
||||||
|
DECNET_JWT_SECRET=supersecretkey12345
|
||||||
|
DECNET_INGEST_LOG_FILE=/var/log/decnet/decnet.log
|
||||||
|
|
||||||
|
# Web Dashboard Options
|
||||||
|
DECNET_WEB_HOST=0.0.0.0
|
||||||
|
DECNET_WEB_PORT=8080
|
||||||
|
DECNET_ADMIN_USER=admin
|
||||||
|
DECNET_ADMIN_PASSWORD=admin
|
||||||
@@ -3,6 +3,9 @@ name: CI
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [dev, testing]
|
branches: [dev, testing]
|
||||||
|
paths-ignore:
|
||||||
|
- "**/*.md"
|
||||||
|
- "docs/**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
@@ -27,7 +30,7 @@ jobs:
|
|||||||
- uses: actions/setup-python@v5
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
- run: pip install -e .
|
- run: pip install -e .[dev]
|
||||||
- run: pytest tests/ -v --tb=short
|
- run: pytest tests/ -v --tb=short
|
||||||
|
|
||||||
bandit:
|
bandit:
|
||||||
@@ -50,7 +53,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: "3.11"
|
python-version: "3.11"
|
||||||
- run: pip install pip-audit
|
- run: pip install pip-audit
|
||||||
- run: pip install -e .
|
- run: pip install -e .[dev]
|
||||||
- run: pip-audit --skip-editable
|
- run: pip-audit --skip-editable
|
||||||
|
|
||||||
open-pr:
|
open-pr:
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ name: PR Gate
|
|||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
|
paths-ignore:
|
||||||
|
- "**/*.md"
|
||||||
|
- "docs/**"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
|
|||||||
@@ -3,6 +3,9 @@ name: Release
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main]
|
branches: [main]
|
||||||
|
paths-ignore:
|
||||||
|
- "**/*.md"
|
||||||
|
- "docs/**"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
REGISTRY: git.resacachile.cl
|
REGISTRY: git.resacachile.cl
|
||||||
|
|||||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -13,6 +13,9 @@ decnet.log*
|
|||||||
*.loggy
|
*.loggy
|
||||||
*.nmap
|
*.nmap
|
||||||
linterfails.log
|
linterfails.log
|
||||||
test-scan
|
|
||||||
webmail
|
webmail
|
||||||
windows1
|
windows1
|
||||||
|
*.db
|
||||||
|
decnet.json
|
||||||
|
.env
|
||||||
|
.env.local
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
CI/CD TEST 2
|
|
||||||
103
GEMINI.md
Normal file
103
GEMINI.md
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
# DECNET (Deception Network) Project Context
|
||||||
|
|
||||||
|
DECNET is a high-fidelity honeypot framework designed to deploy heterogeneous fleets of fake machines (called **deckies**) that appear as real hosts on a local network.
|
||||||
|
|
||||||
|
## Project Overview
|
||||||
|
|
||||||
|
- **Core Purpose:** To lure, profile, and log attacker interactions within a controlled, deceptive environment.
|
||||||
|
- **Key Technology:** Linux-native container networking (MACVLAN/IPvlan) combined with Docker to give each decoy its own MAC address, IP, and realistic TCP/IP stack behavior.
|
||||||
|
- **Main Components:**
|
||||||
|
- **Deckies:** Group of containers sharing a network namespace (one base container + multiple service containers).
|
||||||
|
- **Archetypes:** Pre-defined machine profiles (e.g., `windows-workstation`, `linux-server`) that bundle services and OS fingerprints.
|
||||||
|
- **Services:** Modular honeypot plugins (SSH, SMB, RDP, etc.) built as `BaseService` subclasses.
|
||||||
|
- **OS Fingerprinting:** Sysctl-based TCP/IP stack tuning to spoof OS detection (nmap).
|
||||||
|
- **Logging Pipeline:** RFC 5424 syslog forwarding to an isolated SIEM/ELK stack.
|
||||||
|
|
||||||
|
## Technical Stack
|
||||||
|
|
||||||
|
- **Language:** Python 3.11+
|
||||||
|
- **CLI Framework:** [Typer](https://typer.tiangolo.com/)
|
||||||
|
- **Data Validation:** [Pydantic v2](https://docs.pydantic.dev/)
|
||||||
|
- **Orchestration:** Docker Engine 24+ (via Docker SDK for Python)
|
||||||
|
- **Networking:** MACVLAN (default) or IPvlan L2 (for WiFi/restricted environments).
|
||||||
|
- **Testing:** Pytest (100% pass requirement).
|
||||||
|
- **Formatting/Linting:** Ruff, Bandit (SAST), pip-audit.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
```text
|
||||||
|
Host NIC (eth0)
|
||||||
|
└── MACVLAN Bridge
|
||||||
|
├── Decky-01 (192.168.1.10) -> [Base] + [SSH] + [HTTP]
|
||||||
|
├── Decky-02 (192.168.1.11) -> [Base] + [SMB] + [RDP]
|
||||||
|
└── ...
|
||||||
|
```
|
||||||
|
|
||||||
|
- **Base Container:** Owns the IP/MAC, sets `sysctls` for OS spoofing, and runs `sleep infinity`.
|
||||||
|
- **Service Containers:** Use `network_mode: service:<base>` to share the identity and networking of the base container.
|
||||||
|
- **Isolation:** Decoy traffic is strictly separated from the logging network.
|
||||||
|
|
||||||
|
## Key Commands
|
||||||
|
|
||||||
|
### Development & Maintenance
|
||||||
|
- **Install (Dev):**
|
||||||
|
- `rm .venv -rf`
|
||||||
|
- `python3 -m venv .venv`
|
||||||
|
- `source .venv/bin/activate`
|
||||||
|
- `pip install -e .`
|
||||||
|
- **Run Tests:** `pytest` (Run before any commit)
|
||||||
|
- **Linting:** `ruff check .`
|
||||||
|
- **Security Scan:** `bandit -r decnet/`
|
||||||
|
- **Web Git:** git.resacachile.cl (Gitea)
|
||||||
|
|
||||||
|
### CLI Usage
|
||||||
|
- **List Services:** `decnet services`
|
||||||
|
- **List Archetypes:** `decnet archetypes`
|
||||||
|
- **Dry Run (Compose Gen):** `decnet deploy --deckies 3 --randomize-services --dry-run`
|
||||||
|
- **Deploy (Full):** `sudo .venv/bin/decnet deploy --interface eth0 --deckies 5 --randomize-services`
|
||||||
|
- **Status:** `decnet status`
|
||||||
|
- **Teardown:** `sudo .venv/bin/decnet teardown --all`
|
||||||
|
|
||||||
|
## Development Conventions
|
||||||
|
|
||||||
|
- **Code Style:**
|
||||||
|
- Strict adherence to Ruff/PEP8.
|
||||||
|
- **Always use typed variables**. If any non-types variables are found, they must be corrected.
|
||||||
|
- The correct way is `x: int = 1`, never `x : int = 1`.
|
||||||
|
- If assignment is present, always use a space between the type and the equal sign `x: int = 1`.
|
||||||
|
- **Never** use lowercase L (l), uppercase o (O) or uppercase i (i) in single-character names.
|
||||||
|
- **Internal vars are to be declared with an underscore** (_internal_variable_name).
|
||||||
|
- **Internal to internal vars are to be declared with double underscore** (__internal_variable_name).
|
||||||
|
- Always use snake_case for code.
|
||||||
|
- Always use PascalCase for classes and generics.
|
||||||
|
- **Testing:** New features MUST include a `pytest` case. 100% test pass rate is mandatory before merging.
|
||||||
|
- **Plugin System:**
|
||||||
|
- New services go in `decnet/services/<name>.py`.
|
||||||
|
- Subclass `decnet.services.base.BaseService`.
|
||||||
|
- The registry uses auto-discovery; no manual registration required.
|
||||||
|
- **Configuration:**
|
||||||
|
- Use Pydantic models in `decnet/config.py` for any new settings.
|
||||||
|
- INI file parsing is handled in `decnet/ini_loader.py`.
|
||||||
|
- **State Management:**
|
||||||
|
- Runtime state is persisted in `decnet-state.json`.
|
||||||
|
- Do not modify this file manually.
|
||||||
|
- **General Development Guidelines**:
|
||||||
|
- **Never** commit broken code.
|
||||||
|
- **No matter how small** the changes, they must be committed.
|
||||||
|
- **If new features are addedd** new tests must be added, too.
|
||||||
|
- **Never present broken code to the user**. Test, validate, then present.
|
||||||
|
- **Extensive testing** for every function must be created.
|
||||||
|
- **Always develop in the `dev` branch, never in `main`.**
|
||||||
|
- **Test in the `testing` branch.**
|
||||||
|
|
||||||
|
## Directory Structure
|
||||||
|
|
||||||
|
- `decnet/`: Main source code.
|
||||||
|
- `services/`: Honeypot service implementations.
|
||||||
|
- `logging/`: Syslog formatting and forwarding logic.
|
||||||
|
- `correlation/`: (In Progress) Logic for grouping attacker events.
|
||||||
|
- `templates/`: Dockerfiles and entrypoint scripts for services.
|
||||||
|
- `tests/`: Pytest suite.
|
||||||
|
- `pyproject.toml`: Dependency and entry point definitions.
|
||||||
|
- `CLAUDE.md`: Claude-specific environment guidance.
|
||||||
|
- `DEVELOPMENT.md`: Roadmap and TODOs.
|
||||||
113
NOTES.md
113
NOTES.md
@@ -1,113 +0,0 @@
|
|||||||
# Initial steps
|
|
||||||
|
|
||||||
# Architecture
|
|
||||||
|
|
||||||
## DECNET-UNIHOST model
|
|
||||||
|
|
||||||
The unihost model is a mode in which DECNET deploys an _n_ amount of machines from a single one. This execution model lives in a decoy network which is accessible to an attacker from the outside.
|
|
||||||
|
|
||||||
Each decky (the son of the DECNET unihost) should have different services (RDP, SMB, SSH, FTP, etc) and all of them should communicate with an external, isolated network, which aggregates data and allows
|
|
||||||
visualizations to be made. Think of the ELK stack. That data is then passed back via Logstash or other methods to a SIEM device or something else that may be beneficiated by this collected data.
|
|
||||||
|
|
||||||
## DECNET-MULTIHOST (SWARM) model
|
|
||||||
|
|
||||||
The SWARM model is similar to the UNIHOST model, but the difference is that instead of one real machine, we have n>1 machines. Same thought process really, but deployment may be different.
|
|
||||||
A low cost option and fairly automatable one is the usage of Ansible, sshpass, or other tools.
|
|
||||||
|
|
||||||
# Modus operandi
|
|
||||||
|
|
||||||
## Docker-Compose
|
|
||||||
|
|
||||||
I will use Docker Compose extensively for this project. The reasons are:
|
|
||||||
- Easily managed.
|
|
||||||
- Easily extensible.
|
|
||||||
- Less overhead.
|
|
||||||
|
|
||||||
To be completely transparent: I asked Deepseek to write the initial `docker-compose.yml` file. It was mostly boilerplate, and most of it mainly modified or deleted. It doesn't exist anymore.
|
|
||||||
|
|
||||||
## Distro to use.
|
|
||||||
|
|
||||||
I will be using the `debian:bookworm-slim` image for all the containers. I might think about mixing in there some Ubuntu or a Centos, but for now, Debian will do just fine.
|
|
||||||
|
|
||||||
The distro I'm running is WSL Kali Linux. Let's hope this doesn't cause any problems down the road.
|
|
||||||
|
|
||||||
## Networking
|
|
||||||
|
|
||||||
It was a hussle, but I think MACVLAN or IPVLAN (thanks @Deepseek!) might work. The reasoning behind picking this networking driver is that for the project to work, it requires having containers the entire container accessible from the network. This is to attempt to masquarede them as real, live machines.
|
|
||||||
|
|
||||||
Now, we will need a publicly accesible, real server that has access to this "internal" network. I'll try MACVLAN first.
|
|
||||||
|
|
||||||
### MACVLAN Tests
|
|
||||||
|
|
||||||
I will first use the default network to see what happens.
|
|
||||||
|
|
||||||
```
|
|
||||||
docker network create -d macvlan \
|
|
||||||
--subnet=192.168.1.0/24 \
|
|
||||||
--gateway=192.168.1.1 \
|
|
||||||
-o parent=eth0 localnet
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Issues
|
|
||||||
|
|
||||||
This initial test doesn't seem to be working. Might be that I'm using WSL, so I downloaded a Ubuntu 22.04 Server ISO. I'll try the MACVLAN network on it. Now, if that doesn't work, I don't see how the 802.1q would work, at least on _my network_. Perhaps if I had a switch I could make it work, but currently I don't have one :c
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# TODO
|
|
||||||
|
|
||||||
## Core / Hardening
|
|
||||||
|
|
||||||
- [ ] **Attacker fingerprinting** — Beyond IP logging: capture TLS JA3/JA4 hashes, TCP window sizes, User-Agent strings, SSH client banners, and tool signatures (nmap, masscan, Metasploit, Cobalt Strike). Build attacker profiles across sessions.
|
|
||||||
- [ ] **Canary tokens** — Embed canary URLs, fake AWS keys, fake API tokens, and honeydocs (PDF/DOCX with phone-home URLs) into decky filesystems. Fire an alert the moment one is used.
|
|
||||||
- [ ] **Tarpit mode** — Slow down attackers by making services respond extremely slowly (e.g., SSH that takes 60s to reject, HTTP that drip-feeds bytes). Wastes attacker time and resources.
|
|
||||||
- [ ] **Dynamic decky mutation** — Deckies that change their exposed services or OS fingerprint over time to confuse port-scan caching and appear more "alive."
|
|
||||||
- [ ] **Credential harvesting DB** — Every username/password attempt across all services lands in a queryable database. Expose via CLI (`decnet creds`) and flag reuse across deckies.
|
|
||||||
- [ ] **Session recording** — Full session capture for SSH/Telnet (keystroke logs, commands run, files downloaded). Cowrie already does this — surface it better in the CLI and correlation engine.
|
|
||||||
- [ ] **Payload capture** — Store every file uploaded or command executed by an attacker. Hash and auto-submit to VirusTotal or a local sandbox.
|
|
||||||
|
|
||||||
## Detection & Intelligence
|
|
||||||
|
|
||||||
- [ ] **Real-time alerting** — Webhook/Slack/Telegram notifications when an attacker hits a decky for the first time, crosses N deckies (lateral movement), or uses a known bad IP.
|
|
||||||
- [ ] **Threat intel enrichment** — Auto-lookup attacker IPs against AbuseIPDB, Shodan, GreyNoise, and AlienVault OTX. Tag known scanners vs. targeted attackers.
|
|
||||||
- [ ] **Attack campaign clustering** — Group attacker sessions by tooling signatures, timing patterns, and credential sets. Identify coordinated campaigns hitting multiple deckies.
|
|
||||||
- [ ] **GeoIP mapping** — Attacker origin on a world map. Correlate with ASN data to identify cloud exit nodes, VPNs, and Tor exits.
|
|
||||||
- [ ] **TTPs tagging** — Map observed attacker behaviors to MITRE ATT&CK techniques automatically. Tag events in the correlation engine.
|
|
||||||
- [ ] **Honeypot interaction scoring** — Score attackers on a scale: casual scanner vs. persistent targeted attacker, based on depth of interaction and commands run.
|
|
||||||
|
|
||||||
## Dashboard & Visibility
|
|
||||||
|
|
||||||
- [ ] **Web dashboard** — Real-time web UI showing live decky status, attacker activity, traversal graphs, and credential stats. Could be a simple FastAPI + HTMX or a full React app.
|
|
||||||
- [ ] **Pre-built Kibana/Grafana dashboards** — Ship dashboard JSON exports out of the box so ELK/Grafana deployments are plug-and-play.
|
|
||||||
- [ ] **CLI live feed** — `decnet watch` command: tail all decky logs in a unified, colored terminal stream (like `docker-compose logs -f` but prettier).
|
|
||||||
- [ ] **Traversal graph export** — Export attacker traversal graphs as DOT/Graphviz or JSON for visualization in external tools.
|
|
||||||
- [ ] **Daily digest** — Automated daily summary email/report: new attackers, top credentials tried, most-hit services.
|
|
||||||
|
|
||||||
## Deployment & Infrastructure
|
|
||||||
|
|
||||||
- [ ] **SWARM / multihost mode** — Full Ansible-based orchestration for deploying deckies across N real hosts.
|
|
||||||
- [ ] **Terraform/Pulumi provider** — Spin up cloud-hosted deckies on AWS/GCP/Azure with one command. Useful for internet-facing honeynets.
|
|
||||||
- [ ] **Auto-scaling** — When attack traffic increases, automatically spawn more deckies to absorb and log more activity.
|
|
||||||
- [ ] **Kubernetes deployment mode** — Run deckies as Kubernetes pods for environments already running k8s.
|
|
||||||
- [ ] **Proxmox/libvirt backend** — Full VM-based deckies instead of containers, for even more realistic OS fingerprints and behavior. Docker for speed; VMs for realism.
|
|
||||||
- [ ] **Raspberry Pi / ARM support** — Low-cost physical honeynets using RPis. Validate ARM image builds.
|
|
||||||
- [ ] **Decky health monitoring** — Watchdog that auto-restarts crashed deckies and alerts if a service goes dark.
|
|
||||||
|
|
||||||
## Services & Realism
|
|
||||||
|
|
||||||
- [ ] **HTTPS/TLS support** — HTTP honeypot with a self-signed or Let's Encrypt cert. Many real-world services use HTTPS; plain HTTP stands out.
|
|
||||||
- [ ] **Fake Active Directory** — A convincing fake AD/LDAP with fake users, groups, and GPOs. Attacker tools like BloodHound should get juicy (fake) data.
|
|
||||||
- [ ] **Fake file shares** — SMB/NFS shares pre-populated with enticing but fake files: "passwords.xlsx", "vpn_config.ovpn", "backup_keys.tar.gz". All instrumented to detect access.
|
|
||||||
- [ ] **Realistic web apps** — HTTP honeypot serving convincing fake apps: a fake WordPress, a fake phpMyAdmin, a fake Grafana login — all logging every interaction.
|
|
||||||
- [ ] **OT/ICS profiles** — Expand Conpot support: Modbus, DNP3, BACnet, EtherNet/IP. Convincing industrial control system decoys.
|
|
||||||
- [ ] **Printer/IoT archetypes** — Expand existing printer/camera archetypes with actual service emulation (IPP, ONVIF, WS-Discovery).
|
|
||||||
- [ ] **Service interaction depth** — Some services currently just log the connection. Deepen interaction: fake MySQL that accepts queries and returns realistic fake data, fake Redis that stores and retrieves dummy keys.
|
|
||||||
|
|
||||||
## Developer Experience
|
|
||||||
|
|
||||||
- [ ] **Plugin SDK docs** — Full documentation and an example plugin for adding custom services. Lower the barrier for community contributions.
|
|
||||||
- [ ] **Integration tests** — Full deploy/teardown cycle tests against a real Docker daemon (not just unit tests).
|
|
||||||
- [ ] **Per-service tests** — Each of the 29 service implementations deserves its own test coverage.
|
|
||||||
- [ ] **CI/CD pipeline** — GitHub/Gitea Actions: run tests on push, lint, build Docker images, publish releases.
|
|
||||||
- [ ] **Config validation CLI** — `decnet validate my.ini` to dry-check an INI config before deploying.
|
|
||||||
- [ ] **Config generator wizard** — `decnet wizard` interactive prompt to generate an INI config without writing one by hand.
|
|
||||||
52
README.md
52
README.md
@@ -69,7 +69,7 @@ From the outside a decky looks identical to a real machine: it has its own MAC a
|
|||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone <repo-url> DECNET
|
git clone https://git.resacachile.cl/anti/DECNET
|
||||||
cd DECNET
|
cd DECNET
|
||||||
pip install -e .
|
pip install -e .
|
||||||
```
|
```
|
||||||
@@ -207,6 +207,26 @@ sudo decnet deploy --deckies 4 --archetype windows-workstation
|
|||||||
[corp-workstations]
|
[corp-workstations]
|
||||||
archetype = windows-workstation
|
archetype = windows-workstation
|
||||||
amount = 4
|
amount = 4
|
||||||
|
|
||||||
|
[win-fileserver]
|
||||||
|
services = ftp
|
||||||
|
nmap_os = windows
|
||||||
|
os_version = Windows Server 2019
|
||||||
|
|
||||||
|
[dbsrv01]
|
||||||
|
ip = 192.168.1.112
|
||||||
|
services = mysql, http
|
||||||
|
nmap_os = linux
|
||||||
|
|
||||||
|
[dbsrv01.http]
|
||||||
|
server_header = Apache/2.4.54 (Debian)
|
||||||
|
response_code = 200
|
||||||
|
fake_app = wordpress
|
||||||
|
|
||||||
|
[dbsrv01.mysql]
|
||||||
|
mysql_version = 5.7.38-log
|
||||||
|
mysql_banner = MySQL Community Server
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -470,6 +490,30 @@ See [`test-full.ini`](test-full.ini) — covers all 25 services across 10 role-t
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Environment Configuration (.env)
|
||||||
|
|
||||||
|
DECNET supports loading configuration from `.env.local` and `.env` files located in the project root. This is useful for securing secrets like the JWT key and configuring default ports without passing flags every time.
|
||||||
|
|
||||||
|
An example `.env.example` is provided:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
# API Options
|
||||||
|
DECNET_API_HOST=0.0.0.0
|
||||||
|
DECNET_API_PORT=8000
|
||||||
|
DECNET_JWT_SECRET=supersecretkey12345
|
||||||
|
DECNET_INGEST_LOG_FILE=/var/log/decnet/decnet.log
|
||||||
|
|
||||||
|
# Web Dashboard Options
|
||||||
|
DECNET_WEB_HOST=0.0.0.0
|
||||||
|
DECNET_WEB_PORT=8080
|
||||||
|
DECNET_ADMIN_USER=admin
|
||||||
|
DECNET_ADMIN_PASSWORD=admin
|
||||||
|
```
|
||||||
|
|
||||||
|
Copy `.env.example` to `.env.local` and modify it to suit your environment.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Logging
|
## Logging
|
||||||
|
|
||||||
All attacker interactions are forwarded off the decoy network to an isolated logging sink. The log pipeline lives on a separate internal Docker bridge (`decnet_logs`) that is not reachable from the fake LAN.
|
All attacker interactions are forwarded off the decoy network to an isolated logging sink. The log pipeline lives on a separate internal Docker bridge (`decnet_logs`) that is not reachable from the fake LAN.
|
||||||
@@ -631,3 +675,9 @@ The test suite covers:
|
|||||||
| `test_cli_service_pool.py` | CLI service resolution |
|
| `test_cli_service_pool.py` | CLI service resolution |
|
||||||
|
|
||||||
Every new feature requires passing tests before merging.
|
Every new feature requires passing tests before merging.
|
||||||
|
|
||||||
|
# AI Disclosure
|
||||||
|
|
||||||
|
This project has been made with lots, and I mean lots of help from AIs. While most of the design was made by me, most of the coding was done by AI models.
|
||||||
|
|
||||||
|
Nevertheless, this project will be kept under high scrutiny by humans.
|
||||||
|
|||||||
159
decnet.log
159
decnet.log
@@ -1,159 +0,0 @@
|
|||||||
<134>1 2026-04-04T07:40:53.045660+00:00 decky-devops k8s - startup - Kubernetes API server starting as decky-devops
|
|
||||||
<134>1 2026-04-04T07:40:53.058000+00:00 decky-devops docker_api - startup - Docker API server starting as decky-devops
|
|
||||||
<134>1 2026-04-04T07:40:53.147349+00:00 decky-legacy vnc - startup - VNC server starting as decky-legacy
|
|
||||||
<134>1 2026-04-04T07:40:53.224094+00:00 decky-fileserv tftp - startup - TFTP server starting as decky-fileserv
|
|
||||||
<134>1 2026-04-04T07:40:53.231313+00:00 decky-fileserv ftp - startup - FTP server starting as decky-fileserv on port 21
|
|
||||||
<134>1 2026-04-04T07:40:53.237175+00:00 decky-fileserv smb - startup - SMB server starting as decky-fileserv
|
|
||||||
<134>1 2026-04-04T07:40:53.331998+00:00 decky-webmail imap - startup - IMAP server starting as decky-webmail
|
|
||||||
<134>1 2026-04-04T07:40:53.441710+00:00 decky-webmail http - startup - HTTP server starting as decky-webmail
|
|
||||||
<134>1 2026-04-04T07:40:53.482287+00:00 decky-webmail smtp - startup - SMTP server starting as decky-webmail
|
|
||||||
<134>1 2026-04-04T07:40:53.487752+00:00 decky-webmail pop3 - startup - POP3 server starting as decky-webmail
|
|
||||||
<134>1 2026-04-04T07:40:53.493478+00:00 decky-iot mqtt - startup - MQTT server starting as decky-iot
|
|
||||||
<134>1 2026-04-04T07:40:53.519136+00:00 decky-iot snmp - startup - SNMP server starting as decky-iot
|
|
||||||
<134>1 2026-04-04T07:40:53.586186+00:00 decky-voip sip - startup - SIP server starting as decky-voip
|
|
||||||
<134>1 2026-04-04T07:40:53.734237+00:00 decky-dbsrv02 postgres - startup - PostgreSQL server starting as decky-dbsrv02
|
|
||||||
<134>1 2026-04-04T07:40:53.746573+00:00 decky-voip llmnr - startup - LLMNR/mDNS server starting as decky-voip
|
|
||||||
<134>1 2026-04-04T07:40:53.792767+00:00 decky-dbsrv02 elasticsearch - startup - Elasticsearch server starting as decky-dbsrv02
|
|
||||||
<134>1 2026-04-04T07:40:53.817558+00:00 decky-dbsrv02 mongodb - startup - MongoDB server starting as decky-dbsrv02
|
|
||||||
<134>1 2026-04-04T07:40:53.848912+00:00 decky-ldapdc ldap - startup - LDAP server starting as decky-ldapdc
|
|
||||||
<134>1 2026-04-04T07:40:53.860378+00:00 decky-winbox rdp - startup - RDP server starting as decky-winbox on port 3389
|
|
||||||
<134>1 2026-04-04T07:40:53.911084+00:00 decky-winbox mssql - startup - MSSQL server starting as decky-winbox
|
|
||||||
<134>1 2026-04-04T07:40:53.978994+00:00 decky-winbox smb - startup - SMB server starting as decky-winbox
|
|
||||||
<134>1 2026-04-04T07:41:07.439918+00:00 decky-webmail pop3 - connect [decnet@55555 src="192.168.1.5" src_port="46462"]
|
|
||||||
<134>1 2026-04-04T07:41:07.439922+00:00 decky-webmail imap - connect [decnet@55555 src="192.168.1.5" src_port="54734"]
|
|
||||||
<134>1 2026-04-04T07:41:07.439868+00:00 decky-webmail smtp - connect [decnet@55555 src="192.168.1.5" src_port="54606"]
|
|
||||||
<134>1 2026-04-04T07:41:07.440333+00:00 decky-fileserv ftp - connection [decnet@55555 src_ip="192.168.1.5" src_port="39736"]
|
|
||||||
<134>1 2026-04-04T07:41:07.442465+00:00 decky-webmail smtp - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:13.446744+00:00 decky-webmail imap - command [decnet@55555 src="192.168.1.5" cmd="GET / HTTP/1.0"]
|
|
||||||
<134>1 2026-04-04T07:41:13.446743+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd=""]
|
|
||||||
<134>1 2026-04-04T07:41:13.447251+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd=""]
|
|
||||||
<134>1 2026-04-04T07:41:13.446995+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/" remote_addr="192.168.1.5" headers="{}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:13.447556+00:00 decky-fileserv ftp - disconnect [decnet@55555 src_ip="192.168.1.5" src_port="39736"]
|
|
||||||
<134>1 2026-04-04T07:41:18.451412+00:00 decky-webmail imap - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:18.451529+00:00 decky-webmail pop3 - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:18.451729+00:00 decky-webmail imap - connect [decnet@55555 src="192.168.1.5" src_port="55996"]
|
|
||||||
<134>1 2026-04-04T07:41:18.451746+00:00 decky-webmail pop3 - connect [decnet@55555 src="192.168.1.5" src_port="36592"]
|
|
||||||
<134>1 2026-04-04T07:41:18.451844+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd="OPTIONS / HTTP/1.0"]
|
|
||||||
<134>1 2026-04-04T07:41:18.451928+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd=""]
|
|
||||||
<134>1 2026-04-04T07:41:23.456442+00:00 decky-webmail pop3 - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:23.456408+00:00 decky-webmail imap - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:24.734697+00:00 decky-webmail pop3 - connect [decnet@55555 src="192.168.1.5" src_port="36604"]
|
|
||||||
<134>1 2026-04-04T07:41:24.736542+00:00 decky-webmail pop3 - connect [decnet@55555 src="192.168.1.5" src_port="36606"]
|
|
||||||
<134>1 2026-04-04T07:41:24.737069+00:00 decky-webmail smtp - connect [decnet@55555 src="192.168.1.5" src_port="56204"]
|
|
||||||
<134>1 2026-04-04T07:41:24.737449+00:00 decky-fileserv ftp - connection [decnet@55555 src_ip="192.168.1.5" src_port="48992"]
|
|
||||||
<134>1 2026-04-04T07:41:24.737834+00:00 decky-fileserv ftp - connection [decnet@55555 src_ip="192.168.1.5" src_port="48994"]
|
|
||||||
<134>1 2026-04-04T07:41:24.738282+00:00 decky-fileserv ftp - connection [decnet@55555 src_ip="192.168.1.5" src_port="49002"]
|
|
||||||
<134>1 2026-04-04T07:41:24.738760+00:00 decky-fileserv ftp - connection [decnet@55555 src_ip="192.168.1.5" src_port="49004"]
|
|
||||||
<134>1 2026-04-04T07:41:24.739240+00:00 decky-webmail pop3 - connect [decnet@55555 src="192.168.1.5" src_port="36622"]
|
|
||||||
<134>1 2026-04-04T07:41:24.741300+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd="STLS"]
|
|
||||||
<134>1 2026-04-04T07:41:24.741346+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd="STLS"]
|
|
||||||
<134>1 2026-04-04T07:41:24.741319+00:00 decky-webmail smtp - ehlo [decnet@55555 src="192.168.1.5" domain="nmap.scanme.org"]
|
|
||||||
<134>1 2026-04-04T07:41:24.741391+00:00 decky-fileserv ftp - user [decnet@55555 username="anonymous"]
|
|
||||||
<134>1 2026-04-04T07:41:24.741474+00:00 decky-fileserv ftp - user [decnet@55555 username="anonymous"]
|
|
||||||
<134>1 2026-04-04T07:41:24.741374+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/nmaplowercheck1775288484" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.741566+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/.git/HEAD" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.741988+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.742327+00:00 decky-webmail http - request [decnet@55555 method="PROPFIND" path="/" remote_addr="192.168.1.5" headers="{'Depth': '0', 'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.742608+00:00 decky-webmail http - request [decnet@55555 method="POST" path="/" remote_addr="192.168.1.5" headers="{'Content-Length': '88', 'Connection': 'close', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Content-Type': 'application/x-www-form-urlencoded', 'Host': '192.168.1.110'}" body="<methodCall> <methodName>system.listMethods</methodName> <params></params> </methodCall>"]
|
|
||||||
<134>1 2026-04-04T07:41:24.742807+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.741701+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/" remote_addr="192.168.1.5" headers="{}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.742699+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.742135+00:00 decky-webmail http - request [decnet@55555 method="POST" path="/sdk" remote_addr="192.168.1.5" headers="{'Content-Length': '441', 'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body="<soap:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Header><operationID>00000001-00000001</operationID></soap:Header><soap:Body><RetrieveServiceContent xmlns=\"urn:internalvim25\"><_this xsi:type=\"ManagedObjectReference\" type=\"ServiceInstance\">ServiceInstance</_this></RetrieveServiceContent></soap:Body></soap:Envelope>"]
|
|
||||||
<134>1 2026-04-04T07:41:24.742460+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'HEAD', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.745408+00:00 decky-webmail pop3 - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:24.745793+00:00 decky-webmail pop3 - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:24.745837+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd="AUTH NTLM"]
|
|
||||||
<134>1 2026-04-04T07:41:24.745797+00:00 decky-fileserv ftp - user [decnet@55555 username="anonymous"]
|
|
||||||
<134>1 2026-04-04T07:41:24.745960+00:00 decky-fileserv ftp - auth_attempt [decnet@55555 username="anonymous" password="IEUser@"]
|
|
||||||
<134>1 2026-04-04T07:41:24.745842+00:00 decky-webmail http - request [decnet@55555 method="FGDH" path="/" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.746083+00:00 decky-webmail smtp - connect [decnet@55555 src="192.168.1.5" src_port="56216"]
|
|
||||||
<134>1 2026-04-04T07:41:24.746041+00:00 decky-webmail imap - connect [decnet@55555 src="192.168.1.5" src_port="56008"]
|
|
||||||
<134>1 2026-04-04T07:41:24.745961+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'GET', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.746514+00:00 decky-fileserv ftp - auth_attempt [decnet@55555 username="anonymous" password="IEUser@"]
|
|
||||||
<134>1 2026-04-04T07:41:24.746245+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/NmapUpperCheck1775288484" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.746723+00:00 decky-fileserv ftp - disconnect [decnet@55555 src_ip="192.168.1.5" src_port="48994"]
|
|
||||||
<134>1 2026-04-04T07:41:24.746073+00:00 decky-webmail http - request [decnet@55555 method="PROPFIND" path="/" remote_addr="192.168.1.5" headers="{'Content-Length': '0', 'Connection': 'close', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Host': '192.168.1.110', 'Depth': '1'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.795603+00:00 decky-webmail pop3 - command [decnet@55555 src="192.168.1.5" cmd="TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA="]
|
|
||||||
<134>1 2026-04-04T07:41:24.795629+00:00 decky-webmail smtp - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:24.795621+00:00 decky-webmail imap - connect [decnet@55555 src="192.168.1.5" src_port="56016"]
|
|
||||||
<134>1 2026-04-04T07:41:24.795604+00:00 decky-fileserv ftp - auth_attempt [decnet@55555 username="anonymous" password="IEUser@"]
|
|
||||||
<134>1 2026-04-04T07:41:24.795738+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.795928+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/robots.txt" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.796118+00:00 decky-webmail http - request [decnet@55555 method="PROPFIND" path="/" remote_addr="192.168.1.5" headers="{'Depth': '0', 'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.845180+00:00 decky-webmail smtp - connect [decnet@55555 src="192.168.1.5" src_port="56226"]
|
|
||||||
<134>1 2026-04-04T07:41:24.845355+00:00 decky-webmail smtp - ehlo [decnet@55555 src="192.168.1.5" domain="nmap.scanme.org"]
|
|
||||||
<134>1 2026-04-04T07:41:24.845379+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'POST', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.894554+00:00 decky-webmail pop3 - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:24.894871+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/Nmap/folder/check1775288484" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.895133+00:00 decky-webmail http - request [decnet@55555 method="POST" path="/" remote_addr="192.168.1.5" headers="{'Content-Length': '0', 'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:24.944224+00:00 decky-webmail smtp - ehlo [decnet@55555 src="192.168.1.5" domain="nmap.scanme.org"]
|
|
||||||
<134>1 2026-04-04T07:41:24.944215+00:00 decky-webmail imap - connect [decnet@55555 src="192.168.1.5" src_port="56032"]
|
|
||||||
<134>1 2026-04-04T07:41:24.944346+00:00 decky-webmail smtp - unknown_command [decnet@55555 src="192.168.1.5" command="HELP"]
|
|
||||||
<134>1 2026-04-04T07:41:24.994175+00:00 decky-webmail imap - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:24.994238+00:00 decky-webmail smtp - connect [decnet@55555 src="192.168.1.5" src_port="56234"]
|
|
||||||
<134>1 2026-04-04T07:41:24.994534+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'PUT', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:25.044450+00:00 decky-webmail smtp - auth_attempt [decnet@55555 src="192.168.1.5" command="AUTH NTLM"]
|
|
||||||
<134>1 2026-04-04T07:41:25.044450+00:00 decky-webmail imap - command [decnet@55555 src="192.168.1.5" cmd="000b AUTHENTICATE NTLM"]
|
|
||||||
<134>1 2026-04-04T07:41:25.044580+00:00 decky-webmail smtp - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:25.044674+00:00 decky-webmail smtp - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:25.093812+00:00 decky-webmail smtp - ehlo [decnet@55555 src="192.168.1.5" domain="nmap.scanme.org"]
|
|
||||||
<134>1 2026-04-04T07:41:25.094022+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/favicon.ico" remote_addr="192.168.1.5" headers="{'Host': '192.168.1.110', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Connection': 'close'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:25.142989+00:00 decky-webmail imap - command [decnet@55555 src="192.168.1.5" cmd="TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA="]
|
|
||||||
<134>1 2026-04-04T07:41:25.143126+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'DELETE', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:25.241565+00:00 decky-webmail imap - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:25.241690+00:00 decky-webmail imap - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:25.290930+00:00 decky-webmail smtp - disconnect [decnet@55555 src="192.168.1.5"]
|
|
||||||
<134>1 2026-04-04T07:41:25.291070+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'TRACE', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:25.438930+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'OPTIONS', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:25.586609+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'CONNECT', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:25.734144+00:00 decky-webmail http - request [decnet@55555 method="OPTIONS" path="/" remote_addr="192.168.1.5" headers="{'Connection': 'close', 'Origin': 'example.com', 'User-Agent': 'Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)', 'Access-Control-Request-Method': 'PATCH', 'Host': '192.168.1.110'}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:29.778527+00:00 decky-fileserv ftp - disconnect [decnet@55555 src_ip="192.168.1.5" src_port="49004"]
|
|
||||||
<134>1 2026-04-04T07:41:31.976898+00:00 decky-fileserv ftp - disconnect [decnet@55555 src_ip="192.168.1.5" src_port="48992"]
|
|
||||||
<134>1 2026-04-04T07:41:33.746244+00:00 decky-fileserv ftp - disconnect [decnet@55555 src_ip="192.168.1.5" src_port="49002"]
|
|
||||||
<134>1 2026-04-04T07:41:33.747544+00:00 decky-webmail imap - connect [decnet@55555 src="192.168.1.5" src_port="39972"]
|
|
||||||
<134>1 2026-04-04T07:41:33.748339+00:00 decky-webmail http - request [decnet@55555 method="GET" path="/" remote_addr="192.168.1.5" headers="{}" body=""]
|
|
||||||
<134>1 2026-04-04T07:41:33.748742+00:00 decky-webmail imap - connect [decnet@55555 src="192.168.1.5" src_port="39984"]
|
|
||||||
<134>1 2026-04-04T07:41:33.748916+00:00 decky-webmail imap - command [decnet@55555 src="192.168.1.5" cmd="( | |||||||