Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
Project-Onyx — Advanced EDR Evasion via AI Telemetry Spoofing & WASM Sandboxing. Project Onyx is a PoC Red Team pipeline designed to demonstrate advanced evasion techniques against modern EDR systems. It shifts away from traditional signature-based obfuscation towards behavioral camouflage and strict environmental keying. | Kitploit
Tools/GitHubGitHub/x-3306/project-onyx
Reverse EngineeringShellcodeSteganographyCryptographyCommand and ControlLearning & EducationRed TeamingPayload DevelopmentAI Security
GitHubx-3306/project-onyx

Project-Onyx

Repository anzeigen
11516vor 1 MonatVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →

Über

Advanced EDR Evasion via AI Telemetry Spoofing & WASM Sandboxing. Project Onyx is a PoC Red Team pipeline designed to demonstrate advanced evasion techniques against modern EDR systems. It shifts away from traditional signature-based obfuscation towards behavioral camouflage and strict environmental keying.

Teilen

Banner

Project Onyx

Fortgeschrittene EDR-Umgehung durch KI-Telemetrie-Spoofing und WASM-Sandboxing. Project Onyx ist eine PoC-Red-Team-Pipeline, die entwickelt wurde, um fortgeschrittene Umgehungstechniken gegen moderne EDR-Systeme zu demonstrieren. Sie bewegt sich weg von traditioneller signaturbasierter Verschleierung hin zu verhaltensbezogener Tarnung und strenger Umgebungsschlüsselbindung.

Dieses Projekt ist eine Proof-of-Concept-Red-Team-Forschung, die eine unkonventionelle mehrschichtige Ausführungspipeline untersucht. Die Architektur verknüpft fünf verschiedene Techniken: KI-Telemetrie-Tarnung, hardwaregebundene Umgebungsschlüsselbindung, ONNX-Gewichts-Steganographie, In-Memory-WebAssembly-Sandboxing und Dead-Drop-C2 über Downlink-Modell-Updates --> zu einer einzigen funktionalen Lieferkette.

Project Onyx erhebt nicht den Anspruch auf einen funktionierenden Bypass von Produktions-EDR-Systemen. Es ist eine architektonische Skizze: Jede Komponente ist implementiert und funktional als Teil der Kette, aber jede Schicht würde dedizierte Forschung erfordern, um gegen reale Verteidigungsmaßnahmen bedeutsam zu sein. Project Onyx ist am besten als strukturierter Ausgangspunkt für diese Art der Erkundung zu verstehen. Die Laufzeit-Payload ist absichtlich auf einen Heartbeat-Beacon beschränkt, sodass die gesamte Pipeline untersucht werden kann, ohne destruktives oder Post-Exploitation-Verhalten auszuliefern.

Core Concepts / UPDATE = Project Onyx v2

  1. KI-Köder (Verhaltens-Tarnung): Jetzt bettet Project Onyx ein legitimes SqueezeNet 1.0 ONNX-Bildklassifikationsmodell aus dem Hugging Face ONNX Model Zoo Spiegel ein. Bevor das WebAssembly-Heartbeat-Modul ausgeführt wird, führt der Host wiederholte echte Tensorinferenz-Workloads mit Microsofts onnxruntime durch. Dadurch wird das ONNX-Artefakt zu einem aktiven Teil der Pipeline und nicht nur zu einer dekorativen Datei wie das vorherige kleine MLP.
  2. Umgebungsschlüsselbindung: Sie erhöht die Hürde für Sandbox-Analyse und Reverse Engineering erheblich, ohne Zugriff auf die genaue Zielmaschine zu haben. Die Entschlüsselungsschlüssel werden dynamisch aus dem SHA-256-Hash der MachineGuid, der Volume Serial Number und der aktuellen Benutzer-SID des Ziels abgeleitet.
  3. WASM-Sandboxing: Die eigentliche Payload wird in WebAssembly (WASM) kompiliert und vollständig im Arbeitsspeicher mit dem wasm3-Interpreter ausgeführt. Die C++-Host-Anwendung fungiert lediglich als Lader und API-Brücke und stellt sichere Host-Funktionen für die WASM-Sandbox bereit.
  4. ONNX-Gewichtstresor: Das AES-256-Schlüsselmaterial, das zum Entschlüsseln des WebAssembly-Heartbeat-Moduls erforderlich ist, wird in die niederwertigsten Mantissenbits von float32 ONNX-Gewichten eingebettet. Der Host extrahiert diesen Gewichtstresor aus den eingebetteten Modellbytes, authentifiziert ihn und stellt erst dann das Demo-Schlüsselmaterial wieder her.
  5. Metadaten-Tresor-Fallback: Der ursprüngliche authentifizierte Metadaten-Tresor bleibt aus Kompatibilitäts- und Build-Zeit-Überprüfungsgründen erhalten. Neue Assets bevorzugen den Gewichtstresor, während der Metadaten-Tresor dasselbe geschützte Material in einer besser überprüfbaren Form dokumentiert.
  6. Dead-Drop-C2 über Downlink-Modell-Updates: Die Pipeline demonstriert einen verdeckten Kommunikationskanal unter Verwendung von ONNX-Modell-Updates. Ein Operator kann eine authentifizierte Direktive in die LSBs von Gewichten einbetten, die sich während des Feintunings natürlich geändert haben. Diese Änderungen werden durch Delta-Analyse zwischen dem aktualisierten Modell und dem Referenz-(Basis-)Modell identifiziert. Um einen sicheren PoC-Bereich zu wahren, akzeptiert die Laufzeit strenggenommen nur die Direktiven heartbeat_ack und set_status, was die Lebensfähigkeit des Kanals demonstriert, ohne die Ausführung beliebiger Befehle zu ermöglichen.

