https://github.com/devzinh/ghosttrace
Windows forensic scanner. Finds what "Uninstall" leaves behind.
https://github.com/devzinh/ghosttrace
blue-team cli dfir forensics-tools malware-analysis mitre-attack security-tools software windows windows-forensics
Last synced: about 19 hours ago
JSON representation
Windows forensic scanner. Finds what "Uninstall" leaves behind.
- Host: GitHub
- URL: https://github.com/devzinh/ghosttrace
- Owner: Devzinh
- License: mit
- Created: 2026-06-10T07:00:09.000Z (16 days ago)
- Default Branch: main
- Last Pushed: 2026-06-11T03:21:20.000Z (15 days ago)
- Last Synced: 2026-06-11T05:10:33.657Z (15 days ago)
- Topics: blue-team, cli, dfir, forensics-tools, malware-analysis, mitre-attack, security-tools, software, windows, windows-forensics
- Homepage: https://www.linkedin.com/in/ronygabrieloliveira/
- Size: 1.33 MB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GhostTrace

Por que GhostTrace •
Fluxo •
Uso rapido •
Cobertura •
Seguranca
---
Voce clicou em *Desinstalar*, o Windows confirmou e o programa sumiu da lista.
So que ele ainda deixou rastro: chave de registro, pasta em AppData, entrada de
prefetch, tarefa agendada, binding no WMI. As coisas de sempre.
GhostTrace varre essas areas de uma vez e te mostra o que sobrou numa tabela
unica. Sao 22 modulos forenses rodando numa passada, com remocao opcional e
read-only por padrao.
---
## Demo

---
## Download
| Arquivo | Descricao |
| --- | --- |
| `GhostTrace--x64.msi` | Instalador Windows x64 |
> Requer Windows 10/11 x64, .NET 10 e execucao como Administrador.
> O idioma e detectado pelo sistema, com fallback para ingles.
---
## Por que GhostTrace
A maioria dos scanners cai num de dois extremos: ou e caro demais, ou despeja
um log de milhares de linhas e te deixa para interpretar sozinho. A ideia aqui
foi ficar no meio do caminho.
- **Rapido** — varias tecnicas forenses numa unica varredura, sem etapas
manuais entre elas.
- **Legivel** — o resultado vem numa tabela so, organizado por categoria.
- **Conservador** — read-only por padrao. Nada e removido enquanto voce nao
confirmar explicitamente.
- **Auditavel** — toda limpeza gera um log do que foi removido.
- **Offline** — sem telemetria e sem nenhuma chamada de rede. Roda inteiro na
sua maquina.
---
## Fluxo da investigacao

O caminho tipico de uma investigacao por alvo:
```text
voce informa um alvo (ex.: "nvidia")
GhostTrace:
-> dispara os 22 modulos forenses
-> consolida os achados numa tabela unica
-> pergunta se voce quer limpar
se sim: pede confirmacao, remove e gera o log
se nao: devolve os dados e encerra
-> opcional: exporta um relatorio em TXT
```
---
## Instalacao e uso rapido
```text
GhostTrace.CLI # menu interativo (requer admin)
GhostTrace.CLI scan --name nvidia # busca por alvo, limpeza opcional
GhostTrace.CLI scan --name nvidia --quiet --output C:\Cases\Host1
GhostTrace.CLI scan # triagem completa, sem filtro
GhostTrace.CLI scan-fs-json
GhostTrace.CLI scan-reg-json
GhostTrace.CLI scan-evt-json
```
O UAC e necessario porque varios desses artefatos ficam em areas do sistema
que o Windows nao expoe ao usuario comum.
Para forcar um idioma especifico:
```text
GhostTrace.CLI --lang es
GhostTrace.CLI scan --name nvidia --lang en
```
---
## Cobertura forense

