{"id":51120713,"url":"https://github.com/devzinh/ghosttrace","last_synced_at":"2026-06-25T02:00:42.939Z","repository":{"id":363956667,"uuid":"1264770131","full_name":"Devzinh/GhostTrace","owner":"Devzinh","description":"Windows forensic scanner. Finds what \"Uninstall\" leaves behind.","archived":false,"fork":false,"pushed_at":"2026-06-11T03:21:20.000Z","size":1399,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-11T05:10:33.657Z","etag":null,"topics":["blue-team","cli","dfir","forensics-tools","malware-analysis","mitre-attack","security-tools","software","windows","windows-forensics"],"latest_commit_sha":null,"homepage":"https://www.linkedin.com/in/ronygabrieloliveira/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Devzinh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-10T07:00:09.000Z","updated_at":"2026-06-11T03:21:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Devzinh/GhostTrace","commit_stats":null,"previous_names":["devzinh/ghosttrace"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Devzinh/GhostTrace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzinh%2FGhostTrace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzinh%2FGhostTrace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzinh%2FGhostTrace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzinh%2FGhostTrace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Devzinh","download_url":"https://codeload.github.com/Devzinh/GhostTrace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzinh%2FGhostTrace/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34756206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-25T02:00:05.521Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blue-team","cli","dfir","forensics-tools","malware-analysis","mitre-attack","security-tools","software","windows","windows-forensics"],"created_at":"2026-06-25T02:00:42.183Z","updated_at":"2026-06-25T02:00:42.919Z","avatar_url":"https://github.com/Devzinh.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# GhostTrace\n\n![GhostTrace Hero](assets/readme/hero.svg)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#por-que-ghosttrace\"\u003ePor que GhostTrace\u003c/a\u003e •\n  \u003ca href=\"#fluxo-da-investigacao\"\u003eFluxo\u003c/a\u003e •\n  \u003ca href=\"#instalacao-e-uso-rapido\"\u003eUso rapido\u003c/a\u003e •\n  \u003ca href=\"#cobertura-forense\"\u003eCobertura\u003c/a\u003e •\n  \u003ca href=\"#seguranca-forense\"\u003eSeguranca\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Platform\" src=\"https://img.shields.io/badge/Platform-Windows%2010%2F11%20x64-1F8FFF?style=for-the-badge\" /\u003e\n  \u003cimg alt=\"Runtime\" src=\"https://img.shields.io/badge/.NET-10-17B47E?style=for-the-badge\" /\u003e\n  \u003cimg alt=\"Interface\" src=\"https://img.shields.io/badge/UI-Spectre.Console-0E1A2F?style=for-the-badge\" /\u003e\n  \u003cimg alt=\"Mode\" src=\"https://img.shields.io/badge/Scan-Read--Only-F39C3D?style=for-the-badge\" /\u003e\n\u003c/p\u003e\n\n---\n\nVoce clicou em *Desinstalar*, o Windows confirmou e o programa sumiu da lista.\nSo que ele ainda deixou rastro: chave de registro, pasta em AppData, entrada de\nprefetch, tarefa agendada, binding no WMI. As coisas de sempre.\n\nGhostTrace varre essas areas de uma vez e te mostra o que sobrou numa tabela\nunica. Sao 22 modulos forenses rodando numa passada, com remocao opcional e\nread-only por padrao.\n\n---\n\n## Demo\n\n![GhostTrace em acao](assets/readme/demo.gif)\n\n---\n\n## Download\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"../../releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/Devzinh/GhostTrace?style=for-the-badge\u0026label=Download\u0026color=1F8FFF\" alt=\"Download latest release\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n| Arquivo | Descricao |\n| --- | --- |\n| `GhostTrace-\u003cversion\u003e-x64.msi` | Instalador Windows x64 |\n\n\u003e Requer Windows 10/11 x64, .NET 10 e execucao como Administrador.\n\u003e O idioma e detectado pelo sistema, com fallback para ingles.\n\n---\n\n## Por que GhostTrace\n\nA maioria dos scanners cai num de dois extremos: ou e caro demais, ou despeja\num log de milhares de linhas e te deixa para interpretar sozinho. A ideia aqui\nfoi ficar no meio do caminho.\n\n- **Rapido** — varias tecnicas forenses numa unica varredura, sem etapas\n  manuais entre elas.\n- **Legivel** — o resultado vem numa tabela so, organizado por categoria.\n- **Conservador** — read-only por padrao. Nada e removido enquanto voce nao\n  confirmar explicitamente.\n- **Auditavel** — toda limpeza gera um log do que foi removido.\n- **Offline** — sem telemetria e sem nenhuma chamada de rede. Roda inteiro na\n  sua maquina.\n\n---\n\n## Fluxo da investigacao\n\n![Fluxo de investigacao](assets/readme/workflow.svg)\n\nO caminho tipico de uma investigacao por alvo:\n\n```text\nvoce informa um alvo (ex.: \"nvidia\")\nGhostTrace:\n  -\u003e dispara os 22 modulos forenses\n  -\u003e consolida os achados numa tabela unica\n  -\u003e pergunta se voce quer limpar\n       se sim: pede confirmacao, remove e gera o log\n       se nao: devolve os dados e encerra\n  -\u003e opcional: exporta um relatorio em TXT\n```\n\n---\n\n## Instalacao e uso rapido\n\n```text\nGhostTrace.CLI                                              # menu interativo (requer admin)\nGhostTrace.CLI scan --name nvidia                          # busca por alvo, limpeza opcional\nGhostTrace.CLI scan --name nvidia --quiet --output C:\\Cases\\Host1\nGhostTrace.CLI scan                                        # triagem completa, sem filtro\nGhostTrace.CLI scan-fs-json  \u003cdir\u003e \u003cout.json\u003e\nGhostTrace.CLI scan-reg-json \u003chive\u003e \u003csubkey\u003e \u003cout.json\u003e\nGhostTrace.CLI scan-evt-json \u003clog\u003e \u003cmaxEntries\u003e \u003cout.json\u003e\n```\n\nO UAC e necessario porque varios desses artefatos ficam em areas do sistema\nque o Windows nao expoe ao usuario comum.\n\nPara forcar um idioma especifico:\n\n```text\nGhostTrace.CLI --lang es\nGhostTrace.CLI scan --name nvidia --lang en\n```\n\n---\n\n## Cobertura forense\n\n![Cobertura de modulos](assets/readme/modules.svg)\n\nSao 22 modulos, cada um cobrindo um tipo de artefato. Eles estao agrupados pela\nfase da investigacao a que pertencem.\n\n### Persistencia (MITRE ATT\u0026CK TA0003)\n\nMecanismos que fazem algo voltar a rodar quando o Windows inicia.\n\n| Modulo | O que investiga |\n| --- | --- |\n| `PersistenceScanModule` | Chaves Run/RunOnce + pastas Startup |\n| `ServicesScanModule` | Servicos e drivers com ImagePath suspeito (T1543.003) |\n| `AsepScanModule` | Winlogon, IFEO debugger, AppInit_DLLs, LSA packages, Active Setup |\n| `ScheduledTasksScanModule` | Tarefas agendadas via COM API do Task Scheduler |\n| `TaskCacheScanModule` | Anomalias em TaskCache\\Tree, incluindo Ghost Tasks (T1053.005) |\n| `WmiPersistenceScanModule` | __EventFilter, __EventConsumer e binding (T1546.003) |\n\n### Evidencia de execucao (TA0002)\n\nRastros de que algo ja foi executado, mesmo que o programa nao esteja mais instalado.\n\n| Modulo | O que investiga |\n| --- | --- |\n| `ShimcacheScanModule` | AppCompatCache (formato 10ts para Win8.1/10/11) |\n| `PrefetchScanModule` | Arquivos .pf com decode XPRESS-Huffman (versoes 26/30/31) |\n| `BamScanModule` | BAM/DAM com ultimo tempo de execucao por SID |\n| `UserAssistScanModule` | Lancamentos GUI com contagem e ultimo run (ROT13) |\n| `MuiCacheScanModule` | MUICache do shell e nomes amigaveis embutidos |\n\n### Atividade do usuario e artefatos de sistema\n\nO que aconteceu no uso cotidiano da maquina.\n\n| Modulo | O que investiga |\n| --- | --- |\n| `PowerShellHistoryScanModule` | Historico PSReadLine e sinais de download cradle/payload encoded (T1059.001) |\n| `RdpConnectionScanModule` | Historico de conexoes RDP de saida e pistas de usuario (T1021.001) |\n| `RecentDocsScanModule` | Arquivos/pastas recentes por usuario (Explorer RecentDocs) |\n| `UsbDeviceScanModule` | Historico de dispositivos removiveis via USBSTOR (T1052/T1091) |\n| `NetworkArtifactsScanModule` | Redirecionamentos no hosts e redes conectadas com datas |\n\n### Software instalado e residuos em disco\n\nProgramas que constam (ou nao) como instalados e o que ficou para tras.\n\n| Modulo | O que investiga |\n| --- | --- |\n| `UninstallEntriesScanModule` | Programas instalados, versao, publisher, local e uninstall string |\n| `StartupApprovedScanModule` | Estado habilitado/desabilitado de entradas de inicializacao |\n| `FileSystemTraceScanModule` | Busca orientada por nome em Program Files, ProgramData e AppData |\n\n### Coletores direcionados (per-target)\n\nVoce aponta o alvo e estes modulos coletam os metadados correspondentes.\n\n| Modulo | O que investiga |\n| --- | --- |\n| `FilesystemScanModule` | Metadados de arquivos sob um diretorio |\n| `RegistryScanModule` | Valores sob uma chave de registro |\n| `EventLogScanModule` | Entradas recentes de logs Application/System |\n\n---\n\n## Seguranca forense\n\nAlgumas garantias de design, para que a ferramenta nao destrua evidencia nem\nremova nada por engano:\n\n- **Scan read-only** — a varredura nao altera nada no sistema.\n- **Limpeza so com confirmacao** — a remocao exige que voce escreva SIM. Nao ha\n  confirmacao implicita.\n- **Evidencia preservada** — caches de execucao e historicos ficam de fora da\n  limpeza para nao destruir o rastro.\n- **Sem rede** — nenhuma chamada externa, nenhuma telemetria.\n- **Sinal nao e veredito** — um indicador suspeito e um ponto de partida para\n  analise, nao uma conclusao automatica. A decisao final e sua.\n\n---\n\n## Idiomas (i18n)\n\nO idioma e detectado a partir do sistema. Se houver suporte, a interface ja abre\nnele; caso contrario, cai para o ingles.\n\nDisponiveis:\n\n- English (en-US)\n- Portugues Brasil (pt-BR)\n- Espanol (es-ES)\n\n---\n\n## Playbooks e documentacao\n\n- [Scheduled Tasks Correlation Playbook](docs/playbooks/scheduled-tasks-correlation.md) — correlacao de Ghost Tasks e manipulacao em registro.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevzinh%2Fghosttrace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevzinh%2Fghosttrace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevzinh%2Fghosttrace/lists"}