Conhecer os caminhos essenciais de um sistema operacional é um verdadeiro trunfo na manga para resolver problemas de resolução de nomes, navegação e até recuperação de um driver mais antigo. Muito bem, quero compartilhar um pouco destes caminhos com vocês.
Além do conhecimento sobre os diretórios ajudar muito em uma análise de problemas, também pode ser muito útil em uma situação de proteção de um servidor ou de customização de um ambiente produtivo. O mais interessante é que estes caminhos eram apresentados em certificações mais antigas, como o exame 70-680 do Windows 10 por exemplo (já aposentado). Nos dias de hoje quase não se fala nesse conhecimento.
Em resumo, o Microsoft Windows possui vários diretórios críticos que armazenam configurações, dados de segurança e informações essenciais para o funcionamento do sistema operacional (muito parecidos inclusive com o Linux). Deixei aqui está uma pequena lista de alguns dos mais importantes e suas respectivas funcionalidades:
01. C:\Windows\System32\drivers\etc\hosts
Arquivo de resolução local de DNS. Permite mapear domínios para endereços IP sem depender de servidores DNS externos. Pode ser utilizado para bloquear sites ou redirecionar endereços manualmente. Todo endereço que for adicionado manualmente pode ser redirecionado, bloqueado ou alterado localmente, ignorando resoluções externas.
02. C:\Windows\System32\config\SAM
Contém credenciais e hashes de senha dos usuários locais. Este arquivo é altamente protegido pelo sistema, porém é facilmente acessado quando não temos a criptografia de disco. O bitlocker do Windows cuida da proteção dos componentes do disco e evita que aplicativos quebrem a senha baseada em SAM.
03. C:\Windows\System32\config\SECURITY
Armazena políticas de segurança e logs relacionados ao sistema. Extremamente útil e importante quando pensamos em segurança de servidores. Fique atento e veja se algum dos logs deste diretório são úteis em seu monitoramento.
04. C:\Windows\System32\config\SOFTWARE
Contém informações sobre os softwares instalados no sistema, como chaves de registro e configurações de programas. Você pode buscar informações diretas de aplicações instaladas neste diretório.
05. C:\Windows\System32\config\SYSTEM
Responsável por armazenar as configurações globais do sistema operacional, incluindo drivers e serviços.
06. C:\Users*\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Diretório de inicialização do usuário. Contém atalhos para programas que iniciam automaticamente ao fazer login. Muito útil para injetar aplicações e scripts que iniciam rotinas automáticas assim que o usuário loga, ou seja, também é um lugar bem interessante para exploração de vulnerabilidades.
07. C:\Windows\Prefetch
Armazena dados de prefetch para otimizar os tempos de carregamento de aplicativos, acelerando a inicialização dos programas mais utilizados.
08. C:\Windows\repair\SAM
Backup do arquivo SAM, que pode ser usado para recuperação de credenciais e senhas de usuários.
09. C:\Windows\AppCompat\Programs\Amcache.hve
Registra o histórico de execução de programas no sistema, sendo útil para auditorias e análise forense.
10. C:\Users*\NTUSER.dat
Contém as configurações do Registro do Windows específicas de cada usuário, incluindo preferências e ajustes personalizados. Você pode consultar ou injetar configurações em um ou mais usuários se souber modificar este arquivo. Útil para customização de ambientes ou ataques que envolvam componentes do usuário.
O que o NTUSER.DAT armazena?
O NTUSER.DAT armazena uma variedade de configurações e preferências do usuário, incluindo:
- Configurações de aplicativos: Configurações e preferências de aplicativos instalados no sistema.
- Configurações do sistema: Configurações do sistema, como configurações de rede, configurações de impressora, etc.
- Preferências do usuário: Preferências do usuário, como configurações de layout, configurações de cor, etc.
- Dados de aplicativos: Dados de aplicativos, como histórico de navegação, favoritos, etc.
Como o NTUSER.DAT é utilizado?
O NTUSER.DAT é utilizado pelo Windows para carregar as configurações e preferências do usuário quando o usuário faz login no sistema. Ele também é utilizado por aplicativos para armazenar e recuperar configurações e dados do usuário.
Como gerenciar o NTUSER.DAT?
O NTUSER.DAT é gerenciado automaticamente pelo Windows. No entanto, é possível utilizar a ferramenta Regedit para visualizar e editar o conteúdo do NTUSER.DAT.
Atenção: É importante ter cuidado ao editar o NTUSER.DAT, pois alterações incorretas podem causar problemas graves no sistema.
11. C:\Windows\System32\DriverStore\FileRepository
Diretório onde o Windows armazena os drivers instalados, permitindo a reinstalação automática sem necessidade de download. Importante para backup e restauração de drivers do sistema. Pasta estratégica para recuperar drivers mais antigos em um servidor.
12. C:\Windows\System32\LogFiles
Diretório onde o Windows armazena diversos logs de eventos do sistema, incluindo logs de firewall, auditoria de segurança e erros críticos.
13. C:\Windows\WinSxS
Contém várias versões de bibliotecas do Windows, garantindo compatibilidade com diferentes aplicativos. É essencial para o funcionamento de atualizações do sistema.
O WinSxS (Windows Side-by-Side) é um componente importante do Windows Server e também do Windows cliente. Aqui está uma visão geral sobre o que é e para que serve:
O que é o WinSxS?
O WinSxS é um repositório de componentes compartilhados do sistema operacional. Ele armazena assemblies (conjuntos de arquivos DLL, EXE, etc.) que são utilizados por múltiplas aplicações e componentes do sistema.
Para que serve o WinSxS?
O WinSxS serve para:
Evitar conflitos de versão: Antes do WinSxS, quando uma aplicação era instalada, ela podia substituir uma versão mais antiga de uma DLL por uma mais nova, o que podia causar problemas para outras aplicações que dependiam da versão mais antiga. O WinSxS resolve esse problema armazenando múltiplas versões de um mesmo assembly.
Reduzir o espaço em disco: Embora o WinSxS armazene múltiplas versões de assemblies, ele também elimina a necessidade de armazenar múltiplas cópias do mesmo arquivo em diferentes locais do sistema.
Melhorar a estabilidade do sistema: Ao manter assemblies compartilhados em um local centralizado, o WinSxS ajuda a prevenir problemas de estabilidade causados por conflitos de versão ou corrupção de arquivos.
Como gerenciar o WinSxS?
O WinSxS é gerenciado automaticamente pelo sistema operacional. No entanto, é possível utilizar a ferramenta DISM (Deployment Image Servicing and Management) para gerenciar e limpar o WinSxS.
Por exemplo, para limpar o WinSxS e remover assemblies desnecessários, você pode executar o seguinte comando:
DISM /online /cleanup-image /StartComponentCleanup
14. C:\Windows\System32\Tasks
Diretório onde o Agendador de Tarefas do Windows armazena as tarefas programadas, permitindo automação de processos no sistema.
15. C:\Windows\Temp
Diretório usado pelo Windows e por programas para armazenar arquivos temporários. Pode ser esvaziado regularmente para liberar espaço.
16. C:\ProgramData
Armazena dados compartilhados entre usuários e aplicativos instalados no sistema, incluindo configurações e caches de programas.
Esses diretórios desempenham um papel vital na segurança, desempenho e personalização do Windows. Conhecê-los pode ser essencial para administradores de sistemas, analistas de segurança e entusiastas da tecnologia!