Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Project-Onyx — Evasião Avançada de EDR via Spoofing de Telemetria de IA e Sandboxing WASM. O Project Onyx é um pipeline PoC de Red Team projetado para demonstrar técnicas avançadas de evasão contra sistemas EDR modernos. Ele se afasta da ofuscação tradicional baseada em assinaturas em direção à camuflagem comportamental e ao keying ambiental estrito. | Kitploit
Ferramentas/GitHubGitHub/x-3306/project-onyx
Engenharia ReversaShellcodeEsteganografiaCriptografiaComando e ControleAprendizado e EducaçãoRed TeamingDesenvolvimento de PayloadsSegurança de IA
GitHubx-3306/project-onyx

Project-Onyx

Ver Repositório
11516há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Evasião Avançada de EDR via Spoofing de Telemetria de IA e Sandboxing WASM. O Project Onyx é um pipeline PoC de Red Team projetado para demonstrar técnicas avançadas de evasão contra sistemas EDR modernos. Ele se afasta da ofuscação tradicional baseada em assinaturas em direção à camuflagem comportamental e ao keying ambiental estrito.

Compartilhar

Banner

Project Onyx

Evasão Avançada de EDR via Spoofing de Telemetria de IA e Sandboxing WASM. O Project Onyx é um pipeline de Red Team PoC projetado para demonstrar técnicas avançadas de evasão contra sistemas EDR modernos. Ele se afasta da ofuscação tradicional baseada em assinaturas em direção à camuflagem comportamental e ao chaveamento ambiental estrito.

Este Projeto é uma pesquisa de red team como prova de conceito, estudando um pipeline de execução multicamadas não convencional. A arquitetura encadeia cinco técnicas distintas: camuflagem de telemetria de IA, chaveamento ambiental vinculado ao hardware, esteganografia em pesos ONNX, sandboxing WebAssembly em memória e C2 Dead-Drop via atualizações de modelo por downlink --> em uma única cadeia de entrega funcional.

O Project Onyx não afirma ser um bypass funcional de sistemas EDR de produção. Trata-se de um esboço arquitetural: cada componente é implementado e funcional como parte da cadeia, mas cada camada exigiria pesquisa dedicada para se tornar significativa contra defesas do mundo real.O Project Onyx é melhor compreendido como um ponto de partida estruturado para esse tipo de exploração. O payload em tempo de execução é intencionalmente limitado a um beacon de heartbeat, permitindo que todo o pipeline seja examinado sem incluir comportamento destrutivo ou de pós-exploração.

Conceitos Centrais / ATUALIZAÇÃO = Project Onyx v2

  1. Isca de IA (Camuflagem Comportamental): Agora, o Project Onyx incorpora um modelo legítimo de classificação de imagens SqueezeNet 1.0 ONNX obtido do espelho ONNX Model Zoo do Hugging Face. Antes de o módulo de heartbeat WebAssembly ser executado, o host executa cargas de trabalho repetidas de inferência real de tensores usando o onnxruntime da Microsoft. Isso torna o artefato ONNX uma parte ativa do pipeline, em vez de um arquivo decorativo como o pequeno MLP anterior.
  2. Chaveamento Ambiental: Ele eleva significativamente o nível de dificuldade para análise em sandbox e engenharia reversa sem acesso à máquina de destino exata. As chaves de descriptografia são derivadas dinamicamente do hash SHA-256 do MachineGuid do alvo, do Volume Serial Number e do SID do usuário atual.
  3. Sandboxing WASM: O payload real é compilado para WebAssembly (WASM) e executado inteiramente em memória usando o interpretador wasm3. O aplicativo host em C++ atua apenas como um carregador e ponte de API, expondo funções seguras do host ao sandbox WASM.
  4. Cofre de Pesos ONNX: O material de chave AES-256 necessário para descriptografar o módulo de heartbeat WebAssembly é incorporado nos bits menos significativos da mantissa dos pesos float32 do ONNX. O host extrai esse cofre de pesos dos bytes do modelo incorporado, o autentica e somente então recupera o material de chave de demonstração.
  5. Fallback do Cofre de Metadados: O cofre de metadados autenticado original permanece para compatibilidade e verificação em tempo de build. Novos ativos preferem o cofre de pesos, enquanto o cofre de metadados documenta o mesmo material protegido em uma forma mais inspecionável.
  6. C2 Dead-Drop via atualizações de modelo por downlink: O pipeline demonstra um canal de comunicação encoberto usando atualizações de modelo ONNX. Um operador pode incorporar uma diretiva autenticada nos LSBs dos pesos que mudaram naturalmente durante o fine-tuning. Essas mudanças são identificadas via análise de delta entre o modelo atualizado e o modelo de referência (base). Para manter um escopo de PoC seguro, o runtime aceita estritamente apenas as diretivas heartbeat_ack e set_status, demonstrando a viabilidade do canal sem permitir execução arbitrária de comandos.

