
Evasion EDR avanzata tramite spoofing della telemetria dell'IA e sandboxing WASM. Il Progetto Onyx è una pipeline Red Team PoC progettata per dimostrare tecniche di evasione avanzate contro i moderni sistemi EDR. Si distacca dall'offuscamento tradizionale basato su firme per orientarsi verso il mimetismo comportamentale e uno stretto keying ambientale.

Evasione EDR avanzata tramite spoofing della telemetria AI e sandboxing WASM. Project Onyx è una pipeline Red Team PoC progettata per dimostrare tecniche di evasione avanzate contro i moderni sistemi EDR. Si allontana dall'offuscamento tradizionale basato su firme per puntare su camuffamento comportamentale e keying ambientale rigoroso.
Questo progetto è una ricerca red team proof-of-concept, che studia una pipeline di esecuzione multistrato non convenzionale. L'architettura combina cinque tecniche distinte: camuffamento della telemetria AI, keying ambientale legato all'hardware, steganografia dei pesi ONNX, sandboxing WebAssembly in memoria e C2 Dead-Drop tramite aggiornamenti del modello in downlink --> in un'unica catena di consegna funzionante.
Project Onyx non sostiene di essere un bypass funzionante dei sistemi EDR in produzione. È uno schizzo architettonico: ogni componente è implementato e funzionante come parte della catena, ma ogni livello richiederebbe una ricerca dedicata per diventare significativo contro le difese reali. Project Onyx va inteso come un punto di partenza strutturato per questo tipo di esplorazione. Il payload runtime è volutamente limitato a un beacon heartbeat, consentendo di esaminare l'intera pipeline senza includere comportamenti distruttivi o post-exploitation.
onnxruntime di Microsoft. Questo rende l'artefatto ONNX una parte attiva della pipeline, non un file decorativo come il precedente piccolo MLP.MachineGuid del target, del Volume Serial Number e del SID dell'utente corrente.wasm3. L'applicazione host C++ agisce solo come loader e ponte API, esponendo funzioni host sicure alla sandbox WASM.float32. L'host estrae questo vault dei pesi dai byte del modello incorporato, lo autentica e solo allora recupera il materiale della chiave demo.heartbeat_ack e set_status, dimostrando la validità del canale senza abilitare l'esecuzione arbitraria di comandi.
Consulta docs/architecture.md per lo schizzo tecnico completo end-to-end. (Lo consiglio per una migliore comprensione).
e anche l'intero processo: i miei errori, i concetti e le idee che ho considerato lungo il percorso, e i compromessi architetturali che ho affrontato durante la costruzione di Project Onyx --> Medium
Questo progetto è creato esclusivamente a scopo educativo, ricerca sulla sicurezza e operazioni Red Team autorizzate.
Le tecniche dimostrate in questo repository (Project Onyx) hanno lo scopo di aiutare i professionisti della sicurezza a comprendere i metodi di evasione avanzati e a migliorare le difese degli endpoint (EDR/XDR).
Non usare questo software su alcun sistema o rete di cui non sei proprietario o per cui non hai un'autorizzazione esplicita e scritta a testare.
L'autore di questo progetto (X-3306) non si assume alcuna responsabilità e non è responsabile di qualsiasi uso improprio, danno o attività illegale causata dall'uso di questo software. Scaricando, compilando o usando questo codice, accetti di assumerti la piena responsabilità delle tue azioni.
DiagnosticsTool.cpp - Host Windows C++ e integrazione Wasm3/ONNX.DiagnosticsTool.rc / resource.h - binding delle risorse per gli asset generati.build.py - helper per fingerprinting, generazione dell'esca ONNX, embedding del weight vault, compatibilità del metadata vault, C2 Dead-Drop tramite aggiornamenti del modello in downlink e crittografia WASM.wasm_license_module/ - sorgente Rust per il modulo heartbeat WebAssembly.wasm3/source/ - sorgente Wasm3 venduta minima richiesta dalla build CMake.assets/README2.md - formati degli asset generati.docs/architecture.md - note complete sulla catena runtime e sull'architettura.Installa questi su Windows prima di compilare:
Dipendenze Python:
py -m pip install onnx numpy cryptography
Target Rust:
rustup target add wasm32-unknown-unknown
Il file CMake si aspetta un albero sorgente/build di ONNX Runtime in ./onnxruntime e collega le librerie statiche dei componenti da:
onnxruntime/build/Windows/Release/Releaseonnxruntime/build/Windows/Release/vcpkg_installed/x64-windows-static-md/libDa una Developer PowerShell per VS 2022, compila ONNX Runtime in questo modo:
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
La onnxruntime.dll generata non viene distribuita con Project Onyx. Project Onyx collega i file .lib statici dei componenti e l'eseguibile finale non dovrebbe elencare onnxruntime.dll in dumpbin /DEPENDENTS.
Ottieni l'hash fingerprint per il dispositivo Windows corrente:
python build.py fingerprint --show-components
Usa la seconda riga stampata come valore --trigger.
Compila il modulo Rust WebAssembly:
cargo build --manifest-path wasm_license_module/Cargo.toml --target wasm32-unknown-unknown --release
Genera assets/model.onnx e assets/license_module.wasm.aes:
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
Verifica i vault ONNX: