Skip to content

druserx/larva

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

larva

monitor de injeção de processo para Windows. usa ETW (Event Tracing for Windows) combinado com varredura periódica de regiões de memória para detectar técnicas comuns de process injection em tempo real.

o nome vem do latim — larva significa "máscara" ou "fantasma". parece adequado pra uma coisa que fica de olho no que tá se escondendo.


técnicas detectadas

varredura de memória (scan periódico):

  • regiões PAGE_EXECUTE_READWRITE sem arquivo mapeado (MEM_PRIVATE) — indicador clássico de shellcode ou reflective DLL loading
  • páginas executáveis anônimas em processos arbitrários
  • módulos carregados de caminhos suspeitos (\Temp\, \AppData\, \Downloads\, etc.)

via ETW (Microsoft-Windows-Kernel-Process):

  • threads com Win32StartAddress apontando pra memória privada executável — sinaliza CreateRemoteThread com shellcode

com flag -H:

  • processo hollowing: compara campos críticos do PE header em memória vs arquivo em disco (e_magic, e_lfanew, Machine)

uso

larva.exe [opcoes]

  -p <pid>   foca num processo específico
  -i <ms>    intervalo entre scans (padrão: 5000ms)
  -e         desativa ETW, só varredura de memória
  -H         ativa detecção de hollowing (mais lento)
  -o <arq>   salva alertas em arquivo de log
  -v         verboso

precisa rodar como Administrador pra ter acesso completo à memória de outros processos e pra iniciar a sessão ETW.


build

mingw-w64:

make

dependências: psapi, tdh, advapi32 (já incluídas no MinGW-w64)


limitações

  1. ETW via Microsoft-Windows-Kernel-Process não expõe o PID criador da thread — só o PID alvo. pra rastrear origem com precisão seria necessário o provider Microsoft-Windows-Threat-Intelligence, que exige PPL ou driver de kernel.

  2. detecção de hollowing compara campos do PE header, não o conteúdo das seções. relocações e patches legítimos podem causar diferença nos headers — use -H com cuidado em ambientes de produção.

  3. regiões RWX existem legitimamente em algumas JVMs e runtimes de linguagem dinâmica. filtre por processo com -p se estiver monitorando um alvo específico.


referências

About

monitor de injecao de processo para Windows via ETW e varredura de memoria

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors