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
inject-assembly — Injetar assemblies .NET em um processo existente | Kitploit
Ferramentas/GitHubGitHub/kyleavery/inject-assembly
ExploraçãoShellcodePós-ExploraçãoRed Teaming
GitHubkyleavery/inject-assembly

inject-assembly

Injetar assemblies .NET em um processo existente

Ver Repositório
50874há 4 anosRevisado 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

inject-assembly - Executar .NET em um Processo Existente

Esta ferramenta é uma alternativa à execução tradicional fork and run para o Cobalt Strike. O loader pode ser injetado em qualquer processo, incluindo o Beacon atual. Assemblies de longa duração continuarão a ser executados e enviarão a saída de volta ao Beacon, semelhante ao comportamento do execute-assembly.

Existem dois componentes do inject-assembly:

  1. Inicializador BOF: Um pequeno programa responsável por injetar o carregador de assembly em um processo remoto com quaisquer argumentos passados. Ele usa BeaconInjectProcess para realizar a injeção, o que significa que esse comportamento pode ser personalizado em um perfil Malleable C2 ou com BOFs de injeção de processo (a partir da versão 4.5).

  2. Carregador de assembly PIC: A maior parte do projeto. O carregador inicializará o runtime .NET, carregará o assembly fornecido e executará o assembly. O carregador criará um novo AppDomain no processo alvo para que o assembly carregado possa ser completamente descarregado quando a execução for concluída.

A comunicação entre o processo remoto e o Beacon ocorre através de um named pipe. O script Aggressor gera um nome de pipe e o passa para o inicializador BOF.

Recursos Notáveis

  • Corrige Environment.Exit() para evitar que o processo remoto seja encerrado.
  • Stomping de cabeçalho de assembly .NET (bytes MZ, e_lfanew, cabeçalho DOS, Rich Text, cabeçalho PE).
  • Geração aleatória de nomes de pipe com base em SourcePoint.
  • Sem bloqueio do Beacon, mesmo que o assembly seja carregado no processo atual.

Uso

Baixe e carregue o script Aggressor inject-assembly.cna no Cobalt Strike. Você pode então executar assemblies usando o seguinte comando:

root@kitploit:~
inject-assembly pid assembly [args...]

Especifique 0 como PID para executar no processo atual do Beacon.

É recomendado usar outra ferramenta, como FindObjects-BOF, para localizar um processo que já carrega o runtime .NET, mas isso não é um requisito para o funcionamento do inject-assembly.

Avisos

  • Atualmente suporta apenas processos remotos x64.
  • Existem várias verificações ao longo do programa para reduzir a probabilidade de travar o processo remoto, mas ainda pode acontecer.
  • A injeção de processo padrão do Cobalt Strike pode te denunciar. Considere um BOF de injeção personalizado ou gancho IAT UDRL.
  • Alguns assemblies dependem de Environment.Exit() para finalizar a execução. Isso impedirá que a fase de limpeza do carregador ocorra, mas você ainda pode desconectar o named pipe usando jobkill.
  • Descomente as linhas 3 ou 4 do scmain.c para ativar os modos de erro ou verbose, respectivamente. Eles estão desativados por padrão para reduzir o tamanho do shellcode.

Referências

Este projeto não teria sido possível sem os seguintes projetos:

  • Definições e implementação relacionadas ao CLR - https://github.com/TheWover/donut
  • Interface de job do Beacon e estrutura do projeto - https://github.com/SecIdiot/netntlm

Outros recursos e inspiração foram retirados dos seguintes recursos:

  • https://github.com/med0x2e/ExecuteAssembly
  • https://github.com/anthemtotheego/InlineExecute-Assembly
  • https://www.mdsec.co.uk/2020/08/massaging-your-clr-preventing-environment-exit-in-in-process-net-assemblies
Baixar ferramenta