Sao 22 modulos, cada um cobrindo um tipo de artefato. Eles estao agrupados pela
fase da investigacao a que pertencem.
### Persistencia (MITRE ATT&CK TA0003)
Mecanismos que fazem algo voltar a rodar quando o Windows inicia.
| Modulo | O que investiga |
| --- | --- |
| `PersistenceScanModule` | Chaves Run/RunOnce + pastas Startup |
| `ServicesScanModule` | Servicos e drivers com ImagePath suspeito (T1543.003) |
| `AsepScanModule` | Winlogon, IFEO debugger, AppInit_DLLs, LSA packages, Active Setup |
| `ScheduledTasksScanModule` | Tarefas agendadas via COM API do Task Scheduler |
| `TaskCacheScanModule` | Anomalias em TaskCache\Tree, incluindo Ghost Tasks (T1053.005) |
| `WmiPersistenceScanModule` | __EventFilter, __EventConsumer e binding (T1546.003) |
### Evidencia de execucao (TA0002)
Rastros de que algo ja foi executado, mesmo que o programa nao esteja mais instalado.
| Modulo | O que investiga |
| --- | --- |
| `ShimcacheScanModule` | AppCompatCache (formato 10ts para Win8.1/10/11) |
| `PrefetchScanModule` | Arquivos .pf com decode XPRESS-Huffman (versoes 26/30/31) |
| `BamScanModule` | BAM/DAM com ultimo tempo de execucao por SID |
| `UserAssistScanModule` | Lancamentos GUI com contagem e ultimo run (ROT13) |
| `MuiCacheScanModule` | MUICache do shell e nomes amigaveis embutidos |
### Atividade do usuario e artefatos de sistema
O que aconteceu no uso cotidiano da maquina.
| Modulo | O que investiga |
| --- | --- |
| `PowerShellHistoryScanModule` | Historico PSReadLine e sinais de download cradle/payload encoded (T1059.001) |
| `RdpConnectionScanModule` | Historico de conexoes RDP de saida e pistas de usuario (T1021.001) |
| `RecentDocsScanModule` | Arquivos/pastas recentes por usuario (Explorer RecentDocs) |
| `UsbDeviceScanModule` | Historico de dispositivos removiveis via USBSTOR (T1052/T1091) |
| `NetworkArtifactsScanModule` | Redirecionamentos no hosts e redes conectadas com datas |
### Software instalado e residuos em disco
Programas que constam (ou nao) como instalados e o que ficou para tras.
| Modulo | O que investiga |
| --- | --- |
| `UninstallEntriesScanModule` | Programas instalados, versao, publisher, local e uninstall string |
| `StartupApprovedScanModule` | Estado habilitado/desabilitado de entradas de inicializacao |
| `FileSystemTraceScanModule` | Busca orientada por nome em Program Files, ProgramData e AppData |
### Coletores direcionados (per-target)
Voce aponta o alvo e estes modulos coletam os metadados correspondentes.
| Modulo | O que investiga |
| --- | --- |
| `FilesystemScanModule` | Metadados de arquivos sob um diretorio |
| `RegistryScanModule` | Valores sob uma chave de registro |
| `EventLogScanModule` | Entradas recentes de logs Application/System |
---
## Seguranca forense
Algumas garantias de design, para que a ferramenta nao destrua evidencia nem
remova nada por engano:
- **Scan read-only** — a varredura nao altera nada no sistema.
- **Limpeza so com confirmacao** — a remocao exige que voce escreva SIM. Nao ha
confirmacao implicita.
- **Evidencia preservada** — caches de execucao e historicos ficam de fora da
limpeza para nao destruir o rastro.
- **Sem rede** — nenhuma chamada externa, nenhuma telemetria.
- **Sinal nao e veredito** — um indicador suspeito e um ponto de partida para
analise, nao uma conclusao automatica. A decisao final e sua.
---
## Idiomas (i18n)
O idioma e detectado a partir do sistema. Se houver suporte, a interface ja abre
nele; caso contrario, cai para o ingles.
Disponiveis:
- English (en-US)
- Portugues Brasil (pt-BR)
- Espanol (es-ES)
---
## Playbooks e documentacao
- [Scheduled Tasks Correlation Playbook](docs/playbooks/scheduled-tasks-correlation.md) — correlacao de Ghost Tasks e manipulacao em registro.
---
## License
This project is licensed under the MIT License. See the `LICENSE` file for details.