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
RogueAssemblyHunter — Rogue Assembly Hunter é um utilitário para descobrir módulos 'interessantes' do .NET CLR em processos em execução. | Kitploit
Ferramentas/GitHubGitHub/bohops/rogueassemblyhunter
Ferramentas DefensivasForensia de MemóriaAnálise ForenseAnálise de MalwareResposta a Incidentes
GitHubbohops/rogueassemblyhunter

RogueAssemblyHunter

Rogue Assembly Hunter é um utilitário para descobrir módulos 'interessantes' do .NET CLR em processos em execução.

Ver Repositório
1201013há 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

__________ _____ . .
_
____ \ ____ ____ __ __ ____ / _ \ ______ ______ ____ _ | | | .. | // _ \ / __| | _/ __ \ / /\ \ / // __// __ \ / | __ | |< | | | | ( <> ) // > | /\ / / | \ \ _ \ /| Y Y \ _\ \ |_ | || /_/_ /|/ _ > _| /____ >____ >___ >|| / /____/ | / // / / / / / / / /
___ ___ __
/ | \ __ __ / | ___________ / ~ \ | |/ \ __/ __ _ __
\ Y / | / | \ | \ /| | / _| /|
/|
| /
| _
>
|
/ / /

Rogue Assembly Hunter

Rogue Assembly Hunter é um utilitário para descobrir módulos CLR .NET 'interessantes' em processos em execução.

  • Autor: @bohops
  • Licença: MIT
  • Projeto: https://github.com/bohops/RogueAssemblyHunter

Contexto

.NET é uma plataforma de desenvolvimento e um runtime framework muito poderosa e capaz para construir e executar aplicações gerenciadas .NET. Nos últimos anos, o .NET foi adotado por Red Teams (e afins) para instrumentar táticas de suporte a operações ofensivas. Em particular, a mudança do PowerShell ofensivo para .NET foi um salto lógico (para muitos) devido ao aumento da visibilidade e oportunidades de observação presentes no PowerShell v5+. Como tal, ferramentas e táticas ofensivas .NET têm sido usadas com sucesso para evadir capacidades defensivas baseadas em host, contornar controle de aplicações e construir/preparar/entregar/executar código malicioso (similar ao PowerShell).

Do ponto de vista da prevenção, a Microsoft está fazendo mais para combater ameaças instrumentadas pelo .NET e minimizar a superfície de ataque geral do .NET. Por exemplo, a Microsoft adicionou capacidades de inspeção AMSI no .NET Framework 4.8, e mecanismos WDAC/WLDP são bastante eficazes. Do ponto de vista de detecção/resposta, maior visibilidade e introspecção no ecossistema .NET é sempre vantajoso para descobrir novas formas de combater ameaças focadas em .NET.

Em 2017, Joe Desimone (@dez_) escreveu um artigo fantástico chamado Hunting For In-Memory .NET Attacks. Ainda relevante hoje, o artigo descreve vetores de ataque .NET modernos, bem como técnicas de detecção sob demanda e baseadas em eventos. Acompanhando o artigo, Joe lançou uma ferramenta (Get-ClrReflection) para detectar proativamente (e recuperar) módulos CLR .NET em memória que não possuem uma referência de disco adequada. Inspirado pelo trabalho de Joe e aproveitando as capacidades de introspecção da biblioteca de diagnóstico de runtime CLRMD (+ capacidades subsequentes de acesso a dados da mscordacwks.dll), o Rogue Assembly Hunter foi criado para:

  • Inspecionar (todos) os processos .NET ('gerenciados') em execução em busca de módulos CLR interessantes (ex.: módulo(s) que formam um 'assembly')
  • Inspecionar um único processo .NET ('gerenciado') (por PID) em busca de módulos CLR interessantes
  • Observar novos processos gerados e tentar inspecionar módulos CLR interessantes
  • Suportar várias capacidades de 'caça' para descobrir módulos carregados em memória, status de assinatura de módulos (se carregados do disco), módulos carregados de diretórios interessantes e módulos impostores (ex.: referências de arquivo falsas).
  • Suportar funcionalidade de exportação de módulos CLR (um port rápido do Get-ClrReflection)
  • Inspirar ferramentas e táticas mais interessantes

Principais Requisitos e Dependências

  • Executar sob um contexto de usuário/processo privilegiado
  • .NET Framework 4.6.1+
  • .NET CLRMD - Biblioteca de Introspecção de Runtime Microsoft.Diagnostics.Runtime (Pacote NuGet)
  • ILMerge - Linkedor Estático (Pacote NuGet)
  • ...e pacotes NuGet de suporte no Visual Studio.

Notas, Dicas e Advertências

  • Execute como um usuário privilegiado com integridade alta/sistema.
  • 'Caças' são experimentais e não garantem resultados completos/corretos. Cuidado com falsos positivos (ex.: módulos assinados) e valide de acordo.
  • RogueAssemblyHunter usa o CLRMD para conectar a processos ao vivo, o que pode introduzir resultados interessantes.
  • Devido à natureza de varredura do RogueAssemblyHunter, há possibilidade de condições de corrida e resultados perdidos. Considere ajustar com os parâmetros --checks e --sleep para ajudar (especialmente no modo 'watch'). Em alguns casos, pode ser difícil 'capturar' um carregamento de assembly específico devido à velocidade de execução (como execute-assembly e processos sacrificiais).
  • Arquitetura ('bitness') e versões do .NET são importantes (ex.: 4+) para interagir com processos remotos com as bibliotecas .NET CLRMD.
    • Para máxima inspeção/cobertura, compile e execute este programa para casos de uso x86 e x64.
    • O modo de varredura de processos tentará conectar a todos os processos em execução, independentemente do 'bitness'. Caso contrário, falhará adequadamente para incompatibilidades de arquitetura.
  • Testado no Windows 10 Pro 2H1H e Windows Server 2016 Standard 1607. Pode executar em outras versões com o .NET Framework relevante.
  • O código-fonte do projeto Visual Studio com pacotes NuGet, script PowerShell e binários de versão estão incluídos neste projeto.
  • Notice.md inclui isenções de responsabilidade do projeto e informações de licença.
  • Execute por sua conta e risco (e não se importe com meu código horrível ;) )!

Uso

[*] Parâmetros:
    
    --mode=<.>   : Obrigatório | Selecione o modo de análise. Opções: sweep, process e watch.

    --hunt=<.>   : Opcional | Selecione o tipo de varredura de caça para encontrar módulos CLR interessantes. Especifique all (padrão), memory-only, unusual-dir,
                   sig-status, imposter-file ou list.

    --export=<.> : Opcional, Experimental | Especifique um caminho de arquivo para exportar módulos CLR carregados para varreduras de caça em memória e caça de arquivo impostor
                   (ex.: --hunt=memory-only/imposter-file/all).

    --pid=<.>    : Opcional | Especifique um processo alvo por PID. Deve ser usado com o parâmetro/valor --mode=process.

    --checks=<.> : Opcional | Especifique um valor para ciclos de varredura. Isso pode ajudar a reduzir perdas por condição de corrida durante as varreduras, mas também pode repetir a saída de resultados.
                   Valor padrão é 1.

    --sleep=<.>  : Opcional | Especifique um valor para segundos de pausa. Isso pode ajudar a reduzir perdas por condição de corrida durante as varreduras, atrasando o ciclo de verificação.
                   Valor padrão é 0 segundos.

    --debug      : Opcional | Exiba informações de exceção (ex.: erros de conexão de processo).

    --nobanner   : Opcional | Suprime o banner de exibição. Útil para executar com o script PowerShell ou para casos de uso que aproveitam automação.

    --suppress   : Opcional | Não escaneie o processo RogueAssemblyHunter durante --mode=sweep ou --mode=watch.
Baixar ferramenta