Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
wasmforge — WasmForge — compila programas Go e C# para executáveis nativos de binário único, isolados em sandbox WASM, com saída polimórfica. | Kitploit
Ferramentas/GitHubGitHub/praetorian-inc/wasmforge
Frameworks de Testes de PenetraçãoEscalada de PrivilégiosFrameworks de ExploraçãoGeração de PayloadsMecanismos de PersistênciaMovimento LateralExploração de Aplicações WebPós-ExploraçãoComando e ControleAnálise de BináriosRed Teaming
1191276há 3 mesesRevisado pelo Kitploit
Geração de Shellcode
GitHubpraetorian-inc/wasmforge

wasmforge

WasmForge — compila programas Go e C# para executáveis nativos de binário único, isolados em sandbox WASM, com saída polimórfica.

Ver Repositório

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 →
Compartilhar

WasmForge

O WasmForge compila programas Go e C# para WebAssembly e os empacota como binários nativos únicos. Os executáveis resultantes isolam o código convidado dentro de um runtime WASM (um fork por build do wazero). De dentro dessa sandbox, os convidados têm acesso transparente a redes, sockets brutos, APIs Win32 e APIs de frameworks macOS.

Você pode escrever Go normal usando net.Dial, net.Listen ou net/http. Você também pode migrar um projeto C# existente do .NET Framework. De qualquer forma, a saída é um único binário que roda no Windows ou macOS, sem exigir que o usuário faça modificações no código fonte convidado.

WasmForge Sliver Demo

EU SÓ QUERO FALAR COM UM HUMANO

Uma rápida olhada neste projeto deixará bastante óbvio que ele foi desenvolvido com um uso INTENSO de LLMs. Uma parte da documentação também foi — mas esta seção não. Fiz o meu melhor para descomplicar este README e tornar o processo de usar o WasmForge o mais direto possível. Além disso, embora os LLMs escrevam documentação que elogia fortemente suas próprias realizações, as limitações não são tão claras.

Para definir as expectativas corretamente: embora tenha sido testado com muitos recursos diferentes para Go, NÃO é uma solução completa para todos os programas Go. Ainda há uma porcentagem significativa da API win32 que não é suportada adequadamente (como APIs que exigem thunks de callback). O Sliver, por exemplo, funciona para um bom número de comandos, mas NÃO é uma porta 1:1 completa com funcionalidade. ls, por exemplo, ainda mostrará caminhos com / em vez do tradicional C:\, pois o blob WASM não é totalmente enganado para perceber que está dentro do Windows. Existem outras funcionalidades que apenas causarão uma falha. Certifique-se de testar qualquer funcionalidade que deseja usar antes de tentar usá-la em um alvo real. Se algo não funcionar, tente criar o exemplo mais básico da API que está quebrada e abra uma issue / envie um PR.

O lado C# é mais uma prova de conceito do que uma implementação. O processo usado para compilar C# para WASM é muito experimental, e isso significa que o WasmForge muitas vezes precisa reescrever uma boa parte do programa de qualquer maneira para fazê-lo funcionar. No final, provavelmente investi demais nessa funcionalidade e deveria ter recomendado que as pessoas usassem um LLM para reescrever código C# como código Go. Provavelmente é menos doloroso de lidar. Dito isso, o padrão geral C# -> Wasm -> WasmForge FUNCIONA e quebra um bom número de detecções específicas do C#.

Nessa nota — o WasmForge é destinado principalmente a lidar com detecções ESTÁTICAS. O processo de transpilação quebra a maioria das detecções, até mesmo para varredura em memória, mas, no final, se o seu binário tiver strings muito óbvias como mimikatz ou sliver, existem algumas varreduras de baixo esforço em memória que causarão uma detecção. A ofuscação automática de strings provavelmente será adicionada no futuro, pois é um recurso bastante fácil de automatizar, mas para a primeira versão, não quis adicionar complexidade extra ao pipeline de build para manter a depuração relativamente direta.