Project Onyx Chain

Highly Recommended

Siehe docs/architecture.md für die VOLLSTÄNDIGe architektonische Skizze von Ende zu Ende. (Ich empfehle es zum besseren Verständnis). und auch den gesamten Prozess: meine Fehler, die Konzepte und Ideen, die ich auf dem Weg dorthin in Betracht gezogen habe, und die architektonischen Kompromisse, die ich beim Aufbau von Project Onyx getroffen habe --> Medium

Legal Disclaimer

Dieses Projekt wurde ausschließlich zu Bildungszwecken, für Sicherheitsforschung und autorisierte Red-Team-Operationen erstellt. Die in diesem Repository (Project Onyx) demonstrierten Techniken sollen Sicherheitsexperten helfen, fortgeschrittene Umgehungsmethoden zu verstehen und Endpunktverteidigungen (EDR/XDR) zu verbessern. Verwenden Sie diese Software nicht auf einem System oder Netzwerk, das Sie nicht besitzen oder für das Sie keine ausdrückliche schriftliche Erlaubnis zum Testen haben. Der Autor dieses Projekts (X-3306) übernimmt keine Haftung und ist nicht verantwortlich für Missbrauch, Schäden oder illegale Aktivitäten, die durch die Nutzung dieser Software verursacht werden. Durch das Herunterladen, Kompilieren oder Verwenden dieses Codes erklären Sie sich damit einverstanden, die volle Verantwortung für Ihre Handlungen zu übernehmen.

Repository Layout

  • DiagnosticsTool.cpp - C++ Windows-Host und Wasm3/ONNX-Integration.
  • DiagnosticsTool.rc / resource.h - Ressourcenbindungen für generierte Assets.
  • build.py - Helfer für Fingerprinting, ONNX-Ködererzeugung, Einbettung des Gewichtstresors, Metadaten-Tresor-Kompatibilität, Dead-Drop-C2 über Downlink-Modell-Updates und WASM-Verschlüsselung.
  • wasm_license_module/ - Rust-Quellcode für das WebAssembly-Heartbeat-Modul.
  • wasm3/source/ - minimaler eingebundener Wasm3-Quellcode, der für den CMake-Build erforderlich ist.
  • assets/README2.md - Format generierter Assets.
  • docs/architecture.md - vollständige Laufzeitkette und Architekturhinweise.

Prerequisites

Installieren Sie diese unter Windows vor dem Bauen:

  • Visual Studio 2022 mit der Workload „Desktopentwicklung mit C++“.
  • CMake 3.25 oder neuer.
  • Python 3.10 oder neuer.
  • Rustup und Cargo.
  • Git.

Python-Abhängigkeiten:

root@kitploit:~
py -m pip install onnx numpy cryptography

Rust-Ziel:

root@kitploit:~
rustup target add wasm32-unknown-unknown

ONNX Runtime Static Build

Die CMake-Datei erwartet einen ONNX Runtime-Quell-/Build-Baum unter ./onnxruntime und verlinkt die statischen Komponentenbibliotheken aus:

  • onnxruntime/build/Windows/Release/Release
  • onnxruntime/build/Windows/Release/vcpkg_installed/x64-windows-static-md/lib

Führen Sie in einer Developer PowerShell für VS 2022 den Build von ONNX Runtime wie folgt durch:

root@kitploit:~
git clone --recursive https://github.com/microsoft/onnxruntime.git onnxruntime
.\onnxruntime\build.bat --config Release --parallel --compile_no_warning_as_error --skip_tests --build_shared_lib --use_vcpkg --cmake_extra_defines VCPKG_TARGET_TRIPLET=x64-windows-static-md onnxruntime_BUILD_UNIT_TESTS=OFF

Die generierte onnxruntime.dll wird nicht mit Project Onyx ausgeliefert. Project Onyx verlinkt die statischen .lib-Dateien der Komponenten, und die endgültige ausführbare Datei sollte onnxruntime.dll nicht in dumpbin /DEPENDENTS auflisten.

Generate Assets

Ermitteln Sie den Fingerabdruck-Hash für das aktuelle Windows-Gerät:

root@kitploit:~
python build.py fingerprint --show-components

Verwenden Sie die zweite gedruckte Zeile als --trigger-Wert.

Bauen Sie das Rust-WebAssembly-Modul:

root@kitploit:~
cargo build --manifest-path wasm_license_module/Cargo.toml --target wasm32-unknown-unknown --release

Generieren Sie assets/model.onnx und assets/license_module.wasm.aes:

root@kitploit:~
python build.py build `
  --trigger "<64-char lowercase fingerprint hash>" `
  --secret "<exactly-32-demo-key-chars>" `
  --model-output assets/model.onnx `
  --wasm-input wasm_license_module/target/wasm32-unknown-unknown/release/wasm_license_module.wasm `
  --wasm-output assets/license_module.wasm.aes

Überprüfen Sie die ONNX-Tresore:

root@kitploit:~
python build.py verify --trigger "<64-char lowercase fingerprint hash>" --model assets/model.onnx

Der Überprüfungsbefehl prüft sowohl den alten Metadaten-Tresor als auch den versteckten ONNX-Gewichtstresor. Beide müssen dasselbe 32-stellige Demo-Schlüsselmaterial entsperren.

Real ONNX Model

Der Standardträger ist SqueezeNet 1.0 opset 12:

  • Quelle: onnxmodelzoo/squeezenet1.0-12
  • Datei: assets/base/squeezenet1.0-12.onnx
  • Lizenz: Apache-2.0 auf der Hugging Face Modellkarte
  • Eingabe: data_0, float[1, 3, 224, 224]
  • Ausgabe: softmaxout_1, float[1, 1000, 1, 1]
  • Größe: ca. 4,95 MB
  • float32-Gewichte: ca. 1,23 Millionen

Holen oder überprüfen Sie das gebündelte Basismodell:

root@kitploit:~
python build.py fetch-model

build.py build kopiert dieses echte Modell, fügt Project Onyx-Metadaten hinzu, bettet den authentifizierten ONNX-Gewichtstresor in die LSBs seiner float32-Initialisierer ein und schreibt das endgültige Referenzmodell nach assets/model.onnx.

Heartbeat-Only Dead-Drop C2 via Model Update Downlink

Der zusätzliche Downlink ist eine Forschungserweiterung zum Testen, ob ein normales ONNX-Modell-Update ein authentifiziertes, winziges Steuersignal als einfachen PoC tragen kann. Es ist bewusst auf zwei sichere Direktiven beschränkt:

  • heartbeat_ack - ändert den Laufzeit-Heartbeat-Status auf heartbeat_ack.
  • set_status - ändert den Laufzeit-Heartbeat-Status auf einen vom Operator gewählten sicheren String wie lab_downlink_ack.

Erstellen Sie ein Labor-Update-Modell:

root@kitploit:~
python build.py downlink-build `
  --trigger "<64-char lowercase fingerprint hash>" `
  --reference-model assets/model.onnx `
  --output assets/downlink_update.onnx `
  --command set_status `
  --status lab_C2_test `
  --expires-unix 4102444800 `
  --cover-seed 2026 `
  --cover-fraction 0.08 `
  --cover-noise-scale 0.00004

Überprüfen Sie es vor der Verwendung:

root@kitploit:~
python build.py downlink-verify `
  --trigger "<64-char lowercase fingerprint hash>" `
  --reference-model assets/model.onnx `
  --model assets/downlink_update.onnx

Webhook & Model Configuration

Richten Sie es auf ein rohes HTTPS-Modell-Artefakt aus, z. B. ein öffentliches Release-Asset:

root@kitploit:~
$env:PROJECT_ONYX_DOWNLINK_MODEL_URL = "https://huggingface.co/<profile>/<repo>/resolve/main/downlink_update.onnx"
.\build\Release\ProjectOnyx.exe

Oder verwenden Sie Webhook Slack/Teams:

Project Onyx bettet keine echte Webhook-URL ein. Für autorisierte Labordurchläufe setzen Sie:

Die Variable muss für den Prozess sichtbar sein, der ProjectOnyx.exe startet. Wenn Sie die ausführbare Datei per Doppelklick starten, setzen Sie sie zuerst als Benutzer- oder Systemumgebungsvariable, öffnen Sie dann ein neues Terminal oder starten Sie Explorer neu. Und führen Sie den nativen Host mit einem lokalen Update-Modell aus:

root@kitploit:~
$env:PROJECT_ONYX_DOWNLINK_MODEL_PATH = "$($PWD.Path)\assets\downlink_update.onnx"; $env:PROJECT_ONYX_SLACK_WEBHOOK_URL = "https://hooks.slack.com/services/..."; .\build\Release\ProjectOnyx.exe

(Sie können auch Teams verwenden)

Die Laufzeit führt beim Start einen einzigen Abruf/Lesevorgang durch. Sie fragt nicht ab, bleibt nicht bestehen, führt keinen heruntergeladenen Code aus und verarbeitet keine beliebigen Befehle. Ungültige, abgelaufene, nicht zusammenhängende oder nicht authentifizierte Modell-Updates werden ignoriert.

Laufzeit-Überprüfungsknöpfe:

root@kitploit:~
$env:PROJECT_ONYX_ONNX_TELEMETRY_PASSES = "24"
$env:PROJECT_ONYX_REQUIRE_ONNX_TELEMETRY = "1"
$env:PROJECT_ONYX_LAB_OUTPUT_PATH = "$($PWD.Path)\assets\lab_heartbeat.json"

IMPORTANT, Pls Read: Reference Model, Fine-Tuning, and Natural Deltas

PROJECT_ONYX_ONNX_TELEMETRY_PASSES steuert, wie viele echte ONNX Runtime-Inferenzen ausgeführt werden, bevor der Tresor-Entsperrpfad fortgesetzt wird. PROJECT_ONYX_REQUIRE_ONNX_TELEMETRY=1 macht Telemetriefehler zu harten Fehlern, was nützlich ist, um zu validieren, dass die ONNX-Stufe nicht übersprungen wird. PROJECT_ONYX_LAB_OUTPUT_PATH schreibt das endgültige Heartbeat-JSON in eine lokale Datei zur Laborüberprüfung, ohne einen Webhook zu benötigen.

Dieses Repository enthält ein echtes SqueezeNet-Referenzmodell, da es klein genug für GitHub ist und dennoch ein legitimes trainiertes neuronales Netz darstellt. Für ein stärkeres Forschungsartefakt erstellen Sie ein aktualisiertes Modell durch echtes Feintuning oder einen anderen normalen Modellwartungsprozess. Der Downlink-Einbetter kann dann seine Bitänderungen auf Gewichte beschränken, die sich bereits relativ zum Referenzmodell geändert haben. Das ist die praktische Version der Idee „in Feintuning-Rauschen verstecken“, Link zum vollständigen Nebenprojekt: https://github.com/X-3306/ONNXStego

Für eine schnelle Laborvalidierung kann downlink-build ein gesätes zufälliges, feintuning-ähnliches Cover-Update aus dem Referenzmodell synthetisieren. Das beweist die End-to-End-Mechanik und liefert natürliche Kandidatengewichte für den LSB-Eintrag, ist aber KEIN Ersatz für eine empirische Bewertung an einer realen Aufgabe, einem Datensatz und einem Feintuning-Verfahren.

Final Build

Konfigurieren und bauen Sie die Release-ausführbare Datei:

root@kitploit:~
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

Die endgültige ausführbare Datei ist:

root@kitploit:~
build\Release\ProjectOnyx.exe

Optionale Abhängigkeitsprüfung:

root@kitploit:~
& "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64\dumpbin.exe" /DEPENDENTS build\Release\ProjectOnyx.exe

Erwartet: keine onnxruntime.dll-Abhängigkeit.

Scope

Die Demo umfasst keine Persistenz, Privilegienausweitung, Anmeldeinformationszugriff, laterale Bewegung, beliebige Befehlsausführung, destruktives Verhalten oder gebündelte private Webhook-Token. Das WebAssembly-Modul ist darauf beschränkt, ein Heartbeat-JSON als einfachen PoC zu formatieren und zurückzugeben. Der zusätzliche Modell-Update-Downlink kann diesen Heartbeat-Status nur über die Whitelist heartbeat_ack / set_status ändern. Wenn Sie interessante Ideen für dieses Projekt haben, zögern Sie nicht, uns zu kontaktieren: [email protected]

Project Onyx Daily Trend Project Onyx Weekly Trend

Tool herunterladen