fix: stabilize test suite by ensuring proper test DB isolation and initialization
This commit is contained in:
4
.hypothesis/constants/0ddcef3521551894
Normal file
4
.hypothesis/constants/0ddcef3521551894
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/env.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['.env', '.env.local', '0.0.0.0', '8000', '8080', 'DECNET_ADMIN_USER', 'DECNET_API_HOST', 'DECNET_API_PORT', 'DECNET_DEVELOPER', 'DECNET_JWT_SECRET', 'DECNET_WEB_HOST', 'DECNET_WEB_PORT', 'False', 'admin', 'true']
|
||||
4
.hypothesis/constants/2615c511fb910a77
Normal file
4
.hypothesis/constants/2615c511fb910a77
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/sqlite_repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[' AND ', ' WHERE ', ':', 'BEGIN IMMEDIATE', 'COMMIT', 'ROLLBACK', '[^a-zA-Z0-9_]', 'active_deckies', 'admin', 'attacker', 'attacker-ip', 'attacker_ip', 'bounty_type', 'bounty_type = ?', 'bucket_time', 'count', 'decky', 'decnet.db', 'deployed_deckies', 'event', 'event_type', 'fields', 'id > ?', 'max_id', 'msg', 'must_change_password', 'password_hash', 'payload', 'raw_line', 'role', 'service', 'time', 'timestamp', 'timestamp <= ?', 'timestamp >= ?', 'total', 'total_logs', 'unique_attackers', 'username', 'uuid']
|
||||
4
.hypothesis/constants/2db3d63e8d96a289
Normal file
4
.hypothesis/constants/2db3d63e8d96a289
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/deployer.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[5.0, ', ', '--build', '--no-cache', '--watch', '-d', '-f', 'DECNET Deckies', 'Decky', 'Deployed Deckies', 'Hostname', 'IP', 'IPvlan', 'IPvlan L2', 'MACVLAN', 'Services', 'Status', '[green]up[/]', '[red]degraded[/]', 'absent', 'bold', 'build', 'cmdline', 'compose', 'decnet-compose.yml', 'decnet.cli', 'decnet.web.api:app', 'docker', 'down', 'green', 'manifest for', 'manifest unknown', 'mutate', 'name', 'not found', 'pid', 'pull access denied', 'red', 'rm', 'running', 'stop', 'up', 'uvicorn']
|
||||
4
.hypothesis/constants/4cd7a4f95d87415b
Normal file
4
.hypothesis/constants/4cd7a4f95d87415b
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/api.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[0.5, 400, 404, 500, 512, 1000, 1024, '*', '/api/v1/auth/login', '/api/v1/bounty', '/api/v1/deckies', '/api/v1/logs', '/api/v1/stats', '/api/v1/stream', '/docs', '/openapi.json', '/redoc', '1.0.0', 'Authentication', 'Authorization', 'Bearer', 'Bearer ', 'Bounty Vault', 'Decky not found', 'Fleet Management', 'Logs', 'No active deployment', 'Observability', 'WWW-Authenticate', 'access_token', 'bearer', 'data', 'decnet.web.api', 'histogram', 'id', 'lastEventId', 'limit', 'logs', 'message', 'must_change_password', 'offset', 'password_hash', 'stats', 'text/event-stream', 'token', 'token_type', 'total', 'type', 'unihost', 'uuid']
|
||||
4
.hypothesis/constants/53471efd62b2da7e
Normal file
4
.hypothesis/constants/53471efd62b2da7e
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/sqlite_repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[0.1, ' AND ', ' WHERE ', ':', 'BEGIN IMMEDIATE', 'COMMIT', 'ROLLBACK', '[^a-zA-Z0-9_]', 'active_deckies', 'admin', 'attacker', 'attacker-ip', 'attacker_ip', 'bounty_type', 'bounty_type = ?', 'bucket_time', 'count', 'decky', 'decnet.db', 'deployed_deckies', 'event', 'event_type', 'fields', 'id > ?', 'max_id', 'msg', 'must_change_password', 'password_hash', 'payload', 'raw_line', 'role', 'service', 'time', 'timestamp', 'timestamp <= ?', 'timestamp >= ?', 'total', 'total_logs', 'unique_attackers', 'username', 'uuid']
|
||||
4
.hypothesis/constants/5bbda598391e1363
Normal file
4
.hypothesis/constants/5bbda598391e1363
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/sqlite_repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[' AND ', ' WHERE ', ':', 'BEGIN IMMEDIATE', 'COMMIT', 'ROLLBACK', '[^a-zA-Z0-9_]', 'active_deckies', 'admin', 'attacker', 'attacker-ip', 'attacker_ip', 'bounty_type', 'bounty_type = ?', 'bucket_time', 'count', 'decky', 'decnet.db', 'deployed_deckies', 'event', 'event_type', 'fields', 'id > ?', 'max_id', 'msg', 'must_change_password', 'password_hash', 'payload', 'raw_line', 'role', 'service', 'time', 'timestamp', 'timestamp <= ?', 'timestamp >= ?', 'total', 'total_logs', 'unique_attackers', 'username', 'uuid']
|
||||
4
.hypothesis/constants/8198d9c81a23f13a
Normal file
4
.hypothesis/constants/8198d9c81a23f13a
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/sqlite_repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[' AND ', ' WHERE ', ':', '[^a-zA-Z0-9_]', 'active_deckies', 'admin', 'attacker', 'attacker-ip', 'attacker_ip', 'bounty_type', 'bounty_type = ?', 'bucket_time', 'count', 'decky', 'decnet.db', 'deployed_deckies', 'event', 'event_type', 'fields', 'id > ?', 'max_id', 'msg', 'must_change_password', 'password_hash', 'payload', 'raw_line', 'role', 'service', 'time', 'timestamp', 'timestamp <= ?', 'timestamp >= ?', 'total', 'total_logs', 'unique_attackers', 'username', 'uuid']
|
||||
4
.hypothesis/constants/8c8bf0135bf44b74
Normal file
4
.hypothesis/constants/8c8bf0135bf44b74
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/api.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[0.5, 400, 404, 500, 512, 1000, 1024, '*', '/api/v1/auth/login', '/api/v1/bounty', '/api/v1/deckies', '/api/v1/logs', '/api/v1/stats', '/api/v1/stream', '/docs', '/openapi.json', '/redoc', '1.0.0', 'Authentication', 'Authorization', 'Bearer', 'Bearer ', 'Bounty Vault', 'Decky not found', 'Fleet Management', 'Logs', 'No active deployment', 'Observability', 'WWW-Authenticate', 'access_token', 'admin', 'bearer', 'data', 'decnet.web.api', 'histogram', 'id', 'lastEventId', 'limit', 'logs', 'message', 'must_change_password', 'offset', 'password_hash', 'role', 'stats', 'text/event-stream', 'token', 'token_type', 'total', 'type', 'unihost', 'username', 'uuid']
|
||||
4
.hypothesis/constants/d99450cc39d56b56
Normal file
4
.hypothesis/constants/d99450cc39d56b56
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/sqlite_repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[' AND ', ' WHERE ', ':', '[^a-zA-Z0-9_]', 'active_deckies', 'attacker', 'attacker-ip', 'attacker_ip', 'bounty_type', 'bounty_type = ?', 'bucket_time', 'count', 'decky', 'decnet.db', 'deployed_deckies', 'event', 'event_type', 'fields', 'id > ?', 'max_id', 'msg', 'must_change_password', 'password_hash', 'payload', 'raw_line', 'role', 'service', 'time', 'timestamp', 'timestamp <= ?', 'timestamp >= ?', 'total', 'total_logs', 'unique_attackers', 'username', 'uuid']
|
||||
4
.hypothesis/constants/dac5eeebbec66cb4
Normal file
4
.hypothesis/constants/dac5eeebbec66cb4
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/sqlite_repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[0.1, ' AND ', ' WHERE ', ':', 'BEGIN IMMEDIATE', 'COMMIT', 'ROLLBACK', '[^a-zA-Z0-9_]', 'active_deckies', 'admin', 'attacker', 'attacker-ip', 'attacker_ip', 'bounty_type', 'bounty_type = ?', 'bucket_time', 'count', 'decky', 'decnet.db', 'deployed_deckies', 'event', 'event_type', 'fields', 'id > ?', 'max_id', 'msg', 'must_change_password', 'password_hash', 'payload', 'raw_line', 'role', 'service', 'time', 'timestamp', 'timestamp <= ?', 'timestamp >= ?', 'total', 'total_logs', 'unique_attackers', 'username', 'uuid']
|
||||
Binary file not shown.
BIN
decnet.db-wal
BIN
decnet.db-wal
Binary file not shown.
@@ -210,7 +210,7 @@ def status() -> None:
|
||||
table.add_column("Hostname")
|
||||
table.add_column("Status")
|
||||
|
||||
running = {c.name: c.status for c in client.containers.list(all=True)}
|
||||
running = {c.name: c.status for c in client.containers.list(all=True, ignore_removed=True)}
|
||||
|
||||
for decky in config.deckies:
|
||||
statuses = []
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import uuid
|
||||
from contextlib import asynccontextmanager
|
||||
from datetime import timedelta
|
||||
from typing import Any, AsyncGenerator, Optional
|
||||
@@ -20,7 +19,7 @@ from decnet.web.auth import (
|
||||
)
|
||||
from decnet.web.sqlite_repository import SQLiteRepository
|
||||
from decnet.web.ingester import log_ingestion_worker
|
||||
from decnet.env import DECNET_ADMIN_USER, DECNET_ADMIN_PASSWORD, DECNET_DEVELOPER
|
||||
from decnet.env import DECNET_DEVELOPER
|
||||
import asyncio
|
||||
|
||||
repo: SQLiteRepository = SQLiteRepository()
|
||||
@@ -39,22 +38,6 @@ async def lifespan(app: FastAPI) -> AsyncGenerator[None, None]:
|
||||
except Exception:
|
||||
await asyncio.sleep(0.5)
|
||||
|
||||
# Create default admin if no users exist
|
||||
try:
|
||||
_admin_user: Optional[dict[str, Any]] = await repo.get_user_by_username(DECNET_ADMIN_USER)
|
||||
if not _admin_user:
|
||||
await repo.create_user(
|
||||
{
|
||||
"uuid": str(uuid.uuid4()),
|
||||
"username": DECNET_ADMIN_USER,
|
||||
"password_hash": get_password_hash(DECNET_ADMIN_PASSWORD),
|
||||
"role": "admin",
|
||||
"must_change_password": True # nosec B105
|
||||
}
|
||||
)
|
||||
except Exception: # nosec B110
|
||||
pass
|
||||
|
||||
# Start background ingestion task
|
||||
if ingestion_task is None or ingestion_task.done():
|
||||
ingestion_task = asyncio.create_task(log_ingestion_worker(repo))
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import aiosqlite
|
||||
import asyncio
|
||||
from typing import Any, Optional
|
||||
from decnet.web.repository import BaseRepository
|
||||
from decnet.config import load_state, _ROOT
|
||||
@@ -9,12 +10,25 @@ class SQLiteRepository(BaseRepository):
|
||||
|
||||
def __init__(self, db_path: str = str(_ROOT / "decnet.db")) -> None:
|
||||
self.db_path: str = db_path
|
||||
self._initialize_sync()
|
||||
|
||||
async def initialize(self) -> None:
|
||||
def _initialize_sync(self) -> None:
|
||||
"""Initialize the database schema synchronously to ensure reliability."""
|
||||
import sqlite3
|
||||
with sqlite3.connect(self.db_path) as _conn:
|
||||
import uuid
|
||||
import os
|
||||
from decnet.env import DECNET_ADMIN_USER, DECNET_ADMIN_PASSWORD
|
||||
from decnet.web.auth import get_password_hash
|
||||
|
||||
# Ensure directory exists
|
||||
os.makedirs(os.path.dirname(os.path.abspath(self.db_path)), exist_ok=True)
|
||||
|
||||
with sqlite3.connect(self.db_path, isolation_level=None) as _conn:
|
||||
_conn.execute("PRAGMA journal_mode=WAL")
|
||||
_conn.execute("PRAGMA synchronous=NORMAL")
|
||||
|
||||
_conn.execute("BEGIN IMMEDIATE")
|
||||
try:
|
||||
_conn.execute("""
|
||||
CREATE TABLE IF NOT EXISTS logs (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
@@ -48,7 +62,33 @@ class SQLiteRepository(BaseRepository):
|
||||
payload TEXT
|
||||
)
|
||||
""")
|
||||
_conn.commit()
|
||||
|
||||
# Ensure admin exists
|
||||
_cursor = _conn.execute("SELECT uuid FROM users WHERE username = ?", (DECNET_ADMIN_USER,))
|
||||
if not _cursor.fetchone():
|
||||
_conn.execute(
|
||||
"INSERT INTO users (uuid, username, password_hash, role, must_change_password) VALUES (?, ?, ?, ?, ?)",
|
||||
(str(uuid.uuid4()), DECNET_ADMIN_USER, get_password_hash(DECNET_ADMIN_PASSWORD), "admin", 1)
|
||||
)
|
||||
_conn.execute("COMMIT")
|
||||
except Exception:
|
||||
_conn.execute("ROLLBACK")
|
||||
raise
|
||||
|
||||
async def initialize(self) -> None:
|
||||
"""Initialize the database schema and verify it exists."""
|
||||
# Schema already initialized in __init__ via _initialize_sync
|
||||
# But we do a synchronous 'warm up' query here to ensure the file is ready for async threads
|
||||
import sqlite3
|
||||
with sqlite3.connect(self.db_path) as _conn:
|
||||
_conn.execute("SELECT count(*) FROM users")
|
||||
_conn.execute("SELECT count(*) FROM logs")
|
||||
_conn.execute("SELECT count(*) FROM bounty")
|
||||
pass
|
||||
|
||||
def reinitialize(self) -> None:
|
||||
"""Force a re-initialization of the schema (useful for tests)."""
|
||||
self._initialize_sync()
|
||||
|
||||
async def add_log(self, log_data: dict[str, Any]) -> None:
|
||||
async with aiosqlite.connect(self.db_path) as _db:
|
||||
@@ -273,11 +313,16 @@ class SQLiteRepository(BaseRepository):
|
||||
return _deckies
|
||||
|
||||
async def get_user_by_username(self, username: str) -> Optional[dict[str, Any]]:
|
||||
for _ in range(3):
|
||||
try:
|
||||
async with aiosqlite.connect(self.db_path) as _db:
|
||||
_db.row_factory = aiosqlite.Row
|
||||
async with _db.execute("SELECT * FROM users WHERE username = ?", (username,)) as _cursor:
|
||||
_row: Optional[aiosqlite.Row] = await _cursor.fetchone()
|
||||
_row = await _cursor.fetchone()
|
||||
return dict(_row) if _row else None
|
||||
except aiosqlite.OperationalError:
|
||||
await asyncio.sleep(0.1)
|
||||
return None
|
||||
|
||||
async def get_user_by_uuid(self, uuid: str) -> Optional[dict[str, Any]]:
|
||||
async with aiosqlite.connect(self.db_path) as _db:
|
||||
|
||||
@@ -1,5 +1,48 @@
|
||||
# DECNET Development Roadmap
|
||||
|
||||
## 🛠️ Service Realism & Interaction (First Release Path)
|
||||
*Goal: Ensure every service is interactive enough to feel real during manual exploration.*
|
||||
|
||||
### Remote Access & Shells
|
||||
- [ ] **SSH (Cowrie)** — Custom filesystem, realistic user database, and command execution.
|
||||
- [ ] **Telnet (Cowrie)** — Realistic banner and command emulation.
|
||||
- [ ] **RDP** — Realistic NLA authentication and screen capture (where possible).
|
||||
- [ ] **VNC** — Realistic RFB protocol handshake and authentication.
|
||||
- [ ] **Real SSH** — Pass-through or high-interaction proxying.
|
||||
|
||||
### Databases
|
||||
- [ ] **MySQL** — Support for common SQL queries and realistic schema.
|
||||
- [ ] **Postgres** — Realistic version strings and basic query support.
|
||||
- [ ] **MSSQL** — Realistic TDS protocol handshake.
|
||||
- [ ] **MongoDB** — Support for common Mongo wire protocol commands.
|
||||
- [ ] **Redis** — Support for basic GET/SET/INFO commands.
|
||||
- [ ] **Elasticsearch** — Realistic REST API responses for `/_cluster/health` etc.
|
||||
|
||||
### Web & APIs
|
||||
- [ ] **HTTP** — Flexible templates (WordPress, phpMyAdmin, etc.) with logging.
|
||||
- [ ] **Docker API** — Realistic responses for `docker version` and `docker ps`.
|
||||
- [ ] **Kubernetes (K8s)** — Mocked kubectl responses and basic API exploration.
|
||||
|
||||
### File Transfer & Storage
|
||||
- [ ] **SMB** — Realistic share discovery and basic file browsing.
|
||||
- [ ] **FTP** — Support for common FTP commands and directory listing.
|
||||
- [ ] **TFTP** — Basic block-based file transfer emulation.
|
||||
|
||||
### Directory & Mail
|
||||
- [ ] **LDAP** — Basic directory search and authentication responses.
|
||||
- [ ] **SMTP** — Mail server banners and basic EHLO/MAIL FROM support.
|
||||
- [ ] **IMAP** — Realistic mail folder structure and auth.
|
||||
- [ ] **POP3** — Basic mail retrieval protocol emulation.
|
||||
|
||||
### Industrial & IoT (ICS)
|
||||
- [ ] **MQTT** — Basic topic subscription and publishing support.
|
||||
- [ ] **SNMP** — Realistic MIB responses for common OIDs.
|
||||
- [ ] **SIP** — Basic VoIP protocol handshake and registration.
|
||||
- [ ] **LLMNR** — Realistic local name resolution responses.
|
||||
- [ ] **Conpot** — SCADA/ICS protocol emulation (Modbus, etc.).
|
||||
|
||||
---
|
||||
|
||||
## Core / Hardening
|
||||
|
||||
- [ ] **Attacker fingerprinting** — Capture TLS JA3/JA4 hashes, TCP window sizes, User-Agent strings, and SSH client banners.
|
||||
|
||||
Binary file not shown.
BIN
test_bounty_decnet.db-wal
Normal file
BIN
test_bounty_decnet.db-wal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
test_fleet_decnet.db-shm
Normal file
BIN
test_fleet_decnet.db-shm
Normal file
Binary file not shown.
BIN
test_fleet_decnet.db-wal
Normal file
BIN
test_fleet_decnet.db-wal
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
4
tests/.hypothesis/constants/071376f7808c803b
Normal file
4
tests/.hypothesis/constants/071376f7808c803b
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/cli.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[8000, ',', ', ', '--all', '--api', '--api-port', '--archetype', '--config', '--deckies', '--decky', '--distro', '--dry-run', '--emit-syslog', '--host', '--id', '--interface', '--ip-start', '--ipvlan', '--log-file', '--log-target', '--min-deckies', '--mode', '--mutate-interval', '--no-cache', '--output', '--port', '--randomize-distros', '--randomize-services', '--services', '--subnet', '--watch', '--web-port', '-a', '-c', '-d', '-f', '-i', '-m', '-n', '-o', '-w', '/index.html', 'Available Services', 'Default Services', 'Description', 'Display Name', 'Docker Image', 'Image', 'Machine Archetypes', 'Name', 'Ports', 'Slug', 'archetypes', 'bold cyan', 'correlate', 'decnet', 'decnet.cli', 'decnet.log', 'decnet.web.api:app', 'decnet_web', 'dim', 'dist', 'distros', 'green', 'json', 'linux', 'mutate', 'services', 'swarm', 'syslog', 'table', 'unihost', 'uvicorn', 'web']
|
||||
4
tests/.hypothesis/constants/0ba82ca4ea63f3bc
Normal file
4
tests/.hypothesis/constants/0ba82ca4ea63f3bc
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/.venv/bin/pytest
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
['__main__']
|
||||
4
tests/.hypothesis/constants/0ddcef3521551894
Normal file
4
tests/.hypothesis/constants/0ddcef3521551894
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/env.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['.env', '.env.local', '0.0.0.0', '8000', '8080', 'DECNET_ADMIN_USER', 'DECNET_API_HOST', 'DECNET_API_PORT', 'DECNET_DEVELOPER', 'DECNET_JWT_SECRET', 'DECNET_WEB_HOST', 'DECNET_WEB_PORT', 'False', 'admin', 'true']
|
||||
4
tests/.hypothesis/constants/15d50d1e53b9b5c3
Normal file
4
tests/.hypothesis/constants/15d50d1e53b9b5c3
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/tftp.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
['LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'restart', 'templates', 'tftp', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/1f005a833d034313
Normal file
4
tests/.hypothesis/constants/1f005a833d034313
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/logging/forwarder.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[2.0, ':']
|
||||
4
tests/.hypothesis/constants/1f12b014d4fe2068
Normal file
4
tests/.hypothesis/constants/1f12b014d4fe2068
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/mongodb.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[27017, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'mongodb', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/2220ccbe8a25f02d
Normal file
4
tests/.hypothesis/constants/2220ccbe8a25f02d
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/snmp.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[161, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'restart', 'snmp', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/2db3d63e8d96a289
Normal file
4
tests/.hypothesis/constants/2db3d63e8d96a289
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/deployer.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[5.0, ', ', '--build', '--no-cache', '--watch', '-d', '-f', 'DECNET Deckies', 'Decky', 'Deployed Deckies', 'Hostname', 'IP', 'IPvlan', 'IPvlan L2', 'MACVLAN', 'Services', 'Status', '[green]up[/]', '[red]degraded[/]', 'absent', 'bold', 'build', 'cmdline', 'compose', 'decnet-compose.yml', 'decnet.cli', 'decnet.web.api:app', 'docker', 'down', 'green', 'manifest for', 'manifest unknown', 'mutate', 'name', 'not found', 'pid', 'pull access denied', 'red', 'rm', 'running', 'stop', 'up', 'uvicorn']
|
||||
4
tests/.hypothesis/constants/2f0b53ebdb35c4e1
Normal file
4
tests/.hypothesis/constants/2f0b53ebdb35c4e1
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/sip.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[5060, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'restart', 'sip', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/30a7ffe86227f7f1
Normal file
4
tests/.hypothesis/constants/30a7ffe86227f7f1
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/mssql.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[1433, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'mssql', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/349ec22a74b50191
Normal file
4
tests/.hypothesis/constants/349ec22a74b50191
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/composer.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['/var/log/decnet', '3.8', 'BASE_IMAGE', 'DECNET_LOG_FILE', 'HOSTNAME', 'NET_ADMIN', 'args', 'bridge', 'build', 'cap_add', 'command', 'container_name', 'decnet_logs', 'depends_on', 'driver', 'environment', 'external', 'hostname', 'image', 'infinity', 'internal', 'ipv4_address', 'network_mode', 'networks', 'restart', 'services', 'sleep', 'sysctls', 'unless-stopped', 'version', 'volumes']
|
||||
4
tests/.hypothesis/constants/37d6bf6c6c0b58e6
Normal file
4
tests/.hypothesis/constants/37d6bf6c6c0b58e6
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/elasticsearch.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[9200, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'elasticsearch', 'environment', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/3cc47bb868bcb8f4
Normal file
4
tests/.hypothesis/constants/3cc47bb868bcb8f4
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/telnet.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[':', 'COWRIE_SSH_ENABLED', 'NET_BIND_SERVICE', 'cap_add', 'container_name', 'cowrie/cowrie', 'environment', 'false', 'image', 'restart', 'telnet', 'true', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/42a1dcb5c22b1ac1
Normal file
4
tests/.hypothesis/constants/42a1dcb5c22b1ac1
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/ini_loader.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[100, 512, 1024, ',', '.', '1', '[', ']', 'amount', 'archetype', 'binary', 'custom-', 'exceeds maximum', 'exec', 'general', 'gw', 'interface', 'ip', 'log-target', 'log_target', 'mutate-interval', 'mutate_interval', 'net', 'nmap-os', 'nmap_os', 'ports', 'services']
|
||||
4
tests/.hypothesis/constants/507a3145954fca93
Normal file
4
tests/.hypothesis/constants/507a3145954fca93
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/http.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[443, '/opt/html_files', 'CUSTOM_BODY', 'EXTRA_HEADERS', 'FAKE_APP', 'FILES_DIR', 'LOG_TARGET', 'NODE_NAME', 'RESPONSE_CODE', 'SERVER_HEADER', 'build', 'container_name', 'context', 'custom_body', 'environment', 'extra_headers', 'fake_app', 'files', 'http', 'response_code', 'restart', 'server_header', 'templates', 'unless-stopped', 'volumes']
|
||||
4
tests/.hypothesis/constants/53a42446f9f19b20
Normal file
4
tests/.hypothesis/constants/53a42446f9f19b20
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/ftp.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
['LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'ftp', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/574dbe54f9b23d3e
Normal file
4
tests/.hypothesis/constants/574dbe54f9b23d3e
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/correlation/engine.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[3600, ',', 'Attacker IP', 'Deckies', 'Duration', 'Events', 'First Seen', 'Traversal Path', 'bold red', 'correlator', 'cyan', 'decnet-correlator', 'dim', 'events_indexed', 'lines_parsed', 'right', 'stats', 'traversal_detected', 'traversals', 'unique_ips', 'yellow']
|
||||
4
tests/.hypothesis/constants/5a5554db0771f35b
Normal file
4
tests/.hypothesis/constants/5a5554db0771f35b
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[]
|
||||
4
tests/.hypothesis/constants/5feefba3d1c668ca
Normal file
4
tests/.hypothesis/constants/5feefba3d1c668ca
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/ingester.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['.json', 'attacker_ip', 'bounty_type', 'credential', 'decky', 'decnet.web.ingester', 'fields', 'password', 'payload', 'r', 'replace', 'service', 'username', 'utf-8']
|
||||
4
tests/.hypothesis/constants/62e387790ed5b79f
Normal file
4
tests/.hypothesis/constants/62e387790ed5b79f
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/vnc.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[5900, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'restart', 'templates', 'unless-stopped', 'vnc']
|
||||
4
tests/.hypothesis/constants/66bd79275cd609e8
Normal file
4
tests/.hypothesis/constants/66bd79275cd609e8
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/correlation/parser.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['"', '-', '\\', '\\"', '\\\\', '\\]', ']', 'client_ip', 'ip', 'remote_ip', 'src', 'src_ip']
|
||||
4
tests/.hypothesis/constants/76302489300fdc45
Normal file
4
tests/.hypothesis/constants/76302489300fdc45
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/config.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[0.0, ':', 'compose_path', 'config', 'debian', 'debian:bookworm-slim', 'decnet-state.json', 'linux', 'log_target', 'services', 'swarm', 'unihost']
|
||||
4
tests/.hypothesis/constants/77b4b42ea3b9c9bf
Normal file
4
tests/.hypothesis/constants/77b4b42ea3b9c9bf
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/llmnr.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[5353, 5355, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'llmnr', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/79661beef79449a5
Normal file
4
tests/.hypothesis/constants/79661beef79449a5
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/registry.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['base', 'decnet.services.', 'registry']
|
||||
4
tests/.hypothesis/constants/7f9302a54093ce41
Normal file
4
tests/.hypothesis/constants/7f9302a54093ce41
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/correlation/__init__.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['AttackerTraversal', 'CorrelationEngine', 'LogEvent', 'TraversalHop', 'parse_line']
|
||||
4
tests/.hypothesis/constants/8029f0494746966f
Normal file
4
tests/.hypothesis/constants/8029f0494746966f
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/ldap.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[389, 636, 'LOG_TARGET', 'NET_BIND_SERVICE', 'NODE_NAME', 'build', 'cap_add', 'container_name', 'context', 'environment', 'ldap', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/87dce71ef389d477
Normal file
4
tests/.hypothesis/constants/87dce71ef389d477
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/mqtt.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[1883, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'mqtt', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/8b9368be0f77a253
Normal file
4
tests/.hypothesis/constants/8b9368be0f77a253
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/custom_service.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
['-', 'LOG_TARGET', 'NODE_NAME', '_', 'command', 'container_name', 'environment', 'image', 'restart', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/8c8bf0135bf44b74
Normal file
4
tests/.hypothesis/constants/8c8bf0135bf44b74
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/api.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[0.5, 400, 404, 500, 512, 1000, 1024, '*', '/api/v1/auth/login', '/api/v1/bounty', '/api/v1/deckies', '/api/v1/logs', '/api/v1/stats', '/api/v1/stream', '/docs', '/openapi.json', '/redoc', '1.0.0', 'Authentication', 'Authorization', 'Bearer', 'Bearer ', 'Bounty Vault', 'Decky not found', 'Fleet Management', 'Logs', 'No active deployment', 'Observability', 'WWW-Authenticate', 'access_token', 'admin', 'bearer', 'data', 'decnet.web.api', 'histogram', 'id', 'lastEventId', 'limit', 'logs', 'message', 'must_change_password', 'offset', 'password_hash', 'role', 'stats', 'text/event-stream', 'token', 'token_type', 'total', 'type', 'unihost', 'username', 'uuid']
|
||||
4
tests/.hypothesis/constants/8c9335cb8231944a
Normal file
4
tests/.hypothesis/constants/8c9335cb8231944a
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/docker_api.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[2375, 2376, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'docker_api', 'environment', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/8e330e30c399dccc
Normal file
4
tests/.hypothesis/constants/8e330e30c399dccc
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/real_ssh.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
['NET_BIND_SERVICE', 'SSH_HOSTNAME', 'SSH_ROOT_PASSWORD', 'admin', 'build', 'cap_add', 'container_name', 'context', 'environment', 'hostname', 'password', 'real_ssh', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/9193e12e937c9da2
Normal file
4
tests/.hypothesis/constants/9193e12e937c9da2
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/logging/syslog_formatter.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[255, '"', '-', '1', '\\', '\\"', '\\\\', '\\]', ']', 'decnet@55555']
|
||||
4
tests/.hypothesis/constants/952b61539a326753
Normal file
4
tests/.hypothesis/constants/952b61539a326753
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/ssh.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[2222, ':', 'COWRIE_HOSTNAME', 'COWRIE_SSH_VERSION', 'NET_BIND_SERVICE', 'NODE_NAME', 'build', 'cap_add', 'container_name', 'context', 'cowrie', 'environment', 'hardware_platform', 'kernel_build_string', 'kernel_version', 'restart', 'ssh', 'ssh_banner', 'templates', 'true', 'unless-stopped', 'users']
|
||||
4
tests/.hypothesis/constants/95eb634544ca6000
Normal file
4
tests/.hypothesis/constants/95eb634544ca6000
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/smb.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[139, 445, 'LOG_TARGET', 'NET_BIND_SERVICE', 'NODE_NAME', 'build', 'cap_add', 'container_name', 'context', 'environment', 'restart', 'smb', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/996aa9c745349122
Normal file
4
tests/.hypothesis/constants/996aa9c745349122
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/base.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[]
|
||||
4
tests/.hypothesis/constants/9f85e820bb1eb903
Normal file
4
tests/.hypothesis/constants/9f85e820bb1eb903
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/distros.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['Alpine Linux 3.19', 'Arch Linux', 'CentOS 7', 'Debian 12 (Bookworm)', 'Fedora 39', 'Kali Linux (Rolling)', 'Rocky Linux 9', 'alpha', 'alpine', 'alpine:3.19', 'arch', 'archlinux:latest', 'backup', 'bravo', 'centos7', 'centos:7', 'charlie', 'db', 'debian', 'debian:bookworm-slim', 'delta', 'dev', 'echo', 'fedora', 'fedora:39', 'files', 'foxtrot', 'generic', 'golf', 'hotel', 'india', 'juliet', 'kali', 'kilo', 'lima', 'mail', 'mike', 'minimal', 'monitor', 'nova', 'oscar', 'prod', 'proxy', 'rhel', 'rocky9', 'rockylinux:9-minimal', 'rolling', 'stage', 'ubuntu20', 'ubuntu22', 'ubuntu:20.04', 'ubuntu:22.04', 'web']
|
||||
4
tests/.hypothesis/constants/a115dde40ee13bf8
Normal file
4
tests/.hypothesis/constants/a115dde40ee13bf8
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/mysql.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[3306, 'LOG_TARGET', 'MYSQL_VERSION', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'mysql', 'restart', 'templates', 'unless-stopped', 'version']
|
||||
4
tests/.hypothesis/constants/a36433a7a8a46f4d
Normal file
4
tests/.hypothesis/constants/a36433a7a8a46f4d
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/smtp.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[587, 'LOG_TARGET', 'NET_BIND_SERVICE', 'NODE_NAME', 'SMTP_BANNER', 'SMTP_MTA', 'banner', 'build', 'cap_add', 'container_name', 'context', 'environment', 'mta', 'restart', 'smtp', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/a36bdeb88e27cda2
Normal file
4
tests/.hypothesis/constants/a36bdeb88e27cda2
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/postgres.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[5432, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'postgres', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/a4b0cd024dec37b3
Normal file
4
tests/.hypothesis/constants/a4b0cd024dec37b3
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/pop3.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[110, 995, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'pop3', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/a92a9b5d6ef7fbda
Normal file
4
tests/.hypothesis/constants/a92a9b5d6ef7fbda
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/os_fingerprint.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['128', '2', '255', '3', '6', '64', 'bsd', 'cisco', 'embedded', 'linux', 'windows']
|
||||
4
tests/.hypothesis/constants/ad18d933a368774b
Normal file
4
tests/.hypothesis/constants/ad18d933a368774b
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/archetypes.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[', ', 'Database Server', 'DevOps Host', 'Domain Controller', 'File Server', 'IoT Device', 'Linux Server', 'Mail Server', 'Monitoring Node', 'Network Printer', 'VoIP Server', 'Web Server', 'Windows Server', 'Windows Workstation', 'alpine', 'conpot', 'database-server', 'deaddeck', 'debian', 'devops-host', 'docker_api', 'domain-controller', 'embedded', 'fedora', 'file-server', 'ftp', 'http', 'imap', 'industrial-control', 'iot-device', 'k8s', 'ldap', 'linux', 'linux-server', 'llmnr', 'mail-server', 'monitoring-node', 'mqtt', 'mysql', 'pop3', 'postgres', 'printer', 'rdp', 'real_ssh', 'redis', 'rocky9', 'sip', 'smb', 'smtp', 'snmp', 'ssh', 'telnet', 'ubuntu20', 'ubuntu22', 'voip-server', 'web-server', 'windows', 'windows-server', 'windows-workstation']
|
||||
4
tests/.hypothesis/constants/b0cdd7ca461ac3a7
Normal file
4
tests/.hypothesis/constants/b0cdd7ca461ac3a7
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/k8s.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[6443, 8080, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'k8s', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/b3ae76f264e289ba
Normal file
4
tests/.hypothesis/constants/b3ae76f264e289ba
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/redis.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[6379, 'LOG_TARGET', 'NODE_NAME', 'REDIS_OS', 'REDIS_VERSION', 'build', 'container_name', 'context', 'environment', 'os_string', 'redis', 'restart', 'templates', 'unless-stopped', 'version']
|
||||
4
tests/.hypothesis/constants/b4fbfe7d71d1fde1
Normal file
4
tests/.hypothesis/constants/b4fbfe7d71d1fde1
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/correlation/graph.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[' → ', 'attacker_ip', 'deckies', 'decky', 'decky_count', 'duration_seconds', 'event_type', 'first_seen', 'hop_count', 'hops', 'last_seen', 'path', 'service', 'timestamp']
|
||||
4
tests/.hypothesis/constants/c1bae63b725863f0
Normal file
4
tests/.hypothesis/constants/c1bae63b725863f0
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/imap.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[143, 993, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'imap', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/cac20128001ccd85
Normal file
4
tests/.hypothesis/constants/cac20128001ccd85
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/network.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
['/', 'add', 'addr', 'bridge', 'decnet_ipvlan0', 'decnet_lan', 'decnet_macvlan0', 'default', 'del', 'dev', 'inet ', 'inet6', 'ip', 'ipvlan', 'ipvlan_mode', 'l2', 'link', 'macvlan', 'mode', 'parent', 'route', 'set', 'show', 'type', 'up', 'via']
|
||||
4
tests/.hypothesis/constants/cf9d3e39a6bf6308
Normal file
4
tests/.hypothesis/constants/cf9d3e39a6bf6308
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/sqlite_repository.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[' AND ', ' WHERE ', ':', '[^a-zA-Z0-9_]', 'active_deckies', 'attacker', 'attacker-ip', 'attacker_ip', 'bounty_type', 'bounty_type = ?', 'bucket_time', 'count', 'decky', 'decnet.db', 'deployed_deckies', 'event', 'event_type', 'fields', 'id > ?', 'max_id', 'msg', 'must_change_password', 'password_hash', 'payload', 'raw_line', 'role', 'service', 'time', 'timestamp', 'timestamp <= ?', 'timestamp >= ?', 'total', 'total_logs', 'unique_attackers', 'username', 'uuid']
|
||||
4
tests/.hypothesis/constants/d479b632891acb05
Normal file
4
tests/.hypothesis/constants/d479b632891acb05
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/logging/file_handler.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[1024, '%(message)s', 'DECNET_LOG_FILE', 'decnet.syslog', 'utf-8']
|
||||
4
tests/.hypothesis/constants/e04c4b026eeb7e26
Normal file
4
tests/.hypothesis/constants/e04c4b026eeb7e26
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/rdp.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[3389, 'LOG_TARGET', 'NODE_NAME', 'build', 'container_name', 'context', 'environment', 'rdp', 'restart', 'templates', 'unless-stopped']
|
||||
4
tests/.hypothesis/constants/f9f2aace37ce402b
Normal file
4
tests/.hypothesis/constants/f9f2aace37ce402b
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/web/auth.py
|
||||
# hypothesis_version: 6.151.11
|
||||
|
||||
[1440, 'HS256', 'exp', 'iat', 'utf-8']
|
||||
4
tests/.hypothesis/constants/fb7b3bbd8bd7b0f3
Normal file
4
tests/.hypothesis/constants/fb7b3bbd8bd7b0f3
Normal file
@@ -0,0 +1,4 @@
|
||||
# file: /home/anti/Tools/DECNET/decnet/services/conpot.py
|
||||
# hypothesis_version: 6.151.12
|
||||
|
||||
[161, 502, 'CONPOT_TEMPLATE', 'conpot', 'container_name', 'default', 'environment', 'honeynet/conpot', 'image', 'restart', 'unless-stopped']
|
||||
Binary file not shown.
117
tests/service_testing/service-test.txt
Normal file
117
tests/service_testing/service-test.txt
Normal file
@@ -0,0 +1,117 @@
|
||||
# Nmap 7.92 scan initiated Thu Apr 9 02:09:54 2026 as: nmap -sS -sV -oN service-test.txt -p- 192.168.1.200
|
||||
Nmap scan report for 192.168.1.200
|
||||
Host is up (0.0000030s latency).
|
||||
Not shown: 65510 closed tcp ports (reset)
|
||||
PORT STATE SERVICE VERSION
|
||||
21/tcp open ftp vsftpd (before 2.0.8) or WU-FTPD
|
||||
23/tcp open telnet?
|
||||
25/tcp open smtp Postfix smtpd
|
||||
80/tcp open http Apache httpd 2.4.54 ((Debian))
|
||||
110/tcp open pop3
|
||||
143/tcp open imap
|
||||
389/tcp open ldap Cisco LDAP server
|
||||
445/tcp open microsoft-ds
|
||||
1433/tcp open ms-sql-s?
|
||||
1883/tcp open mqtt
|
||||
2121/tcp open ccproxy-ftp?
|
||||
2375/tcp open docker Docker 24.0.5
|
||||
3306/tcp open mysql MySQL 5.7.38-log
|
||||
3389/tcp open ms-wbt-server xrdp
|
||||
5020/tcp open zenginkyo-1?
|
||||
5060/tcp open sip (SIP end point; Status: 401 Unauthorized)
|
||||
5432/tcp open postgresql?
|
||||
5900/tcp open vnc VNC (protocol 3.8)
|
||||
6379/tcp open redis?
|
||||
6443/tcp open sun-sr-https?
|
||||
8800/tcp open sunwebadmin?
|
||||
9200/tcp open wap-wsp?
|
||||
10201/tcp open rsms?
|
||||
27017/tcp open mongod?
|
||||
44818/tcp open EtherNetIP-2?
|
||||
9 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at https://nmap.org/cgi-bin/submit.cgi?new-service :
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port23-TCP:V=7.92%I=7%D=4/9%Time=69D742B9%P=x86_64-redhat-linux-gnu%r(N
|
||||
SF:ULL,7,"login:\x20")%r(GenericLines,2C,"login:\x20\xff\xfb\x01Password:\
|
||||
SF:x20\nLogin\x20incorrect\nlogin:\x20")%r(tn3270,16,"login:\x20\xff\xfe\x
|
||||
SF:18\xff\xfe\x19\xff\xfc\x19\xff\xfe\0\xff\xfc\0")%r(GetRequest,2C,"login
|
||||
SF::\x20\xff\xfb\x01Password:\x20\nLogin\x20incorrect\nlogin:\x20")%r(HTTP
|
||||
SF:Options,2C,"login:\x20\xff\xfb\x01Password:\x20\nLogin\x20incorrect\nlo
|
||||
SF:gin:\x20")%r(RTSPRequest,2C,"login:\x20\xff\xfb\x01Password:\x20\nLogin
|
||||
SF:\x20incorrect\nlogin:\x20")%r(RPCCheck,7,"login:\x20")%r(DNSVersionBind
|
||||
SF:ReqTCP,7,"login:\x20")%r(DNSStatusRequestTCP,7,"login:\x20")%r(Help,14,
|
||||
SF:"login:\x20\xff\xfb\x01Password:\x20")%r(SSLSessionReq,14,"login:\x20\x
|
||||
SF:ff\xfb\x01Password:\x20")%r(TerminalServerCookie,14,"login:\x20\xff\xfb
|
||||
SF:\x01Password:\x20")%r(Kerberos,14,"login:\x20\xff\xfb\x01Password:\x20"
|
||||
SF:)%r(X11Probe,7,"login:\x20")%r(FourOhFourRequest,2C,"login:\x20\xff\xfb
|
||||
SF:\x01Password:\x20\nLogin\x20incorrect\nlogin:\x20")%r(LPDString,14,"log
|
||||
SF:in:\x20\xff\xfb\x01Password:\x20")%r(LDAPSearchReq,2C,"login:\x20\xff\x
|
||||
SF:fb\x01Password:\x20\nLogin\x20incorrect\nlogin:\x20")%r(LDAPBindReq,7,"
|
||||
SF:login:\x20")%r(SIPOptions,BE,"login:\x20\xff\xfb\x01Password:\x20\nLogi
|
||||
SF:n\x20incorrect\nlogin:\x20Password:\x20\nLogin\x20incorrect\nlogin:\x20
|
||||
SF:Password:\x20\nLogin\x20incorrect\nlogin:\x20Password:\x20\nLogin\x20in
|
||||
SF:correct\nlogin:\x20Password:\x20\nLogin\x20incorrect\nlogin:\x20Passwor
|
||||
SF:d:\x20")%r(LANDesk-RC,7,"login:\x20")%r(TerminalServer,7,"login:\x20")%
|
||||
SF:r(NotesRPC,7,"login:\x20")%r(JavaRMI,7,"login:\x20")%r(WMSRequest,7,"lo
|
||||
SF:gin:\x20")%r(afp,7,"login:\x20")%r(giop,7,"login:\x20");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port110-TCP:V=7.92%I=7%D=4/9%Time=69D742B9%P=x86_64-redhat-linux-gnu%r(
|
||||
SF:NULL,23,"\+OK\x20omega-decky\x20POP3\x20server\x20ready\r\n")%r(Generic
|
||||
SF:Lines,4F,"\+OK\x20omega-decky\x20POP3\x20server\x20ready\r\n-ERR\x20Unk
|
||||
SF:nown\x20command\r\n-ERR\x20Unknown\x20command\r\n")%r(HTTPOptions,4F,"\
|
||||
SF:+OK\x20omega-decky\x20POP3\x20server\x20ready\r\n-ERR\x20Unknown\x20com
|
||||
SF:mand\r\n-ERR\x20Unknown\x20command\r\n");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port143-TCP:V=7.92%I=7%D=4/9%Time=69D742B9%P=x86_64-redhat-linux-gnu%r(
|
||||
SF:NULL,2C,"\*\x20OK\x20\[omega-decky\]\x20IMAP4rev1\x20Service\x20Ready\r
|
||||
SF:\n")%r(GetRequest,4C,"\*\x20OK\x20\[omega-decky\]\x20IMAP4rev1\x20Servi
|
||||
SF:ce\x20Ready\r\nGET\x20BAD\x20Command\x20not\x20recognized\r\n")%r(Gener
|
||||
SF:icLines,2C,"\*\x20OK\x20\[omega-decky\]\x20IMAP4rev1\x20Service\x20Read
|
||||
SF:y\r\n");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port445-TCP:V=7.92%I=7%D=4/9%Time=69D742BE%P=x86_64-redhat-linux-gnu%r(
|
||||
SF:SMBProgNeg,51,"\0\0\0M\xffSMBr\0\0\0\0\x80\0\xc0\0\0\0\0\0\0\0\0\0\0\0\
|
||||
SF:0\0\0@\x06\0\0\x01\0\x11\x07\0\x03\x01\0\x01\0\0\xfa\0\0\0\0\x01\0\0\0\
|
||||
SF:0\0p\0\0\0\0\0\0\0\0\0\0\0\0\0\x08\x08\0\x11\"3DUfw\x88");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port1433-TCP:V=7.92%I=7%D=4/9%Time=69D742BE%P=x86_64-redhat-linux-gnu%r
|
||||
SF:(ms-sql-s,29,"\x04\x01\0\+\0\0\x01\0\0\0\x1a\0\x06\x01\0\x20\0\x01\x02\
|
||||
SF:0!\0\x01\x03\0\"\0\x04\xff\x10\0\x03\xe8\0\0\x02\0\0\0\0\x01");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port2121-TCP:V=7.92%I=7%D=4/9%Time=69D742B9%P=x86_64-redhat-linux-gnu%r
|
||||
SF:(NULL,17,"200\x20FTP\x20server\x20ready\.\r\n")%r(GenericLines,3A,"200\
|
||||
SF:x20FTP\x20server\x20ready\.\r\n500\x20Command\x20'\\r\\n'\x20not\x20und
|
||||
SF:erstood\r\n");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port5060-TCP:V=7.92%I=7%D=4/9%Time=69D742C5%P=x86_64-redhat-linux-gnu%r
|
||||
SF:(SIPOptions,F1,"SIP/2\.0\x20401\x20Unauthorized\r\nVia:\x20SIP/2\.0/TCP
|
||||
SF:\x20nm;branch=foo\r\nFrom:\x20<sip:nm@nm>;tag=root\r\nTo:\x20<sip:nm2@n
|
||||
SF:m2>\r\nCall-ID:\x2050000\r\nCSeq:\x2042\x20OPTIONS\r\nWWW-Authenticate:
|
||||
SF:\x20Digest\x20realm=\"omega-decky\",\x20nonce=\"decnet0000\",\x20algori
|
||||
SF:thm=MD5\r\nContent-Length:\x200\r\n\r\n");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port5432-TCP:V=7.92%I=7%D=4/9%Time=69D742C8%P=x86_64-redhat-linux-gnu%r
|
||||
SF:(SMBProgNeg,D,"R\0\0\0\x0c\0\0\0\x05\xde\xad\xbe\xef")%r(Kerberos,D,"R\
|
||||
SF:0\0\0\x0c\0\0\0\x05\xde\xad\xbe\xef");
|
||||
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
|
||||
SF-Port6379-TCP:V=7.92%I=7%D=4/9%Time=69D742BE%P=x86_64-redhat-linux-gnu%r
|
||||
SF:(redis-server,9F,"\$151\r\n#\x20Server\nredis_version:7\.0\.12\nredis_m
|
||||
SF:ode:standalone\nos:Linux\x205\.15\.0\narch_bits:64\ntcp_port:6379\nupti
|
||||
SF:me_in_seconds:864000\nconnected_clients:1\n#\x20Keyspace\n\r\n")%r(GetR
|
||||
SF:equest,16,"-ERR\x20unknown\x20command\r\n")%r(HTTPOptions,16,"-ERR\x20u
|
||||
SF:nknown\x20command\r\n")%r(RTSPRequest,16,"-ERR\x20unknown\x20command\r\
|
||||
SF:n")%r(Help,16,"-ERR\x20unknown\x20command\r\n")%r(SSLSessionReq,16,"-ER
|
||||
SF:R\x20unknown\x20command\r\n")%r(TerminalServerCookie,16,"-ERR\x20unknow
|
||||
SF:n\x20command\r\n")%r(TLSSessionReq,16,"-ERR\x20unknown\x20command\r\n")
|
||||
SF:%r(Kerberos,16,"-ERR\x20unknown\x20command\r\n")%r(FourOhFourRequest,16
|
||||
SF:,"-ERR\x20unknown\x20command\r\n")%r(LPDString,16,"-ERR\x20unknown\x20c
|
||||
SF:ommand\r\n")%r(LDAPSearchReq,2C,"-ERR\x20unknown\x20command\r\n-ERR\x20
|
||||
SF:unknown\x20command\r\n")%r(SIPOptions,DC,"-ERR\x20unknown\x20command\r\
|
||||
SF:n-ERR\x20unknown\x20command\r\n-ERR\x20unknown\x20command\r\n-ERR\x20un
|
||||
SF:known\x20command\r\n-ERR\x20unknown\x20command\r\n-ERR\x20unknown\x20co
|
||||
SF:mmand\r\n-ERR\x20unknown\x20command\r\n-ERR\x20unknown\x20command\r\n-E
|
||||
SF:RR\x20unknown\x20command\r\n-ERR\x20unknown\x20command\r\n");
|
||||
MAC Address: 56:0E:4B:0C:6D:A0 (Unknown)
|
||||
Service Info: Hosts: Twisted, omega-decky
|
||||
|
||||
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
|
||||
# Nmap done at Thu Apr 9 02:12:39 2026 -- 1 IP address (1 host up) scanned in 164.95 seconds
|
||||
@@ -1,8 +1,20 @@
|
||||
import os
|
||||
from typing import Generator
|
||||
import pytest
|
||||
from fastapi.testclient import TestClient
|
||||
from decnet.web.api import app
|
||||
from decnet.web.api import app, repo
|
||||
from decnet.env import DECNET_ADMIN_USER, DECNET_ADMIN_PASSWORD
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_db() -> Generator[None, None, None]:
|
||||
repo.db_path = "test_bounty_decnet.db"
|
||||
if os.path.exists(repo.db_path):
|
||||
os.remove(repo.db_path)
|
||||
repo.reinitialize()
|
||||
yield
|
||||
if os.path.exists(repo.db_path):
|
||||
os.remove(repo.db_path)
|
||||
|
||||
@pytest.fixture
|
||||
def auth_token():
|
||||
with TestClient(app) as client:
|
||||
|
||||
BIN
tests/test_decnet.db-shm
Normal file
BIN
tests/test_decnet.db-shm
Normal file
Binary file not shown.
BIN
tests/test_decnet.db-wal
Normal file
BIN
tests/test_decnet.db-wal
Normal file
Binary file not shown.
@@ -5,6 +5,18 @@ from decnet.web.api import app
|
||||
import decnet.config
|
||||
from pathlib import Path
|
||||
from decnet.env import DECNET_ADMIN_USER, DECNET_ADMIN_PASSWORD
|
||||
from decnet.web.api import repo
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_db():
|
||||
repo.db_path = "test_fleet_decnet.db"
|
||||
import os
|
||||
if os.path.exists(repo.db_path):
|
||||
os.remove(repo.db_path)
|
||||
repo.reinitialize()
|
||||
yield
|
||||
if os.path.exists(repo.db_path):
|
||||
os.remove(repo.db_path)
|
||||
|
||||
TEST_STATE_FILE = Path("test-decnet-state.json")
|
||||
|
||||
|
||||
27
tests/test_ini_spaces.py
Normal file
27
tests/test_ini_spaces.py
Normal file
@@ -0,0 +1,27 @@
|
||||
from decnet.ini_loader import load_ini_from_string
|
||||
|
||||
def test_load_ini_with_spaces_around_equals():
|
||||
content = """
|
||||
[general]
|
||||
interface = eth0
|
||||
|
||||
[omega-decky]
|
||||
services = http, ssh
|
||||
"""
|
||||
cfg = load_ini_from_string(content)
|
||||
assert cfg.interface == "eth0"
|
||||
assert len(cfg.deckies) == 1
|
||||
assert cfg.deckies[0].name == "omega-decky"
|
||||
assert cfg.deckies[0].services == ["http", "ssh"]
|
||||
|
||||
def test_load_ini_with_tabs_and_spaces():
|
||||
content = """
|
||||
[general]
|
||||
interface = eth0
|
||||
|
||||
[omega-decky]
|
||||
services = http, ssh
|
||||
"""
|
||||
cfg = load_ini_from_string(content)
|
||||
assert cfg.interface == "eth0"
|
||||
assert cfg.deckies[0].services == ["http", "ssh"]
|
||||
@@ -13,6 +13,8 @@ def setup_db() -> Generator[None, None, None]:
|
||||
if os.path.exists(repo.db_path):
|
||||
os.remove(repo.db_path)
|
||||
|
||||
repo.reinitialize()
|
||||
|
||||
# Yield control to the test function
|
||||
yield
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ def setup_db() -> Generator[None, None, None]:
|
||||
repo.db_path = "test_fuzz_decnet.db"
|
||||
if os.path.exists(repo.db_path):
|
||||
os.remove(repo.db_path)
|
||||
|
||||
repo.reinitialize()
|
||||
yield
|
||||
if os.path.exists(repo.db_path):
|
||||
os.remove(repo.db_path)
|
||||
|
||||
Reference in New Issue
Block a user