Embora tenha havido alguns esforços para limpar/consolidar o código fonte neste repositório, ele ainda está bastante desorganizado. Existem várias pastas diferentes para diferentes processos de teste. Testes unitários básicos tendem a ficar em examples/ e test/, enquanto alguns testes mais complexos destinados a serem executados em um ambiente de laboratório completo ficam em testdata/. Há também várias ferramentas de desenvolvimento/teste apenas nos diretórios scripts/ e internal/devtools. Essas só serão necessárias se você estiver tentando configurar seu próprio ambiente de teste para fazer desenvolvimento adicional. Em geral, qualquer desenvolvimento de LLM de algo tão complexo requer um número de casos de teste muito explícitos para orientar a geração, caso contrário, você acaba com algo que não funciona. O projeto inclui esses harnesses para que qualquer pessoa curiosa possa desenvolver suas próprias ferramentas ou contribuir com o projeto.

Espero que a comunidade considere essas ferramentas relativamente fáceis de usar e, com o tempo, continuaremos a melhorá-las. Talvez um dia a compilação C# funcione tão bem quanto a compilação Go.

Início Rápido (Projetos Go)

Existem três maneiras de obter o wasmforge:

  1. Binário pré-compilado. Baixe uma versão na página de Releases — builds do CLI para Linux, macOS e Windows estão anexados a cada tag.

  2. Imagem Docker. Para projetos C# / .NET, a imagem fornecida já vem com todos os pré-requisitos (.NET 10 SDK, workload NativeAOT-LLVM, WASI SDK 24.0, wasm-ld, osslsigncode) pré-instalados. Compile-a uma vez com make docker-builde execute-a commake docker-run` — veja docs/CSHARP.md para o fluxo completo. Este é o caminho recomendado para C#.

  3. Compilar a partir do código fonte.

    make build
    

    make build regenera o arquivo internal/build/build_assets.tar.gz embutido e então compila o CLI. Se você apenas executar go build -o wasmforge ./cmd/wasmforge, obterá um binário funcional, mas os builds em modo de distribuição (quando o CLI é executado fora desta árvore de código fonte) usarão um arquivo embutido desatualizado. Veja CONTRIBUTING.md para uma explicação mais detalhada.

O diretório examples/ contém programas Go executáveis que você pode compilar imediatamente. Veja examples/README.md para o menu completo.

Alvejando Windows

GOOS=windows GOARCH=amd64 ./wasmforge build \
  --ghost traefik \
  -o myapp.exe \
  /caminho/para/seu/projeto

A ponte da API Win32 é ativada automaticamente sempre que GOOS=windows — você não precisa mais passar --win32-apis para o caso comum.

--ghost traefik substitui a distribuição de símbolos gopclntab embutida para se parecer com o proxy reverso Traefik. Dos perfis incluídos, este produz a menor taxa de detecção no VirusTotal. Outros perfis e instruções para gerar o seu próprio estão em docs/GHOST-PROFILES.md.

Os alvos Windows são autoassinados com um certificado autoassinado por padrão. Use --sign google.com para falsificar o certificado TLS de um domínio, ou --no-sign para desabilitar a assinatura completamente.

Alvejando macOS

# Intel
GOOS=darwin GOARCH=amd64 ./wasmforge build -o myapp /caminho/para/seu/projeto

# Apple Silicon
GOOS=darwin GOARCH=arm64 ./wasmforge build -o myapp /caminho/para/seu/projeto

Nenhuma flag extra é necessária. A ponte de frameworks do macOS é ativada automaticamente sempre que GOOS=darwin. Veja docs/MACOS.md para a ponte de frameworks, suporte purego/ObjC e outras notas específicas da Apple.

Flags opcionais

# Suporte a sockets brutos (requer CAP_NET_RAW ou root no momento da compilação)
./wasmforge build --raw-sockets -o myapp ./caminho/para/projeto

# Saída verbosa (útil para primeiros builds)
GOOS=windows GOARCH=amd64 ./wasmforge build --ghost traefik --win32-apis -v -o tool.exe /caminho/para/projeto

# VERSIONINFO PE personalizado (apenas Windows)
./wasmforge build --pe-company "Acme Corp" --pe-product "AcmeTool" --pe-file-version "10.0.19041.1" ...

Compilando projetos C# / .NET

Baixar ferramenta