Voltar para blog

Clink Fantasma no CMD: Diagnóstico Forense e Remoção Definitiva no Windows 10

08/03/2026 · 3 min · Windows

Compartilhar

Clink Fantasma no CMD: Diagnóstico Forense e Remoção Definitiva no Windows 10

Ambiente: Windows 10 22H2 (build 19045.5131) Sintoma: banner Clink v1.7.6 aparece ao abrir o CMD sem instalação aparente. Risco operacional: shell com comportamento não documentado, ruído em automação e suporte.

Quando um componente executa sem constar no PATH, não existe “mágica”: existe gatilho de inicialização em algum ponto da stack. O objetivo aqui é mostrar o fluxo forense que usei para sair de tentativa/erro e chegar à remoção definitiva.

---

1) Incidente e hipótese inicial

Ao abrir o Prompt de Comando:

Clink v1.7.6.d9907d
Copyright (c) 2012-2018 Martin Ridgers
Portions Copyright (c) 2020-2024 Christopher Antos
https://github.com/chrisant996/clink

Testes rápidos:

where clink
clink uninstall

Resultado:

Leitura técnica: o binário está fora do PATH e está sendo chamado por caminho absoluto, profile do terminal, policy ou mecanismo de injeção.

---

2) Vetor padrão: AutoRun do Command Processor

Primeiro suspeito em incidentes de CMD customizado:

reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun
reg query "HKLM\Software\Microsoft\Command Processor" /v AutoRun

No meu caso, as chaves não estavam presentes (erro de chave inexistente). Conclusão: vetor padrão descartado.

---

3) Vetor de injeção global: AppInit_DLLs

Segunda hipótese: injeção de DLL em escopo mais amplo:

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v AppInit_DLLs

Valor vazio. Conclusão: não havia injeção global por AppInit.

---

4) Windows Terminal: o ponto cego mais comum

Em ambientes que usam Windows Terminal, a origem pode estar no profile do próprio app.

Fluxo:

  1. Abrir Configurações do Windows Terminal.
  2. Abrir o arquivo JSON de configuração.
  3. Revisar perfil do cmd.exe.

Sinal de comprometimento/configuração residual:

"commandline": "cmd.exe /k %LOCALAPPDATA%\\clink\\clink_x64.exe inject"

Se esse trecho existir, o banner aparece mesmo sem PATH e sem AutoRun clássico.

---

5) Busca forense de binários e vetores corporativos

5.1 Varredura real de executáveis e DLLs

where /r C:\ clink_x64.exe
where /r C:\ clink*.dll

Recomendação de operação: rodar CMD como Administrador para não perder diretórios protegidos.

5.2 Chaves de Policy (GPO)

Em parque corporativo, AutoRun pode vir por política e ignorar fluxo “normal”:

reg query "HKLM\Software\Policies\Microsoft\Windows\Command Processor" /v AutoRun
reg query "HKCU\Software\Policies\Microsoft\Windows\Command Processor" /v AutoRun

Se aparecer comando de injeção nessas chaves, remover localmente sem alinhar GPO só cria recorrência no próximo refresh de política.

---

6) Remoção definitiva (runbook)

6.1 Remover gatilhos de execução

Limpeza de AutoRun (quando existir):

reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun /f
reg delete "HKLM\Software\Microsoft\Command Processor" /v AutoRun /f
reg delete "HKCU\Software\Policies\Microsoft\Windows\Command Processor" /v AutoRun /f
reg delete "HKLM\Software\Policies\Microsoft\Windows\Command Processor" /v AutoRun /f

6.2 Corrigir profile do Windows Terminal

6.3 Remover binários órfãos

Depois de identificar caminho real do arquivo:

del /f /q "C:\caminho\para\clink_x64.exe"
del /f /q "C:\caminho\para\clink*.dll"

6.4 Validar com Sysinternals Autoruns

Se persistir, usar Autoruns:

---

7) Pós-correção: validação operacional

Checklist objetivo:

  1. abrir cmd.exe limpo (sem banner);
  2. validar reg query sem AutoRun residual;
  3. validar Windows Terminal profile sem injeção;
  4. reiniciar sessão e repetir teste;
  5. registrar mudança no runbook interno.

Comandos úteis de verificação:

reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun
reg query "HKLM\Software\Policies\Microsoft\Windows\Command Processor" /v AutoRun
where /r C:\ clink_x64.exe

---

8) Lições de infraestrutura e segurança

  1. Se executa, existe gatilho: PATH é só um dos vetores.
  2. Policy vence configuração local: sem alinhamento de GPO, problema volta.
  3. Padrão de shell precisa governança: customização sem documentação vira dívida técnica.
  4. Ferramenta forense reduz tempo de indisponibilidade: Autoruns economiza horas em incidentes de persistência.
  5. Sintaxe de registro importa: chaves com espaço (ex.: "Command Processor") sem aspas geram falso negativo durante triagem.

---

9) Decisão estratégica: legado x stack moderna

Esse incidente reforça um ponto que aplico em operação: CMD deve ser tratado como compatibilidade, não como shell principal.

OpçãoPerfilRecomendação
CMD + ClinkLegado híbridoEvitar como padrão. Aumenta variabilidade de suporte e troubleshooting.
PowerShell 7Infra/DevOps modernoMelhor baseline para automação orientada a objetos e observabilidade.
Windows Terminal + WSLFull stack e engenharia de plataformaStack mais previsível para desenvolvimento e operação diária.

---

Conclusão

O “Clink fantasma” não era bug do Windows, era herança técnica com persistência fora do fluxo óbvio. A correção definitiva veio de investigação por camadas: registro, policy, profile e binário real.

Ambiente previsível depende de baseline de shell documentada e auditável.

CC BY-NC

Este post está licenciado sob CC BY-NC.

Comentários

Participe da discussão abaixo.