Project Onyx Chain

Altamente Recomendado

Consulte docs/architecture.md para o esboço técnico COMPLETO de ponta a ponta. (Recomendo, para um melhor entendimento).

e também todo o processo: meus erros, os conceitos e ideias que considerei ao longo do caminho e os tradeoffs arquiteturais que enfrentei ao construir o Project Onyx --> Medium

Aviso Legal

Este projeto foi criado exclusivamente para fins educacionais, pesquisa em segurança e operações autorizadas de Red Team.

As técnicas demonstradas neste repositório (Project Onyx) têm a intenção de ajudar profissionais de segurança a compreender métodos avançados de evasão e a melhorar as defesas de endpoint (EDR/XDR).

Não use este software em qualquer sistema ou rede que você não possua ou para o qual não tenha permissão explícita e por escrito para testar.

O autor deste projeto (X-3306) não assume nenhuma responsabilidade e não é responsável por qualquer uso indevido, dano ou atividades ilegais causadas pelo uso deste software. Ao baixar, compilar ou usar este código, você concorda em assumir total responsabilidade por suas ações.

Estrutura do Repositório

  • DiagnosticsTool.cpp - Host Windows em C++ e integração Wasm3/ONNX.
  • DiagnosticsTool.rc / resource.h - bindings de recursos para os ativos gerados.
  • build.py - auxiliar para fingerprinting, geração de isca ONNX, incorporação do cofre de pesos, compatibilidade do cofre de metadados, C2 Dead-Drop via atualizações de modelo por downlink e criptografia WASM.
  • wasm_license_module/ - código-fonte Rust para o módulo de heartbeat WebAssembly.
  • wasm3/source/ - fonte Wasm3 mínima incluída (vendored) exigida pela compilação CMake.
  • assets/README2.md - formatos dos ativos gerados.
  • docs/architecture.md - cadeia completa de runtime e notas de arquitetura.

Pré-requisitos

Instale estes itens no Windows antes de compilar:

  • Visual Studio 2022 com a carga de trabalho Desenvolvimento para desktop com C++.
  • CMake 3.25 ou mais recente.
  • Python 3.10 ou mais recente.
  • Rustup e Cargo.
  • Git.

Dependências do Python:

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

Alvo Rust:

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

Compilação Estática do ONNX Runtime

O arquivo CMake espera uma árvore de fonte/compilação do ONNX Runtime em ./onnxruntime e vincula as bibliotecas de componentes estáticos a partir de:

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

A partir de um PowerShell de Desenvolvedor para VS 2022, compile o ONNX Runtime assim:

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

O onnxruntime.dll gerado não é distribuído com o Project Onyx. O Project Onyx vincula os arquivos .lib dos componentes estáticos e o executável final não deve listar onnxruntime.dll em dumpbin /DEPENDENTS.

Gerar Ativos

Obtenha o hash de fingerprint para o dispositivo Windows atual:

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

Use a segunda linha impressa como o valor de --trigger.

Compile o módulo Rust WebAssembly:

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

Gere assets/model.onnx e 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

Verifique os cofres ONNX:

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

O comando de verificação checa tanto o cofre de metadados legado quanto o cofre oculto de pesos ONNX. Ambos devem desbloquear o mesmo material de chave de demonstração de 32 caracteres.

Modelo ONNX Real

O transportador padrão é o SqueezeNet 1.0 opset 12:

  • fonte: onnxmodelzoo/squeezenet1.0-12
  • arquivo: assets/base/squeezenet1.0-12.onnx
  • licença: Apache-2.0 no model card do Hugging Face
  • entrada: data_0, float[1, 3, 224, 224]
  • saída: softmaxout_1, float[1, 1000, 1, 1]
  • tamanho: cerca de 4,95 MB
  • pesos float32: cerca de 1,23 milhão

Baixe ou verifique o modelo base incluído:

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

O build.py build copia este modelo real, adiciona os metadados do Project Onyx, incorpora o cofre de pesos ONNX autenticado nos LSBs do inicializador float32 e grava o modelo de referência final em assets/model.onnx.

C2 Dead-Drop Somente Heartbeat via Downlink de Atualização de Modelo

O downlink adicional é uma extensão de pesquisa para testar se uma atualização normal de modelo ONNX pode transportar um sinal de controle autenticado e minúsculo como uma PoC simples. Ele é deliberadamente limitado a duas diretivas seguras:

  • heartbeat_ack - altera o status de heartbeat do runtime para heartbeat_ack.
  • set_status - altera o status de heartbeat do runtime para uma string segura escolhida pelo operador, como lab_downlink_ack.

Crie um modelo de atualização de laboratório:

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

Verifique-o antes do uso:

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

Configuração de Webhook e Modelo

Aponte-o para um artefato de modelo HTTPS bruto, por exemplo, um ativo de release público:

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

Ou use webhook Slack/Teams:

O Project Onyx não incorpora uma URL de webhook real. Para execuções de laboratório autorizadas, defina:

A variável deve estar visível para o processo que inicia ProjectOnyx.exe. Se você der um duplo clique no executável, defina-a primeiro como uma variável de ambiente do usuário ou do sistema, depois abra um novo terminal ou reinicie o Explorer E execute o host nativo com um modelo de atualização local:

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

(Você também pode usar o Teams)

O runtime realiza uma única busca/leitura na inicialização. Ele não faz polling, não persiste, não executa código baixado nem processa comandos arbitrários. Atualizações de modelo inválidas, expiradas, não relacionadas ou não autenticadas são ignoradas.

Opções de verificação do runtime:

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"

IMPORTANTE, Leia: Modelo de Referência, Fine-Tuning e Deltas Naturais

PROJECT_ONYX_ONNX_TELEMETRY_PASSES controla quantas inferências reais do ONNX Runtime são executadas antes de o caminho de desbloqueio do cofre continuar. PROJECT_ONYX_REQUIRE_ONNX_TELEMETRY=1 transforma falhas de telemetria em falhas graves, o que é útil ao validar que o estágio ONNX não está sendo ignorado. PROJECT_ONYX_LAB_OUTPUT_PATH grava o JSON final de heartbeat em um arquivo local para verificação em laboratório, sem exigir um webhook.

Este repositório inclui um modelo de referência SqueezeNet real porque ele é pequeno o suficiente para o GitHub e ainda assim é uma rede neural treinada legítima. Para um artefato de pesquisa mais robusto, crie um modelo atualizado por meio de fine-tuning real ou de outro processo normal de manutenção de modelo. O embedder de downlink pode então restringir suas alterações de bits aos pesos que já mudaram em relação ao modelo de referência. Essa é a versão prática da ideia de "esconder dentro do ruído do fine-tuning", link para o projeto paralelo completo: https://github.com/X-3306/ONNXStego

Para validação rápida em laboratório, o downlink-build pode sintetizar uma atualização de cobertura aleatória com semente, semelhante a um fine-tuning, a partir do modelo de referência. Isso comprova a mecânica de ponta a ponta e oferece pesos candidatos naturais para o registro LSB, MAS não substitui a avaliação empírica em uma tarefa, conjunto de dados e procedimento de fine-tuning reais.

Compilação Final

Configure e compile o executável de release:

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

O executável final é:

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

Verificação opcional de dependências:

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

Esperado: nenhuma dependência de onnxruntime.dll.

Escopo

A demonstração não inclui persistência, escalonamento de privilégios, acesso a credenciais, movimento lateral, execução arbitrária de comandos, comportamento destrutivo ou tokens privados de webhook embutidos. O módulo WebAssembly está restrito a formatar e retornar um JSON de heartbeat como uma PoC simples. O downlink adicional de atualização de modelo só pode alterar o status de heartbeat por meio da whitelist heartbeat_ack / set_status. Se você tiver ideias interessantes para este projeto, sinta-se à vontade para entrar em contato: [email protected]

Project Onyx Daily Trend Project Onyx Weekly Trend

Baixar ferramenta