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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Nemesis — Monitor de processos .NET que intercepta o CLR na camada nativa, despeja assemblies reflexivos da memória e verifica a integridade do AMSI/ETW em comparação com binários em disco. | Kitploit
Ferramentas/GitHubGitHub/zypherion-technologies/nemesis
Ferramentas DefensivasAnálise Dinâmica (Sandboxing)Forensia de MemóriaEngenharia ReversaAnálise de Malware
GitHubzypherion-technologies/nemesis

Nemesis

Monitor de processos .NET que intercepta o CLR na camada nativa, despeja assemblies reflexivos da memória e verifica a integridade do AMSI/ETW em comparação com binários em disco.

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 →
Ver Repositório
41432há 11 diasRevisado pelo Kitploit
Compartilhar

Nemesis

Website Discord Telegram X

ferramenta windows que eu fiz porque cansei de ficar olhando forks do jlaive em amostras de malware sem nada público pra realmente despedaçá-los em tempo de execução.

em resumo, é um monitor de processos .net que faz hook no clr na camada nativa, rastreia carregamentos reflexivos de assembly e despeja automaticamente PEs direto da memória. também verifica a integridade do amsi e do etw contra os binários originais em disco, enquanto detecta técnicas de bypass como patch de string em clr.dll e uso direto de LoadFromBuffer.

onde encontrar amostras? recomendo dar uma olhada em https://tria.ge (não é anúncio) e você pode baixar qualquer amostra que quiser e filtrar por família

por que o nome?

você deve estar se perguntando, por que o nome nemesis?

porque representa exatamente o propósito da ferramenta. uma nemesis é algo que se coloca como um desafio constante ou a ruína de um oponente, e essa é a ideia por trás deste projeto.

no mito grego, nemesis era o espírito da retribuição divina, aquele que aplicava o troco em qualquer um que ficasse arrogante demais ou se achasse intocável. meio óbvio demais pra malware que se gaba de ser "fud", se você me perguntar.

por que isso existe

sou analista de malware. se você faz esse trabalho (hobby no meu caso) por tempo suficiente, começa a ver as mesmas cadeias de loader repetidas vezes, especialmente depois que o jlaive (também chamado de crybat) estourou e todo script kiddie fez fork.

o padrão é estupidamente simples, mas irritante pra caramba de lidar:

something.bat  →  obfuscated powershell  →  csharp stub  →  your actual payload

você dá dois cliques num .bat que parece salada de palavras. o cmd dispara o powershell com uma parede de lixo. o powershell descriptografa/descomprime um stub .net (aes, gzip, base64). esse stub faz patch no amsi + etw, carrega reflexivamente o exe/dll real em memória, e pronto, nada amigável chega ao disco de forma útil.

isso me incomodou. não existe realmente uma boa ferramenta pública voltada a combater essa cadeia específica: fazer hook onde o payload .net realmente se materializa, despejá-lo antes que o processo se autodestrua, capturar os patches de amsi/etw que esses stubs sempre fazem. então construí o nemesis.

não é bala de prata. não vai substituir seu sandbox. mas te dá algo real pra rodar contra um .bat suspeito numa máquina de teste e realmente extrair artefatos.

o que ele realmente faz

launcher (Launcher.exe)

  • cria seu alvo suspenso (exe, bat, cmd, o que for)
  • injeta Nemesis.dll antes da thread principal rodar
  • espera o nemesis avisar que está pronto
  • retoma. se o alvo gerar processos filhos powershell, o launcher também pode injetar neles

nemesis dll (Nemesis.dll)

  • faz hook nos caminhos de carregamento do clr que stubs estilo jlaive realmente atingem:
    • nLoadImage
    • nLoadFile
    • AssemblyNative::LoadFromBuffer (padrão resolvido a partir de nLoadImage)
  • quando um pe reflexivo aparece em memória -> enfileira um dump para %TEMP%\Nemesis_dumps
  • compara exports vivos de amsi.dll / ntdll.dll com as cópias em disco (pega o clássico patch de ret em AmsiScanBuffer / EtwEventWrite)
  • a checagem de amsi também olha strings de clr em .rdata quando o clr está carregado (alguns bypasses fazem patch nelas em vez disso, tem um ótimo paper do vxug sobre isso chamado; 2024-11-21 - New AMSI Bypss Technique Modifying CLRDLL in Memory.pdf )
  • loga no console (colorido) + %TEMP%\Nemesis.log também tem ENABLE_VIRTUAL_TERMINAL_PROCESSING pra evitar problemas com o console sendo, digamos, esquisito :D

basicamente: deixa a cadeia do bat rodar, captura o payload onde o crypter realmente o carrega, e loga os truques de evasão no caminho.

Prova:

image image image

build

precisa do visual studio 2022+ com c++ desktop + masm (x64).

abra Nemesis.slnx, escolha Release | x64, compile a solução.

rodar num alvo real

esse é o caso de uso real: aponte pra um bat suspeito e veja o que sai:

cd x64\Release
.\Launcher.exe "C:\path\to\suspicious.bat"

argumentos extras após -- são passados para o alvo:

.\Launcher.exe myapp.exe -- --some-flag

caminho customizado da dll:

.\Launcher.exe --dll C:\path\Nemesis.dll myapp.exe

artefatos:

  • logs → %TEMP%\Nemesis.log
  • pes despejados → %TEMP%\Nemesis_dumps

o que o nemesis é / não é

é:

  • um auxiliar de análise em tempo de execução para crypters estilo jlaive (cadeias bat → ps1 → csharp)
  • útil numa vm de laboratório quando você tem uma amostra e quer dumps em memória + telemetria de amsi/etw
  • aberto para outros analistas usarem, estenderem, reclamarem

não é:

  • um substituto de edr
  • garantido de pegar toda variante de fork (mudanças de ofuscação, novos bypasses, ex. amsi/etw sem patch porque não foi feito pra isso até agora e pretendo mudar isso no futuro talvez isso vire um toolkit de linguagem gerenciada)

notas

  • apenas x64 para os detours de asm do clr no momento
  • hosts cmd.exe geralmente não têm clr, o nemesis sinaliza pronto de qualquer forma pra o launcher não travar, o trabalho real acontece quando powershell/dotnet aparece
  • build falha com LNK1104? algo ainda tem nemesis.dll carregada, mate o alvo e recompile
  • barulho do vcpkg do pwsh.exe durante o build é inofensivo, ignore

leitura adicional (o ecossistema jlaive)

se você quer entender contra o que está lutando:

  • Trend Micro on BatCloak / Jlaive — o bolo de camadas bat → ps1 → csharp
  • Fortinet on ScrubCrypt — o sucessor irritante do jlaive, se você tem interesse no que era um pouco diferente no scrubcrypt, era o fato de que eles canalizavam comandos com o sinal de pipe no .bat, funciona muito bem...
  • Unprotect.it — ScrubCrypt — detalhamento da técnica
  • https://github.com/backdoorskid/ClrAmsiScanPatcher - encontra a string .net como mencionado antes, recomendo ler aquele arquivo .pdf :)

disclaimer

ao usar o nemesis você aceita isto. ele é fornecido como está com nenhuma garantia — você assume todo o risco.

você é o único responsável pelo uso legal e autorizado (vms de laboratório, sistemas próprios, permissão explícita). na máxima extensão permitida por lei, os autores e zypherion.tech isentam-se de toda responsabilidade por quaisquer danos, perdas ou reivindicações legais decorrentes do uso ou mau uso. veja LICENSE para os termos completos.

licença

Baixar ferramenta