
Contournement avancé des EDR via l'usurpation de télémétrie IA et le sandboxing WASM. Project Onyx est un pipeline Red Team de type PoC conçu pour démontrer des techniques de contournement avancées contre les systèmes EDR modernes. Il s'éloigne de l'obfuscation traditionnelle basée sur les signatures pour privilégier le camouflage comportemental et un keying environnemental strict.

Évasion EDR avancée via le spoofing de télémétrie IA et le sandboxing WASM. Project Onyx est un pipeline Red Team de type preuve de concept conçu pour démontrer des techniques d'évasion avancées contre les systèmes EDR modernes. Il s'écarte de l'obfuscation traditionnelle basée sur les signatures pour privilégier le camouflage comportemental et un keying environnemental strict.
Ce projet est une recherche Red Team de type preuve de concept, étudiant un pipeline d'exécution multicouche non conventionnel. L'architecture enchaîne cinq techniques distinctes : le camouflage de télémétrie IA, le keying environnemental lié au matériel, la stéganographie de poids ONNX, le sandboxing WebAssembly en mémoire et le C2 Dead-Drop via des mises à jour de modèle en downlink --> dans une chaîne de livraison fonctionnelle unique.
Project Onyx ne prétend pas offrir un contournement fonctionnel des systèmes EDR de production. Il s'agit d'une esquisse architecturale : chaque composant est implémenté et fonctionnel au sein de la chaîne, mais chaque couche nécessiterait une recherche dédiée pour devenir pertinente face aux défenses du monde réel. Project Onyx doit être compris comme un point de départ structuré pour ce type d'exploration. La charge utile d'exécution est intentionnellement limitée à une balise heartbeat, ce qui permet d'examiner l'ensemble du pipeline sans embarquer de comportement destructeur ou de post-exploitation.
onnxruntime de Microsoft. Cela fait de l'artefact ONNX une partie active du pipeline plutôt qu'un fichier décoratif comme l'ancien petit MLP.MachineGuid de la cible, du Volume Serial Number et du SID de l'utilisateur actuel.wasm3. L'application hôte C++ agit simplement comme un chargeur et un pont API, exposant des fonctions hôte sûres au sandbox WASM.float32. L'hôte extrait ce coffre de poids des octets du modèle intégré, l'authentifie, puis ne récupère le matériel de clé de démonstration qu'ensuite.heartbeat_ack et set_status, démontrant la viabilité du canal sans permettre l'exécution arbitraire de commandes.
Consultez docs/architecture.md pour l'aperçu technique complet de bout en bout. (Je le recommande pour une meilleure compréhension).
et aussi l'ensemble du processus : mes erreurs, les concepts et idées que j'ai envisagés en cours de route, et les compromis architecturaux auxquels j'ai été confronté lors de la construction de Project Onyx --> Medium
Ce projet est créé uniquement à des fins pédagogiques, de recherche en sécurité et d'opérations Red Team autorisées.
Les techniques démontrées dans ce dépôt (Project Onyx) visent à aider les professionnels de la sécurité à comprendre les méthodes d'évasion avancées et à améliorer les défenses des points de terminaison (EDR/XDR).
N'utilisez pas ce logiciel sur un système ou un réseau que vous ne possédez pas ou pour lequel vous ne disposez pas d'une autorisation écrite explicite de test.
L'auteur de ce projet (X-3306) décline toute responsabilité et n'est pas responsable de tout usage abusif, dommage ou activité illégale causé par l'utilisation de ce logiciel. En téléchargeant, compilant ou utilisant ce code, vous acceptez d'assumer l'entière responsabilité de vos actions.
DiagnosticsTool.cpp - Hôte Windows C++ et intégration Wasm3/ONNX.DiagnosticsTool.rc / resource.h - liaisons de ressources pour les artefacts générés.build.py - outil d'aide pour la prise d'empreinte (fingerprinting), la génération du leurre ONNX, l'intégration du coffre de poids, la compatibilité du coffre de métadonnées, le C2 Dead-Drop via les mises à jour de modèle en downlink et le chiffrement WASM.wasm_license_module/ - code source Rust du module heartbeat WebAssembly.wasm3/source/ - source Wasm3 minimale intégrée requise par la compilation CMake.assets/README2.md - formats des artefacts générés.docs/architecture.md - chaîne d'exécution complète et notes d'architecture.Installez ce qui suit sur Windows avant la compilation :
Dépendances Python :
py -m pip install onnx numpy cryptography
Cible Rust :
rustup target add wasm32-unknown-unknown
Le fichier CMake s'attend à trouver une arborescence source/compilation ONNX Runtime dans ./onnxruntime et
lie les bibliothèques de composants statiques depuis :
onnxruntime/build/Windows/Release/Releaseonnxruntime/build/Windows/Release/vcpkg_installed/x64-windows-static-md/libDepuis un PowerShell Développeur pour VS 2022, compilez ONNX Runtime comme ceci :
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
Le onnxruntime.dll généré n'est pas fourni avec Project Onyx. Project Onyx
lie les fichiers .lib des composants statiques et l'exécutable final ne doit pas lister
onnxruntime.dll dans dumpbin /DEPENDENTS.
Obtenez le hachage d'empreinte pour l'appareil Windows actuel :
python build.py fingerprint --show-components
Utilisez la deuxième ligne affichée comme valeur de --trigger.
Compilez le module Rust WebAssembly :
cargo build --manifest-path wasm_license_module/Cargo.toml --target wasm32-unknown-unknown --release